public OnPlayerDisconnect(playerid, reason) { if(MechanicTimer[playerid] > -1) { KillTimer(MechanicTimer[playerid]), MechanicTimer[playerid] = -1; } if(FindTimer[playerid] > -1) { KillTimer(FindTimer[playerid]), FindTimer[playerid] = -1; } if(Refueling[playerid] == 1) { KillTimer(fTimer[playerid]), fTimer[playerid] = -1; } if(taxipr[playerid] > -1) { KillTimer(taxipr[playerid]), taxipr[playerid] = -1; } if(TruckTrailer[playerid] != -1) DestroyVehicle(TruckTrailer[playerid]), SetVehicleToRespawn(GetPlayerVehicleID(playerid)); if(pInfo[playerid][pHouse] > -1) DestroyDynamicMapIcon(HouseIcon[playerid]); return 1; }
public OnPlayerDisconnect(playerid, reason) { KillTimer(MechanicTimer[playerid]), MechanicTimer[playerid] = -1, KillTimer(FindTimer[playerid]), FindTimer[playerid] = -1, KillTimer(fTimer[playerid]), fTimer[playerid] = -1, KillTimer(taxipr[playerid]), taxipr[playerid] = -1, DestroyVehicle(TruckTrailer[playerid]), SetVehicleToRespawn(GetPlayerVehicleID(playerid)), DestroyDynamicMapIcon(HouseIcon[playerid]); return 1; }
Timer IDs are never used twice. You can use KillTimer() on a timer ID and it won't matter if it's running or not. |
I believe the second one is faster because KillTimer already checks if the timer is valid, if it's valid then it kills it.
So your checks are unnecessary in the first one. Also, I've just fetched you an answer from the wiki itself: The double checks are unnecessary, I believe. |