[Ajuda] Colocar Dialog de Regras ao Conectar no Server
#1

Quero colocar um Dialog ao Conectar no Server
Tenho de mexer no OnPlayerConnect e no OnDialogResponse
Mas eu quero saber como fazer isso sem erros, jб fiz umas vezes, Ate fiz com ajuda de uns post daqui e do wiki.sa-mp.com
Postem ae o Cуdigo com base nesse dados para me ajudarem:

Melhor usar #define ou enum?
Ex:

Код:
#define DIALOG_REGRAS
Depois no OnPlayerConnect
Eu fasso isso

Код:
//DIALOG REGRAS
ShowPlayerDialog(playerid, DIALOG_REGRAS, DIALOG_STYLE_MSGBOX, "Concorda com as regras?", "Regras AKI", "Concordo", "Discordo");
E no OnDialogResponse eu fasso

Код:
if(dialogid == DIALOG_REGRAS)
    {
        if(response) // Se eles aceitarem as regras
        {
            SendClientMessage(playerid, COLOR_AVISO, "Obrigado por aceitar as regras. Tenha um Bom Jogo!");
        }
        else // Usarem ESC ou nгo Aceitarem        
        {
            KickWithMessage(playerid, COLOR_INFORMACAO, "What? Nгo aceito as regras entгo vaza!");
            
        }
        return 1; 
    }
 
    return 0; 
}
Me ajudem ae com Base nisso que eu fiz. Valeu
Reply
#2

ta indo certo, sу que a
pawn Код:
ShowPlayerDialog(playerid, DIALOG_REGRAS, DIALOG_STYLE_MSGBOX, "Concorda com as regras?", "Regras AKI", "Concordo", "Discordo");
recomendo chamar essa dialog na OnDialogResponse na verificaзгo da dialog de Registro, ai na parte em que retornar verdadeira vc chama ela, se chamar ela na OnPlayerConnect direto vai dar conflito com a dialog de Login/Registro
Reply
#3

Quote:
Originally Posted by O_KoDi
Посмотреть сообщение
ta indo certo, sу que a
pawn Код:
ShowPlayerDialog(playerid, DIALOG_REGRAS, DIALOG_STYLE_MSGBOX, "Concorda com as regras?", "Regras AKI", "Concordo", "Discordo");
recomendo chamar essa dialog na OnDialogResponse na verificaзгo da dialog de Registro, ai na parte em que retornar verdadeira vc chama ela, se chamar ela na OnPlayerConnect direto vai dar conflito com a dialog de Login/Registro
Pode simplificar isso atraz escrevendo o cуdigo certo?
Reply
#4

Seu Gm й do tipo que chama Dialog de Login/Registro ao conectar-se no servidor ?
Reply
#5

Quote:
Originally Posted by RedTub3
Посмотреть сообщение
Melhor usar #define ou enum?
Ex:

Код:
#define DIALOG_REGRAS
WHAT?

Me diz a variavel q checa se o player й registrado ou nao.
Reply
#6

Olha coloca isso:

pawn Код:
//DIALOG REGRAS
ShowPlayerDialog(playerid, DIALOG_REGRAS, DIALOG_STYLE_MSGBOX, "Concorda com as regras?", "Regras AKI", "Concordo", "Discordo");
Na sua dialog de REGISTRO de contas, assim que o player LOGA com sucesso, aparecer esta dialog, pois se vocк colocar ela na Request class, ela pode dar conflito, alias й certeza que ela darб, mais de resto tб tudo correto.
Reply
#7

Quote:
Originally Posted by O_KoDi
Посмотреть сообщение
Seu Gm й do tipo que chama Dialog de Login/Registro ao conectar-se no servidor ?
Sim. Antigo do Bloody Vegas
Reply
#8

Quote:
Originally Posted by RedTub3
Посмотреть сообщение
Melhor usar #define ou enum?
Ex:

Код:
#define DIALOG_REGRAS
#define e enum sгo coisas diferentes, o #define й para declarar uma constante (ou seja um valor que nгo irб mudar ao longo do programa) e lida a nнvel do compilador (nгo sei explicar essa parte do compilador muito bem preciso dumas aulinhas extras xD), quanto ao enum elas jб sгo usadas como variбveis (ou seja valores que podem mudar ao longo da execuзгo do programa) a parte das variбveis nгo й totalmente correta pois eles sгo enumeradores mas o uso principal deles й em variбveis, eu nгo tenho muito jeito para explicar coisas mas se nгo entender a parte dos enums dй uma olhada neste tуpico (https://sampforum.blast.hk/showthread.php?tid=318307).

No caso que mencionou o uso de #define й o mais correto pois serб vocк que irб definir o valor dela e esse valor nгo irб mudar durante a execuзгo do servidor.
pawn Код:
#define DIALOG_REGRAS 1 //O 1 pode ser outro nъmero qualquer pois serб o ID que irб representar o seu Dialogo e esse ID nгo irб mudar ao longo da execuзгo do servidor
-------------------------------

Й complicado dar dicas sem saber quais sгo os erros em questгo de qualquer forma como o O_KoDi disse deve resolver qualquer conflito o dialogo de registo.

Algo assim:
pawn Код:
#define DIALOG_REGRAS

public OnPlayerConnect(playerid)
{
     ShowPlayerDialog(playerid, DIALOG_REGRAS, DIALOG_STYLE_MSGBOX, "Concorda com as regras?", "Regras AKI", "Concordo", "Discordo");

     return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
     if(dialogid == DIALOG_REGRAS)
     {
          if(response) //Se eles aceitarem as regras
          {
               SendClientMessage(playerid, COLOR_AVISO, "Obrigado por aceitar as regras. Tenha um Bom Jogo!");
               ShowPlayerDialog(playerid, DIALOG_REGISTO, DIALOG_STYLE_INPUT, "Registe-se", "...", "Registar", "Cancelar"); //Nгo sei como й o seu sistema de registo mas deve ser algo deste gйnero
          }
          else //Usarem ESC ou nгo Aceitarem
          {
               KickWithMessage(playerid, COLOR_INFORMACAO, "What? Nгo aceito as regras entгo vaza!");
          }

          return 1;
     }
     else if(dialogid == DIALOG_REGISTO)
     {
          //Aqui ficaria a parte do registo
     }

     return 0;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)