Dialog problema... -
TiNcH010 - 31.08.2011
Hola, tengo un problema que es el siguiente:
La persona pone el comando, pone en el dialog (inputtext) la palabra correcta (ejemplo: asd).
Anda perfecto. Si no pone la palabra correcta le dice Incorrecto, perfecto.
Mi problema es que no puedo solucionar cuando la persona NO escribe nada y pone aceptar (response).
Saludos aca el code ^^
pawn Код:
if(dialogid == 18832)
{
if(response)
{
if(strlen(inputtext) > 120) SendClientMessage(playerid, 0xFFFFFFFF, "{FF0000}Contraseсa demasiada larga !"); // Muy largo.
if(!strcmp(inputtext, "asd", true))
{
SendClientMessage(playerid, 0xFFFFFFFF, "{33FF66}Correcto !");
return 1;
}
SendClientMessage(playerid, 0xFFFFFFFF, "{FF0000}Incorrecto !");
}
return 1;
}
Re: Dialog problema... -
SuperMarioRol - 31.08.2011
Literal de la wiki
pawn Код:
if(!response)
{
SendClientMessage(playerid, 0xFF0000FF, "You cancelled.");
return 1; // We processed it
}
https://sampwiki.blast.hk/wiki/OnDialogResponse
Re: Dialog problema... -
Daniel-92 - 31.08.2011
Lo que pasa es que strcmp retorna 0 si una de las dos o las dos cadenas estan vacias
pawn Код:
if(!strcmp(inputtext, "asd", true) && strlen(inputtext))
EDIT: Fixed
pawn Код:
if(dialogid == 18832)
{
if(response)
{
new length = strlen(string);
if(length > 120) {
SendClientMessage(playerid, 0xFFFFFFFF, "{FF0000}Contraseсa demasiada larga !"); // Muy largo.
return 1;
}
if(length == 0) {
SendClientMessage(playerid, 0xFFFFFFFF, "{FF0000}Debes ingresar una contraseсa");
return 1;
}
if(!strcmp(inputtext, "asd", true))
{
SendClientMessage(playerid, 0xFFFFFFFF, "{33FF66}Correcto !");
return 1;
}
SendClientMessage(playerid, 0xFFFFFFFF, "{FF0000}Incorrecto !");
}
return 1;
}
Respuesta: Dialog problema... -
TiNcH010 - 31.08.2011
Quote:
Originally Posted by SuperMarioRol
|
Pero eso es si "cancelas" o si clickeas a la derecha del dialog. Yo querнa otra cosa xD
Quote:
Originally Posted by Daniel-92
Lo que pasa es que strcmp retorna 0 si una de las dos o las dos cadenas estan vacias
pawn Код:
if(!strcmp(inputtext, "asd", true) && strlen(inputtext))
|
Perfecto, me funciono de 10!
Gracias Daniel, siempre ayudando correctamente como no podrнa ser de otra forma
![Tongue](images/smilies/razz.gif)
Saludos cierren ^^
Re: Dialog problema... -
SuperMarioRol - 31.08.2011
Perdуn, lo entendн mal.
Re: Dialog problema... -
SadaharuZ - 31.08.2011
Quisiera agregar que hacer:
Es lo mismo que:
e incluso es mбs rбpido.
EDIT:
Explicaciуn:
Todos los strings (cadenas de texto) terminan con un caracter nulo (sirve para saber cuбndo termina el texto), el valor de йste es siempre 0. Si en el string el primer caracter es igual a 0 significa que no hay texto. їPor quй? Porque el primer caracter es el nulo, indicando el final del texto.
Aclaraciуn:
Cuando hablo de si el valor es 0, no me refiero a que saldra un "0", sino que el valor del caracter es 0. El caracter nulo junto con otros es invisible.
Respuesta: Dialog problema... -
leaNN! - 01.09.2011
Una aclaracion simple...
Es mas facil usar isnull...
if(isnull(inputtext)) return SendClientMessage(playerid, COLOR_WHITE, "[.root] Sos re grone i no respondiste.");