SHOW:
|
|
- or go back to the newest paste.
| 1 | local teleBoxes = {
| |
| 2 | - | {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))},
|
| 2 | + | {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)),Occupied = false},
|
| 3 | - | {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))},
|
| 3 | + | {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)),Occupied = false},
|
| 4 | {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))},
| |
| 5 | {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))}
| |
| 6 | } | |
| 7 | ||
| 8 | for k,v in ipairs(teleBoxes) do | |
| 9 | local vCenter,boxSize = v.Center, v.Size | |
| 10 | local mins,maxs = vCenter-Vector(boxSize.x,boxSize.y, 0), vCenter+boxSize | |
| 11 | ||
| 12 | teleBoxes[k].Mins = mins | |
| 13 | teleBoxes[k].Maxs = maxs | |
| 14 | end | |
| 15 | ||
| 16 | if SERVER then | |
| 17 | AddCSLuaFile() | |
| 18 | ||
| 19 | hook.Add("KeyPress", "KeyPress.TeleportBox", function(ply, key,bed)
| |
| 20 | for k,v in ipairs(teleBoxes) do | |
| 21 | local vCenter,boxSize = v.Center, v.Size | |
| 22 | local mins,maxs = v.Mins, v.Maxs | |
| 23 | ||
| 24 | if (key == IN_USE) and ply:GetPos():WithinAABox(mins, maxs) then | |
| 25 | ||
| 26 | ply:DrawWorldModel(false) | |
| 27 | ply:DrawViewModel(false) | |
| 28 | ply:SetNoTarget(true) | |
| 29 | ply:SetParent(RagDoll) | |
| 30 | local RagDoll = ents.Create("prop_ragdoll")
| |
| 31 | RagDoll:SetModel(ply:GetModel()) | |
| 32 | RagDoll:SetName(ply:GetName()) | |
| 33 | RagDoll:SetColor(ply:GetColor()) | |
| 34 | RagDoll:SetMaterial(ply:GetMaterial()) | |
| 35 | // RagDoll:SetPos(v.TelePos) | |
| 36 | if !RagDoll:GetPos():IsEqualTol(v.TelePos,10) then RagDoll.Bed1Used = false end | |
| 37 | if RagDoll:GetPos():IsEqualTol(v.TelePos,10) then RagDoll.Bed1Used = true end | |
| 38 | if RagDoll:GetPos():IsEqualTol(v.TelePos2,10) then RagDoll.Bed2Used = true end | |
| 39 | if RagDoll:GetPos():IsEqualTol(v.TelePos3,10) then RagDoll.Bed3Used = true end | |
| 40 | if !RagDoll.Bed1Used then RagDoll:SetPos(v.TelePos) end | |
| 41 | if RagDoll.Bed1Used then RagDoll:SetPos(v.TelePos2) end | |
| 42 | if RagDoll.Bed2Used then RagDoll:SetPos(v.TelePos3) end | |
| 43 | //RagDoll:SetPos(v.TelePos) | |
| 44 | RagDoll:SetAngles(Angle(-40,0,0)) | |
| 45 | RagDoll:SetHealth(ply:Health()) | |
| 46 | RagDoll:SetOwner(ply) | |
| 47 | RagDoll:Spawn() | |
| 48 | RagDoll:Activate() | |
| 49 | ply:Spectate( OBS_MODE_CHASE ) | |
| 50 | ply:SpectateEntity( RagDoll ) | |
| 51 | ply:SetEyeAngles(Angle(0,90,0)) | |
| 52 | timer.Simple(12, function() | |
| 53 | ||
| 54 | ||
| 55 | Unrag(ply, RagDoll) | |
| 56 | ply:SetPos(v.ComeBack) end) | |
| 57 | ||
| 58 | //ply:SetAngles(7.24,-90.96,0.0):Angle() end) | |
| 59 | ||
| 60 | end | |
| 61 | end | |
| 62 | end) | |
| 63 | else | |
| 64 | hook.Add("PostDrawOpaqueRenderables", "PDOR.TeleBoxDebug", function()
| |
| 65 | for k,v in ipairs(teleBoxes) do | |
| 66 | local vCenter,boxSize = v.Center, v.Size | |
| 67 | render.DrawWireframeBox(vCenter, Angle(), -Vector(boxSize.x,boxSize.y, 0), boxSize, Color(0,0,255), true) | |
| 68 | end | |
| 69 | end) | |
| 70 | end | |
| 71 | function Unrag(ply,RagDoll) | |
| 72 | ply:SetDSP( 4, false) | |
| 73 | ply:Spectate(0) | |
| 74 | ply:SpectateEntity() | |
| 75 | ply:UnSpectate( RagDoll ) | |
| 76 | ply:Spawn() | |
| 77 | //ply:SetPos(v.ComeBack) | |
| 78 | RagDoll:Remove() | |
| 79 | ply:DrawWorldModel(true) | |
| 80 | ply:DrawViewModel(true) | |
| 81 | ply:SetNoTarget(false) | |
| 82 | ply:Freeze(false) | |
| 83 | //ply:SetHealth(health) | |
| 84 | end |