View difference between Paste ID: mKYfi3ky and EFatyfES
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