Offline |
|
|
Csatlakozott: 2013.03.26. 20:20 Hozzászólások: 1846
Megköszönt másnak: 27 alkalommal Megköszönték neki: 120 alkalommal
|
Először is használd ezt, mert abban figyelmetlenséget követtem el, futási hiba lesz (runtime error): #include <amxmodx> #include <amxmisc> #include <fakemeta> #define PLUGIN "Fegyver Skin Menu" #define VERSION "1.0" #define AUTHOR "RaZzoR" new weapon_select[33] new const menu_item_names[][][] = { { "Alap Csomag", "0", "" }, { "Arany Csomag", "6", "gold_pack" }, { "EzĂĽst Csomag", "8", "silver_pack" }, { "Bronz Csomag", "10", "bronze_pack" } } new const v_models[][] = { "v_ak47.mdl", "v_aug.mdl", "v_awp.mdl", "v_c4.mdl", "v_deagle.mdl", "v_elite.mdl", "v_famas.mdl", "v_fiveseven.mdl", "v_flashbang.mdl", "v_g3sg1.mdl", "v_galil.mdl", "v_glock18.mdl", "v_hegrenade.mdl", "v_knife.mdl", "v_m3.mdl", "v_m4a1.mdl", "v_m249.mdl", "v_mac10.mdl", "v_mp5.mdl", "v_p90.mdl", "v_p228.mdl", "v_scout.mdl", "v_sg550.mdl", "v_sg552.mdl", "v_smokegrenade.mdl", "v_tmp.mdl", "v_usp.mdl", "v_ump45.mdl", "v_xm1014.mdl" } public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_clcmd("say /menu", "clcmd_menu") register_event("CurWeapon","Weapon_Hook","be","1=1") } public plugin_precache() { for(new i = 0; i < sizeof(v_models); i++) { for(new j = 1; j < sizeof(menu_item_names); j++) { new new_v[256] format(new_v, sizeof(new_v), "models/%s/%s", menu_item_names[j][2], v_models[i]) precache_model(new_v) } } } public client_disconnect(id) weapon_select[id] = 0 public Weapon_Hook(id) { if(!is_user_alive(id)) return PLUGIN_CONTINUE static model[32] pev(id, pev_viewmodel2, model, 31) for(new i = 0; i < sizeof(v_models); i++) { new old_v[256] format(old_v, sizeof(old_v), "models/%s", v_models[i]) if(equali(model, old_v)) { new new_v[256] if(weapon_select[id] > 0) format(new_v, sizeof(new_v), "models/%s/%s", menu_item_names[weapon_select[id]][2], v_models[i]) else format(new_v, sizeof(new_v), "models/%s", v_models[i]) set_pev(id, pev_viewmodel2, new_v) break } } return PLUGIN_CONTINUE } public clcmd_menu(id) { new menu_line[64], menu_newline[64], i_data[64] format(menu_line, charsmax(menu_line), "\wFegyver Skin MenĂĽ^nĂ–lĂ©seid: %i", get_user_frags(id)) new menu = menu_create(menu_line, "clcmd_menu_handler") for(new i = 0; i < sizeof(menu_item_names); i++) { new convert_num = str_to_num(menu_item_names[i][1]) num_to_str(i, i_data, sizeof(i_data)) if(get_user_frags(id) < convert_num) format(menu_newline, charsmax(menu_newline), "%s (%i Ă–lĂ©s Kell)", menu_item_names[i][0], convert_num) else format(menu_newline, charsmax(menu_newline), "%s (HasználhatĂł)", menu_item_names[i][0]) menu_additem(menu, menu_newline, i_data, 0) } menu_display(id, menu, 0) return PLUGIN_HANDLED } public clcmd_menu_handler(id, menu, item) { if(item == MENU_EXIT) { menu_destroy(menu) return PLUGIN_HANDLED } new data[64], szName[64] new access, callback menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback) new key = str_to_num(data) new convert_num = str_to_num(menu_item_names[key][1]) if(get_user_frags(id) < convert_num) { client_print(id, print_chat, "Ezt a csomagot (%s) nem használhatod, mert nincs ennyi ölĂ©sed: %i", menu_item_names[key][0], convert_num) return PLUGIN_HANDLED } else { weapon_select[id] = key client_print(id, print_chat, "Te ezt a csomagot választottad: %s", menu_item_names[key][0]) Weapon_Hook(id) } return PLUGIN_CONTINUE }
Hányszor magyarázzam el gyerekek? De most télleg :Smenu_item_names Tömben 1. oszlopban helyezkednek el a csomagok nevei(ami menüben is található. 2. oszlopban, hogy mennyi ölés kell a feloldásához (Ha 0-át írsz, akkor egyértelmű, hogy ingyenes). 3. oszlopban a mappa nevei található, amibe másolod azokat a modelleket, amiknek a neveit megadtad a v_models tömben (Értelemszerűen a mappákat a cstrike/models mappában kell létrehozni).
_________________ Projektem: [CSO2] Ghost Mod CSO2 GamePlay video: https://www.youtube.com/watch?feature=p ... iOS4Ik1Yrk
|
|