Ajuda Comadno (Loop) - agi.exe - 13/05/2022
Crie esse comando usando loop e quero que a função seja executada para todos, menos o playerid (Jogador que digitou o comando)
Código PHP: CMD:matarp(playerid) { new Float:Pos[3]; GetPlayerPos(playerid, Pos[0],Pos[1],Pos[2]); foreach(new i: Player) { if(IsPlayerInRangeOfPoint(i, 20.0, Pos[0],Pos[1],Pos[2])) { SetPlayerHealth(i, 0); format(Str,sizeof(Str),"Admin: %s matou todos jogadores perto dele",PlayerName(playerid)); Msg(i,-1,Str); } } return 1; }
RE: Ajuda Comadno (Loop) - k2bi_YT - 13/05/2022
Se você quer que todos sejam mortos menos o jogador que executou o comando, você deve verificar o loop caso seja igual ao playerid e pular
Código PHP: CMD:matarp(playerid) { new Float:Pos[3]; GetPlayerPos(playerid, Pos[0],Pos[1],Pos[2]); foreach(new i: Player) { if(IsPlayerInRangeOfPoint(i, 20.0, Pos[0],Pos[1],Pos[2]) && i != playerid) { SetPlayerHealth(i, 0); format(Str,sizeof(Str),"Admin: %s matou todos jogadores perto dele",PlayerName(playerid)); Msg(i,-1,Str); } } return 1; }
RE: Ajuda Comadno (Loop) - White_Blue - 13/05/2022
Código PHP: CMD:matartodos(playerid) { foreach(Player, i) { new string[128], pnome[MAX_PLAYER_NAME]; GetPlayerName(playerid, pnome, MAX_PLAYER_NAME); if(i != playerid) SetPlayerHealth(i, 0.0); SetPlayerArmour(i, 0.0) format(string, sizeof(string), "O(a) Admin %s[%d] matou todos os jogadores on-line!", pnome, playerid); SendClientMessageToAll(-1, string); } return 1; }
È somente adicionar uma verificação "if(i != playerid)" assim o loop irá ignorar o playerid que no caso é o player que executa o comando como no exemplo acima.
RE: Ajuda Comadno (Loop) - ipsLuan - 14/05/2022
(13/05/2022 17:28)White_Blue Escreveu: Código PHP: CMD:matartodos(playerid) { foreach(Player, i) { new string[128], pnome[MAX_PLAYER_NAME]; GetPlayerName(playerid, pnome, MAX_PLAYER_NAME); if(i != playerid) SetPlayerHealth(i, 0.0); SetPlayerArmour(i, 0.0) format(string, sizeof(string), "O(a) Admin %s[%d] matou todos os jogadores on-line!", pnome, playerid); SendClientMessageToAll(-1, string); } return 1; }
È somente adicionar uma verificação "if(i != playerid)" assim o loop irá ignorar o playerid que no caso é o player que executa o comando como no exemplo acima.
É uma péssima prática criar variáveis em loops.
|