diff options
Diffstat (limited to 'gamemode/itemsystem/items/floorhalf.lua')
| -rw-r--r-- | gamemode/itemsystem/items/floorhalf.lua | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/gamemode/itemsystem/items/floorhalf.lua b/gamemode/itemsystem/items/floorhalf.lua new file mode 100644 index 0000000..5cc740a --- /dev/null +++ b/gamemode/itemsystem/items/floorhalf.lua @@ -0,0 +1,66 @@ + +ITEM.Name = "Half Floor" +ITEM.Class = "structure" +ITEM.Desc = "Some basic wood structure for setting up camps.\nHold down shift to snap" +ITEM.Model = "models/props_debris/wood_board07a.mdl" +ITEM.Icon = Material("wintersurvival2/hud/ws1_icons/icon_fence") +ITEM.Recipe = { + Resources = { + ["Floor"] = 2, + }, + Tools = { + ["Axe"] = 1, + }, +} + +ITEM.Structure = { + { + Bone = "ValveBiped.Bip01_R_Hand", + Model = "models/props_junk/Rock001a.mdl", + Size = Vector(0.5,0.5,0.5), + Pos = Vector(4,-3,-1), + Ang = Angle(0,0,90), + }, +} + +ITEM.Ghost = { + { + Model = "models/props_wasteland/wood_fence02a.mdl", + Size = Vector(1,1,1), + Pos = Vector(0,0,0), + Ang = Angle(0,0,90), + }, +} + +ITEM.Range = 200 +ITEM.CD = 0.5 + +function ITEM:OnPrimary(pl,tr) + if (CLIENT) then return end + + if (!pl:CanPlaceStructure(tr)) then pl:GhostStructure(self.Name) return end + + if (tr.Hit) then + local drop = ents.Create("ws_prop") + drop:SetModel("models/props_wasteland/wood_fence02a.mdl") + local Aim = Angle(0,pl:GetAimVector():Angle().y+90,0) + local Pos = tr.HitPos + if(pl:KeyDown(IN_SPEED)) then + Pos.x = Pos.x - (Pos.x%20) + Pos.y = Pos.y - (Pos.y%20) + Pos.z = Pos.z - (Pos.z%20) + Aim.yaw = Aim.yaw - (Aim.yaw%15) + end + drop:SetAngles(Aim) + drop:SetPos(Pos) + drop:Spawn() + drop:Activate() + + if (pl:HasItem(self.Name)) then pl:RemoveItem(self.Name,1) + else pl:UnEquipWeaponSlot(pl.Select,true) end + + pl:GhostRemove() + else + pl:EmitSound(Sound("weapons/iceaxe/iceaxe_swing1.wav"),100,math.random(90,110)) + end +end |
