Duda Guardado de Edad
#1

Hola, gente e estado luchando en esto con un amigo, pero no tuvimos soluciуn a ello, querнa preguntarle si alguno sabe que es lo que falla en esto
pawn Код:
case SEdad:
      {
          if(!IsNumeric(inputtext))return ShowPlayerDialog(playerid, SEdad, DIALOG_STYLE_INPUT, "{DD0000}Edad", "{FFFFFF}Escriba solo el nъmero, su Edad:", "Seleccionar", "");
          if(strval(inputtext) < 18 || strval(inputtext) > 80) ShowPlayerDialog(playerid, SEdad, DIALOG_STYLE_INPUT, "{DD0000}Edad", "{FFFFFF}Mбximo {DD0000}80, {FFFFFF}mнnimo {DD0000}18", "Seleccionar", "");
          Informacion[playerid][Edad] = strval(inputtext);
          ShowPlayerDialog(playerid, Dialog_Tutorial, DIALOG_STYLE_MSGBOX, "{DD0000}Fin del Registro","{FFFFFF}Has terminado el registro exitosamente\n\n{FFFFFF}Ahora, verб un pequeсo tutorial sobre este modo de juego", "Aceptar", "");
      }
Por las dudas aquн les dejo el Stocks que permite solo poner nъmeros por si capas es esto tambiйn.
pawn Код:
stock IsNumeric(string[])
{
for (new i = 0, j = strlen(string); i < j; i++)
{
if (string[i] > '9' || string[i] < '0') return 0;
}
return 1;
}
Yo quiero que en eso osea, al registrarte te pida dicha edad vos pones 15 y te dija Mнnimo 18 mбximo 80, y tambiйn que si pones aceptar sin ningъn numero te re aparezca el dialog, ya que esta bug eso pones aceptar sin ningъn numero y te registra con edad 0 , y si pones 14 te registra con edad 14 yo quiero que registre solamente con mнnimo 18 y mбximo 80, y que al poner aceptar sin ingresar nada te vuelva a pedir la edad y asн hasta que la ingreses, no se si me explico bien yo creo que si, espero una respuesta.

Agradezco mucho su ayuda!
Reply
#2

Intenta:

pawn Код:
case SEdad:
{
    if(!strlen(inputtext)) return ShowPlayerDialog(playerid, SEdad, DIALOG_STYLE_INPUT, "{DD0000}Edad", "{FFFFFF}Por favor, introduza un nъmero entre 18 y 80", "Seleccionar", "");
    if(!IsNumeric(inputtext)) return ShowPlayerDialog(playerid, SEdad, DIALOG_STYLE_INPUT, "{DD0000}Edad", "{FFFFFF}Escriba solo el nъmero, su Edad:", "Seleccionar", "");
    if(strval(inputtext) < 18 || strval(inputtext) > 80) return ShowPlayerDialog(playerid, SEdad, DIALOG_STYLE_INPUT, "{DD0000}Edad", "{FFFFFF}Mбximo {DD0000}80, {FFFFFF}mнnimo {DD0000}18", "Seleccionar", "");
    Informacion[playerid][Edad] = strval(inputtext);
    ShowPlayerDialog(playerid, Dialog_Tutorial, DIALOG_STYLE_MSGBOX, "{DD0000}Fin del Registro","{FFFFFF}Has terminado el registro exitosamente\n\n{FFFFFF}Ahora, verб un pequeсo tutorial sobre este modo de juego", "Aceptar", "");
}
Dices "luchando" como si fuese una guerra lol
Reply
#3

Tu problema esta ke te esta faltando el response.

pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) {
    if(dialogid == DIALOG) {
        if(response) { //Cuando presionas el primer boton
        //TU FUNCION
        }
        else { //Cuando presionas el segundo boton o ESC
        //TU FUNCION
        }
    }
    return false;
}
Reply
#4

Quote:
Originally Posted by Edugta.
Посмотреть сообщение
Intenta:

pawn Код:
case SEdad:
{
    if(!strlen(inputtext)) return ShowPlayerDialog(playerid, SEdad, DIALOG_STYLE_INPUT, "{DD0000}Edad", "{FFFFFF}Por favor, introduza un nъmero entre 18 y 80", "Seleccionar", "");
    if(!IsNumeric(inputtext)) return ShowPlayerDialog(playerid, SEdad, DIALOG_STYLE_INPUT, "{DD0000}Edad", "{FFFFFF}Escriba solo el nъmero, su Edad:", "Seleccionar", "");
    if(strval(inputtext) < 18 || strval(inputtext) > 80) return ShowPlayerDialog(playerid, SEdad, DIALOG_STYLE_INPUT, "{DD0000}Edad", "{FFFFFF}Mбximo {DD0000}80, {FFFFFF}mнnimo {DD0000}18", "Seleccionar", "");
    Informacion[playerid][Edad] = strval(inputtext);
    ShowPlayerDialog(playerid, Dialog_Tutorial, DIALOG_STYLE_MSGBOX, "{DD0000}Fin del Registro","{FFFFFF}Has terminado el registro exitosamente\n\n{FFFFFF}Ahora, verб un pequeсo tutorial sobre este modo de juego", "Aceptar", "");
}
Dices "luchando" como si fuese una guerra lol
Nu funciono, na mentira funciono aver por cuanto :P
Gracias edugta, y enserio si que fue una guerra jajaja, para mi claro, de todo modos gracias, te debo la rep te la doy cuando pueda :3
Reply
#5

