First, if you're in any vehicle and use /mycarstats to get info of VehicleInfo[vehicleid][carBatteryL] and VehicleInfo[vehicleid][carEngineL], they are 0 before i have set them to 100
PHP Code:
public OnVehicleHealthChange(vehicleid, Float:vehicle_newhealth, Float:vehicle_oldhealth)
{
new
myArray[92];
if(vehicle_newhealth < vehicle_oldhealth)
{
foreach(Player, u)
{
//lasthealth = vehicle_health_loss - floatround(vehicle_newhealth);
if(IsPlayerInVehicle(u, vehicleid) && GetPlayerState(u) == PLAYER_STATE_DRIVER)
{
if(vehicle_newhealth > 550 && vehicle_newhealth < 649)
{
format(myArray, sizeof(myArray), "damage @ vehicleID:%i, newhealth:%.3f, oldhealth:%.3f, difference:%.3f, BatteryL: %d EngineL:%d", vehicleid, vehicle_newhealth, vehicle_oldhealth, (vehicle_oldhealth - vehicle_newhealth), VehicleInfo[vehicleid][carBatteryL], VehicleInfo[vehicleid][carEngineL]);
SendClientMessage(u, 0xFFFFFFFF, myArray);
VehicleInfo[vehicleid][carBatteryL] -= ((vehicle_health_loss - vehicle_newhealth)/125.0);
VehicleInfo[vehicleid][carEngineL] -= ((vehicle_health_loss - vehicle_newhealth)/150.0);
}
else if(vehicle_newhealth > 390 && vehicle_newhealth < 549)
{
format(myArray, sizeof(myArray), "damage @ vehicleID:%i, newhealth:%.3f, oldhealth:%.3f, difference:%.3f, BatteryL: %d EngineL:%d", vehicleid, vehicle_newhealth, vehicle_oldhealth, (vehicle_oldhealth - vehicle_newhealth), VehicleInfo[vehicleid][carBatteryL], VehicleInfo[vehicleid][carEngineL]);
SendClientMessage(u, 0xFFFFFFFF, myArray);
VehicleInfo[vehicleid][carBatteryL] -= ((vehicle_health_loss - vehicle_newhealth)/100.0);
VehicleInfo[vehicleid][carEngineL] -= ((vehicle_health_loss - vehicle_newhealth)/125.0);
}
else if(vehicle_newhealth > 250 && vehicle_newhealth < 389)
{
format(myArray, sizeof(myArray), "damage @ vehicleID:%i, newhealth:%.3f, oldhealth:%.3f, difference:%.3f, BatteryL: %d EngineL:%d", vehicleid, vehicle_newhealth, vehicle_oldhealth, (vehicle_oldhealth - vehicle_newhealth), VehicleInfo[vehicleid][carBatteryL], VehicleInfo[vehicleid][carEngineL]);
SendClientMessage(u, 0xFFFFFFFF, myArray);
VehicleInfo[vehicleid][carBatteryL] -= ((vehicle_health_loss - vehicle_newhealth)/75.0);
VehicleInfo[vehicleid][carEngineL] -= ((vehicle_health_loss - vehicle_newhealth)/100.0);
VehicleInfo[vehicleid][carBroken] = 1;
}
break;
}
}
}
return true;
}
Try to set the random values when gamemode is connected or when the car is spawned for example: