hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.06.17. 01:04



Jelenlévő felhasználók

Jelenleg 432 felhasználó van jelen :: 0 regisztrált, 0 rejtett és 432 vendég

A legtöbb felhasználó (1565 fő) 2020.11.21. 11:26-kor tartózkodott itt.

Regisztrált felhasználók: nincs regisztrált felhasználó az elmúlt 5 percben aktív felhasználók alapján

Utoljára aktív
Ahhoz hogy lásd ki volt utoljára aktív, be kell jelentkezned.



Az oldal teljeskörű
használatához regisztrálj.

Regisztráció

Kereső


Új téma nyitása  Hozzászólás a témához  [ 3 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: amxmodix alap plugin hiba
HozzászólásElküldve: 2018.10.27. 15:05 
Offline
Fanatikus
Avatar

Csatlakozott: 2018.02.06. 14:07
Hozzászólások: 182
Megköszönt másnak: 19 alkalommal
Megköszönték neki: 12 alkalommal
Sziasztok valaki ki tudná nekem ezt javitani ?
  1. // vim: set ts=4 sw=4 tw=99 noet:
  2. //
  3. // AMX Mod X, based on AMX Mod by Aleksander Naszko ("OLO").
  4. // Copyright (C) The AMX Mod X Development Team.
  5. //
  6. // This software is licensed under the GNU General Public License, version 3 or higher.
  7. // Additional exceptions apply. For full license details, see LICENSE.txt or visit:
  8. //     https://alliedmods.net/amxmodx-license
  9.  
  10. //
  11. // Multilingual System Plugin
  12. //
  13.  
  14. #include <amxmodx>
  15. #include <amxmisc>
  16.  
  17. new g_menuLang[MAX_PLAYERS + 1]
  18. new g_langNum
  19. new g_coloredMenus
  20.  
  21. new g_cvarDisplayClientMessage;
  22. new g_cvarClientLanguages;
  23. new g_cvarServerLanguage;
  24.  
  25. public plugin_init()
  26. {
  27.     register_plugin("Multi-Lingual System", AMXX_VERSION_STR, "AMXX Dev Team")
  28.     register_dictionary("multilingual.txt")
  29.     register_dictionary("common.txt")
  30.     register_dictionary("languages.txt")
  31.    
  32.     g_cvarDisplayClientMessage = register_cvar("amx_language_display_msg", "1")
  33.     g_cvarClientLanguages = get_cvar_pointer("amx_client_languages")
  34.     g_cvarServerLanguage = get_cvar_pointer("amx_language");
  35.    
  36.     register_clcmd("amx_langmenu", "cmdLangMenu", ADMIN_ALL)
  37.     register_menu("Language Menu", 1023, "actionMenu")
  38.    
  39.     g_langNum = get_langsnum()
  40.     g_coloredMenus = colored_menus()
  41. }
  42.  
  43. public client_putinserver(id)
  44. {
  45.     if (get_pcvar_num(g_cvarDisplayClientMessage) && get_pcvar_num(g_cvarClientLanguages) && !is_user_bot(id))
  46.     {
  47.         set_task(10.0, "dispInfo", id)
  48.     }
  49. }
  50.  
  51. public client_disconnected(id)
  52. {
  53.     remove_task(id)
  54. }
  55.  
  56. public dispInfo(id)
  57. {
  58.     print_color(id, "%L", id, "TYPE_LANGMENU")
  59. }
  60.  
  61. public cmdLangMenu(id, level, cid)
  62. {
  63.     if (!get_pcvar_num(g_cvarClientLanguages))
  64.     {
  65.         client_print(id, print_console, "[AMXX] %L", LANG_SERVER, "LANG_MENU_DISABLED")
  66.         return PLUGIN_HANDLED
  67.     }
  68.    
  69.     new buffer[3]
  70.     get_user_info(id, "lang", buffer, charsmax(buffer))
  71.    
  72.     if (buffer[0] == EOS) // if "lang" is not defined, by default it will use server language.
  73.     {
  74.         get_pcvar_string(g_cvarServerLanguage, buffer, charsmax(buffer));
  75.     }
  76.    
  77.     g_menuLang[id] = get_lang_id(buffer)
  78.    
  79.     showMenu(id)
  80.    
  81.     return PLUGIN_HANDLED
  82. }
  83.  
  84. showMenu(id)
  85. {
  86.     if (!get_pcvar_num(g_cvarClientLanguages))
  87.     {
  88.         return
  89.     }
  90.    
  91.     new menuBody[512], pLang[3]
  92.    
  93.     get_lang(g_menuLang[id], pLang)
  94.    
  95.     new len = formatex(menuBody, charsmax(menuBody), (g_coloredMenus ? "\y%L\w^n^n" : "%L^n^n"), id, "LANG_MENU")
  96.    
  97.     len += formatex(menuBody[len], charsmax(menuBody) - len, (g_coloredMenus ? "1. %L\R\r%L\w^n" : "1. %L %L^n"), id, "PERSO_LANG", pLang, "LANG_NAME")
  98.     len += formatex(menuBody[len], charsmax(menuBody) - len, "^n2. %L", id, "SAVE_LANG")
  99.     formatex(menuBody[len], charsmax(menuBody) - len, "^n^n0. %L", id, "EXIT")
  100.    
  101.     show_menu(id, MENU_KEY_0|MENU_KEY_1|MENU_KEY_2, menuBody, -1, "Language Menu")
  102. }
  103.  
  104. public actionMenu(id, key)
  105. {
  106.     if (!get_pcvar_num(g_cvarClientLanguages))
  107.     {
  108.         return 0
  109.     }
  110.  
  111.     if (key == 0)
  112.     {
  113.         if (g_menuLang[id] < (g_langNum - 1))
  114.         {
  115.             g_menuLang[id]++
  116.         }
  117.         else
  118.         {
  119.             g_menuLang[id] = 0
  120.         }
  121.        
  122.         showMenu(id)
  123.     }
  124.     else if(key == 1)
  125.     {
  126.         new pLang[3], pLang_old[3]
  127.        
  128.         get_lang(g_menuLang[id], pLang)
  129.         get_user_info(id, "lang", pLang_old, charsmax(pLang_old))
  130.        
  131.         if (!equali(pLang, pLang_old))
  132.         {
  133.             client_cmd(id, "setinfo ^"lang^" ^"%s^"", pLang)
  134.             set_user_info(id, "lang", pLang); // In case setinfo breaks (slowhacking and all), this will at least be a fallback while the user is connect
  135.            
  136.             new lName[64]
  137.             formatex(lName, charsmax(lName), "%L", pLang, "LANG_NAME")
  138.             print_color(id, "%L", pLang, "SET_LANG_USER", lName)
  139.         }
  140.     }
  141.    
  142.     return 0
  143. }
  144.  
  145. get_lang_id(lang[])
  146. {
  147.     new tLang[3]
  148.    
  149.     for (new i = 0; i < g_langNum; i++)
  150.     {
  151.         get_lang(i, tLang)
  152.        
  153.         if (equali(tLang, lang))
  154.         {
  155.             return i
  156.         }
  157.     }
  158.  
  159.     return 0
  160. }
  161. stock print_color(const id, const input[], any:...)
  162. {
  163.         new count = 1, players[32]
  164.         static msg[191]
  165.         vformat(msg, 190, input, 3)
  166.  
  167.         replace_all(msg, 190, "!g", "^4")
  168.         replace_all(msg, 190, "!y", "^1")
  169.         replace_all(msg, 190, "!t", "^3")    
  170.  
  171.         if (id) players[0] = id; else get_players(players, count, "ch")
  172.         {
  173.                 for (new i = 0; i < count; i++)
  174.                 {
  175.                         if (is_user_connected(players[i]))
  176.                         {
  177.                                 message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
  178.                                 write_byte(players[i])
  179.                                 write_string(msg)
  180.                                 message_end()
  181.                         }
  182.                 }
  183.         }
  184.         return PLUGIN_HANDLED
  185. }

_________________
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: amxmodix alap plugin hiba
HozzászólásElküldve: 2018.10.27. 15:32 
Offline
Senior Tag
Avatar

Csatlakozott: 2018.02.01. 16:27
Hozzászólások: 225
Megköszönt másnak: 14 alkalommal
Megköszönték neki: 18 alkalommal
Helló!

Tesztelve nem volt!


Csatolmányok:
valami.sma [4.71 KiB]
Letöltve 39 alkalommal.
Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: amxmodix alap plugin hiba
HozzászólásElküldve: 2018.10.27. 18:03 
Offline
Fanatikus
Avatar

Csatlakozott: 2018.02.06. 14:07
Hozzászólások: 182
Megköszönt másnak: 19 alkalommal
Megköszönték neki: 12 alkalommal
Tomii írta:
Helló!

Tesztelve nem volt!


Köszönöm múködik rendesen :)

_________________
Kép


Hozzászólás jelentése
Vissza a tetejére
   
Hozzászólások megjelenítése:  Rendezés  
Új téma nyitása  Hozzászólás a témához  [ 3 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 149 vendég


Nyithatsz új témákat ebben a fórumban.
Válaszolhatsz egy témára ebben a fórumban.
Nem szerkesztheted a hozzászólásaidat ebben a fórumban.
Nem törölheted a hozzászólásaidat ebben a fórumban.
Nem küldhetsz csatolmányokat ebben a fórumban.

Keresés:
Ugrás:  
Powered by phpBB® Forum Software © phpBB Limited
Magyar fordítás © Magyar phpBB Közösség
Portal: Kiss Portal Extension © Michael O'Toole