ITEM.Name = "Teleport" ITEM.Class = "weapon" ITEM.Desc = "Right click to set target location, left click to open a portal there." ITEM.Model = "models/props_debris/wood_board02a.mdl" ITEM.Icon = Material("wintersurvival2/hud/ws2_icons/icon_spellteleport.png") ITEM.HoldType = "magic" //Load some nessessary stuff game.AddParticles("particles/particletest.pcf") PrecacheParticleSystem("firetest") ITEM.Recipe = { Resources = { ["Plank"] = 2, ["Rope"] = 1, ["Sap"] = 1, }, Tools = {}, } ITEM.CD = 0.25 ITEM.savedpoint = nil function ITEM:DoTeleport(score,pl,self) print("DoTeleport called!") if(self.savedpoint == nil) then return end print("Fully successfull teleport callback:") print(pl) local aim = pl:GetAimVector() local D = ents.Create("ws_teleporter") D:SetPos(pl:GetShootPos()+aim*200) D:SetOwner(pl) D:SetAngles(aim:Angle()) D.endpoint = self.savedpoint 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(self.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 function ITEM:OnSecondary(pl,tr) print("Endpoint set?") ParticleEffect("firetest",pl:GetPos(),pl:GetAngles(),pl) self.savedpoint = pl:GetPos() end function ITEM:OnPrimary(pl,tr) if(CLIENT) then return end print("Attempting to cast...") pl:Cast("Gateway",teleportfunc,self) end