[Ajuda] Como substituir registro de cmd por dialog
#1

Eu penei para tentar mudar isso, mais todas as tentativas falharam... o que quero й tirar o comando /registrarse e colocar para quando o player logar (se ele nгo for registrado) aparecer para ele se registrar.

A de login jб estб pronta, porйm sу aparece quando a pessoa estб registrada (o уbvio) pedindo a senha que foi registrada

cmd de registro:

PHP код:
CMD:registrarse(playeridparams[])
{
    if(
PI[playerid][P_USEREXIT]) return SendClientMessage(playerid, -1"{"ORANGE"}Esta conta jб estб registrada.");
    
    if( (
gettime() >= PI[playerid][P_USER_CONNECTED_TICKCOUNT] + NECESSARY_TIME_REGISTER) ) ShowDialog(playeridDIALOG_REGISTER);
    else
    {
        new 
time = (NECESSARY_TIME_REGISTER-(gettime()-PI[playerid][P_USER_CONNECTED_TICKCOUNT]));
        
SendClientMessageEx(playerid, -1"{"ORANGE"}deve jogar ao menos {"GREY"}%s minutos {"ORANGE"}mais para registrar a conta."TimeConvert(time));
    }
    return 
1;

a dialog de registro:



PHP код:
        case DIALOG_REGISTER:
        {
            if(
response)
            {
                if(!
strlen(inputtext))
                {
                    
ShowDialog(playeridDIALOG_REGISTER);
                    return 
1;
                }
                if(
strlen(inputtext) <= || strlen(inputtext) >= 16)
                {
                    
ShowPlayerDialog(playeridDIALOG_REGISTERDIALOG_STYLE_PASSWORD"{"ORANGE"}"SERVER_NAME" - Registro",
                    
"A senha deve conter no minimo 3 caractйres."">>""X");
                    return 
1;
                }
                
PI[playerid][P_PASS] = udb_hash(inputtext);
                
                
NewUserRegister(playerid);
                
UpdateUserData(playerid);
                
PI[playerid][P_LOGGED] = true;
                
PI[playerid][P_USEREXIT] = true;
                
PlayerPlaySoundEx(playerid10580.00.00.0);
                
GameTextForPlayer(playerid"_~n~_~n~_~n~_~n~_~n~_~n~_~n~~y~~h~registrado corretamente"30006);
                
                
SendClientMessage(playerid, -1"Obrigado por se registrar, Recebeu $5.000 e 100 score.");
                
SendClientMessage(playerid, -1"Use os comandos /stats para ver suas estatнsticas e /painel para configurar sua conta.");
                
GivePlayerMoneyEx(playerid5000);
                
GivePlayerScoreEx(playerid1000);
                
            }
            return 
1;
        } 
@Edit

Bem, eu esqueci de colocar o show dialog do registro e login...

PHP код:
ShowDialog(playeriddialogid)
{
    switch(
dialogid)
    {
        case 
DIALOG_LOGIN: return ShowPlayerDialog(playeriddialogidDIALOG_STYLE_PASSWORD"{B0E66A}"SERVER_NAME" - Ingreso"
            
"{1F75FE}Esta conta estб registrada.\nDigite sua senha para continuar."">>""sair");
            
        
        case 
DIALOG_REGISTER: return ShowPlayerDialog(playeriddialogidDIALOG_STYLE_PASSWORD"{B0E66A}"SERVER_NAME" - Registro",
            
"{1F75FE}Digite sua senha para registrar esta conta."">>""X"); 
Reply
#2

Uma dica para voзк carinha:
https://sampwiki.blast.hk/wiki/Dialog_Styles
Procure por: Style 3: DIALOG_STYLE_PASSWORD
ShowPlayerDialog(playerid, YOUR_DIALOGID, DIALOG_STYLE_PASSWORD, "Caption", "Enter private information below:", "Button 1", "Button 2");
Reply
#3

Man, essa parte jб tenho feito como mostra no comando, sу que quero tirar o /registrarse e colocar na hora que o player logar se ele nгo estiver registrado aparecer o dialog para ele registrar, jб tentei bastante formas, passar para o OnPlayerConect e nenhuma funcionou.
Reply
#4

Em OnPlayerRequestClass, coloque para verificar se o jogador й registrado ou nгo, se nгo coloque para aparecer o dialog, tenta ai; se nгo for, manda a funзгo que й chamada quando ele loga sem ser registrado e estando registrado.
Quote:

if(PI[playerid][P_USEREXIT]){
//Registrado
}
else{
//Nгo Registrado
}

Reply
#5

Coloca em OnPlayerConnect
Reply
#6

Funcionou, obrigado
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)