Xabache Posted February 16, 2015 Share Posted February 16, 2015 From Freeroam: --------------------------- -- Weapon window --------------------------- function addWeapon(leaf, amount) if type(leaf) ~= 'table' then leaf = getSelectedGridListLeaf(wndWeapon, 'weaplist') amount = getControlNumber(wndWeapon, 'amount') if not amount or not leaf then return end end server.giveMeWeapon(leaf.id, amount) end wndWeapon = { 'wnd', text = 'Give weapon', width = 250, controls = { { 'lst', id='weaplist', width=230, height=280, columns={ {text='Weapon', attr='name'} }, rows={xml='weapons.xml', attrs={'id', 'name'}}, onitemdoubleclick=function(leaf) addWeapon(leaf, 500) end }, {'br'}, {'txt', id='amount', text='500', width=60}, {'btn', id='add', onclick=addWeapon}, {'btn', id='close', closeswindow=true} } } function giveWeaponCommand(cmd, weapon, amount) weapon = tonumber(weapon) or getWeaponIDFromName(weapon) if not weapon then return end amount = amount and tonumber(amount) or 500 server.giveMeWeapon(math.floor(weapon), amount) end addCommandHandler('give', giveWeaponCommand) addCommandHandler('wp', giveWeaponCommand) I've divided my weapons .xml into categories <catalog type="weapon"> <group name="Hand"> <weapon id="1" name="Brass knuckles" /> <weapon id="5" name="Baseball bat" /> <weapon id="15" name="Cane" /> <weapon id="9" name="Chainsaw" /> <weapon id="2" name="Golf club" /> <weapon id="7" name="Pool cue" /> <weapon id="8" name="Katana" /> <weapon id="4" name="Knife" /> <weapon id="3" name="Nightstick" /> <weapon id="6" name="Shovel" /> </group> <group name="Special"> <weapon id="14" name="Flowers" /> <weapon id="43" name="Camera" /> <weapon id="42" name="Fire extinguisher" /> <weapon id="45" name="Infrared goggles" /> <weapon id="44" name="Night vision goggles" /> <weapon id="46" name="Parachute" /> </group> <group name="Everyone"> <weapon id="24" name="Desert eagle" /> <weapon id="22" name="Pistol" /> <weapon id="23" name="Silenced" /> <weapon id="32" name="TEC-9" /> <weapon id="17" name="Tear gas" /> </group> <group name="Members"> <weapon id="26" name="Sawn-off shotgun" /> <weapon id="25" name="Shotgun" /> <weapon id="28" name="Uzi" /> <weapon id="30" name="AK47" /> <weapon id="33" name="Country sniper" /> <weapon id="37" name="Flame thrower" /> <weapon id="18" name="Molotov" /> </group> <group name="Supporters"> <weapon id="27" name="SPAZ-12" /> <weapon id="29" name="MP5" /> <weapon id="31" name="M4" /> <weapon id="34" name="Sniper" /> <weapon id="16" name="Grenade" /> </group> <group name="Moderators"> <weapon id="35" name="Rocket launcher" /> <weapon id="36" name="Heat seeking RPG" /> <weapon id="38" name="Minigun" /> <weapon id="39" name="Satchel" /> <weapon id="40" name="Satchel detonator" /> </group> </catalog> And the server: function giveMeWeapon(weapon, amount) if weapon and weapon > 50 then return end if table.find(getOption('weapons.disallowed'), weapon) then errMsg((getWeaponNameFromID(weapon) or tostring(weapon)) .. 's are not allowed', source) else giveWeapon(source, weapon, amount, true) end end ...which delivers all weapons to everyone despite my notations that some weapons only go to some groups. I added an acl list for Members but do not know what function to allow. The weapons groups Hand, Special and Everyone are for all. How do I limit the last three groups to the preferred player's groups: Members, Supporters and Moderators? Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now