hlmod.hu
https://hlmod.hu/

Skin menübe oldal irás HELP ME
https://hlmod.hu/viewtopic.php?f=10&t=25902
Oldal: 1 / 1

Szerző:  luxi [2016.08.16. 14:01 ]
Hozzászólás témája:  Skin menübe oldal irás HELP ME

Sziasztok!
Azt szeretném kérni tőled/tőletek hogy ebbe a skin rendszerber bele tudnád-e irni az oldal számát hogy 3 oldal legyen+Vissza,Tovább,kilépés GOMB-ot?
Aki segit meg a Pacsi.
Köszönöm előre is!
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <fakemeta>
  4.  
  5. #define PLUGIN "Fegyver Skin Menu"
  6. #define VERSION "1.0"
  7. #define AUTHOR "RaZzoR"
  8.  
  9. #define DICTIONARY "fegyver_skin_menu.txt"
  10.  
  11. //#define HOOK_P_MODELS
  12. #define HOOK_V_MODELS
  13. #define HOOK_W_MODELS
  14.  
  15. new weapon_select[33]
  16.  
  17. new const menu_item_names[][][] = {
  18.     { "\rAlap Csomag""0",    ""      },
  19.     { "\yBronz \r[\dCsomag\r]",     "50",   "bronz" },
  20.     { "\yEzüst \r[\dCsomag\r]",        "100""ezust" },
  21.     { "\yArany \r[\dCsomag\r]",     "150""arany" },
  22.     { "\ySzuperMan \r[\dCsomag\r]",     "200""szuperman"},
  23.     { "\yMigráns \r[\dCsomag\r]""250""migrans" },
  24.     { "\yHyper Beast \r[\dCsomag\r]",   "300""hyper" }
  25. }
  26.  
  27. new const models_name[][] = {
  28.     "ak47.mdl",                  
  29.     "aug.mdl",                    
  30.     "awp.mdl",
  31.     "deagle.mdl"
  32. }
  33.  
  34. public plugin_init() {
  35.     register_plugin(PLUGIN, VERSION, AUTHOR)
  36.    
  37.     register_dictionary(DICTIONARY)
  38.    
  39.     register_clcmd("say /menu", "clcmd_menu")
  40.     register_event("CurWeapon","Hook_P_V_Model","be","1=1")
  41.    
  42.     #if defined HOOK_W_MODELS
  43.     register_forward(FM_SetModel, "Hook_W_Model", 1)
  44.     #endif
  45. }
  46.  
  47. public plugin_precache() {
  48.     for(new i = 0; i < sizeof(models_name); i++) {
  49.         for(new j = 1; j < sizeof(menu_item_names); j++) {
  50.             #if defined HOOK_P_MODELS
  51.             new precache_p[256]
  52.             format(precache_p, sizeof(precache_p), "models/%s/p_%s", menu_item_names[j][2], models_name[i])
  53.            
  54.             precache_model(precache_p)
  55.             #endif
  56.            
  57.             #if defined HOOK_V_MODELS
  58.             new precache_v[256]
  59.             format(precache_v, sizeof(precache_v), "models/%s/v_%s", menu_item_names[j][2], models_name[i])
  60.            
  61.             precache_model(precache_v)
  62.             #endif
  63.            
  64.             #if defined HOOK_W_MODELS
  65.             new precache_w[256]
  66.             format(precache_w, sizeof(precache_w), "models/%s/w_%s", menu_item_names[j][2], models_name[i])
  67.            
  68.             precache_model(precache_w)
  69.             #endif
  70.         }
  71.     }
  72. }
  73.  
  74. public client_disconnect(id)
  75.     weapon_select[id] = 0
  76.    
  77. public W_Model_Hook(ent, model[]) {
  78.     if(!pev_valid(ent)) return FMRES_IGNORED
  79.  
  80.     new owner = pev(ent, pev_owner)
  81.  
  82.     for(new i = 0; i < sizeof(models_name); i++) {
  83.         new old_w[256]
  84.         format(old_w, sizeof(old_w), "models/w_%s", models_name[i])
  85.  
  86.         new new_w[256]         
  87.         format(new_w, sizeof(new_w), "models/%s/w_%s", menu_item_names[weapon_select[owner]][2], models_name[i])
  88.        
  89.         if(equali(model, old_w) || equali(model, new_w)) {
  90.             if(weapon_select[owner] >= 1) engfunc(EngFunc_SetModel, ent, new_w)
  91.             else engfunc(EngFunc_SetModel, ent, old_w)
  92.                
  93.             return FMRES_SUPERCEDE
  94.         }
  95.     }
  96.    
  97.     return FMRES_IGNORED
  98. }
  99.  
  100. public Hook_P_V_Model(id) {
  101.     if(!is_user_alive(id))
  102.         return PLUGIN_CONTINUE
  103.    
  104.     static v_model[32], p_model[32]
  105.     pev(id, pev_viewmodel2, v_model, 31)
  106.     pev(id, pev_weaponmodel2, p_model,31)
  107.    
  108.     for(new i = 0; i < sizeof(models_name); i++) {
  109.         #if defined HOOK_V_MODELS
  110.         new old_v[256]
  111.         format(old_v, sizeof(old_v), "models/v_%s", models_name[i])
  112.  
  113.         new new_v[256]
  114.         format(new_v, sizeof(new_v), "models/%s/v_%s", menu_item_names[weapon_select[id]][2], models_name[i])
  115.        
  116.         if(equali(v_model, old_v) || equali(v_model, new_v)) {
  117.             if(weapon_select[id] >= 1) set_pev(id, pev_viewmodel2, new_v)          
  118.             else set_pev(id, pev_viewmodel2, old_v)
  119.  
  120.             break
  121.         }
  122.         #endif
  123.        
  124.         #if defined HOOK_P_MODELS
  125.         new old_p[256]
  126.         format(old_p, sizeof(old_p), "models/p_%s", models_name[i])
  127.  
  128.         new new_p[256]
  129.         format(new_p, sizeof(new_p), "models/%s/p_%s", menu_item_names[weapon_select[id]][2], models_name[i])
  130.  
  131.         if(equali(p_model, old_p) || equali(p_model, new_p)) {
  132.             if(weapon_select[id] >= 1) set_pev(id, pev_weaponmodel2, new_p)    
  133.             else set_pev(id, pev_weaponmodel2, old_p)
  134.  
  135.             break
  136.         }
  137.         #endif
  138.     }
  139.    
  140.     return PLUGIN_CONTINUE
  141. }
  142.  
  143. public clcmd_menu(id) {
  144.     new menu_line[64], menu_newline[64], i_data[64]
  145.     format(menu_line, charsmax(menu_line), "\w%L", id, "SKIN_MENU", get_user_frags(id))
  146.    
  147.     new menu = menu_create(menu_line, "clcmd_menu_handler")
  148.    
  149.     for(new  i = 0; i < sizeof(menu_item_names); i++) {
  150.         new convert_num = str_to_num(menu_item_names[i][1])
  151.         num_to_str(i, i_data, sizeof(i_data))
  152.        
  153.         if(get_user_frags(id) < convert_num)
  154.             format(menu_newline, charsmax(menu_newline), "%L", id, "SKIN_ITEM1", menu_item_names[i][0], convert_num)
  155.         else
  156.             format(menu_newline, charsmax(menu_newline), "%L", id, "SKIN_ITEM2", menu_item_names[i][0])
  157.         menu_additem(menu, menu_newline, i_data, 0)
  158.     }
  159.    
  160.     menu_display(id, menu, 0)
  161.    
  162.     return PLUGIN_HANDLED
  163. }
  164.  
  165. public clcmd_menu_handler(id, menu, item) {
  166.     if(item == MENU_EXIT) {
  167.         menu_destroy(menu)
  168.         return PLUGIN_HANDLED
  169.     }
  170.    
  171.     new data[64], szName[64]
  172.     new access, callback
  173.     menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback)
  174.    
  175.     new key = str_to_num(data)
  176.     new convert_num = str_to_num(menu_item_names[key][1])
  177.    
  178.     if(get_user_frags(id) < convert_num) {
  179.         client_print(id, print_chat, "%L", id, "SKIN_NOT_USE", menu_item_names[key][0], convert_num)
  180.         return PLUGIN_HANDLED
  181.     }
  182.    
  183.     else {
  184.         weapon_select[id] = key
  185.         client_print(id, print_chat, "%L", id, "SKIN_CHOOSED", menu_item_names[key][0])
  186.         Hook_P_V_Model(id)
  187.     }
  188.    
  189.     return PLUGIN_CONTINUE
  190. }

Szerző:  exodus [2016.08.18. 22:38 ]
Hozzászólás témája:  Re: Skin menübe oldal irás HELP ME

Ha a menü 2 db skint tartalmaz akkor hogy szeretnéd, hogy írja az oldalakat és hogy legyen tovább gomb ha nincs is elegendő választási lehetőség.
Ha beleraksz pl 8db skint akkor lesz tovább,vissza gomb automatikusan.

Oldal: 1 / 1 Minden időpont UTC+02:00 időzóna szerinti
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/