Advertisement
Guest User

Untitled

a guest
Jun 8th, 2017
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 20.60 KB | None | 0 0
  1. @name WHOSOS {
  2. @model models\props/cs_office/computer_mouse.mdl
  3. @inputs Key Screen:wirelink Ram:wirelink Debug:wirelink DHD:wirelink
  4. @inputs Chevron Iris Open
  5. @inputs Air MaxAir Energy MaxEnergy Coolant MaxCoolant
  6. @persist [String Page SubPage]:string #String command and string page
  7. @persist Text:array Write #Console array output
  8. @persist Color1 Color2 #Colors
  9. @persist Refresh #Variable used for refreshing
  10. @persist [Password Match]:string ScreenSaver L M#Password stuff
  11. @persist [Username Message]:string IRC:array
  12. @persist Target:entity TargIndex Players:array
  13. @persist File:string Data:array FileLine Execute Update
  14. @persist Cmp1 Cmp2
  15. @trigger Key Screen Open Chevron Iris #}
  16. if (first() | dupefinished() | ~Screen) {
  17.     Screen[2041] = 1    
  18.     Screen[2042] = 0
  19.     Screen[2024] = 0
  20.     Screen:writeString("-":repeat(30),0,15,999)
  21.     Page = "cmd"
  22.     Color1 = 999
  23.     Color2 =  49
  24.     Username = owner():name():sub(1,10)
  25.     gShare(1)
  26. }
  27.  
  28.  
  29. if (Page == "cmd") {
  30.     if (Refresh) {
  31.         Screen[2041] = 1
  32.         Screen:writeString("-":repeat(30),0,15,999)
  33.         Refresh = 0
  34.         Line = -1
  35.         for (I = Text:count()-14,Text:count()) {
  36.             Line++
  37.             Screen:writeString(Text[I,string]:sub(1,30)+" ":repeat(30-Text[I,string]:length()),0,Line,Color2)
  38.         }    
  39.     }
  40.     if (~Key | clk("exec") ) {
  41.         if (Key == 13 | clk("exec")) {
  42.             Commands = String:explode(" ")
  43.             ArgOffset = 0
  44.             if (Commands[1,string] == "echo" | Commands[1,string] == "y" | Write) {
  45.                 if (!Write) {
  46.                     CmdLength = Commands[1,string]:length()+2
  47.                     ArgOffset = 1
  48.                     Text:pushString(String:sub(CmdLength,String:length()))
  49.                 } else {Write = 0}  
  50.               Line = -1
  51.                 for (I = Text:count()-14,Text:count()) {
  52.                     Line++
  53.                     Screen:writeString(Text[I,string]:sub(1,30)+" ":repeat(30-Text[I,string]:length()),0,Line,Color2)
  54.                 }
  55.             }
  56.             Arg1 = Commands[1+ArgOffset,string]
  57.             Arg2 = Commands[2+ArgOffset,string]
  58.             Arg3 = Commands[3+ArgOffset,string]
  59. #            print(Arg2:replace("*",""):toNumber()+":"+Arg3:replace("*",""):toNumber()+":"+Ram[Arg2:replace("*",""):toNumber()])
  60.             if (Arg2:index(1) == "*") {Arg2 = ""+Ram[Arg2:replace("*",""):toNumber()]}
  61.             if (Arg3:index(1) == "*") {Arg3 = ""+Ram[Arg3:replace("*",""):toNumber()]}
  62.  
  63.             if (Arg1 == "play") {
  64.                 soundPlay(Arg3:toNumber(),0,Arg2)
  65.             } elseif (Arg1 == "print") {
  66.                 Text:pushString(Arg2)
  67.                 Write = 1
  68.                 timer("exec",100)
  69.             } elseif (Arg1 == "clear") {
  70.                 String=""
  71.             } elseif (Arg1 == "background" | Arg1 == "bg") {
  72.                 Screen[2042] = Arg2:toNumber()
  73.             } elseif (Arg1 == "color1") {
  74.                 Color1 = Arg2:toNumber()
  75.             } elseif (Arg1 == "color2") {
  76.                 Color2 = Arg2:toNumber()
  77.             } elseif (Arg1 == "ls") {
  78.                 Page = "life_support"
  79.                 Refresh = 1
  80.             } elseif (Arg1 == "players") {
  81.                 Page = "players"
  82.                 Refresh = 1
  83.             } elseif (Arg1 == "password" | Arg1 == "lock") {
  84.                 Password = Arg2
  85.                 Page = "password"
  86.                 Refresh = 1
  87.                 ScreenSaver = randint(1,2)
  88.             } elseif (Arg1 == "irc") {
  89.                 Page = "irc"
  90.                 Refresh  = 1
  91.             } elseif (Arg1 == "help") {
  92.                 SubPage = Arg2
  93.                 Page = "help"
  94.                 Refresh = 1
  95.             } elseif (Arg1 == "target") {
  96.                 Page = "target"
  97.                 Refresh = 1
  98.             } elseif (Arg1 == "addons") {
  99.                 Page = "addons"
  100.                 Refresh = 1
  101.             } elseif (Arg1 == "write" | Arg1 == "mov") {
  102.                 if (->Ram) {
  103.                     Ram[Arg2:toNumber()] = Arg3:toNumber()
  104.                 } else {
  105.                     Text:pushString("   ***No ram connected.***")
  106.                     Write = 1
  107.                 }
  108.             } elseif (Arg1 == "read") {
  109.                 if (->Ram) {
  110.                     Text:pushString("Ram cell "+Arg2:toNumber()+" = "+Ram[Arg2:toNumber()])
  111.                 } else {
  112.                     Text:pushString("   ***No ram connected.***")        
  113.                 }
  114.                 Write = 1
  115.             } elseif (Arg1 == "add") {
  116.                 Ram[Arg2:toNumber()] = Ram[Arg2:toNumber()] + Arg3:toNumber()
  117.             } elseif (Arg1 == "sub") {
  118.                 Ram[Arg2:toNumber()] = Ram[Arg2:toNumber()] - Arg3:toNumber()
  119.             } elseif (Arg1 == "mul") {
  120.                 Ram[Arg2:toNumber()] = Ram[Arg2:toNumber()] * Arg3:toNumber()
  121.             } elseif (Arg1 == "dev") {
  122.                 Ram[Arg2:toNumber()] = Ram[Arg2:toNumber()] - Arg3:toNumber()
  123.             } elseif (Arg1 == "sqrt") {
  124.                 Ram[Arg2:toNumber()] = sqrt(Ram[Arg2:toNumber()])
  125.             } elseif (Arg1 == "cbrt") {
  126.                 Ram[Arg2:toNumber()] = cbrt(Ram[Arg2:toNumber()])
  127.  
  128.             } elseif (Arg1 == "cmp") {
  129.                 Cmp1 = Arg2:toNumber()
  130.                 Cmp2 = Arg3:toNumber()
  131.             } elseif (Arg1 == "jm") {
  132.                 if (Cmp1 > Cmp2) {}
  133.             } elseif (Arg1 == "sg" | Arg1 == "stargate") {
  134.                 Page = "stargate"
  135.                 Refresh = 1
  136.             } elseif (Arg1 == "exec") {
  137.                 File = "whosos/exec/"+Arg2+".txt"
  138.                 if (fileRead(File)) {
  139.                     Data = fileRead(File):explode(";")
  140.                     timer("exec",100)
  141.                 } else {
  142.                     fileLoad(File)
  143.                     timer("file",11000)
  144.                 }
  145.             }
  146.  
  147.             String=""
  148.        } elseif (Key == 127) {
  149.             String = String:sub(1,String:length()-1)
  150.         }elseif (Key == 154) {
  151.         }elseif (Key == 9) {
  152.             String=""
  153.         } else {
  154.             String += toChar(Key)
  155.         }
  156.         Str1 = String:sub( 1,30)
  157.         Str2 = String:sub(31,60)
  158.         Screen:writeString(Str1+" ":repeat(30-Str1:length()),0,16,Color1)
  159.         Screen:writeString(Str2+" ":repeat(30-Str2:length()),0,17,Color1)
  160.     }
  161. }
  162.  
  163.  
  164. if (Page == "life_support") {
  165.     if (Refresh) {
  166.         Screen[2041] = 1
  167.         Screen:writeString("---------life_support---------",0,0,Color2)        
  168.  
  169.  
  170.         Screen:writeString("Air    : 0/0 0%" ,1,2,999)
  171.         Screen:writeString("Energy : 0/0 0%" ,1,5,999)
  172.         Screen:writeString("Coolant: 0/0 0%" ,1,8,999)
  173.  
  174.         Refresh = 0
  175.     }
  176.     timer("update",1000)
  177.     AirStr = Air+"/"+MaxAir+" "+floor(Air/MaxAir*100)+"%"
  178.     Screen:writeString(AirStr:sub(1,30)+" ":repeat(30-AirStr:length()),10,2,999)
  179.     Screen:writeString(" ":repeat(30),0,3,0)
  180.     Screen:writeString(" ":repeat(floor(Air/MaxAir*28)),1,3,999,999)
  181.  
  182.     EnergyStr = Energy+"/"+MaxEnergy+" "+floor(Energy/MaxEnergy*100)+"%"
  183.     Screen:writeString(EnergyStr:sub(1,30)+" ":repeat(30-EnergyStr:length()),10,5,999)
  184.     Screen:writeString(" ":repeat(30),0,6,0)
  185.     Screen:writeString(" ":repeat(floor(Energy/MaxEnergy*28)),1,6,999,990)
  186.  
  187.     CoolantStr = Coolant+"/"+MaxCoolant+" "+floor(Coolant/MaxCoolant*100)+"%"
  188.     Screen:writeString(CoolantStr:sub(1,30)+" ":repeat(30-CoolantStr:length()),10,8,999)
  189.     Screen:writeString(" ":repeat(30),0,9,0)
  190.     Screen:writeString(" ":repeat(floor(Coolant/MaxCoolant*28)),1,9,999,49)
  191.  
  192.  
  193.    
  194.     if (~Key & Key & Key != 13) {Page = "cmd",Refresh = 1}
  195. }
  196.  
  197.  
  198. if (Page == "players") {
  199.     if (Refresh) {
  200.         Refresh = 0
  201.         Screen[2041] = 1
  202.     }
  203.     findByClass("player")
  204.     Array = findToArray()
  205.     for (I = 1,Array:count()) {
  206.         Player = Array[I,entity]
  207.         ColorVec = teamColor(Player:team())
  208.         Color = ceil(ColorVec:x()/255*9)+""+ceil(ColorVec:y()/255*9)+""+ceil(ColorVec:z()/255*9)
  209.         Screen:writeString(Player:name():sub(1,30),0,I,Color:toNumber())
  210.     }
  211.     if (Key & ~Key & Key != 13) {
  212.         Page = "cmd"
  213.         Refresh = 1
  214.     }
  215. }
  216.  
  217.  
  218. if (Page == "password") {
  219.     if (Refresh) {
  220.         Refresh = 0
  221.         Screen[2041] = 1
  222.         Screen:writeString("Password: ",0,17,Color2)
  223.         Match=""
  224.     }
  225.     if (ScreenSaver == 1) {
  226.         timer("refresh",1000)
  227.         L++
  228.         Screen:writeString(toChar(randint(97,122)),randint(0,29),randint(0,16),randint(1,999))
  229.         if (L == 250) {ScreenSaver++}
  230.     } elseif (ScreenSaver == 2) {
  231.         timer("refresh",100)
  232.         L++
  233.         if (L == 30) {L = 0,M++}
  234.         Screen:writeString(" ",L,M,0,L*1.9)
  235.         if (L >= 29 & M == 15) {ScreenSaver++,L = 0, M = 0}
  236.     } else {ScreenSaver = 1}
  237.  
  238.  
  239.     if (~Key) {
  240.             if (Key == 127) {Match = Match:sub(1,Match:length()-1)}
  241.         elseif (Key == 154) {}
  242.         elseif (Key == 9  ) {Match = ""}
  243.         elseif (Key == 13 ) {
  244.             if (Match == Password) {
  245.                 Page = "cmd"
  246.                 Refresh = 1
  247.             }
  248.         } else {
  249.             Match += toChar(Key)
  250.         }
  251.     Screen:writeString(Match+" ":repeat(30-Match:length()),9,17,Color1)
  252.     }
  253. }
  254.  
  255.  
  256. if (Page == "irc") {
  257.     if (Refresh) {
  258.         Refresh = 0
  259.         Screen[2041] = 1
  260.         Screen:writeString("-":repeat(30),0,15,999)
  261.         IRC = array()
  262.         Message = ""
  263.     }
  264.  
  265.     if (~Key & !Refresh) {
  266.             if (Key == 127) {Message = Message:sub(1,Message:length()-1)}
  267.         elseif (Key ==   9) {Message = ""}
  268.         elseif (Key == 154) {}
  269.         elseif (Key ==  13) {
  270.             if (Message:index(1) == "/") {
  271.                 Arg1 = Message:explode(" ")[1,string]
  272.                 Arg2 = Message:explode(" ")[2,string]            
  273.                 if (Arg1 == "/nick" | Arg1 == "/name") {Username = Arg2}
  274.                 if (Arg1 == "/quit" | Arg1 == "/exit" | Arg1 == "/back") {
  275.                     Page = "cmd"
  276.                     Refresh = 1
  277.                 }
  278.             } else {
  279.                 gSetStr("IRC",Username+":"+Message)
  280.             }
  281.             Message = ""
  282.         }
  283.         else {Message += toChar(Key)}
  284.         ScrOut = Username+":"+Message+" ":repeat(30-Username:length()+2+Message:length())
  285.         Screen:writeString(ScrOut:sub( 1,30),0,16,999)
  286.         Screen:writeString(ScrOut:sub(31,60),0,17,999)
  287.     }
  288.  
  289.     timer("refresh",100)
  290.     if (clk("refresh")) {
  291.         Inc = gGetStr("IRC")
  292.         if (Inc != IRC[IRC:count(),string] & !Refresh) {
  293.             IRC:pushString(Inc)
  294.             Line = -1
  295.             for (I = IRC:count(),IRC:count()-14,-1) {
  296.                 Line++
  297.                 Msg = IRC[I,string]
  298.                 Screen:writeString(Msg:sub(1,30)+" ":repeat(30-Msg:length()),0,Line,(I == IRC:count() ? Color1 : Color2))
  299.                 if (Msg:length() > 30) {
  300.                     Line++
  301.                     Screen:writeString(Msg:sub(31,60)+" ":repeat(60-Msg:length()),0,Line,(I == IRC:count() ? Color1 : Color2))
  302.                     I--
  303.                 }
  304.             }
  305.         }
  306.         Screen:writeString("-":repeat(30),0,15,999)
  307.     }
  308. }
  309.  
  310.  
  311. if (Page == "help") {
  312.         if (Refresh) {
  313.             Refresh = 0
  314.             Screen[2041] = 1
  315.             Screen:writeString("Help: "+(SubPage ? SubPage : "Menu"),0,0,Color2)
  316.             Screen:writeString("Press any key to continue....",0,17,Color1,Color2,1)
  317.         }
  318.        
  319.     if (SubPage == "play") {
  320.         Screen:writeString("Use: play path index",0,1,Color1)
  321.         Screen:writeString("Eg. play ",0,2,Color1)
  322.         Screen:writeString("music/portal_still_alive.mp3 0",0,3,Color1)
  323.     } elseif (SubPage == "players") {
  324.         Screen:writeString("Use: players",0,1,Color1)
  325.         Screen:writeString("Eg. players",0,2,Color1)
  326.         Screen:writeString("Shows all players online.",0,3,Color1)
  327.     } elseif (SubPage == "password" | SubPage == "lock") {
  328.         Screen:writeString("Use: password *",0,1,Color1)
  329.         Screen:writeString("Eg. password afeg",0,2,Color1)
  330.         Screen:writeString("Eg. lock abcd",0,3,Color1)
  331.         Screen:writeString("Locks the computer.",0,4,Color1)
  332.     } elseif (SubPage == "irc") {
  333.         Screen:writeString("Use: irc",0,1,Color1)
  334.         Screen:writeString("Eg. irc",0,2,Color1)
  335.         Screen:writeString("Eg. irc",0,3,Color1)
  336.         Screen:writeString("Chat to others.",0,4,Color1)
  337.         Screen:writeString("Commands:",0,6,Color1)
  338.         Screen:writeString("/nick nickname",0,7,Color1)
  339.         Screen:writeString("/name nickname",0,8,Color1)
  340.         Screen:writeString("/quit /exit /back",0,9,Color1)
  341.     } elseif (SubPage == "ls" | SubPage == "life_support") {
  342.         Screen:writeString("Use: ls",0,1,Color1)
  343.         Screen:writeString("eg.  ls",0,2,Color1)  
  344.         Screen:writeString("View life support status.",0,3,Color1)
  345.     } elseif (SubPage == "addons") {
  346.         Screen:writeString("Use: addons",0,1,Color1)
  347.         Screen:writeString("eg.  addons",0,2,Color1)
  348.         Screen:writeString("View loaded addons/extensions.",0,3,Color1)  
  349.     } elseif (SubPage == "target") {
  350.         Screen:writeString("Use: target",0,1,Color1)
  351.         Screen:writeString("eg.  target",0,2,Color1)
  352.         Screen:writeString("Target players.",0,3,Color1)  
  353.     } elseif (SubPage == "write" & ->Ram) {
  354.         Screen:writeString("Use: write index value",0,1,Color1)
  355.         Screen:writeString("eg.  write 12 118",0,2,Color1)
  356.         Screen:writeString("Write value to ram",0,3,Color1)  
  357.     } elseif (SubPage == "read" & ->Ram) {
  358.         Screen:writeString("Use: read index",0,1,Color1)
  359.         Screen:writeString("eg.  read 12",0,2,Color1)
  360.         Screen:writeString("read value from ram",0,3,Color1)  
  361.     } else  {
  362.         Screen:writeString("Use: help *",0,1,Color1)
  363.         Screen:writeString("eg.  help password",0,2,Color1)
  364.         Screen:writeString("Choices:",0,4,Color1)
  365.         Screen:writeString("irc",0,6,Color1)
  366.         Screen:writeString("password",0,7,Color1)
  367.         Screen:writeString("ls",0,8,Color1)
  368.         Screen:writeString("life_support",0,9,Color1)
  369.         Screen:writeString("players",0,10,Color1)
  370.         Screen:writeString("play",0,11,Color1)
  371.         Screen:writeString("addons",0,12,Color1)
  372.         Screen:writeString("target",0,13,Color1)    
  373.         Screen:writeString("echo | y",0,14,Color1)    
  374.         Screen:writeString("read",0,15,Color1)    
  375.         Screen:writeString("write",0,16,Color1)    
  376.     }
  377.  
  378.     if (Key & ~Key & Key != 13) {
  379.         Page = "cmd"
  380.         Refresh = 1
  381.     }
  382. }
  383.  
  384.  
  385.  
  386. if (Page == "target") {
  387.     if (Refresh) {
  388.         Screen[2041] = 1
  389.         findByClass("player")
  390.         findExcludePlayer(owner())
  391.         Players = findToArray()
  392.         Refresh = 0
  393.     }
  394.     timer("Update",500)
  395.  
  396.         if (~Key) {
  397.             if (Key == 119 | Key == 17) {
  398.                 if (TargIndex > 1) {TargIndex--}
  399.             }
  400.             if (Key == 115 | Key == 18) {
  401.                 if (TargIndex < Players:count()) {TargIndex++}
  402.             }
  403.             if (Key == 127) {Page = "cmd",Refresh = 1}
  404.  
  405.             for (I = 1,Players:count()) {
  406.                 Name = Players[I,entity]:name():sub(1,30)
  407.                 Screen:writeString(Name+" ":repeat(30-Name:length()),0,I,999,(I == TargIndex ? 900 : 0),(I==TargIndex))        
  408.             }
  409.             Target = Players[TargIndex,entity]
  410.         }
  411.     Screen:writeString(" ":repeat(30),0,10,999)
  412.     Screen:writeString("Position: "+round(Target:pos()),0,10,999)
  413. }
  414.  
  415.  
  416. if (Page == "addons") {
  417.     if (Refresh) {
  418.         Refresh = 0
  419.         Screen[2041] = 1
  420.     }
  421.     Screen:writeString("Ram extension is: "+(->Ram   ? "active.  " : "inactive."),0,2,Color1)
  422.     Screen:writeString("Scr extension is: "+(->Debug ? "active.  " : "inactive."),0,3,Color1)
  423.     Screen:writeString("DHD extension is: "+(->DHD   ? "active.  " : "inactive."),0,4,Color1)
  424.  
  425.     if (~Key & Key & Key != 13) {
  426.         Page = "cmd"
  427.         Refresh = 1
  428.     }
  429.    
  430. }
  431.  
  432.  
  433.  
  434. if (Page == "stargate") {
  435.     if (Refresh) {
  436.         Screen[2041] = 1
  437.         Screen:writeString("                              ",0,0,999)    
  438.         Screen:writeString("          ****##****          ",0,0,999)    
  439.         Screen:writeString("         *          *         ",0,1,999)
  440.         Screen:writeString("        #            #        ",0,2,999)
  441.         Screen:writeString("       #              #       ",0,3,999)
  442.         Screen:writeString("      *                *      ",0,4,999)    
  443.         Screen:writeString("      *                *      ",0,5,999)  
  444.         Screen:writeString("      #                #      ",0,6,999)  
  445.         Screen:writeString("      #                #      ",0,7,999)  
  446.         Screen:writeString("      *                *      ",0,8,999)  
  447.         Screen:writeString("      *                *      ",0,9,999)  
  448.         Screen:writeString("      *                *      ",0,10,999)
  449.         Screen:writeString("      #                #      ",0,11,999)
  450.         Screen:writeString("       #              #       ",0,12,999)
  451.         Screen:writeString("        *            *        ",0,13,999)
  452.         Screen:writeString("         *          *         ",0,14,999)
  453.         Screen:writeString("          *##****##*          ",0,15,999)
  454.         Screen:writeString("                              ",0,16,999)
  455.         Refresh = 0
  456.     }
  457.        
  458.     ChevColor=array()
  459.     if (~Chevron | changed(Refresh)) {
  460.         for (X = 0, 7) {ChevColor[X,number] = (Chevron >= X) ? 90 : 900}
  461.         soundPlay(Chevron,0,"stargate/walter/c"+Chevron+".mp3")
  462.         Screen:writeString("##",14,0,ChevColor[7,number]) #chevron 7
  463.         Screen:writeString("#",8,2,ChevColor[6,number])#chevron 6
  464.         Screen:writeString("#",7,3,ChevColor[6,number])#chevron 6
  465.         Screen:writeString("#",21,2,ChevColor[1,number])#chevron 1
  466.         Screen:writeString("#",22,3,ChevColor[1,number])#chevron 1
  467.         Screen:writeString("#",6,6,ChevColor[5,number])#chevron 5
  468.         Screen:writeString("#",6,7,ChevColor[5,number])#chevron 5
  469.         Screen:writeString("#",23,6,ChevColor[2,number])#chevron 2
  470.         Screen:writeString("#",23,7,ChevColor[2,number])#chevron 2
  471.         Screen:writeString("#",23,11,ChevColor[3,number])#chevron 3
  472.         Screen:writeString("#",22,12,ChevColor[3,number])#chevron 3
  473.         Screen:writeString("#",6,11,ChevColor[4,number])#chevron 4
  474.         Screen:writeString("#",7,12,ChevColor[4,number])#chevron 4
  475.     }
  476.     if (Key & ~Key & Key != 13) {Page = "cmd",Refresh = 1}
  477.  
  478.     if (~Iris | changed(Refresh) | ~Open) {
  479.         Screen:writeString(((Iris) ? "=" : " "):repeat(10),10,1,555,29*Open)    
  480.         Screen:writeString(((Iris) ? "=" : " "):repeat(12),9 ,2,555,29*Open)    
  481.         Screen:writeString(((Iris) ? "=" : " "):repeat(14),8 ,3,555,29*Open)    
  482.         Screen:writeString(((Iris) ? "=" : " "):repeat(16),7 ,4,555,29*Open)    
  483.         Screen:writeString(((Iris) ? "=" : " "):repeat(16),7 ,5,555,29*Open)    
  484.         Screen:writeString(((Iris) ? "=" : " "):repeat(16),7 ,6,555,29*Open)    
  485.         Screen:writeString(((Iris) ? "=" : " "):repeat(16),7 ,7,555,29*Open)    
  486.         Screen:writeString(((Iris) ? "=" : " "):repeat(16),7 ,8,555,29*Open)    
  487.         Screen:writeString(((Iris) ? "=" : " "):repeat(16),7 ,9,555,29*Open)    
  488.         Screen:writeString(((Iris) ? "=" : " "):repeat(16),7 ,10,555,29*Open)    
  489.         Screen:writeString(((Iris) ? "=" : " "):repeat(16),7 ,11,555,29*Open)    
  490.         Screen:writeString(((Iris) ? "=" : " "):repeat(14),8 ,12,555,29*Open)
  491.         Screen:writeString(((Iris) ? "=" : " "):repeat(12),9 ,13,555,29*Open)
  492.         Screen:writeString(((Iris) ? "=" : " "):repeat(10),10,14,555,29*Open)
  493.     }    
  494.  
  495. }
  496.  
  497.  
  498.  
  499.  
  500.  
  501. if (->Debug) {
  502.     timer("Debug",1000)
  503.     Debug[2041] = 1
  504.     Debug:writeString("Players online: "+numPlayers()+"/"+maxPlayers(),0,2,Color2)
  505.     Time = round(curtime())
  506.     H = floor(Time/3600)
  507.     M = floor(Time/60)%60
  508.     S = Time-H*3600-M*60
  509.     Debug:writeString("Uptime: "+H+":"+M+":"+S,0,3,Color2)
  510.     Debug:writeString("Ops   : "+ops(),0,4,Color2)
  511.     Debug:writeString("Ram: "+(->Ram ? "Active." : "Invalid."),0,5,(->Ram ? Color2 : 900))
  512. }
  513.  
  514.  
  515. if (fileClk(File) | clk("file")) {
  516.     if (fileRead(File)) {printColor(vec(0,255,0),"File "+File+" loaded!")} else {printColor(vec(255,0,0),"File "+File+" not loaded!")}
  517.     Data = fileRead(File):explode(";")
  518.     FileLine = 0
  519.      Update = Data[1,string]:sub(2,5):toNumber()
  520.        if (!Update) {Update = 500}
  521.     timer("exec",100)
  522. }
  523. if (clk("exec")) {
  524.     FileLine++
  525.     String = Data[FileLine,string]:replace("\n","")
  526.     Execute = 1
  527.     if (FileLine < Data:count()) {
  528.         timer("exec",Update)
  529.     } else {timer("done",100)}
  530. }
  531.  
  532. if (clk("done")) {
  533.     Execute = 0
  534.     FileLine = 0
  535.     Data = array()
  536.     File = ""
  537. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement