Added logic_stripweapons entity
Specific entity to remove a weapon that targets a player activator holds: --keys-- keepfists: If yes, the stripallweapons input strips all weapons but fists --Inputs-- stripweapon: Strips a single weapon as mentioned in arguments stripallweapons: Strips all weapons the activator has setkeepfists: If 1 the stripallweapons inputs strip all weapons but fists
This commit is contained in:
parent
6744b6cce0
commit
3e23a89326
1 changed files with 36 additions and 0 deletions
|
@ -0,0 +1,36 @@
|
||||||
|
ENT.Type = "point"
|
||||||
|
|
||||||
|
function ENT:Initialize()
|
||||||
|
self.KeepFists = self.KeepFists or 1
|
||||||
|
end
|
||||||
|
|
||||||
|
function ENT:AcceptInput(name, activator, caller, args)
|
||||||
|
name = string.lower(name)
|
||||||
|
if name == "stripweapon" then
|
||||||
|
if activator:IsPlayer() and activator:Alive() and activator:Team() == TEAM_HUMAN then
|
||||||
|
activator:StripWeapon(args)
|
||||||
|
end
|
||||||
|
elseif name == "stripallweapons" then
|
||||||
|
if activator:IsPlayer() and activator:Alive() and activator:Team() == TEAM_HUMAN then
|
||||||
|
if tonumber(self.KeepFists) == 1 then
|
||||||
|
local weps = activator:GetWeapons()
|
||||||
|
for k, v in pairs(weps) do
|
||||||
|
local weaponclass = v:GetClass()
|
||||||
|
if weaponclass ~= "weapon_zs_fists" then activator:StripWeapon(weaponclass) end
|
||||||
|
end
|
||||||
|
else
|
||||||
|
activator:StripWeapons(args)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
elseif name == "setkeepfists" then
|
||||||
|
self.KeepFists = tonumber(args)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function ENT:KeyValue(key, value)
|
||||||
|
key = string.lower(key)
|
||||||
|
if key == "keepfists" then
|
||||||
|
self.KeepFists = tonumber(value)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
Loading…
Reference in a new issue