diff options
Diffstat (limited to 'gamemode/itemsystem')
| -rw-r--r-- | gamemode/itemsystem/items/spell_teleport.lua | 60 |
1 files changed, 36 insertions, 24 deletions
diff --git a/gamemode/itemsystem/items/spell_teleport.lua b/gamemode/itemsystem/items/spell_teleport.lua index 38bbac6..e86f388 100644 --- a/gamemode/itemsystem/items/spell_teleport.lua +++ b/gamemode/itemsystem/items/spell_teleport.lua @@ -10,6 +10,15 @@ ITEM.HoldType = "magic" game.AddParticles("particles/particletest.pcf") PrecacheParticleSystem("firetest") +ITEM.Structure = { + { + Bone = "ValveBiped.Bip01_R_Hand", + Model = "models/props_junk/Rock001a.mdl", + Size = Vector(1,1,1), + Pos = Vector(0,0,0), + Ang = Angle(0,0,0), + }, +} ITEM.Recipe = { Resources = { @@ -21,6 +30,7 @@ ITEM.Recipe = { } ITEM.CD = 0.25 +ITEM.Range = 9999 --[[ All saved points are stored in a global table where @@ -37,39 +47,39 @@ function ITEM:DoTeleport(score,pl,self) local D = ents.Create("ws_teleporter") D:SetPos(pl:GetShootPos() + aim * 200) - D:SetOwner(pl) + -- D:SetOwner(pl) D:SetAngles(aim:Angle()) D.endpoint = savedpoint[pl] D:Spawn() D:Activate() pl:EmitSound(Sound("physics/flesh/flesh_impact_hard.wav"),100,math.random(90,110)) end - --[[ -local teleportfunc = function(score, pl, self) - print("teleportfunc called!") - if ITEM.savedpoint[ == nil then return end - if score != 100 then return end - print("Fully successfull teleport callback:") - print(pl) - pl:SetPos(self.savedpoint) - - local aim = pl:GetAimVector() - local D = ents.Create("ws_teleporter") - D:SetModel("models/props_wasteland/wood_fence02a.mdl") - - D:SetPos(pl:GetShootPos()+aim*200) - D:SetOwner(pl) - D:SetAngles(aim:Angle()) - D:Spawn() - D.endpoint = self.savedpoint +-- local teleportfunc = function(score, pl, self) +-- print("teleportfunc called!") +-- if ITEM.savedpoint[ == nil then return end +-- if score != 100 then return end +-- print("Fully successfull teleport callback:") +-- print(pl) +-- pl:SetPos(self.savedpoint) +-- +-- local aim = pl:GetAimVector() +-- +-- local D = ents.Create("ws_teleporter") +-- D:SetModel("models/props_wasteland/wood_fence02a.mdl") +-- +-- D:SetPos(pl:GetShootPos()+aim*200) +-- D:SetOwner(pl) +-- D:SetAngles(aim:Angle()) +-- D:Spawn() +-- D.endpoint = self.savedpoint +-- +-- pl:EmitSound(Sound("physics/flesh/flesh_impact_hard.wav"),100,math.random(90,110)) +-- end - pl:EmitSound(Sound("physics/flesh/flesh_impact_hard.wav"),100,math.random(90,110)) -end -]]-- function ITEM:OnSecondary(pl,tr) - print("Endpoint set?") + pl:ChatPrint("Endpoint set?") ParticleEffect("firetest",pl:GetPos(),pl:GetAngles(),pl) savedpoint[pl] = pl:GetPos() end @@ -77,6 +87,8 @@ end function ITEM:OnPrimary(pl,tr) if CLIENT then return end print("Attempting to cast...") - pl:Cast("Gateway",teleportfunc,self) + pl:Cast("Gateway",function(score,pl,s) + self:DoTeleport(score,pl,s) + end,self) end RegisterItem(ITEM) |
