Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local teleBoxes = {
- {Center = Vector(-1865.32, -393.72, -4863.968750), Size = Vector(50,23,60), TelePos = Vector(-1845.35,-342.75,-4840.97),TelePos2 = Vector(-1873.943237,-340.656250,-4777.968750),TelePos3 = Vector(-1871.898682,-340.746216,-4719.968750), ComeBack = (Vector(-1866.575073,-414.372101,-4863.968750))},
- {Center = Vector(-1700.471069,-393.72,-4863.968750), Size = Vector(50,23,60), TelePos = Vector(-2034.09,-501.35,-4766.344),TelePos2 = Vector(-1693.230347,-337.328156,-4777.968750),TelePos3 = Vector(-1693.230347,-337.328156,-4719.570313),ComeBack = (Vector(-1866.575073,-414.372101,-4863.968750))},
- {Center = Vector(-1866.508301,-505,-4863.968750), Size = Vector(50,23,60), TelePos = Vector(-1825.217285,-557.164001,-4831.598633),TelePos2 = Vector(-1862.846558,-554.872559,-4777.968750),TelePos3 = Vector(-1868.771729,-554.842834,-4719.968750),ComeBack = (Vector(-1866.575073,-414.372101,-4863.968750))},
- {Center = Vector(-1700.999390,-504.649078,-4863.968750), Size = Vector(50,23,60), TelePos = Vector(-1699.032227,-554.086487,-4831.968750),TelePos2 = Vector(-1683.000488,-557.165771,-4777.968750),TelePos3 = Vector(-1688.121826,-559.982605,-4719.968750),ComeBack = (Vector(-1866.575073,-414.372101,-4863.968750))}
- }
- for k,v in ipairs(teleBoxes) do
- local vCenter,boxSize = v.Center, v.Size
- local mins,maxs = vCenter-Vector(boxSize.x,boxSize.y, 0), vCenter+boxSize
- teleBoxes[k].Mins = mins
- teleBoxes[k].Maxs = maxs
- end
- if SERVER then
- AddCSLuaFile()
- hook.Add("KeyPress", "KeyPress.TeleportBox", function(ply, key,bed)
- for k,v in ipairs(teleBoxes) do
- local vCenter,boxSize = v.Center, v.Size
- local mins,maxs = v.Mins, v.Maxs
- if (key == IN_USE) and ply:GetPos():WithinAABox(mins, maxs) then
- ply:DrawWorldModel(false)
- ply:DrawViewModel(false)
- ply:SetNoTarget(true)
- ply:SetParent(RagDoll)
- local RagDoll = ents.Create("prop_ragdoll")
- RagDoll:SetModel(ply:GetModel())
- RagDoll:SetName(ply:GetName())
- RagDoll:SetColor(ply:GetColor())
- RagDoll:SetMaterial(ply:GetMaterial())
- RagDoll:SetPos(v.TelePos)
- //if !RagDoll:GetPos(v.TelePos) then RagDoll.Bed1Used = false end
- if RagDoll:GetPos(v.TelePos) then RagDoll.Bed1Used = true end
- if RagDoll:GetPos(v.TelePos2) then RagDoll.Bed2Used = true end
- if RagDoll:GetPos(v.TelePos3) then RagDoll.Bed3Used = true end
- if !RagDoll.Bed1Used then RagDoll:SetPos(v.TelePos) end
- if RagDoll.Bed1Used then RagDoll:SetPos(v.TelePos2) end
- if RagDoll.Bed2Used then RagDoll:SetPos(v.TelePos3) end
- //RagDoll:SetPos(v.TelePos)
- RagDoll:SetAngles(Angle(-40,0,0))
- RagDoll:SetHealth(ply:Health())
- RagDoll:SetOwner(ply)
- RagDoll:Spawn()
- RagDoll:Activate()
- ply:Spectate( OBS_MODE_CHASE )
- ply:SpectateEntity( RagDoll )
- ply:SetEyeAngles(Angle(0,90,0))
- timer.Simple(12, function()
- Unrag(ply, RagDoll)
- ply:SetPos(v.ComeBack) end)
- //ply:SetAngles(7.24,-90.96,0.0):Angle() end)
- end
- end
- end)
- else
- hook.Add("PostDrawOpaqueRenderables", "PDOR.TeleBoxDebug", function()
- for k,v in ipairs(teleBoxes) do
- local vCenter,boxSize = v.Center, v.Size
- render.DrawWireframeBox(vCenter, Angle(), -Vector(boxSize.x,boxSize.y, 0), boxSize, Color(0,0,255), true)
- end
- end)
- end
- function Unrag(ply,RagDoll)
- ply:SetDSP( 4, false)
- ply:Spectate(0)
- ply:SpectateEntity()
- ply:UnSpectate( RagDoll )
- ply:Spawn()
- //ply:SetPos(v.ComeBack)
- RagDoll:Remove()
- ply:DrawWorldModel(true)
- ply:DrawViewModel(true)
- ply:SetNoTarget(false)
- ply:Freeze(false)
- //ply:SetHealth(health)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement