summaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
authorApickx <apickx@cogarr.com>2018-03-24 20:43:08 -0400
committerApickx <apickx@cogarr.com>2018-03-24 20:43:08 -0400
commitc87df6de7483a26fd0cb2c5ffab08c6c63937ffe (patch)
tree6d7fdb26a299e580fcc34d2caf2aedee3dd214ac /data
downloadartery_zonechange_alerts-master.tar.gz
artery_zonechange_alerts-master.tar.bz2
artery_zonechange_alerts-master.zip
Inital commitHEADmaster
Inital commit
Diffstat (limited to 'data')
-rw-r--r--data/artery/global/cl_zone_change_alert.txt81
1 files changed, 81 insertions, 0 deletions
diff --git a/data/artery/global/cl_zone_change_alert.txt b/data/artery/global/cl_zone_change_alert.txt
new file mode 100644
index 0000000..8fe0729
--- /dev/null
+++ b/data/artery/global/cl_zone_change_alert.txt
@@ -0,0 +1,81 @@
+local lastzone = nil
+local drawspot = nil
+local offset = {300,-300}
+local drawtime = CurTime()
+local function drawhint(ply,text)
+ if not IsValid(LocalPlayer()) then return end
+ drawtime = CurTime()
+ local lpep = LocalPlayer():EyePos()
+ local lpea = EyeAngles()
+ lpea.p = 0
+ local ep = lpep + (lpea:Forward() * offset[1]) + (lpea:Right()*offset[2])
+ local tr = util.TraceLine( {
+ start = lpep,
+ endpos = ep,
+ filter = LocalPlayer()
+ })
+ local tr2 = {}
+ if not tr.Hit then
+ tr2 = util.TraceLine({
+ start = ep,
+ endpos = lpep + (lpea:Forward() * offset[1] * 2)
+ })
+ end
+ if tr.Hit then
+ print("tr1 hit")
+ local pos = tr.HitPos
+ local norm = tr.HitNormal
+ drawspot = {pos,norm,text}
+ elseif tr2.Hit then
+ print("tr2 hit")
+ drawspot = {tr2.HitPos,tr2.HitNormal,text}
+ else
+ print("neigher 1 nor 2 hit")
+ local pos = lpep + (lpea:Forward() * offset[1]) + (lpea:Right()*offset[2])
+ local norm = lpep - pos
+ drawspot = {pos,norm,text}
+ end
+end
+drawhint(LocalPlayer(),"test")
+
+hook.Add("PreDrawEffects","draw_test",function()
+ if not drawspot then return end
+ --drawhint(LocalPlayer(),"test")
+ local lpea1 = drawspot[2]:Angle()
+ --render.DrawLine(drawspot[1],drawspot[1] + (lpea1),Color(255,0,0),false)
+ --render.DrawLine(drawspot[1],drawspot[1]+Vector(0,0,10),Color(0,255,0),false)
+ local lpea = EyeAngles()
+ lpea.p = 0
+ local zoff = 0
+ local delta = CurTime() - drawtime
+
+ if delta < 0.5 then
+ zoff = -100 + (100 * (delta/0.5))
+ elseif delta < 3 then
+ zoff = 0
+ elseif delta < 3.5 then
+ zoff = 100 * -((delta-3)/0.5)
+ else
+ return
+ end
+ cam.Start3D2D( drawspot[1] + Vector(0,0,zoff), lpea1 + Angle(0,90,90), 1 )
+ surface.SetFont( "Trebuchet24" )
+ surface.SetTextColor( 255, 255, 255, 255 )
+ surface.SetTextPos( 0, 0 )
+ surface.DrawText( drawspot[3] )
+ cam.End3D2D()
+
+end)
+
+hook.Add("Tick","player_zone_alerts",function()
+ if not IsValid(LocalPlayer()) then return end
+ local tzone = LocalPlayer():GetCurrentZone()
+ if lastzone != tzone then
+ if lastzone == nil and tzone.Name then
+ drawhint(LocalPlayer(),"Entering: " .. tzone.Name)
+ elseif lastzone and lastzone.Name then
+ drawhint(LocalPlayer(),"Leaving: " .. lastzone.Name)
+ end
+ lastzone = tzone
+ end
+end)