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


