Jump to content

Como começar a criar um Painel de Login


Recommended Posts

  • Other Languages Moderators

Olá! Seja bem-vindo(a) ao fórum! ?

Você pode começar lendo estes tópicos:

Os itens citados são para quem está começando e pode te auxiliar nessa jornada. Todavia, ainda posso te dar as funções para que você possa tentar alguma coisa. Lembrando que, além do fórum, há uma galera bastante ativa em nosso Discord oficial do MTA.

Começando desde o princípio, um painel de login seria, de forma bem resumida, uma forma do jogador se autenticar. Para isso, nós precisamos que ele forneça algumas informações, como o usuário e senha. Há várias formas de você estar criando uma maneira disso acontecer. Seja através de comandos básicos, sem nenhuma interface; com interface; integrações via site e muitas outras formas.

Considerando que você deseja um painel de login, presumo que nós teremos uma interface. Então, dessa forma, você precisa escolher entre trabalhar com as funções DX ou CEGUI. A diferença entre elas é, basicamente, CEGUI já vem no MTA como uma biblioteca, com diversas funções prontas para o uso. Já o DX, são apenas desenhos na tela, você usará bastante matemática básica - e, claro, criará o seu próprio layout. Darei as funções CEGUI, pois elas são bem fáceis de trabalhar.

Para a criação do painel de login, você usaria as seguintes funções:

  • guiCreateWindow - cria a janela;
  • guiCreateEdit - cria os campos para digitar o usuário e senha;
  • guiCreateButton - cria o botão para autenticar (e registrar, caso tenha essa característica);
  • guiCreateLabel - cria um texto na janela, serve para auxiliar o jogador, dizendo qual é o campo de Usuário e Senha.

Funções que serão úteis no decorrer da criação:

  • Window (Janela)
    • guiSetVisible - altera a visibilidade da janela, escondendo-a ou fazendo a aparecer.
      • Só para constar, essa função serve para quase todos os elementos CEGUI. A janela foi apenas um exemplo de uso.
  • Buttons (Botões)
    • guiSetProperty - altera algumas característica do botão, como cor do texto, por exemplo;
    • guiSetFont - altera a fonte do botão.
      • As duas funções citadas acima também podem ser usadas em vários elementos CEGUI.
  • Edit (Campos)
    • guiEditSetMaxLength - altera o limite de caracteres que podem ser inseridos no campo. É extremamente importante limitar, para não ter falhas de segurança.

Considerando um painel simples, irei citar apenas um evento necessário. Veja abaixo:

  • onClientGUIClick - esse evento é chamado quando ocorre algum clique em um botão que seja da biblioteca CEGUI.

As funções e eventos citados acima são parte do que nós chamamos de client-side, ou seja, coisas que rodam no computador do jogador. Agora, é necessário nós pegarmos as informações que ele digitou e mandá-las para o server-side, onde ocorrerá todo o processamento de dados.

Para isso, nós utilizamos a função guiGetText, para obter o que foi inserido nos campos (editbox), e também a função triggerServerEvent, para chamar algum evento lá do server-side.

Agora que nós enviamos os dados para o servidor, precisamos processá-los. Algumas funções que irão fazer parte do código, para autenticar:

  • getAccount - obtém uma conta, se existente, e também serve para verificar se a senha está correta;
  • logIn - autentica o jogador.

Eu não entrei muito em detalhes sobre registrar uma conta, mas você pode explorar mais depois :). Lembrando, novamente, sobre o nosso servidor oficial do Discord. Espero que este tópico tenha o ajudado a entender um pouco sobre. Boa sorte na sua jornada.

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...