SA-MP Forums Archive
Mensaje antes del kick - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Español/Spanish (https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: Mensaje antes del kick (/showthread.php?tid=555829)



Mensaje antes del kick - FlavioCesar - 08.01.2015

Hola, bueno tengo este codigo para kickear mediante un dialogo, seguramente los que hayan leido mi post anterior sepan como va la cosa...

pawn Код:
new playername[24];
                GetPlayerName(playerid, playername, 24);
                new clickedplayerid = GetPVarInt(playerid,"ClickedPlayer");
                new string[126];
                format(string, sizeof(string), "Has sido expulsado del servidor");
                SendClientMessageToAll(colorrojo,string);
                Kick(clickedplayerid);
                return 1;
Lo que pasa es que quiero que el mensaje se muestre al jugador kickeado, todos lo vemos cuando alguien es expulsado, pero el jugador expulsado no ve nada, solo el "server closed the connection". Ya habia hecho un post similar pero con esto no entiendo como hacerlo.. se que es con un timer pero ni idea de como se hace, si alguien me puede explicar como lo agradecerнa.

Saludos


Respuesta: Mensaje antes del kick - Zume - 08.01.2015

http://forum.sa-mp.com/showpost.php?...45&postcount=7


Respuesta: Mensaje antes del kick - jotajeda - 08.01.2015

pawn Код:
new playername[24];
                GetPlayerName(playerid, playername, 24);
                new clickedplayerid = GetPVarInt(playerid,"ClickedPlayer");
                //new string[126];
                //format(string, sizeof(string), "Has sido expulsado del servidor");
                //SendClientMessage(clickedplayerid ,colorrojo,string);
                KickWithMessage(clickedplayerid , "You have been kicked.");

stock KickWithMessage(playerid, message[])
{
    SendClientMessage(playerid, 0xFF4444FF, message);
    SetTimerEx("KickPublic", 1000, 0, "d", playerid);     //Delay of 1 second before kicking the player so he recieves the message
}
                return 1;
https://sampforum.blast.hk/showthread.php?tid=411763&page=2


Respuesta: Mensaje antes del kick - fabianlamas33 - 09.01.2015

Hazlo mediante timer.


Respuesta: Mensaje antes del kick - FlavioCesar - 09.01.2015

Creo que no me han entendido bien, esto estб dentro de un dialogo

(Lo modifique un poco, asн va)
pawn Код:
if(listitem == 6)
            {
                new pName[24];
                GetPlayerName(playerid, pName, 24);
                new clickedplayerid = GetPVarInt(playerid,"ClickedPlayer");
                new string[126];
                format(string, sizeof(string), "%s ha kickeado a %s del server", pName, GetPlayerNameEx(clickedplayerid));
                SendClientMessageToAll(colorrojo,string);
                Kick(clickedplayerid);
                return 1;
            }
Y quiero que el mensaje de kick se muestre al expulsado, sй que es con un timer pero NO se como hacerlo.


Respuesta: Mensaje antes del kick - aoEXE - 09.01.2015

mбs claro que te lo pasу zume no creo que haya xD solo cambia playerid por clickedplayerid e.e


Respuesta: Mensaje antes del kick - OTACON - 09.01.2015

no te funciona por que....

https://sampwiki.blast.hk/wiki/Kick_ES
Quote:
Originally Posted by Nota Importante
A partir de SA-MP 0.3x, cualquier acciуn no funcionarб; se deberб de usar un timer para retrasar la funciуn Kick(). Por ejemplo, el envнo de un mensaje con SendClientMessage antes de Kick() no funcionarб.
solucion:

pawn Код:
stock Fix_Kick(playerid) SetTimerEx("kick_fix",1000,false,"d",playerid);
forward kick_fix(playerid); public kick_fix(playerid) Kick(playerid);
#define Fix_Kick Kick
saludos.


Respuesta: Mensaje antes del kick - FlavioCesar - 09.01.2015

Disculpen mi grandнsima ignorancia.. pero me da este error:

error 021: symbol already defined: "SetTimerEx"

la linea es esta:

SetTimerEx("KickJugador",500,false,"i",clickedplay erid );

EDITO:
Listo ya compilo, me ayude con esto https://sampwiki.blast.hk/wiki/Kick voy a ver si funciona


Respuesta: Mensaje antes del kick - jotajeda - 09.01.2015

Quote:
Originally Posted by FlavioCesar
Посмотреть сообщение
Disculpen mi grandнsima ignorancia.. pero me da este error:

error 021: symbol already defined: "SetTimerEx"

la linea es esta:

SetTimerEx("KickJugador",500,false,"i",clickedplay erid );
pawn Код:
#include <a_samp>



Respuesta: Mensaje antes del kick - Zume - 09.01.2015

Puedes hacer algo, es definir el fix del kick en una funciуn (o sea, el fix es el temporizador).

pawn Код:
KickEx(playerid, interval = 500){
    if(!IsPlayerConnected(playerid))
        return 0;

    SetTimerEx("_@Kick", interval, false, "i", playerid);
    return 1;
}
forward _@Kick(playerid); public _@Kick(playerid){
    Kick(playerid);
}
y hookeas la funciуn, asн lo usas normal o como gustes, pero el fix es ese.

pawn Код:
#if defined _ALS_Kick
    #undef Kick
#else
    #define _ALS_Kick
#endif
 
#define Kick KickEx
pawn Код:
public OnPlayerConnect(playerid)
{
    SendClientMessage(playerid, -1, "El servidor esta cerrado, no puedes entrar.");
    KickEx(playerid);
    return 1;
}
o hookeado lo usarнas normal

pawn Код:
public OnPlayerConnect(playerid)
{
    SendClientMessage(playerid, -1, "El servidor esta cerrado, no puedes entrar.");
    Kick(playerid);
    return 1;
}