forward autojavit(playerid);
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
javitas[playerid] = SetTimerEx(\"autojavit\", 3000, true, \"i\", playerid);
return 1;
}
public OnPlayerExitVehicle(playerid, vehicleid)
{
KillTimer(javitas[playerid]);
return 1;
}
public autojavit(playerid)
{
new Float:Elet;
GetVehicleHealth(GetPlayerVehicleID(playerid), Elet);
if(elet < 1000) return RepairVehicle(GetPlayerVehicleID(playerid));
return 1;
}
Ez sokat foglal Cannonn fõleg h nem killezed ki a timerét mikor disconnectelsz!
Ez jobblesz:
forward javit();
public javit()
{
for(new i; i++<MAX_PLAYERS;)
{
if(IsPlayerConnected(i)&&IsPlayerInAnyVehicle(i))
{
RepairVehicle(GetPlayerVehicleID(i));
}
}
}
public OnFilterScriptInit()
{
SetTimer(\"javit\",1000,1);
}
forward javit();
public javit()
{
for(new i; i++<MAX_PLAYERS;)
{
if(IsPlayerConnected(i)&&IsPlayerInAnyVehicle(i))
{
RepairVehicle(GetPlayerVehicleID(i));
}
}
}
public OnFilterScriptInit()
{
SetTimer(\"javit\",1000,1);
}
[/quote]
Na ez minek? \" for(new i; i++<MAX_PLAYERS;)\"
Minek fusson le az összes személy számára aki kocsiban van? Fölösleges.
Amúgy te sem kapcsoltad ki az idõzítõt, attól, hogy ha nincs csatlakozva nem fut le. Alapból ha nincs csatlakozva, akkor nem fut le.
Kicsit takarékosabban.
Mód elejére.
new javitas[MAX_PLAYERS];
forward autojavit(playerid);
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
javitas[playerid] = SetTimerEx(\"autojavit\", 3000, true, \"i\", playerid);
return 1;
}
public OnPlayerExitVehicle(playerid, vehicleid)
{
KillTimer(javitas[playerid]);
return 1;
}
public autojavit(playerid)
{
new Float:Elet;
GetVehicleHealth(GetPlayerVehicleID(playerid), Elet);
if(elet < 1000) return RepairVehicle(GetPlayerVehicleID(playerid));
return 1;
}