Advertisement
Thomads

Stavox - Smart Guard [MASTER]

Dec 26th, 2018
356
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 4.78 KB | None | 0 0
  1. @name Guard_Data
  2. @inputs EGP:wirelink [User]:entity
  3. @outputs
  4. @persist Weapons:table [Gname,MSGTag]:string [MSGTagColor]:vector [Alarms,Stations,Index,Pos,Gscope]:number
  5. @trigger
  6.  
  7. runOnChat(1)
  8. if(first() | dupefinished()) {
  9.    
  10.     Gname = "msg"
  11.     Gscope = 2
  12.     MSGTag = "[SG] "
  13.     MSGTagColor = vec(0,220,220)
  14.     Alarms = 0
  15.     Stations = 0
  16.     Index = 30
  17.     Pos = 85
  18.    
  19.     dsJoinGroup(Gname)
  20.     dsSetScope(Gscope)
  21.    
  22.     function void oMSG(Text:string, Color:vector) {
  23.         printColor(MSGTagColor,MSGTag,Color,Text)
  24.     }
  25.    
  26.     function number getActive(){
  27.         return dsProbe(Gname):count()
  28.     }
  29.    
  30.     function string returnTime(){
  31.         MMin=time("min")
  32.         HHour=time("hour")+2
  33.         if(MMin<10){Min="0"+MMin}
  34.         else{Min=""+MMin}
  35.         if(HHour<10){Hour="0"+HHour}
  36.         elseif(HHour==24){Hour="00"}
  37.         elseif(HHour==25){Hour="01"}
  38.         elseif(HHour==26){Hour="02"}
  39.         elseif(HHour==27){Hour="03"}
  40.         elseif(HHour==28){Hour="04"}
  41.         elseif(HHour==29){Hour="05"}
  42.         elseif(HHour==30){Hour="06"}
  43.         else{Hour=""+HHour}
  44.         Tid=Hour+":"+Min
  45.     return Tid
  46.    
  47.     }      
  48.     function void wirelink:drawScreen1() {
  49.         This:egpClear()
  50.         This:egpBox( 1,vec2(0,0),vec2(1024,1024) )
  51.         This:egpMaterial(1,"console/background06")
  52.        
  53.         This:egpBox( 2,vec2(255,27.5),vec2(512,55) ) This:egpColor(2,vec4(0,0,0,150))
  54.         This:egpText(3,"SMART GUARD CENTRAL",vec2(256,9)) This:egpAlign(3,1) This:egpSize(3,35)
  55.        
  56.         This:egpBox( 4,vec2(255,245),vec2(500,370) ) This:egpColor(4,vec4(0,0,0,220))
  57.         This:egpBox( 5,vec2(255,70),vec2(500,20) ) This:egpColor(6,vec4(255,255,255,150))
  58.        
  59.         This:egpBox( 6,vec2(123,481),vec2(233.5,50) ) This:egpColor(6,vec4(0,0,0,220))
  60.         This:egpBox( 7,vec2(123,446),vec2(233.5,20) ) This:egpColor(7,vec4(255,255,255,200))
  61.        
  62.         This:egpBox( 8,vec2(312,481),vec2(120,50) ) This:egpColor(8,vec4(0,0,0,220))
  63.         This:egpBox( 9,vec2(312,446),vec2(120,20) ) This:egpColor(9,vec4(255,255,255,200))
  64.        
  65.         This:egpBox( 10,vec2(444,481),vec2(120,50) ) This:egpColor(10,vec4(0,0,0,220))
  66.         This:egpBox( 11,vec2(444,446),vec2(120,20) ) This:egpColor(11,vec4(255,255,255,200))
  67.        
  68.         timer("drawScreen2",1000)
  69.     }
  70.    
  71.     function void wirelink:drawScreen2() {
  72.         This:egpText(12,"Logs", vec2(256,60)) This:egpColor(12,vec4(0,0,0,250)) This:egpSize(12,18)  This:egpAlign(12,1)
  73.         This:egpText(13,"Seneste n"+oe()+"dkald", vec2(124,436)) This:egpColor(13,vec4(0,0,0,250)) This:egpSize(13,18)  This:egpAlign(13,1)
  74.         This:egpText(14,"Aktive poster", vec2(313,436)) This:egpColor(14,vec4(0,0,0,250)) This:egpSize(14,18)  This:egpAlign(14,1)
  75.         This:egpText(15,"Antal n"+oe()+"dkald", vec2(444,436)) This:egpColor(15,vec4(0,0,0,250)) This:egpSize(15,18)  This:egpAlign(15,1)
  76.        
  77.         This:egpText(16,"-||-", vec2(124,472)) This:egpColor(16,vec4(255,255,255,250)) This:egpSize(16,16)  This:egpAlign(16,1)
  78.         This:egpText(17,Stations+"", vec2(313,465)) This:egpColor(17,vec4(255,255,255,250)) This:egpSize(17,30)  This:egpAlign(17,1)
  79.         This:egpText(18,Alarms+"", vec2(444,465)) This:egpColor(18,vec4(255,255,255,250)) This:egpSize(18,30)  This:egpAlign(18,1)
  80.     }
  81.    
  82.     function void updateStations() {
  83.         Stations = dsProbe(Gname,Gscope):count()
  84.         EGP:egpSetText(17,Stations:toString())
  85.         timer("updateStations",10000)
  86.     }
  87.    
  88.     function void addLog(Text:string, Type:string) {
  89.         if(Pos>420) {
  90.             EGP:egpClear()
  91.             EGP:drawScreen1()
  92.             timer("drawScreen2",1000)
  93.             Pos = 85
  94.         }
  95.        
  96.         if(Type=="add") {
  97.             EGP:egpText(Index,returnTime() + "| "+ Text,vec2(10,Pos)) EGP:egpSize(Index,15)
  98.             EGP:egpColor(Index,vec(0,200,0))
  99.             oMSG(Text,vec(255,0,0))
  100.         }elseif(Type=="emergency") {
  101.             EGP:egpText(Index,returnTime() + "| "+ Text,vec2(10,Pos)) EGP:egpSize(Index,15)
  102.             EGP:egpColor(Index,vec(255,0,0))
  103.         }elseif(Type=="ranger") {
  104.             EGP:egpText(Index,returnTime() + "| "+ Text,vec2(10,Pos)) EGP:egpSize(Index,15)
  105.             EGP:egpColor(Index,vec(0,220,220))
  106.         }
  107.         Pos+=20
  108.         Index++
  109.     }
  110.    
  111.     EGP:drawScreen1()
  112.     updateStations()
  113. }
  114.  
  115. if(dsClk("emergency")){
  116.     addLog("Der er registreret et n"+oe()+"dopkald. ["+dsGetString()+"]","emergency")
  117.     EGP:egpSetText(16,dsGetString())
  118.     Alarms++
  119.     EGP:egpSetText(18,Alarms:toString())
  120. }
  121. if(dsClk("ranger")){
  122.     addLog(dsGetString(),"ranger")
  123. }
  124. if(dsClk("add")){
  125.     addLog(dsGetString(),"add")
  126. }
  127.  
  128. if(clk("drawScreen2")) {
  129.     EGP:drawScreen2()
  130. }elseif(clk("updateStations")) {
  131.     updateStations()
  132. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement