[TUT] Jak udělat vícejazyčný příkaz
Je to velmi jednoduchý Tutorial
1)
Nadefinujeme si pár věcí
#define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1 //definie DCMD
new Jazyk[MAX_PLAYERS] = 0; //Nastaví defaultní jazyk na češtinu
#define ZELENA 0x31A021FF //Nadefinovaná zelená barva
2)
public OnPlayerConnect(playerid)
SendClientMessage(playerid, ZELENA, "Původní jazyk je Čeština");
SendClientMessage(playerid, ZELENA, "Pokud budete chtít změnit jazyk použíte příkaz podle jazyku [ /english /slovak /czech ] "); //Zde je příkaz při připojení , že si můžete změnit jazyk pomocí příkazu
3)
public OnPlayerCommandText(playerid, cmdtext[])
dcmd(czech,5,cmdtext);
dcmd(english,7,cmdtext);
dcmd(slovak,6,cmdtext);
dcmd(help,4,cmdtext);
4)
Vložíme někde na konec MODU
dcmd_czech(playerid , params[]){
#pragma unused params
Jazyk[playerid] = 0; //Nastaví jazyk na Češtinu [0]
SendClientMessage(playerid,0xC0C0C0FF,"Vybrál sis český jazyk");
return 1;
}
//----------------------------------------------------------------------------------------------------------------
dcmd_english(playerid , params[])
{
#pragma unused params
Jazyk[playerid] = 1; //Nastaví jazyk na Angličtina [1]
SendClientMessage(playerid,0xC0C0C0FF,"You selectet english language");
return 1;
}
//----------------------------------------------------------------------------------------------------------------
dcmd_slovak(playerid , params[])
{
#pragma unused params
Jazyk[playerid] = 2; //Nastaví jazyk na Slovenština [2]
SendClientMessage(playerid,0xC0C0C0FF,"Vybrál si si slovensky jazyk");
return 1;
}
//----------------------------------------------------------------------------------------------------------------
dcmd_help(playerid , params[])
{
#pragma unused params
switch (Jazyk[playerid])
{
case 0: //Napíše zprávu pokud má jazyk vybraný CZ
{
SendClientMessage(playerid,0xFFD400AA,"Zde bude váš řádek č.1");
SendClientMessage(playerid,0xFFD400AA,"Zde bude váš řádek č.2");
}
case 1: //Napíše zprávu pokud má jazyk vybraný EN
{
SendClientMessage(playerid,0xFFD400AA,"This is line 1");
SendClientMessage(playerid,0xFFD400AA,"This is line 2");
}
case 2: //Napíše zprávu pokud má jazyk vybraný SK
{
SendClientMessage(playerid,0xFFD400AA,"Tu bude váš riadok č.1");
SendClientMessage(playerid,0xFFD400AA,"Tu bude váš riadok č.2");
}
}
return 1;
}
Jak to vypadá celé ?
ODZKOUŠENO ! SÁM JSEM TO TESTOVAL