PHP Code:
init()
{
precacheitem("gnnr_desert");
precacheitem("gnnr_desert_dt");
precacheitem("gnnr_desert_soh");
precacheItem("fraggrenade_mp");
precacheitem("fraggrenade_idle_mp");
precacheItem("smokegrenade_mp");
precacheitem("stun_mp");
precacheitem("flashbang_mp");
precacheItem("binoculars_mp");
level.weaponnames = [];
level.weaponnames[level.weaponnames.size] = "mw_ak47_mp";
level.weaponnames[level.weaponnames.size] = "mw_ak74_mp";
level.weaponnames[level.weaponnames.size] = "mw_barrett_mp";
level.weaponnames[level.weaponnames.size] = "mw_dragunov_mp";
level.weaponnames[level.weaponnames.size] = "mw_g3_mp";
level.weaponnames[level.weaponnames.size] = "mw_g36_mp";
level.weaponnames[level.weaponnames.size] = "mw_m4_mp";
level.weaponnames[level.weaponnames.size] = "mw_m14_mp";
level.weaponnames[level.weaponnames.size] = "mw_m21_mp";
level.weaponnames[level.weaponnames.size] = "mw_m40a3_mp";
level.weaponnames[level.weaponnames.size] = "mw_m60_mp";
level.weaponnames[level.weaponnames.size] = "mw_m249_mp";
level.weaponnames[level.weaponnames.size] = "mw_m1014_mp";
level.weaponnames[level.weaponnames.size] = "mw_mp5_mp";
level.weaponnames[level.weaponnames.size] = "mw_p90_mp";
level.weaponnames[level.weaponnames.size] = "mw_r700_mp";
level.weaponnames[level.weaponnames.size] = "mw_rpd_mp";
level.weaponnames[level.weaponnames.size] = "mw_winchester_mp";
level.weapons = [];
for(i=0;i<level.weaponnames.size;i++)
{
precacheitem(level.weaponnames[i]);
precacheitem(level.weaponnames[i]+"_soh");
precacheitem(level.weaponnames[i]+"_dt");
level.weapons[level.weaponnames[i]]=spawnstruct();
if(getsubstr(level.weaponnames[i],level.weaponnames[i].size-3,level.weaponnames[i].size)=="_mp")
{
level.weapons[level.weaponnames[i]].server_allowcvar="scr_allow_"+getsubstr(level.weaponnames[i],0,level.weaponnames[i].size-3);
level.weapons[level.weaponnames[i]].client_allowcvar="ui_allow_"+getsubstr(level.weaponnames[i],0,level.weaponnames[i].size-3);
level.weapons[level.weaponnames[i]].min_rank_cvar="scr_minrank_"+getsubstr(level.weaponnames[i],0,level.weaponnames[i].size-3);
}
else
{
level.weapons[level.weaponnames[i]].server_allowcvar="scr_allow_"+level.weaponnames[i];
level.weapons[level.weaponnames[i]].client_allowcvar="ui_allow_"+level.weaponnames[i];
level.weapons[level.weaponnames[i]].min_rank_cvar="scr_minrank_"+level.weaponnames[i];
}
}
for(i = 0; i < level.weaponnames.size; i++)
{
weaponname = level.weaponnames[i];
if(getCvar(level.weapons[weaponname].server_allowcvar) == "")
{
level.weapons[weaponname].allow = 1;
setCvar(level.weapons[weaponname].server_allowcvar, level.weapons[weaponname].allow);
}
else
level.weapons[weaponname].allow = getCvarInt(level.weapons[weaponname].server_allowcvar);
if(getCvar(level.weapons[weaponname].min_rank_cvar) == "")
{
level.weapons[weaponname].min_rank = 0;
setCvar(level.weapons[weaponname].min_rank_cvar, level.weapons[weaponname].min_rank);
}
else
level.weapons[weaponname].min_rank = getCvarInt(level.weapons[weaponname].min_rank_cvar);
}
for(;;)
{
updateAllowed();
wait 5;
}
}
replaces the init() in _weapons.gsc (which is waaaay too long tbh).
Only donwside: original init also controlled frag/smokegrenades, you'll need to hack that in somewhere else
Now you can easily giveweapon(level.weaponnames[number]);