MarcoCZ 0 Odesláno: 11. Listopad, 2013 Share Odesláno: 11. Listopad, 2013 [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é ? #include <a_samp> //---------------------------------------------------------------------------------------------------------------- #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 //---------------------------------------------------------------------------------------------------------------- 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 return 1; } //---------------------------------------------------------------------------------------------------------------- public OnPlayerCommandText(playerid, cmdtext[]) { dcmd(czech,5,cmdtext); dcmd(english,7,cmdtext); dcmd(slovak,6,cmdtext); dcmd(help,4,cmdtext); return 0; } //---------------------------------------------------------------------------------------------------------------- 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; } //---------------------------------------------------------------------------------------------------------------- ODZKOUŠENO ! SÁM JSEM TO TESTOVAL Link to comment Share on other sites More sharing options...
Tanga 131 Odesláno: 11. Listopad, 2013 Share Odesláno: 11. Listopad, 2013 Dobré, len pár maličkostí, akože by to nefungovalo. Tagy sa nepoužívajú.+REP tu neexistuje.Hore ti chýbajú includy, takže skript by sám o sebe nefungoval. (Aj keď v "JAK TO VYZERÁ CELÉ ich máš.Prilož pri použití includu aj link na neho.Pragma neraď v tutoriáloch.Ajtak by to nefungovalo - ak nepoužijem žiadny príkaz na tvorbu jazyka a potom help, tak padne server. Keď sa pripojím nenastavuješ mi totiž môj jazyk. 4/5*100% Link to comment Share on other sites More sharing options...
MarcoCZ 0 Odesláno: 11. Listopad, 2013 Author Share Odesláno: 11. Listopad, 2013 Dobré, len pár maličkostí, akože by to nefungovalo. Tagy sa nepoužívajú. +REP tu neexistuje. Hore ti chýbajú includy, takže skript by sám o sebe nefungoval. (Aj keď v "JAK TO VYZERÁ CELÉ ich máš. Prilož pri použití includu aj link na neho. Pragma neraď v tutoriáloch. Ajtak by to nefungovalo - ak nepoužijem žiadny príkaz na tvorbu jazyka a potom help, tak padne server. Keď sa pripojím nenastavuješ mi totiž môj jazyk. 4/5*100% Jo tak +rep tady asi není , nevím , ale zdálo se mi že jo nevadí žádny include tam nemám . a mě to funguje normálně . Nevím proč tobě ne. Mě to načte v pohodě . To při připojení nastaví automaticky 0 ,a to zmamená že je to čeština Ale jinak dík Link to comment Share on other sites More sharing options...
LORD BENDTNER 0 Odesláno: 11. Listopad, 2013 Share Odesláno: 11. Listopad, 2013 Otvor okno a vyskoč :d a #include <a_samp> si kde nechal :d [iNAK PEKNY TUT] Link to comment Share on other sites More sharing options...
MarcoCZ 0 Odesláno: 11. Listopad, 2013 Author Share Odesláno: 11. Listopad, 2013 Jak to vypadá celé ? Otvor okno a vyskoč :d a #include <a_samp> si kde nechal :d Jak to vypadá celé ? TOto otevři tam to máš :D Link to comment Share on other sites More sharing options...
Amenadiel 286 Odesláno: 11. Listopad, 2013 Share Odesláno: 11. Listopad, 2013 PANE BOŽE!!! to už nikdo neumíte dělat Stocky ?!? stock SendMessage(playerid,COLOR,CZ[],SK[]) { switch (Jazyk[playerid]) { case 1: SendClientMessage(playerid,COLOR,CZ); case 2: SendClientMessage(playerid,COLOR,SK); } }SendMessage(playerid,COLOR_RED,"AHOJ ČESKY!","AHOJ SLOVENSKY !");1/10 zbytečnej návod Link to comment Share on other sites More sharing options...
Tanga 131 Odesláno: 11. Listopad, 2013 Share Odesláno: 11. Listopad, 2013 -------------------Druhé kolo:Ešte raz:NEBUDE TO FUNGOVAŤ1.Tvoj jazyk je otrasný - slovenština neexistuje, selectet tiež nie a aj si zle preložil tie vety v iných jazykoch.2. Includ tam používaš DCMD, ktorý si nenapísal a A_SAMP, ktorý si nenapísal a na DCMD si nedal link.3. Vyskúšaj si tvoj skript-fungovať nebude. Ako som písal, skúsim ešte raz:Ak si nastavil hráčovi 0 pri kompilácii, tak pri connecte nie - príd, daj si anglinu, odpoj sa a pripoj. Vualá - angličtina znova . Link to comment Share on other sites More sharing options...
MarcoCZ 0 Odesláno: 11. Listopad, 2013 Author Share Odesláno: 11. Listopad, 2013 PANE BOŽE!!! to už nikdo neumíte dělat Stocky ?!? stock SendMessage(playerid,COLOR,CZ[],SK[]) { switch (Jazyk[playerid]) { case 1: SendClientMessage(playerid,COLOR,CZ); case 2: SendClientMessage(playerid,COLOR,SK); } } SendMessage(playerid,COLOR_RED,"AHOJ ČESKY!","AHOJ SLOVENSKY !"); 1/10 zbytečnej návod Každý se nějak učí ne ? Link to comment Share on other sites More sharing options...
Amenadiel 286 Odesláno: 11. Listopad, 2013 Share Odesláno: 11. Listopad, 2013 Každý se nějak učí ne ? Ano nebudu googlit a budu tady dělat Machra že umím udělat 90 řádku navíc ------------------- Druhé kolo: Ešte raz: NEBUDE TO FUNGOVAŤ Tak keď si taký tak aj ja budem: 1.Tvoj jazyk je otrasný - slovenština neexistuje, selectet tiež nie. 2. Includ tam používaš DCMD, ktorý si nenapísal a A_SAMP, ktorý si nenapísal. 3. Vyskúšaj si tvoj skript-fungovať nebude. Ako som písal, skúsim ešte raz: Ak si nastavil hráčovi 0 pri kompilácii, tak pri connecte nie - príd, daj si anglinu, odpoj sa a pripoj. Vualá - angličtina znova . /=======================/ Tyvole:D jsem se od tebe nakazil že taky kritizuju Link to comment Share on other sites More sharing options...
MarcoCZ 0 Odesláno: 11. Listopad, 2013 Author Share Odesláno: 11. Listopad, 2013 ------------------- Druhé kolo: Ešte raz: NEBUDE TO FUNGOVAŤ Tak keď si taký tak aj ja budem: 1.Tvoj jazyk je otrasný - slovenština neexistuje, selectet tiež nie. 2. Includ tam používaš DCMD, ktorý si nenapísal a A_SAMP, ktorý si nenapísal. 3. Vyskúšaj si tvoj skript-fungovať nebude. Ako som písal, skúsim ešte raz: Ak si nastavil hráčovi 0 pri kompilácii, tak pri connecte nie - príd, daj si anglinu, odpoj sa a pripoj. Vualá - angličtina znova . Je to těžší psát na NTB rychle , sorry za mojí češtinu A jo jako to si snad každý pokročilý pawner potom dokáže nakodovat , to že když se odpojí tak při načtení se mu zase nastaví jazyk který si zvolil ve hře . Podívej se prosím pořádně , DMCD je tam nadefinované Více 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 Ano nebudu googlit a budu tady dělat Machra že umím udělat 90 řádku navíc A tak to stačí pro začátečníka ne ? A pokročilý pawner si pak z toho umí udělat i další věci Link to comment Share on other sites More sharing options...
Amenadiel 286 Odesláno: 11. Listopad, 2013 Share Odesláno: 11. Listopad, 2013 A tak to stačí pro začátečníka ne ? A pokročilý pawner si pak z toho umí udělat i další věci WOOOOT?! jake další věci ? Link to comment Share on other sites More sharing options...
MarcoCZ 0 Odesláno: 11. Listopad, 2013 Author Share Odesláno: 11. Listopad, 2013 A tak to stačí pro začátečníka ne ? A pokročilý pawner si pak z toho umí udělat i další věci WOOOOT?! jake další věci ? Tím bylo myšleno , že například si nastaví že po odpojení se mu to uloží do ini souboru (v registraci) Link to comment Share on other sites More sharing options...
Tanga 131 Odesláno: 11. Listopad, 2013 Share Odesláno: 11. Listopad, 2013 Wilson, musel som .Keby to bola chybička, tak dobre...Ale skript nebude fungovať a to už stojí za kritiku .*Si nastaví do ini súboru v registraci :d .Ten čo pozerá návod na takýto skript, registráciu nemá .*Jaký pokročilý pawner si to opraví???Je to presne 16 znakov, to by ťa nezabilo napísať. Link to comment Share on other sites More sharing options...
Amenadiel 286 Odesláno: 11. Listopad, 2013 Share Odesláno: 11. Listopad, 2013 Neco pro tebe stock SendMessage(playerid,COLOR,CZ[],SK[]) { switch (Jazyk[playerid]) { case 1: SendClientMessage(playerid,COLOR,CZ); case 2: SendClientMessage(playerid,COLOR,SK); } } stock ShowPlayerDialogEx(playerid,ID,STYLE,NADPIS[],NADPIS2[],TEXT[],TEXT2[],BUTTON1[],BUTTON2[],BUTTONsk[],BUTTONsk2[]) { switch(Jazyk[playerid]) { case 1: ShowPlayerDialog(playerid,ID,STYLE,NADPIS,TEXT,BUTTON1,BUTTON2); case 2: ShowPlayerDialog(playerid,ID,STYLE,NADPIS2,TEXT2,BUTTONsk,BUTTONsk2); } return 1; } stock GameTextForPlayerEx(playerid,CZ[],EN[],Cas,Styl) { switch(Jazyk[playerid]) { case 1: GameTextForPlayer(playerid,CZ,Cas,Styl); case 2: GameTextForPlayer(playerid,EN,Cas,Styl); } return 1; } stock SendMessageAll(COLOR,CZ[],EN[]) { for(new i = 0;i<MAX_PLAYERS;i++) { if(IsPlayerConnected(i)) { switch(Jazyk[i]) { case 1: SendClientMessage(i,COLOR,CZ); case 2: SendClientMessage(i,COLOR,EN); } } } return 1; } Wilson, musel som .Keby to bola chybička, tak dobre...Ale skript nebude fungovať a to už stojí za kritiku .*Si nastaví do ini súboru v registraci :d .Ten čo pozerá návod na takýto skript, registráciu nemá . J chápu ale podle mě by fungoval . . . Link to comment Share on other sites More sharing options...
Tanga 131 Odesláno: 11. Listopad, 2013 Share Odesláno: 11. Listopad, 2013 Bolo by príjemné, keby si zmazal z hlavného príspevku ODZKOUŠENO ! SÁM JSEM TO TESTOVAL ----------------------------------------------------------------------------, pretože funkčné to rozhodne nie je a hento nie je pravda. J chápu ale podle mě by fungoval . . . -------------------------------------------------------- Skús si to - nefungoval by.Keď sa hráč pripojí, nepridelí mu jazyk 0.Čiže predošlý hráč s jazykom angličtina na svojom ID zanechá angličtinu a ten čo sa pripojí na rovnaké ID ju bude mať tiež . Link to comment Share on other sites More sharing options...
Amenadiel 286 Odesláno: 11. Listopad, 2013 Share Odesláno: 11. Listopad, 2013 Bolo by príjemné, keby si zmazal z hlavného príspevku , pretože funkčné to rozhodne nie je a hento nie je pravda. Třeba je čarodej a jde mu to Link to comment Share on other sites More sharing options...
Lax. 28 Odesláno: 11. Listopad, 2013 Share Odesláno: 11. Listopad, 2013 Najlepší je language system, ktorý bude načítavať priamo zo súboru ako tie vaše blbé stocky .. (návod nič moc). Mr. Wilszon35, sprav stock (ShowPlayerDialogEx) kde bude 10 jazykov + použitie, to som zvedavý ako by to hnusne vyzeralo Podmienky pre príklad (použitie) pre Wilszona: Každý "nadpis" viac ako 15 znakov, každý "hlavný text" minimálne 50 znakov Link to comment Share on other sites More sharing options...
Norhy 0 Odesláno: 11. Listopad, 2013 Share Odesláno: 11. Listopad, 2013 Keby som mal urobiť viacjazyčný mód, tak hneď pred registráciu by som hráčovi nechal zvoliť svoj jazyk cez dialóg. Hotovo. Link to comment Share on other sites More sharing options...
Tanga 131 Odesláno: 11. Listopad, 2013 Share Odesláno: 11. Listopad, 2013 Baby, čo tu riešite, ajtak by to nefungovalo xD. Link to comment Share on other sites More sharing options...
Amenadiel 286 Odesláno: 11. Listopad, 2013 Share Odesláno: 11. Listopad, 2013 Najlepší je language system, ktorý bude načítavať priamo zo súboru ako tie vaše blbé stocky .. (návod nič moc). Mr. Wilszon35, sprav stock (ShowPlayerDialogEx) kde bude 10 jazykov + použitie, to som zvedavý ako by to hnusne vyzeralo Podmienky pre príklad (použitie) pre Wilszona: Každý "nadpis" viac ako 15 znakov, každý "hlavný text" minimálne 50 znakov Ted si mi to nandal ! Ješte že jsem optimista Link to comment Share on other sites More sharing options...
rhsCZ 19 Odesláno: 11. Listopad, 2013 Share Odesláno: 11. Listopad, 2013 PANE BOŽE!!! to už nikdo neumíte dělat Stocky ?!? stock SendMessage(playerid,COLOR,CZ[],SK[]) { switch (Jazyk[playerid]) { case 1: SendClientMessage(playerid,COLOR,CZ); case 2: SendClientMessage(playerid,COLOR,SK); } } SendMessage(playerid,COLOR_RED,"AHOJ ČESKY!","AHOJ SLOVENSKY !"); 1/10 zbytečnej návod nemusí to být nutně stock může to být funkce SendMessage(playerid,COLOR,CZ[],SK[]) { switch (Jazyk[playerid]) { case 1: SendClientMessage(playerid,COLOR,CZ); case 2: SendClientMessage(playerid,COLOR,SK); } } Otvor okno a vyskoč :d a #include <a_samp> si kde nechal :d [iNAK PEKNY TUT] includ a_samp je základ všeho pokud neni použit jiný includ tak se počíta s tim že nikdo neni tak blbej a to nahoře si smaže Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now