16.09.2013, 23:13
Olб pessoal, em um code de kick aqui, a mensagem de kick aparece para todos, menos para o kickado, para ele aparece direto Server Closed The Conection, deveria ficar assim para o kickado:
Isso nгo pode acontecer, pois o kickado deve saber o motivo pelo qual foi kickado, pois ele poderia muito bem pensar que o server pode ter sido reiniciado ou que caiu a conexгo dele ou algo do tipo :/
code do /kick(kick destacado de vermelho):
Me ajudem por favor :/
Obs: Ja tentei no lugar do Kick(giveplayerid); , colocar isso:
Tambйm nessa callback kikarplayer ja tentei determinar o que й o giveplayerid, como ReturnUser(tmp), mas de todos os jeitos quem й kickado й quem usa o comando, e isso nгo deveria acontecer
Quote:
Fulano foi kickado por ciclano, Motivo:[motivo] Server Closed The Conection |
code do /kick(kick destacado de vermelho):
Код:
if(strcmp(cmd, "/kick", true) == 0) { if(IsPlayerConnected(playerid)) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GRAD2, "USE: /kick [id] [motivo]"); return true; } giveplayerid = ReturnUser(tmp); if (PlayerInfo[playerid][pAdmin] >= 3) { if(admtrampando[playerid] < 1 && PlayerInfo[playerid][pAdmin] != DONO) { SendClientMessage(playerid, COLOR_GRAD1, "Vocк nгo estб trabalhando! (/trabalhar)"); return true; } if(IsPlayerConnected(giveplayerid)) { if(giveplayerid != INVALID_PLAYER_ID) { if(PlayerInfo[giveplayerid][pAdmin] >= SUB_DONO && PlayerInfo[playerid][pAdmin] != DONO) { SendClientMessage(playerid, COLOR_GRAD1, "Vocк nгo pode kickar um Admin Dono !"); return true; } GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer)); GetPlayerName(playerid, sendername, sizeof(sendername)); new length = strlen(cmdtext); while ((idx < length) && (cmdtext[idx] <= ' ')) { idx++; } new offset = idx; new result[64]; while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))) { result[idx - offset] = cmdtext[idx]; idx++; } result[idx - offset] = EOS; if(!strlen(result)) { SendClientMessage(playerid, COLOR_GRAD2, "USE: /kick [id] [motivo]"); return true; } getdate(year, month, day); if(admtrampando[playerid] == 1 && admhide[playerid] == 1) { format(string, sizeof(string), "AdmCmd: %s foi kickado por Homem_Aranha(Modo Cia), Motivo: %s (%d-%d-%d)", giveplayer,(result),day,month,year); KickLog(string); format(string, sizeof(string), "AdmCmd: %s foi kickado por Homem_Aranha, Motivo: %s", giveplayer,(result)); SendClientMessageToAll(COLOR_LIGHTRED, string); } else { format(string, sizeof(string), "AdmCmd: %s foi kickado por %s, Motivo: %s (%d-%d-%d)", giveplayer, sendername, (result),day,month,year); KickLog(string); format(string, sizeof(string), "AdmCmd: %s foi kickado por %s, Motivo: %s", giveplayer, sendername, (result)); SendClientMessageToAll(COLOR_LIGHTRED, string); } Kick(giveplayerid); return true; } }//not connected } else { SendClientMessage(playerid, COLOR_GRAD1, " Esse nгo й um jogador ativo."); } } return true; }
Obs: Ja tentei no lugar do Kick(giveplayerid); , colocar isso:
Код:
Settimer("kikarplayer", 100, 0);
Код:
forward kikarplayer(giveplayerid); public kikarplayer() { Kick(giveplayerid); }