Portal SAMP
[Ajuda] Código Kick - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Código Kick (/showthread.php?tid=4362)



Código Kick - UmNickBR - 30/12/2023

Código PHP:
CMD:kick(playeridparams[]){
    new idmotivo[64], str[128];
    if(
PlayerInfo[playerid][pAdmin] < 4) return SendClientMessage(playeridCorErro,"Erro, comando negado!");
    if(
sscanf(params,"id",id)) return SendClientMessage(playeridCorErro,"| INFO | Erro, user: /kick [Id] motivo");
    if(!IsPlayerConnected(id)) return SendClientMessage(playeridCorErro"| INFO | Erro, jogador não está conectado");
    format(strsizeof(str),"{{ff0000} O(A) %s %s expulsou o(a) jogador(a) %s motivo: %s",NomeAdm(PlayerInfo[playerid][pAdmin]), NomePlayer(playerid), NomeID(id),motivo);
    
SendClientMessage(id, -1str);
    
format(strsizeof(str),"Você expulsou o(a) jogador(a) %s[%d] do servidor motivo: %s",NomeID(id), id);
    
SendClientMessage(playeridCinzaClarostr);
    
Kick(id);
    return 
1;

Feliz ano novo adiantado para todos!

Como faço para a mensagem de Kick aparecer pro usuário ''expulso'', pode ter algum erro no código ainda que estou tentando corrigir, mais gostaria dessa dica de como faço para mensagem de ''expulsão'' aparecer pro usuário ''expulso'', agradecido


RE: Código Kick - xbruno1000x - 30/12/2023

Ao invés de usar um Kick(id); você precisa inserir um timer com o Kick dentro. Dessa forma existirá um delay entre o Kick e a mensagem que será recebida pelo jogador.


RE: Código Kick - UmNickBR - 30/12/2023

Salve bruno, tentando com SetTimerEx, mais deu esse erro aq:
function "cmd_kick" should return a value

Resolvi já o problema acima. E valeu bruno.


RE: Código Kick - Calasans - 30/12/2023

(30/12/2023 19:31)UmNickBR Escreveu: Salve bruno, tentando com SetTimerEx, mais deu esse erro aq:
function "cmd_kick" should return a value

Resolvi já o problema acima. E valeu bruno.
Código:
forward Kick_2(playerid, tempo, cor, const msg[]);
public Kick_2(playerid, tempo, cor, const msg[])
{
    SendClientMessage(playerid, cor, msg);
    SetTimerEx("Kick_3", tempo, false, "i", playerid);
    return true;
}

forward Kick_3(playerid);
public Kick_3(playerid)
{
    Kick(playerid);
    return true;
}

Exemplo: Kick_2(playerid, 2*1000, -1, "Voce foi kickado!");
Isso deve resolver.