Simple - Fix del bug Kick() 0.3.x -
CrossOv3r - 21.02.2013
Como resolver el bug del Kick(), de la 0.3x
Bueno este tutorial es muy simple, y la verdad lo habнa leнdo por allн en la secciуn de ingles, mi deseo mбs que nada es
explicar en que consta el bug, y como resolverlo; aunque de verdad es muy facil.
їEn que consiste el bug?
Bueno hay un bug en la 0.3x con la funcion Kick(playerid);, el bug hace que las funciones envнadas al jugador al kickearlo (Ya sea una
razon, mensaje), no llegue al jugador. Es decir, al jugador se le verнa la pantalla algo como esto.
Код:
Chat normal: Hola bla bla bla
Chat Normal: Si muy bien bla bla bla,
--- Usted ha sido kickeado razon: razon // ESTO NO LLEGA AL CLIENTE
Server Closed The Connection
Bueno, ahi es muy expresivo mi ejemplo, creo. Esto es importante, yo al menos no tenia idea de este bug, y tuve problemas en mi servidor con algunos molestos usuarios.
їComo resolverlo?
La verdad, es facilнsimo, lo que debemos hacer es:
Crear un timer, que retrase la patada(kick), del jugador para que este reciba el mensaje que queremos, u otro funciуn.
Ejemplo:
pawn Код:
new ckick[MAX_PLAYERS];
stock KickRetrasado(playerid) {
KillTimer(ckick[playerid]);
ckick[playerid] = SetTimerEx("KickRetra", 1, false, "i", playerid);
return 1;
}
Bueno, mбs que claro, primero creamos una variable alojada en el mundo de MAX_PLAYERS, para poder utilizarla en un jugador especнfico. Luego de eso apreciamos el stock, que es un simple Timer almacenado en nuestra variable previa.
Ahora solo debemos definir la funcion "KickRetra"
pawn Код:
forward KickRetra(playerid);
public KickRetra(playerid) {
if (!IsPlayerConnected(playerid)) return 1;
Kick(playerid);
return 1;
}
Como se aprecia, la funcion es simple.. si el jugador esta conectado recibirб un kick. Esto soluciona el bug explicado anteriormente..
No quiero explicar mucho mбs, es lo necesario para el tutorial. Espero, que lo sepan apreciar, gracias.
Respuesta: Simple - Fix del bug Kick() 0.3.x -
xSDx - 21.02.2013
Hahaha pense que solo a mi me pasaba, buena solucion, la usare hasta que fixeen la funcion!
Saludos.
Respuesta: Simple - Fix del bug Kick() 0.3.x -
OTACON - 21.02.2013
es un bug o colocan mal el Kick ?.
claro esta ke lo deben colocar debajo del mensaje al Kick.
EDIT:
es un bug, lo vi en wiki y lo testee, no me habia pasado xD.
pero es mejor la formula ke esta en wiki ---->
https://sampwiki.blast.hk/wiki/Kick
pawn Код:
native KickEx(playerid, message[])
pawn Код:
forward KickPublic(playerid);
public KickPublic(playerid) return Kick(playerid);
stock KickEx(playerid, message[]) {
SendClientMessage(playerid, -1, message);
SetTimerEx("KickPublic", 1000, false, "d", playerid); }
EJEMPLO:
pawn Код:
#include <a_samp>
COMMAND:test(playerid, params[])
{
KickEx(playerid, " Fuiste Kikeado!.");
return 1;
}
Re: Simple - Fix del bug Kick() 0.3.x -
[DOG]irinel1996 - 21.02.2013
їLo ideaste tъ?
Respuesta: Re: Simple - Fix del bug Kick() 0.3.x -
CrossOv3r - 21.02.2013
Quote:
Originally Posted by [DOG]irinel1996
їLo ideaste tъ?
|
Quote:
Originally Posted by CrossOv3r
y la verdad lo habнa leнdo por allн en la secciуn de ingles
|
Lo leeн, hace 1 semana en el foro de ingles, no recuerdo donde, ni el nombre de la persona, pero me parecнo interesante compartirlo.
PD: Ademas estaba en mi mуvil pequeсo cuando lo leeн, fue muy raro, ya ni recuerdo la seccion...
PD2: En el foro de ingles, solo daban la "Solucion" al principio, no entendia cual era el BUG, asi que lo aclaro aca
Respuesta: Simple - Fix del bug Kick() 0.3.x -
[J]ulian - 21.02.2013
Los de samp arreglan 1 y hacen 10...
Respuesta: Simple - Fix del bug Kick() 0.3.x -
xSDx - 21.02.2013
Quote:
Originally Posted by [J]ulian
Los de samp arreglan 1 y hacen 10...
|
TrueStory.
Saludos.
Respuesta: Simple - Fix del bug Kick() 0.3.x -
jwalker - 21.02.2013
ЎCon razуn! No le encontraba vueltas a mi cуdigo. їPasa lo mismo con el ban?
Respuesta: Simple - Fix del bug Kick() 0.3.x -
Parka - 21.02.2013
OFF:
Quote:
Originally Posted by bytytus
es un bug o colocan mal el Kick ?.
claro esta ke lo deben colocar debajo del mensaje al Kick.
|
On:
Me parece buena la idea aunque le colocaria 1 segundo seria un poco mejor creo yo
PD: al igual que xSDx Pense que solo a mi me pasaba
Respuesta: Simple - Fix del bug Kick() 0.3.x -
EmuS - 21.02.2013
Quote:
Originally Posted by jwalker
ЎCon razуn! No le encontraba vueltas a mi cуdigo. їPasa lo mismo con el ban?
|
Solo el kick.