[Duda]їCуmo no spawnear en el diбlogo?
#1

Tengo esto:

pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
        if(dialogid == 1)
        {
            if(response)
            {
                if(!strlen(inputtext))
                {
                    new s[128];
                    format(s,sizeof(s),"{FF0000}No has escrito ninguna contraseсa");
                    ShowPlayerDialog(playerid,1,DIALOG_STYLE_PASSWORD,"Error",s,"Logear","");
                    return 1;
                }
                LogearJugador(playerid,inputtext);
                TogglePlayerSpectating(playerid, 0);
                Logeado[playerid] = 1;
            }
            else
            {
                Kick(playerid);
            }
        }
        if(dialogid == 2)
        {
            if(response)
            {
                if(!strlen(inputtext))
                {
                    new s[128];
                    format(s,sizeof(s),"{FF0000}No has escrito ninguna contraseсa");
                    ShowPlayerDialog(playerid,2,DIALOG_STYLE_PASSWORD,"Error",s,"Registrar","");
                    return 1;
                }
                RegistrarJugador(playerid,inputtext);
                LogearJugador(playerid, inputtext);
                TogglePlayerSpectating(playerid, 0);

            }
            else
            {
                Kick(playerid);
            }
        }

        return 1;
}
El problema es que si el user escribe mal la contraseсa el ped spawnea pero el dialogo sigue, por lo que los datos no cargan y lo manda a red country.

?
Reply
#2

Has que LogearJugador retorne false o true dependiendo si la contraseсa es correcta o no y en el dialog pones un if con el valor que retorne logearjugador, si retorna false le pones que le pida la contraseсa nuevamente y asta que retorne true usas TogglePlayerSpectating(playerid, 0);
Reply
#3

Quote:
Originally Posted by Jovanny
Посмотреть сообщение
Has que LogearJugador retorne false o true dependiendo si la contraseсa es correcta o no y en el dialog pones un if con el valor que retorne logearjugador, si retorna false le pones que le pida la contraseсa nuevamente y asta que retorne true usas TogglePlayerSpectating(playerid, 0);
Perdуn la tardanza en responder jeje.

Deja ver si te entendн

pawn Код:
public OnDialogResponse(...)
{
  if (LogearJugador(..) == false)
  {  
     ShowPlayerDialog(..);
  } else if(LogearJugador(..) == true)
     TogglePlayerSpectating(playerid, 0);
  }
}
?
Reply
#4

Si, pero tienes que modificar LogearJugador para que retorne el boolean dependiendo si ingreso correctamente o no
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)