public OnVehicleDamageStatusUpdate(vehicleid, playerid) { #pragma unused playerid new panels, doors, lights, tires; GetVehicleDamageStatus(vehicleid, panels, doors, lights, tires); tires = encode_tires(0, 0, 0, 0); // fix all tires panels = encode_panels(0, 0, 0, 0, 0, 0, 0); // fix all panels //fell off - (3, 3, 3, 3, 3, 3, 3) doors = encode_doors(0, 0, 0, 0, 0, 0); // fix all doors //fell off - (4, 4, 4, 4, 0, 0) lights = encode_lights(0, 0, 0, 0); // fix all lights SetVehicleHealth(vehicleid,1000.0); UpdateVehicleDamageStatus(vehicleid, panels, doors, lights, tires); return 1; } encode_tires(tire1, tire2, tire3, tire4) return tire1 | (tire2 << 1) | (tire3 << 2) | (tire4 << 3); encode_panels(flp, frp, rlp, rrp, windshield, front_bumper, rear_bumper) { return flp | (frp << 4) | (rlp << ![]() } encode_doors(bonnet, boot, driver_door, passenger_door, behind_driver_door, behind_passenger_door) { #pragma unused behind_driver_door #pragma unused behind_passenger_door return bonnet | (boot << ![]() } encode_lights(light1, light2, light3, light4) { return light1 | (light2 << 1) | (light3 << 2) | (light4 << 3); } // end of it! |
new AutoFix[MAX_PLAYERS];
public OnPlayerConnect(playerid)
{
AutoFix[playerid] = 0;
return 1;
}
COMMAND:autorepair(playerid, params[])
{
if(AutoFix[playerid] == 0)
{
AutoFix[playerid] = 1;
SendClientMessage(playerid, COLOR_GREEN, "( ! ) You turned on autorepair.");
}
else
{
AutoFix[playerid] = 0;
SendClientMessage(playerid, COLOR_GREEN, "( ! ) You turned off autorepair.");
}
return 1;
}
public OnPlayerUpdate(playerid)
{
if(AutoFix[playerid] == 1 && IsPlayerInAnyVehicle(playerid))
{
RepairVehicle(GetPlayerVehicleID(playerid));
}
return 1;
}