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.

    [Tutorial] Suporte a vários idiomas usando XML

    Weslley_Script
    Weslley_Script
    SS - Fundador
    SS - Fundador


    Steam Steam : WeslleySSGames
    Zello : WeslleySSGames
    Mensagens : 11381
    Moedas : 1031991
    Data de inscrição : 06/10/2011
    Idade : 28
    Localização : Brasil

    [Tutorial] Suporte a vários idiomas usando XML Empty [Tutorial] Suporte a vários idiomas usando XML

    Mensagem por Weslley_Script Seg 3 Abr 2023 - 16:03

    Olá,
    Hoje vou estar mostrando a você, a como criar um servidor com mais de uma língua utilizando o XML. Não vou explicar muito, porque é bem fácil, é tudo questão de prestar atenção nos códigos e seguir igual. Então vamos lá:
    [list="box-sizing: border-box; margin-bottom: 10px; color: rgb(51, 51, 51); font-family:"][*]Copie este cуdigo abaixo, e salve-o em seus scriptfiles com o nome language.xml:
    Código PHP:
    Código:
    <?xml version="1.0" encoding="UTF-8"?>
    <language sigla="pt-BR">
        <string id="msg_boasvindas" output="Ola"/>
    </language>
    <language sigla="en">
        <string id="msg_boasvindas" output="Hello"/>
    </language>
    Vamos entender o "código":
    Citar:





    A onde está escrito ' sigla_do_idioma_aqui ' você irá substituir pela sigla que você quer, exemplo: pt-BR, pt-PT.. etc

    Citar:





    Você vai substituir ' texto_quando_o_player_loga ' para o "id" do texto que você quer, esse id deve ser salvo para ser usado depois, então escolha um id de preferência sua.
    E a onde está escrito ' Texto pra quando o player logar no servidor ' é o texto final que você quer que seja exibido em sua mensagem.

    Entre por exemplo:
    Código PHP:
    Código:
    <string id="forum_samp" output="Olб fуrum sa-mp"/> 


    [*]Agora vamos ao cуdigo peão:
    Primeiro salve a include na pasta de includes do seu gamemode, e depois chame-a no gamemode, exemplo:
    Código PHP:
    Código:
    #include <xml> 
    Agora, você vai ter que abrir o arquivo XML que está na sua scriptfiles, para isso faz o seguinte:
    Código PHP:
    Código:
    new XML:lang; // crie uma variavel, na qual vocк utilizarб para dizer qual й o arquivo que vocк estб "usando"
    public OnGameModeInit()
    {
        lang = xml_open("languages.xml"); // Indique onde estб o arquivo xml.
        return 1;

    Você simplesmente precisará fazer isto para referenciar sua mensagem:
    Citar:




    nova mensagem[100];
    xml_get_string( variavel definida acima , "language[@sigla=\" A sigla que você define lá em cima \"]/string[@id=\" O id que você define lá em cima \"]/@output", msg );
    Exemplo:
    Código PHP:
    Código:
    new msg[100]; // variavel que irб retornar a msg 
    xml_get_string(lang, "language[@sigla=\"fr\"]/string[@id=\"mensagem_Login\"]/@output", msg); 
    e para exibir para o player com uma mensagem, usaríamos o SendClientMessage:
    Código PHP:
    Código:
    SendClientMessage(playerid, -1, msg); 
    Código final:
    Código PHP:
    Código:
    new msg[100]; // variavel que irб retornar a msg 
    xml_get_string(lang, "language[@sigla=\"fr\"]/string[@id=\"mensagem_Login\"]/@output", msg);
    SendClientMessage(playerid, -1, msg); 

    [/list]

    Exemplo de código:
    Código PHP:

    Código:
    #include <a_samp>
    #include "../include/xml.inc"
    main()
    {
        print("\n----------------------------------");
        print(" Blank Gamemode by your name here");
        print("----------------------------------\n");
    }
    new XML:lang;
    public OnGameModeInit()
    {
        lang = xml_open("languages.xml");
        return 1;
    }
    public OnGameModeExit()
    {
        xml_close(lang);
        return 1;
    }
    public OnPlayerConnect(playerid)
    {
        ShowPlayerDialog(playerid, 1, DIALOG_STYLE_LIST, "Select your language", "Portuguкs\nEnglish", "Select", "");
        return 1;
    }
    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
        if(dialogid == 1){
            new msg[20];
            if(listitem==0){
                    xml_get_string(lang, "language[@sigla=\"pt-BR\"]/string[@id=\"msg_boasvindas\"]/@output", msg);
                    SendClientMessage(playerid, -1, msg);
                    return 1;
            }
            if(listitem==1)
            {
                xml_get_string(lang, "language[@sigla=\"en\"]/string[@id=\"msg_boasvindas\"]/@output", msg);
                SendClientMessage(playerid, -1, msg);
                return 1;
            }
        }
        return 1;


    Espero que tenha entendido, a explicação não ficou muito boa, mas é bem simples de se compreender. Você pode criar algo mais complexo usando este exemplo eu passei, espero que gostem. Para baixar o plugin ea include clique aqui .


    Creditos: HaRdiiZin



    [Tutorial] Suporte a vários idiomas usando XML D07Xwqb
    [Tutorial] Suporte a vários idiomas usando XML Yjab9HN

      Data/hora atual: Sex 17 maio 2024 - 0:19