15.04.2013, 22:47
O code й pra ser assim: o administrador da um aviso a um certo player, e ao completar 3 avisos o player й automaticamente kickado, assim zerando a quantidade de aviso para quando o player logar novamente. Sу que nгo й isso com acontece :/
Vou mostrar algumas prints:
Aqui parece estar tudo normal:
http://tinypic.com/view.php?pic=20auott&s=6
Mas nгo estar normal :/ quando completa [3/3] e o jogador e kickado, o valor de avisos, nгo zera, e quando o jogador volta, e leva aviso de novo, fica [4/3] olha:
http://tinypic.com/r/2zppkdh/6
O valo acumula atй mesmo de um jogador para o outro, eu testei com outra conta o comando e olha no que deu:
http://tinypic.com/r/1588eo9/6
Aqui acumulou 3 aviso do 1є jogador(Eae_Manow), mas o outro aviso de quando ele logou novamente indo pra 4/3, esses valores tambem acumulou para o jogador (Eae_Mano), porque quando testei o comando pela primeira vez nesse jogador deu 5/3.
Jб tentei arrumar mas, nгo conseguir alguem me ajuda por favor? sou muito noob pawno ainda, mas quero aprender.
Code:
new aviso[MAX_PLAYERS];
Vou mostrar algumas prints:
Aqui parece estar tudo normal:
http://tinypic.com/view.php?pic=20auott&s=6
Mas nгo estar normal :/ quando completa [3/3] e o jogador e kickado, o valor de avisos, nгo zera, e quando o jogador volta, e leva aviso de novo, fica [4/3] olha:
http://tinypic.com/r/2zppkdh/6
O valo acumula atй mesmo de um jogador para o outro, eu testei com outra conta o comando e olha no que deu:
http://tinypic.com/r/1588eo9/6
Aqui acumulou 3 aviso do 1є jogador(Eae_Manow), mas o outro aviso de quando ele logou novamente indo pra 4/3, esses valores tambem acumulou para o jogador (Eae_Mano), porque quando testei o comando pela primeira vez nesse jogador deu 5/3.
Jб tentei arrumar mas, nгo conseguir alguem me ajuda por favor? sou muito noob pawno ainda, mas quero aprender.
Code:
new aviso[MAX_PLAYERS];
pawn Код:
if(strcmp(cmd, "/aviso", true) == 0)
{
if(IsPlayerAdmin(playerid) || Adm[playerid] == 1)
{
tmp = strtok(cmdtext, idx);
new id = strval(tmp);
if(!strlen(tmp))
{
SendClientMessage(playerid, ADMIN_CORRETO, "Uso: /aviso [id] [aviso]");
return 1;
}
MSG = strrest(cmdtext, idx);
if(!strlen(MSG))
{
SendClientMessage(playerid, ADMIN_CORRETO, "Uso: /aviso [id] [aviso]");
return 1;
}
if(!IsPlayerConnected(id))
{
SendClientMessage(playerid, 0xFFFFE0AA, "* Jogador nгo estб conectado!");
return 1;
}
aviso[playerid]++;
if(aviso[playerid] == 3)
{
format(string, sizeof(string), "(INFO) Vocк foi kickado do servidor (Motivo: %s) [%d/3]", MSG, aviso);
SendClientMessage(playerid, ADMIN_ERROR, string);
Kick(id);
}
GetPlayerName(id, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "(Brazilian) O administrador %s avisou o jogador %s (Motivo: %s) Total [%d/3]", sendername, giveplayer, MSG, aviso);
SendClientMessageToAll(ADMIN_CORRETO, string);
printf("(Brazilian) O administrador %s avisou o jogador %s (Motivo: %s) Total = [%d/3]", sendername, giveplayer, MSG, aviso);
}
else
{
SendClientMessage(playerid, ADMIN_ERROR, "* Vocк nгo tem acesso a esse comando!");
}
return 1;
}