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; }