Quantum is a Garry's Mod RPG framework.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
quantum/plugins/plugin_addweaponsasitems.lua

58 lines
1.5 KiB

-- This plugin was made by AlmTech and comes with the master branch of Quantum
-- This plugin creates items for all of the weapons in the game using "weapons.GetList"
-- https://wiki.garrysmod.com/page/weapons/GetList
-- Feel free to remove it if you do not like it or to make your own.
local plugin = {}
plugin.AllowedTypes = {
["fas2"] = true,
["weapon"] = true,
["quantum"] = true,
["cw"] = true
}
function plugin.getAllWeaponID()
local returnTbl = {}
for _, ent in pairs( weapons.GetList() ) do
local classname = ent.ClassName
local splitTbl = string.Split( classname, "_" )
local entType = splitTbl[1]
if( plugin.AllowedTypes[entType] ) then
local wep = weapons.Get( classname )
if( classname != "weapon_base" && classname != "quantum_hands" && classname != "quantum_keys" ) then -- do not want them
returnTbl[ #returnTbl + 1 ] = classname
end
end
end
return returnTbl
end
function plugin.CreateItems( weps )
for _, wepID in pairs( weps ) do
local swepTbl = weapons.Get( wepID )
Quantum.Debug( "Added " .. wepID .. " as an item!" )
Quantum.Item.Create( wepID, {
name = swepTbl.PrintName,
desc = swepTbl.Purpose,
model = swepTbl.WorldModel,
rarity = Quantum.Rarity.Common,
equipslot = Quantum.EquipSlots.Weapon,
equipgive = wepID
} )
end
end
hook.Add( "PostGamemodeLoaded", "Quantum_Plugin_AddAllWeaponsAsItems", function()
local weps = plugin.getAllWeaponID()
plugin.CreateItems( weps )
end)
local weps = plugin.getAllWeaponID()
plugin.CreateItems( weps )