22.11.2012, 00:15
Coloquei um sistema de /procurar [id] no gm, utlizando um loop com settimerex. Notei que quando muitos players utilizam o /procurar ou algum player utiliza muitas vezes o /procurar, fecha o samp-sever. Se alguem puder ajudar, agradeзo..
Код:
new VerificarProcurado[MAX_PLAYERS];
new timerprocurar;
if(strcmp(cmd, "/procurar", true) == 0)
{
giveplayerid = ReturnUser(tmp);
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "Vocк nгo pode se procurar!"); return 1; }
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
VerificarProcurado[playerid] = giveplayerid;
timerprocurar = SetTimerEx("Verificando", 1000, true, "playerid", playerid);
PlayerInfo[playerid][pDetSkill] ++;
UsedFind[playerid] = 1;
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Esse nгo й um jogador ativo !");
}
return 1;
}
forward Verificando(playerid);
public Verificando(playerid)
{
new Float:X,Float:Y,Float:Z;
GetPlayerPos(VerificarProcurado[playerid], X,Y,Z);
SetPlayerCheckpoint(playerid, X,Y,Z, 4.0);
if(!IsPlayerConnected(VerificarProcurado[playerid]))
{
DisablePlayerCheckpoint(playerid);
KillTimer(timerprocurar);
}
else if(IsPlayerInRangeOfPoint(playerid, 10, X,Y,Z))
{
DisablePlayerCheckpoint(playerid);
KillTimer(timerprocurar);
}
return 1;
}

