21.10.2015, 22:15
Код:
public OnPlayerUpdate(playerid) { VerificarWH(playerid); for(new i = 0; i < MAX_PLAYERS; i++) { if(IsPlayerConnected(i)) { new string[500]; format(string, sizeof(string), "%d", playerid); TextDrawSetString(TextStatus7, string); TextDrawShowForPlayer(i, TextStatus7); // format(string, sizeof(string), "%d", PlayersOnline); TextDrawSetString(TextStatus8, string); TextDrawShowForPlayer(i, TextStatus8); // format(string, sizeof(string), "%d", pInfo[playerid][pVip]); TextDrawSetString(TextStatus9, string); TextDrawShowForPlayer(i, TextStatus9); // format(string, sizeof(string), "%s", Convert(pInfo[playerid][MTEMPO])); TextDrawSetString(Hrsson, string); TextDrawShowForPlayer(i, Hrsson); if(GetPlayerPing(playerid) > 700) { format(string, sizeof(string), "{FC0000}[Kesa DF] {FFFFFF}%s[{FC0000}%d{FFFFFF}] {FC0000}Foi kickado por Ping elevado dos padroes", GetName(playerid), playerid); SendClientMessageToAll(Vermelho, string); Kick(playerid); } } } return true; }
se o player estiver conectado ele vai atualizar toda hr, a todo movimento, й chamado com mais frequкncia quando ele estб atirando, dirigindo.
Enfim, o OnPlayerUpdate , sу й chamado quando o player estiver conectado ao servidor, e o LOOP eu vi que vocк fez isto para atualizar com todos os players, alйm de fazer errado, nгo precisa de uma loop, o OnPlayerUpdate й para cada player do servidor, e pelo que vi nгo estб muito optimizado, dб para melhorar.
Sгo apenas criticas para vocк melhorar.