17.07.2017, 19:25
O cуdigo abaixo verifica a cada segundo se o jogador estб apй e parado, caso sim aumenta +10 de colete.
PHP код:
public OnGameModeInit()
{
SetTimer("DarColete", 1000, true);
return 1;
}
forward DarColete();
public DarColete()
{
new Float:colete;
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && GetPlayerState(i) == PLAYER_STATE_ONFOOT && GetPlayerSpeed(i, true) == 0)
{
GetPlayerArmour(i, colete);
if(colete < 100)
{
colete += 10;
if(colete > 100) colete = 100;
SetPlayerArmour(i, colete);
}
}
}
return 1;
}
stock GetPlayerSpeed(playerid,bool:kmh)
{
new Float:Vx,Float:Vy,Float:Vz,Float:rtn;
if(IsPlayerInAnyVehicle(playerid)) GetVehicleVelocity(GetPlayerVehicleID(playerid),Vx,Vy,Vz); else GetPlayerVelocity(playerid,Vx,Vy,Vz);
rtn = floatsqroot(Vx*Vx + Vy*Vy + Vz*Vz);
return kmh?floatround(rtn * 100 * 1.63):floatround(rtn * 100);
}