Offline |
|
|
Csatlakozott:2016.02.10. 12:46 Hozzászólások:429 Megköszönt másnak: 61 alkalommal Megköszönték neki: 157 alkalommal
|
Üdv. Parancsolj. Ha esetleg valamit nem értenél vagy megakadtál, akkor írj. #include <amxmodx> #define PLUGIN "Nyelvek" #define VERSION "1.0" #define AUTHOR "Dooz" #pragma semicolon 1 new g_iPlayer_Lang[33]; public plugin_init(){ register_plugin(PLUGIN, VERSION, AUTHOR); //Regisztráljuk a nyelv fájlt. register_dictionary("teszt.txt"); //Regisztráljuk a parancsot, amely előhozza a menüt register_clcmd("say /menu", "Lang_Menu"); } public client_putinserver(iId){ new sLang[3]; get_user_info(iId, "lang", sLang, 2); //Lekérjük a játékos jelenlegi nyelvét if(equali("en", sLang)) //Ha angol, akkor a változó értéke 0 g_iPlayer_Lang[iId] = 0; else if(equali("hu", sLang)) //Ha magyar, akkor a változó értéke 1 g_iPlayer_Lang[iId] = 1; else { client_cmd(iId, "setinfo ^"lang^" ^"%s^"", "en"); //Ha egyéb, akkor a változó értéke 0, azaz angol set_user_info(iId, "lang", "en"); g_iPlayer_Lang[iId] = 0; } } public Lang_Menu(iId){ new sText[256]; formatex(sText, charsmax(sText), "%L", LANG_PLAYER, "MENU_TITLE"); new iMenu = menu_create(sText, "Lang_Menu_Handler"); formatex(sText, charsmax(sText), "\w%L \d[\r%s\d]", LANG_PLAYER, "CURRENT_LANGUAGE", g_iPlayer_Lang[iId] ? "HU" : "EN"); menu_additem(iMenu, sText); new sButtons[32]; formatex(sButtons, charsmax(sButtons), "%L", iId, "MENU_BACK"); menu_setprop(iMenu, MPROP_BACKNAME, sButtons); formatex(sButtons, charsmax(sButtons), "%L", iId, "MENU_NEXT"); menu_setprop(iMenu, MPROP_NEXTNAME, sButtons); formatex(sButtons, charsmax(sButtons), "%L", iId, "MENU_EXIT"); menu_setprop(iMenu, MPROP_EXITNAME, sButtons); menu_display(iId, iMenu, 0); } public Lang_Menu_Handler(iId, iMenu, iItem){ if(iItem == MENU_EXIT){ menu_destroy(iMenu); return PLUGIN_HANDLED; } switch(iItem){ case 0: { if(g_iPlayer_Lang[iId]){ //Ha a változó értéke 1, azaz a jelenlegi nyelvünk az magyar, akkor átállítsuk angol nyelvre client_cmd(iId, "setinfo ^"lang^" ^"%s^"", "en"); set_user_info(iId, "lang", "en"); g_iPlayer_Lang[iId] = 0; } else{ //Ellenkező esetben átállítsuk magyar nyelvre client_cmd(iId, "setinfo ^"lang^" ^"%s^"", "hu"); set_user_info(iId, "lang", "hu"); g_iPlayer_Lang[iId] = 1; } client_print_color(iId, print_team_default, "^1%L: ^3%s", iId, "LANGUAGE_CHANGED", g_iPlayer_Lang[iId] ? "HU" : "EN"); Lang_Menu(iId); } } return PLUGIN_HANDLED; }
A data/lang könyvtárba létre kell hoznod egy teszt.txt nevezetü fájlt, amelybe berakod a következőt: [hu] MENU_TITLE = Nyelv CURRENT_LANGUAGE = Jelenlegi nyelved MENU_BACK = Vissza MENU_NEXT = Tovább MENU_EXIT = Kilépés LANGUAGE_CHANGED = A nyelved megváltozott a következőre [en] MENU_TITLE = Language CURRENT_LANGUAGE = Current language MENU_BACK = Back MENU_NEXT = Next MENU_EXIT = Exit LANGUAGE_CHANGED = Your language was changed to the next
Ők köszönték meg Dooz nek ezt a hozzászólást (összesen 4):Supra (2019.03.08. 22:35) • Tomii (2019.03.09. 13:34) • [K]eNu* (2019.03.09. 13:58) • 8mTNNe (2020.01.27. 14:01) |
|
|