SSGamers - 12 Anos online por você.

#SSGamers - A Comunidade que mais crescer no brasil!

Participe do fórum, é rápido e fácil

SSGamers - 12 Anos online por você.

#SSGamers - A Comunidade que mais crescer no brasil!

SSGamers - 12 Anos online por você.

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Chegou o novo tema 6.5.5 - SSGamers - Servidores online de qualidade - Aproveite e entre para nossa comunidade, inscreva-se já! - Ouça nossa web radio - Veja nossas novidades - Participe dos nossos setores de jogos online - Parcerias aberta fale já com um administrador.

    [TUTURIAL]como fazer um servidor em dois idiomas

    Rowan
    Rowan
    --> Postador Iniciante
    --> Postador Iniciante


    Steam Steam : Scripter-Profissional | Mapper iniciante
    Zello : no tengo
    Celular : 5564999396333
    Mensagens : 159
    Moedas : 2606
    Data de inscrição : 06/01/2018
    Idade : 21
    Localização : Los Santos

    [TUTURIAL]como fazer um servidor em dois idiomas Empty [TUTURIAL]como fazer um servidor em dois idiomas

    Mensagem por Rowan Seg 8 Jan 2018 - 9:23

    Bom galera venho trazer aqui meu primeiro tutorial, bem simples porém pode ser de grande utilidade a muitos.
    Antes de tudo já aviso que a forma que irei fazer é a forma que aprendi e que acho mais simples.

    Explicação

    O sistema funcionará da seguinte forma , quando o jogador entrar no servidor irá aparecer um Dialog para que ele escolha a linguagem, a escolha do jogador será armazenada em uma variável global, essa variável não será adicionada na conta do jogador como o score,dinheiro , ou seja, suponhamos que Jogador1 entrou no servidor fez o login e spawnou, nesse momento o Jogador1 escolhe a linguagem que deseja e as configurações serão ajustadas de acordo com sua escolha até que ele deslogue. Quando o Jogador1 entrar no servidor novamente ele escolherá a linguagem que deseja novamente e as configurações que você deseja irão ser atribuídas para ele novamente.

    Downloads

    Caso queira seguir o tutorial todo e conseguir fazer tudo o que será feito aqui em baixo, baixe a include ZCMD.
    Após fazer o download vá na pasta do seu servidor, abra a pasta Pawno e coloque o arquivo dentro da pasta Includes.

    Iniciando

    * Primeiro Passo : No topo do seu GM(Game-Mode) inclua as includes.
    Code:
    #include
    #include
    * Segundo Passo : Após incluir as includes devemos criar a variável Global que armazenará a Linguagem escolhida por cada jogador.
    No topo do GM declare :
    Code:
    new pLinguagem[MAX_PLAYERS] = 0; //Criamos uma váriavel Global com o nome "pLinguagem" para armazenar a linguagem escolhida pelo jogador.
    Explicação :
    Code:
    [MAX_PLAYERS] //Com essa função a variável será criada para cada player que conectar-se ao servidor.
    Code:
    = 0; //Definimos a variável de início para 0 onde para nós 0 significará NULA
    0 = NULA (Sem Linguagem Selecionada)
    1 = Inglês (Linguagem EN Selecionada)
    2 = Português (Linguagem PT Selecionada)


    * Terceiro Passo : Agora iremos definir a Dialog que será usada e a cor que será usada em um comando.
    Ainda no topo do GM:
    Code:
    #define     DIALOG_LINGUAGEM        1
    Code:
    #define amarelo 0xFFFF00FF
    Organize seu GM, não deixe tudo junto coloque cores juntas e separadas de Dialogs sempre adicionando comentários em seu GM se possível.

    * Quarto Passo : Agora iremos criar a Dialog onde ao spawnar o player irá escolher a linguagem desejada.

    Apertando (CTR + F) com o pawno aberto busque pela Public OnPlayerRequestSpawn(playerid) e coloque o código abaixo.
    Code:
    public OnPlayerRequestSpawn(playerid)
    {
      ShowPlayerDialog(playerid, DIALOG_LINGUAGEM, DIALOG_STYLE_MSGBOX, "Language/Linguagem",
      "Just choose Your Language !\n\
      Apenas Escolha sua Linguagem !",
      "English", "Português");
      return 1;
    }
    Fiz a Dialog de maneira bem simples, caso queira pode sim implementar cores nas frases, mudar, adicionar ou remover-las.

    Explicação :
    Code:
    public OnPlayerRequestSpawn(playerid) = Dentro dessa Public são colocadas funções para acontecerem assim que o jogador Spawnar.
    ShowPlayerDialog = Função para mostrar a Dialog para o Player.
    playerid = A Dialog será mostrada para um certo playerid.
    DIALOG_LINGUAGEM = O nome da Dialog que será chamada (Definimos ela no topo do GM).
    DIALOG_STYLE_MSGBOX = O estilo da Dialog que irá aparecer.
    "Language/Linguagem" = Coloque dentro das Aspas o que você deseja como título da Dialog.
    "Just choose Your Language !
    Apenas Escolha sua Linguagem !" = Coloque dentro das Aspas oque você quer como descrição dentro da Dialog.
    \n\ = Use quando quiser passar para a linha de baixo (Quebra de linha).
    "English", "Português" = Dentro das primeiras Aspas coloque o nome do Botão1 ena segunda o Botão2.
    * Quinto Passo : Agora iremos dar função para os dois botões da Dialog.
    Novamente Apertando (CTR + F) busque pela Public public OnDialogResponse e coloque o código abaixo.

    Code:
    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
      if(dialogid == DIALOG_LINGUAGEM)
      {
        if(response)
        {
           linguagem[playerid] = 1;
    SendClientMessage(playerid, -1,"{BD0D0D}Try /help , and have a Good Game !");
         }else
           {
               linguagem[playerid] = 2;
               SendClientMessage(playerid, -1,"{BD0D0D}Digite /ajuda , e tenha um bom jogo !");
           }
       }
       return 1;
    }
    Explicação :

    Code:
    public OnDialogResponse = Nessa public definimos as respostas de cada botão na Dialog.
    if(dialogid == DIALOG_LINGUAGEM) = Estrutura condicional para caso for chamada a DIALOG_LINGUAGEM.
    if(response) = Estrutura condicional para caso o jogador clicar no primeiro botão (English)
    linguagem[playerid] = 1; = Definimos a variável do jogador para 1 (English)
    else = Caso não seja no primeiro botão, ou seja, no segundo (Português).
    linguagem[playerid] = 2; = Definimos a variável do jogador para 2 (Português)
    * Sexto Passo : Aqui será apenas um complemento para iniciantes caso queiram criar o comando /ajuda e /help.

    Comando /ajuda :
    Code:

    CMD:ajuda(playerid)
    {
     SendClientMessage(playerid, amarelo, "Para ver todos os comandos digite /cmds ou /comandos.");
     SendClientMessage(playerid, amarelo, "Para ver as regras do servidor digite /regras.");
     SendClientMessage(playerid, amarelo, "Para ver os creditos do servidor digite /creditos.");
     return 1;
    }
    Comando /help:
    Code:

    CMD:help(playerid)
    {
     SendClientMessage(playerid, amarelo, "You can see all the commands using /cmds ou /commands.");
     SendClientMessage(playerid, amarelo, "You can see the rules writing /rules.");
     SendClientMessage(playerid, amarelo, "For see the credits of this server use /credits.");
     return 1;
    }
    Explicação Final

    Você pode implementar muito mais esse sistema, eu apenas lhe dei a base mas você pode usar a variável como restrição de alguns comandos, exemplo (Pessoas que escolheram PT não podem usar comandos da área EN) isso é você quem decide ! Espero que façam bom proveito disso. Como foi meu primeiro tutorial e ainda estou estudando MUITO pawn, vejo que tenho muita coisa a aprender pela frente, portanto quaisquer críticas são Bem-Vindas desde que sejam para crescimento. Qualquer dúvida poste e eu tentarei ajudar.

    Créditos
    - Tutorial feito por mim ZackT.
    - Retirei a ideia do SA-MP DayZ pois foi o primeiro servidor que vi com esse sistema.
    - Ao Jonathan Feitosa, pois comentei o tutorial dele aqui.

    Reajustes serão sempre feitos.

      Data/hora atual: Qui 28 Mar 2024 - 12:29