Te recomiendo esto:

Tu problema esta ke te esta faltando el response.
pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) {
    if(dialogid == DIALOG) {
        if(response) { //Cuando presionas el primer boton
        //TU FUNCION
        }
        else { //Cuando presionas el segundo boton o ESC
        //TU FUNCION
        }
    }
    return false;
}
Reply
#6

Quote:
Originally Posted by OTACON
Посмотреть сообщение
Tu problema esta ke te esta faltando el response.

pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) {
    if(dialogid == DIALOG) {
        if(response) { //Cuando presionas el primer boton
        //TU FUNCION
        }
        else { //Cuando presionas el segundo boton o ESC
        //TU FUNCION
        }
    }
    return false;
}
Ya lo solucione gracias de todo modos Otacon, y Edugta ahн te pude dar la rep, otacon avos si te la debo por que ya te di jaja tengo que esperar a esparcir.
Reply
#7

pawn Код:
case SEdad:
{
    if(!IsNumeric(inputtext)) return ShowPlayerDialog(playerid, SEdad, DIALOG_STYLE_INPUT, "{DD0000}Edad", "{FFFFFF}Escriba solo el nъmero, su Edad:", "Seleccionar", "");
    if(strval(inputtext) < 18 || strval(inputtext) > 80) ShowPlayerDialog(playerid, SEdad, DIALOG_STYLE_INPUT, "{DD0000}Edad", "{FFFFFF}Mбximo {DD0000}80, {FFFFFF}mнnimo {DD0000}18", "Seleccionar", "");

    Informacion[playerid][Edad] = strval(inputtext);
    ShowPlayerDialog(playerid, Dialog_Tutorial, DIALOG_STYLE_MSGBOX, "{DD0000}Fin del Registro","{FFFFFF}Has terminado el registro exitosamente\n\n{FFFFFF}Ahora, verб un pequeсo tutorial sobre este modo de juego", "Aceptar", "");
}
Siempre te mostraba segundo diбlogo. Enrealidad te mostraba ambos, solo que es tan rбpido el actuar que nisiquiera te percatas.

pawn Код:
strval(inputtext) < 18 || strval(inputtext) > 80
Esa condiciуn dice que si el nъmero que ingresa es menor a 18 o mayor a 80, le debia mostrar el diбlogo. Solo que nunca le dijiste al servidor que debia detenerse en ese momento, por lo que luego de mostrar ese diбlogo continuaba el cуdigo y finalmente le mostraba el segundo diбlogo. Resultando esto como si nunca ubiera funcionado esa condiciуn.
Reply
#8

Quote:
Originally Posted by DesingMyCry
Посмотреть сообщение
pawn Код:
case SEdad:
{
    if(!IsNumeric(inputtext)) return ShowPlayerDialog(playerid, SEdad, DIALOG_STYLE_INPUT, "{DD0000}Edad", "{FFFFFF}Escriba solo el nъmero, su Edad:", "Seleccionar", "");
    if(strval(inputtext) < 18 || strval(inputtext) > 80) ShowPlayerDialog(playerid, SEdad, DIALOG_STYLE_INPUT, "{DD0000}Edad", "{FFFFFF}Mбximo {DD0000}80, {FFFFFF}mнnimo {DD0000}18", "Seleccionar", "");

    Informacion[playerid][Edad] = strval(inputtext);
    ShowPlayerDialog(playerid, Dialog_Tutorial, DIALOG_STYLE_MSGBOX, "{DD0000}Fin del Registro","{FFFFFF}Has terminado el registro exitosamente\n\n{FFFFFF}Ahora, verб un pequeсo tutorial sobre este modo de juego", "Aceptar", "");
}
Siempre te mostraba segundo diбlogo. Enrealidad te mostraba ambos, solo que es tan rбpido el actuar que nisiquiera te percatas.

pawn Код:
strval(inputtext) < 18 || strval(inputtext) > 80
Esa condiciуn dice que si el nъmero que ingresa es menor a 18 o mayor a 80, le debia mostrar el diбlogo. Solo que nunca le dijiste al servidor que debia detenerse en ese momento, por lo que luego de mostrar ese diбlogo continuaba el cуdigo y finalmente le mostraba el segundo diбlogo. Resultando esto como si nunca ubiera funcionado esa condiciуn.
yo pregunto...
todo eso fue para decirle que le faltaron los return?
Reply
#9

Las dudas se responden con palabras humanas, no cуdigos.
Reply
#10

Quote:
Originally Posted by DesingMyCry
Посмотреть сообщение
Las dudas se responden con palabras humanas, no cуdigos.
solo pregutaba man, gracias por responde .
saludos.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)