16.07.2016, 18:02
(
Last edited by HaRdiiZin; 16/07/2016 at 07:17 PM.
)
Olб,
Hoje vou estar mostrando a vocкs, 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б:
Exemplo de cуdigo:
Espero que tenham entendido, a explicaзгo nгo ficou muito boa, mais й bem simples de se compreender. Vocк pode criar algo mais complexo usando este exemplo eu passei, espero que gostem. Para baixar o plugin e a include clique aqui.
Crйditos do plugin a Zeex
Hoje vou estar mostrando a vocкs, 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б:
- Copie este cуdigo abaixo, e salve-o em sua scriptfiles com o nome languages.xml:
PHP Code:<?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>
Quote:
<language sigla="sigla_do_idioma_aqui">
Quote:
<string id="texto_quando_o_player_loga" output="Texto pra quando o player logar no servidor"/>
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.
Entгo por exemplo:
PHP Code:<string id="forum_samp" output="Olб fуrum sa-mp"/>
- Agora vamos ao cуdigo pawn:
Primeiro salve a include na pasta de includes do seu gamemode, e depois chame-a no gamemode, exemplo:
PHP Code:#include <xml>
PHP Code: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;
}
Quote:
new msg[100];
xml_get_string(variavel definida acima, "language[@sigla=\"A sigla que vocк definiu lб em cima\"]/string[@id=\"O id que vocк definiu lб em cima\"]/@output", msg);
PHP Code:new msg[100]; // variavel que irб retornar a msg
xml_get_string(lang, "language[@sigla=\"fr\"]/string[@id=\"mensagem_Login\"]/@output", msg);
PHP Code:SendClientMessage(playerid, -1, msg);
PHP Code: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);
Exemplo de cуdigo:
PHP Code:
#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;
}
Crйditos do plugin a Zeex