RSSy MYGO.pl Opublikowano Maj 4, 2023 o 11:46 RSSy Udostępnij Opublikowano Maj 4, 2023 o 11:46 Hey there! Biohazard mod compiles with sma+cfghttps://forums.alliedmods.net/showthread.php?t=68523 Weapon is specified in cfg Is it possible to disable some weapons by cvar? Maybe like this:new cvar_weapoff cvar_weapoff = register_cvar("bh_weapoff", "0") if(get_pcvar_num(cvar_weapoff)){weapon} Sometimes there's a need to balance some maps due to low players count and switch off some guns .cfg example: Code: new g_primaryweapons[][][] = { { "weapon1", "weapon_1" }, { "weapon2", "weapon_2" }, { "weapon3", "weapon_3" }, { "weapon4", "weapon_4" }, { "weapon5", "weapon_5" }, { "weapon6", "weapon_6" }, { "weapon7", "weapon_7" }, { "weapon8", "weapon_8" }, { "weapon9", "weapon_9" }, { "weapon10", "weapon_10" }, { "weapon11", "weapon_11" }, { "weapon12", "weapon_12" }, { "weapon13", "weapon_13" }, { "weapon14", "weapon_14" }, { "weapon15", "weapon_15" }, { "weapon16", "weapon_16" }, { "weapon17", "weapon_17" }, { "weapon18", "weapon_18" } }.sma weaponmenu Code: public display_weaponmenu(id, menuid, pos) { if(pos < 0 || menuid < 0) return static start start = pos * 8 static maxitem maxitem = menuid == MENU_PRIMARY ? sizeof g_primaryweapons : sizeof g_secondaryweapons if(start >= maxitem) start = pos = g_menuposition[id] static menubody[512], len len = formatex(menubody, 511, "\y%L\w^n^n", id, menuid == MENU_PRIMARY ? "MENU_TITLE2" : "MENU_TITLE3") static end end = start + 8 if(end > maxitem) end = maxitem static keys keys = MENU_KEY_0 static a, b b = 0 for(a = start; a < end; ++a) { keys |= (1<<b) len += formatex(menubody[len], 511 - len,"\w[\y%d\w] %s^n", ++b, menuid == MENU_PRIMARY ? g_primaryweapons[a][0]: g_secondaryweapons[a][0]) } if(end != maxitem) { formatex(menubody[len], 511 - len, "^n\w[\y9\w] %L^n\w[\y0\w] %L", id, "MENU_MORE", id, pos ? "MENU_BACK" : "MENU_EXIT") keys |= MENU_KEY_9 } else formatex(menubody[len], 511 - len, "^n\w[\y0\w] %L", id, pos ? "MENU_BACK" : "MENU_EXIT") show_menu(id, keys, menubody, -1, menuid == MENU_PRIMARY ? "Primary" : "Secondary") } public action_prim(id, key) { if(!is_user_alive(id) || g_zombie[id]) return PLUGIN_HANDLED switch(key) { case 8: display_weaponmenu(id, MENU_PRIMARY, ++g_menuposition[id]) case 9: display_weaponmenu(id, MENU_PRIMARY, --g_menuposition[id]) default: { g_player_weapons[id][0] = g_menuposition[id] * 8 + key equipweapon(id, EQUIP_PRI) display_weaponmenu(id, MENU_SECONDARY, g_menuposition[id] = 0) } } return PLUGIN_HANDLED } public action_sec(id, key) { if(!is_user_alive(id) || g_zombie[id]) return PLUGIN_HANDLED switch(key) { case 8: display_weaponmenu(id, MENU_SECONDARY, ++g_menuposition[id]) case 9: display_weaponmenu(id, MENU_SECONDARY, --g_menuposition[id]) default: { g_menufailsafe[id] = false remove_task(TASKID_WEAPONSMENU + id) g_player_weapons[id][1] = g_menuposition[id] * 8 + key equipweapon(id, EQUIP_SEC) equipweapon(id, EQUIP_GREN) } } return PLUGIN_HANDLED } stock equipweapon(id, weapon) { if(!is_user_alive(id)) return static weaponid[2], weaponent, weapname[32] if(weapon & EQUIP_PRI) { weaponent = fm_lastprimary(id) weaponid[1] = get_weaponid(g_primaryweapons[g_player_weapons[id][0]][1]) if(pev_valid(weaponent)) { weaponid[0] = fm_get_weapon_id(weaponent) if(weaponid[0] != weaponid[1]) { get_weaponname(weaponid[0], weapname, 31) bacon_strip_weapon(id, weapname) } } else weaponid[0] = -1 if(weaponid[0] != weaponid[1]) bacon_give_weapon(id, g_primaryweapons[g_player_weapons[id][0]][1]) fm_set_user_bpammo(id, weaponid[1], g_weapon_ammo[weaponid[1]][MAX_AMMO]) } if(weapon & EQUIP_SEC) { weaponent = fm_lastsecondry(id) weaponid[1] = get_weaponid(g_secondaryweapons[g_player_weapons[id][1]][1]) if(pev_valid(weaponent)) { weaponid[0] = fm_get_weapon_id(weaponent) if(weaponid[0] != weaponid[1]) { get_weaponname(weaponid[0], weapname, 31) bacon_strip_weapon(id, weapname) } } else weaponid[0] = -1 if(weaponid[0] != weaponid[1]) bacon_give_weapon(id, g_secondaryweapons[g_player_weapons[id][1]][1]) fm_set_user_bpammo(id, weaponid[1], g_weapon_ammo[weaponid[1]][MAX_AMMO]) } if(weapon & EQUIP_GREN) { static i for(i = 0; i < sizeof g_grenades; i++) if(!user_has_weapon(id, get_weaponid(g_grenades[i]))) bacon_give_weapon(id, g_grenades[i]) } }Please, I need a help Przeczytaj cały wpis Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi