Bulletproof unoccupied vehicles for the Java server but it's really simple if you want to use it in non-java server I think.
MainController
Code: [Select]
Code: [Select]
Code: [Select]
Then make sure to spawn your vehicles with the immunities, this includes an idle vehicle timeout for respawning.
So, create a new class
Code: [Select]
spawn it in MainController
Code: [Select]
Edit: forgot to add respawn too. added.
MainController
@Override
public void onPlayerEnterVehicle(Player player, Vehicle vehicle, int slot) {
Vehicle v = vehicle;
VehicleImmunity none = new VehicleImmunity();
v.setImmunities(none);
}
@Override
public void onPlayerExitVehicle(Player player, Vehicle vehicle) {
Vehicle v = vehicle;
//System.out.println(vehicle.getSyncReasonOrdinal());
//server.sendClientMessage((null), new Colour(255, 0, 255), player.getName() + "VEHSYNC: " +v.getSyncReasonOrdinal() );
if (v.getSyncReasonOrdinal() == 4) { //4 seems to mean empty
// so we set bulletproof only when vehcile is empty.
VehicleImmunity bp = new VehicleImmunity(VehicleImmunity.Flag.BulletProof, VehicleImmunity.Flag.Tyres);
v.setImmunities(bp);
}
}
@Override
public void onVehicleRespawn(Vehicle vehicle) {
Vehicle v = vehicle;
VehicleImmunity bp = new VehicleImmunity(VehicleImmunity.Flag.BulletProof, VehicleImmunity.Flag.Tyres);
v.setImmunities(bp);
}
Then make sure to spawn your vehicles with the immunities, this includes an idle vehicle timeout for respawning.
So, create a new class
public class ServerConfig {
public static class Setup {
public static void mainVeh(int modelId, int worldId, Vector position, float angle, VehicleColours colours) {
Vehicle v = server.createVehicle(modelId, worldId, position, angle, colours);
v.setIdleRespawnTimeout(210000);
VehicleImmunity bp = new VehicleImmunity(VehicleImmunity.Flag.BulletProof, VehicleImmunity.Flag.Tyres);
}
public static void loadVehicles() {
mainVeh(163, 1, new Vector(-1743.0f, -211.8f, 15.0f), (4.71239f), new VehicleColours(43, 0)); //[email protected]
}
}
}
spawn it in MainController
@Override
public boolean onServerInitialise() {
System.out.println("[" + LocalTime.now() + "][SERVER]INITIALIZED");
Setup.loadVehicles();
return true;
}
Edit: forgot to add respawn too. added.