[PREGUNTA] Dialogos -
PitbullKiller - 20.08.2014
Buenas, lo que pasa es que puse en mi servidor (En proceso de creaciуn, base
ZafiroCity), que cuando entraran, si tardaban mas de 30 segundos sin loguearse, los kickea, pero antes, le puse un
DIALOG_STYLE_MSGBOX, para que le dijera que paso, y le diera concejos. Bueno... Todo bien... Pero el problema es que el logueo es por dialogos, asн que como esta abierto el de loguearse, pues el nuevo
DIALOG_STYLE_MSGBOX que explica, no se abre, queda abierto el otro dialogo y le da KICK, asн que venia a pedir el favor, si me pueden decir la variable que cierra los dialogos abiertos, o que cierra determinando dialogo, para ponйrselo encima de la variable del
DIALOG_STYLE_MSGBOX...
Bueno, les agradecerнa bastante, saludos!
Respuesta: [PREGUNTA] Dialogos -
Juance - 20.08.2014
їY por quй no pones el mensaje despuйs de logear? entonces al darle en el botуn del msgbox los harнas spawnear.
No hay funciуn para cerrar los diбlogos una vez abiertos. Eso se hace manualmente, con el botуn secundario del diбlogo.
Respuesta: [PREGUNTA] Dialogos -
PitbullKiller - 20.08.2014
Quote:
Originally Posted by Juance
їY por quй no pones el mensaje despuйs de logear? entonces al darle en el botуn del msgbox los harнas spawnear.
No hay funciуn para cerrar los diбlogos una vez abiertos. Eso se hace manualmente, con el botуn secundario del diбlogo.
|
No entendiste, osea, que debo cerrar el de logueo para darle paso a el de aviso del kick...
Pero... Si no hay una funciуn para cerrar dialogos, hay alguna forma que me recomienden para cerrбrselo?
Respuesta: [PREGUNTA] Dialogos -
Goncho28 - 20.08.2014
Pone primero el dialog de logueo, luego el otro.
Respuesta: [PREGUNTA] Dialogos -
Juance - 20.08.2014
Quote:
Originally Posted by Juance
їY por quй no pones el mensaje despuйs de logear? entonces al darle en el botуn del msgbox los harнas spawnear.
|
....
Respuesta: [PREGUNTA] Dialogos -
PitbullKiller - 20.08.2014
u.u
Para que me entiendan, que por lo que veo no lo han echo, les dejare el cуdigo y lo analizan.
pawn Код:
public OnPlayerConnect
SetTimerEx
("KICKNOLOGUEO",
30000,false,
"d",playerid
);
ShowPlayerDialog
(playerid, DIALOGO_LOGIN, DIALOG_STYLE_PASSWORD,
"{00C3EA}»{FFFFFF} Logueo Censurado ",
"{FFFFFF}Ingresa Tu {00C3EA}Contraseсa{FFFFFF} Para Loguearte!",
"Conectarse",
"Salir");
public KICKNOLOGUEO
if(Logueado
[playerid
] == 1) return 1;
// Esto hace que si ya tiene la variable en "1" (En este caso significa conectado) no lo kickee ni mande el dialogo.new DialogosCreditos
[540];
strcat(DialogosCreditos,
"{00C3EA}» {FFFFFF}Lo Sentimos! \n");
strcat(DialogosCreditos,
" \n");
strcat(DialogosCreditos,
"{00C3EA}» {FFFFFF}Usted Ha Sido Kickeado Por Exceso De Tiempo Limite. \n");
strcat(DialogosCreditos,
" \n");
strcat(DialogosCreditos,
"{00C3EA}» {FFFFFF}Si Tiene Problemas Con Recordar Su Contraseсa, Por Favor\n");
strcat(DialogosCreditos,
"{00C3EA}» {FFFFFF}Contacte Con Un Administrador Via Foro.\n");
strcat(DialogosCreditos,
" \n");
strcat(DialogosCreditos,
"{00C3EA}» {FFFFFF}Si Usted No Es Dueсo De Esta Cuenta, Por Favor \n");
strcat(DialogosCreditos,
"{00C3EA}» {FFFFFF}Puede Cambiarse De Nombre, Y Registrar Una Nueva Cuenta!\n");
strcat(DialogosCreditos,
" \n");
strcat(DialogosCreditos,
"{00C3EA}» {FFFFFF}Foro: http://www.Censurado-Rp.com/Foro \n");
ShowPlayerDialog
(playerid, CREDITOS, DIALOG_STYLE_MSGBOX,
"{00C3EA}» KICK NO LOGUEO!", DialogosCreditos,
"Cerrar",
"");
Kick
(playerid
);
public LogueadoCorrectamente
// Esto es lo que supuesta mente pasa al darle en el boton "Conectarse", es solo un ejemplo para que me entiendan.Logueado
[playerid
] = 1;
// Esto, hace que el SetTimer "KICKNOLOGUEO" no tenga efecto.
Ya visto lo anterior, es un ejemplo de mas o menos como tengo mi script.
Bueno, lo que quiero saber es una forma de que si pasa el SetTimer, y aun sigue en el Dialogo de logueo, se cierre (no se como, es lo que ando buscando, una forma de hacerlo) asн darle paso al nuevo dialogo que le dice por que fue ckieado.
HELP ME??
Respuesta: [PREGUNTA] Dialogos -
Juance - 20.08.2014
Segъn lo que entendн, doy mi veredicto:
Vos queres que te envie un mensaje mediante un diбlogo si pasa el tiempo que se da para logear, y si el usuario aъn no logeo, expulsarlo pero dandole la razуn mediante un diбlogo?
Respuesta: [PREGUNTA] Dialogos -
PitbullKiller - 20.08.2014
Quote:
Originally Posted by Juance
Segъn lo que entendн, doy mi veredicto:
Vos queres que te envie un mensaje mediante un diбlogo si pasa el tiempo que se da para logear, y si el usuario aъn no logeo, expulsarlo pero dandole la razуn mediante un diбlogo?
|
Exacto! Ya eso lo tengo todo pero como se supone que esta aun el dialogo de logueo, el dialogo de aviso no sale...
Por eso, lo que necesito es una forma para cerrar el dialogo de logueo, asн dбndole paso al de aviso, claro esta en el caso de que se pase le SetTimer antes de loguear.
Respuesta: [PREGUNTA] Dialogos -
Juance - 20.08.2014
Bueno mira, lo que yo hice fue esto:
Como yo uso una base en blanco, coloco las variables asн nomas, pero mira esto.
pawn Код:
public OnPlayerConnect(playerid)
{
ShowPlayerDialog(playerid, 2014, DIALOG_STYLE_PASSWORD, "{00C3EA}»{FFFFFF} Logueo Censurado ", "{FFFFFF}Ingresa Tu {00C3EA}Contraseсa{FFFFFF} Para Loguearte!", "Conectarse", "Salir"); //Le puse tu Dialog de Login para probar
SetTimerEx("comprobarlogeo",60000,false,"i",playerid); //Inicio un Timer de 1 minuto para comprobar si logeу
return 1;
}
pawn Код:
forward comprobarlogeo(playerid);
public comprobarlogeo(playerid)
{
if(NoLogueo[playerid] == false) // Si no logeу...
{
ShowPlayerDialog(playerid,2006,DIALOG_STYLE_MSGBOX,"Advertencia","Has sido expulsado automбticamente por no logear durante 1 minuto","Cerrar",""); // ..cerrarб el dialogo de logeo y mostrarб este.
SetTimerEx("Kickear",1000,false,"i",playerid); // Luego enciendo un timer de 1 segundo para kickear al jugador, dandole tiempo a que se abra el dialogo de aviso.
}
}
forward Kickear(playerid); // Y acб lo kickeo.
public Kickear(playerid)
{
Kick(playerid);
}
Respuesta: [PREGUNTA] Dialogos -
PitbullKiller - 20.08.2014
Quote:
Originally Posted by Juance
Bueno mira, lo que yo hice fue esto:
Como yo uso una base en blanco, coloco las variables asн nomas, pero mira esto.
pawn Код:
public OnPlayerConnect(playerid) { ShowPlayerDialog(playerid, 2014, DIALOG_STYLE_PASSWORD, "{00C3EA}»{FFFFFF} Logueo Censurado ", "{FFFFFF}Ingresa Tu {00C3EA}Contraseсa{FFFFFF} Para Loguearte!", "Conectarse", "Salir"); //Le puse tu Dialog de Login para probar SetTimerEx("comprobarlogeo",60000,false,"i",playerid); //Inicio un Timer de 1 minuto para comprobar si logeу return 1; }
pawn Код:
forward comprobarlogeo(playerid); public comprobarlogeo(playerid) { if(NoLogueo[playerid] == false) // Si no logeу... { ShowPlayerDialog(playerid,2006,DIALOG_STYLE_MSGBOX,"Advertencia","Has sido expulsado automбticamente por no logear durante 1 minuto","Cerrar",""); // ..cerrarб el dialogo de logeo y mostrarб este. SetTimerEx("Kickear",1000,false,"i",playerid); // Luego enciendo un timer de 1 segundo para kickear al jugador, dandole tiempo a que se abra el dialogo de aviso. } }
forward Kickear(playerid); // Y acб lo kickeo. public Kickear(playerid) { Kick(playerid); }
|
Amigo, este script tambien tiene el problema que intento solucionar, cuando salga la advertencia, no va salir, por que el dialogo de logueo estaba abierto... Es lo que intento explicar, como cerrar la de logueo para que se active la advertencia...