From 8a02f6693c40d99ab359065d53e8c22ef8554948 Mon Sep 17 00:00:00 2001 From: Alexander Pickering Date: Mon, 7 Mar 2016 18:49:41 -0500 Subject: Added half-fence --- gamemode/itemsystem/items/fence.lua | 9 ++--- gamemode/itemsystem/items/fencehalf.lua | 66 +++++++++++++++++++++++++++++++++ 2 files changed, 69 insertions(+), 6 deletions(-) create mode 100644 gamemode/itemsystem/items/fencehalf.lua diff --git a/gamemode/itemsystem/items/fence.lua b/gamemode/itemsystem/items/fence.lua index 1749713..2f2c5bf 100644 --- a/gamemode/itemsystem/items/fence.lua +++ b/gamemode/itemsystem/items/fence.lua @@ -8,10 +8,7 @@ ITEM.Recipe = { Resources = { ["Plank"] = 2, ["Sap"] = 1, - }, - Tools = { - ["Crystal"] = 1, - }, + } } ITEM.Structure = { @@ -26,7 +23,7 @@ ITEM.Structure = { ITEM.Ghost = { { - Model = "models/props_wasteland/wood_fence02a.mdl", + Model = "models/props_wasteland/wood_fence01a.mdl", Size = Vector(1,1,1), Pos = Vector(0,0,0), Ang = Angle(0,0,0), @@ -43,7 +40,7 @@ function ITEM:OnPrimary(pl,tr) if (tr.Hit) then local drop = ents.Create("ws_prop") - drop:SetModel("models/props_wasteland/wood_fence02a.mdl") + drop:SetModel("models/props_wasteland/wood_fence01a.mdl") local Aim = Angle(0,pl:GetAimVector():Angle().y+90,0) local Pos = tr.HitPos if(pl:KeyDown(IN_SPEED)) then diff --git a/gamemode/itemsystem/items/fencehalf.lua b/gamemode/itemsystem/items/fencehalf.lua new file mode 100644 index 0000000..f121292 --- /dev/null +++ b/gamemode/itemsystem/items/fencehalf.lua @@ -0,0 +1,66 @@ + +ITEM.Name = "Half Fence" +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 = { + ["Fence"] = 1, + }, + 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,0), + }, +} + +ITEM.Ghost = { + { + Model = "models/props_wasteland/wood_fence02a.mdl", + Size = Vector(1,1,1), + Pos = Vector(0,0,0), + Ang = Angle(0,0,0), + }, +} + +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 -- cgit v1.2.3-70-g09d2