Advertisement
Guest User

Untitled

a guest
Jul 16th, 2015
238
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 48.11 KB | None | 0 0
  1. # Version 1.6
  2. # Author glebqip(RUS)
  3. # Created 23.11.13 Updated 30.12.13
  4. # This is Stargate Dialing Computer from first 2 Stargate-SG1 seasons, called as V1.
  5. # This chip need a wire_expression2_unlimited 1, wire_egp_max_bytes_per_seconds 13000 and wire_egp_max_objects 440 on server.
  6. # Support thread: http://sg-carterpack.com/forums/topic/sgc-dialing-computer-v1-e2/
  7.  
  8. @name SGC Dialing Computer v1.0
  9. @inputs Start EGP:wirelink SG:wirelink NewCol AnotherSound Key KeyUser:entity Unlink
  10. @outputs True DPt:table
  11. @persist ANG I1 I2 Min Linked Painted ETO Time OvMin:string OvSec:string OvPercent
  12. @persist RAM RAMM:string Load1 Pip IDs1 IDsOverride RingDiag RB DiagOver LoadOver RBT Loaded1 STD STD1 STD2:string
  13. @persist DialString:string DialingMode StartStringDial Close RotateRing RingSpeedMode ActivateChevronNumbers:string
  14. @persist Active Open Inbound Chevron ChevronLocked RingSymbol:string RingRotation DialingAdress:string DialMode DialingSymbol:string DialedSymbol:string
  15. @persist RingStopCheck AdrBlock Loaded Unstable Cond Cond2 Alpha2 Color DTL Chev2 DialingAdress1:string Chevron1 Alpha3 B1 Chev AN1 Alpha4 Alpha5 G1 G2 G3 G4 G5 G6 G7 G8 G9 Q B C D EnteredAdress:string ChrA:string Correct DSMB Chevr8 Chevr9 DType:table RandNum:table EAn
  16. @persist CHKRM RingAngle AA1 Text1:table Text2:table Text1pos:table Text2pos:table Text1col:table Text2col:table Text1size:table Text2size:table A112:string Col1:vector
  17. @persist GT:gtable AB:table Overload Iris DPL AAA ET AddressBook:string ETIDab ETab:entity
  18. @trigger
  19. findByClass("gmod_wire_expression2")
  20. if(AAA!=2)
  21. {
  22. ETab=findClosest(entity():pos())
  23. ETIDab=ETab:id()
  24. }
  25. if(changed(ETIDab))
  26. {
  27. if(AAA!=2){AAA=0}
  28. }
  29. if(gTable("ABv1_"+ETab:id())[1,string]!="ABv1"){findExcludeEntity(ETab)}
  30. if(gTable("ABv1_"+ETab:id())[1,string]=="ABv1"&!AAA)
  31. {
  32. hint("DP:Founded a Address Book with "+ETab:id()+" ID by "+ETab:owner():name()+", press Use to link",10) AAA=1
  33. }
  34. if(changed(owner():keyUse())&gTable("ABv1_"+ETab:id())[1,string]=="ABv1"&owner():keyUse()&AAA==1)
  35. {
  36. hint("DP:Linked to Address Book with "+ETab:id()+" ID by "+ETab:owner():name(),10) AAA=2 findClearBlackEntityList()
  37. }
  38. if(~Unlink&Unlink&AAA==2)
  39. {
  40. AAA=0
  41. hint("DP:Unlinked from Address Book",10)
  42. }
  43. if(AAA==2&ETab:id()!=0){AddressBook=gTable("ABv1_"+ETab:id())[2,table]["AddressBook",string]} if(AAA==2&ETab:id()==0){AddressBook==""}
  44. if(~EGP&->EGP){reset()}
  45. if(first()|dupefinished()|clk("shutdown1")){EGP:egpClear() Loaded1=0}
  46. if(first()|dupefinished()|~SG){SG:stargateSetWire("SGC Type",1) SG:stargateSetWire("Set Point of Origin",1)}
  47. function number even(CHET)
  48. {
  49. if(CHET%2!=0){return 1} else {return 0}
  50. }
  51. Active=SG:stargateGetWire("Active")
  52. Open=SG:stargateGetWire("Open")
  53. Inbound=SG:stargateGetWire("Inbound")
  54. Chevron=SG:stargateGetWire("Chevron")
  55. ChevronLocked=SG:stargateGetWire("Chevron Locked")
  56. RingSymbol=SG:stargateGetWireString("Ring Symbol")
  57. RingRotation=SG:stargateGetWire("Ring Rotation")
  58. DialingAdress=SG:stargateGetWireString("Dialing Address")
  59. DialingSymbol=SG:stargateGetWireString("Dialing Symbol")
  60. DialedSymbol=SG:stargateGetWireString("Dialed Symbol")
  61. DialMode=SG:stargateGetWire("Dialing Mode")
  62. ##Startup simulating
  63. #30000
  64. if(Loaded!=2){
  65. if((($Start|first()|dupefinished())&Start)&Loaded1==0)
  66. {
  67. DPL=0
  68. if(Start<=1&!RBT){DiagOver=0 LoadOver=0}
  69. if(Start==3&!RBT){DiagOver=1 LoadOver=0}
  70. if(Start==2){DiagOver=1 LoadOver=1}
  71. if(RBT&Start!=2){DiagOver=1 LoadOver=0}
  72. RingSpeedMode=1
  73. EGP:egpClear()
  74. for(I=0,8){EGP:egpText(1+I,"",vec2(5,10+I*12)) EGP:egpAlign(1+I,0,1) EGP:egpFont(1+I,"Console",15)}
  75. timer("LD01",randint(100,2000))
  76. Loaded=0
  77. Loaded1=1
  78. }
  79. if(Loaded==0){
  80. if(clk("LD01")){soundVolume(12,0.6) soundPlay(12,10,"synth/square_440.wav") timer("STPS",100) timer("LD1",randint(1000,2500))}
  81. if(clk("STPS")){soundVolume(12,0) soundStop(12,0)}
  82. if(!Loaded&!LoadOver){
  83. if(clk("LD1")){
  84. EGP:egpSetText(1,"Stargate Supercomputer complex") timer("LD2",randint(100,1000))}
  85. if(clk("LD2")){
  86. EGP:egpSetText(2,"CPU:detecting...") timer("LD21",randint(300,600))}
  87. if(clk("LD21")&maxquota()>80000){Pip=0 EGP:egpSetText(2,"CPU:"+maxquota():toString()+" OPS OK!") EGP:egpColor(2,vec(255,255,255)) timer("LD3",randint(150,300))}
  88. if(clk("LD21")&maxquota()<=80000){EGP:egpSetText(2,"CPU:"+maxquota():toString()+" OPS CPU IS TO SLOW TO WORK! WAIT A wire_expression2_unlimited 1") if(!Pip){timer("errpip",1) Pip=1} EGP:egpColor(2,vec(255,0,0)) timer("LD12",100)}
  89. if(clk("LD3")&RAM<ceil(egpMaxObjects()/128)*256){
  90. RAM+=randint(128,512)/10*(egpMaxObjects()/440)
  91. EGP:egpSetText(3,"RAM:"+ceil(RAM)+"MB") timer("LD3",randint(100,200))}
  92. if(clk("LD3")&RAM>=ceil(egpMaxObjects()/128)*256){timer("LD4",1000) EGP:egpSetText(3,"RAM:"+toString(ceil(egpMaxObjects()/128)*256)+" OK!")}
  93. if(clk("LD4")){EGP:egpSetText(4,"GPUSpeed:"+egpMaxUmsgPerSecond():toString()+" BPS OK!") timer("LD5",randint(150,300))}
  94. if(clk("LD5")&!->Key){
  95. EGP:egpSetText(5,"Error! Keyboard not detected! Waiting keyboard connect.") if(!Pip){timer("errpip",1) Pip=1} EGP:egpColor(5,vec(255,0,0)) timer("LD5",1000)}
  96. if(clk("LD5")&->Key){EGP:egpSetText(5,"Keyboard... OK!") EGP:egpColor(5,vec(255,255,255)) Pip=0 timer("LD6",randint(800,1300))}
  97. if(egpMaxObjects()<440&~Key&Key==13&IDs1){IDsOverride=1 IDs1=0}
  98. if(clk("LD6")&egpMaxObjects()>=440&!IDsOverride){EGP:egpSetText(6,"GPUMemory:"+egpMaxObjects():toString()+" ID's OK!") EGP:egpColor(6,vec(255,255,255)) timer("LD7",randint(150,300)) Pip=0}
  99. if(clk("LD6")&(egpMaxObjects()<440&IDsOverride)){EGP:egpSetText(6,"GPUMemory:"+egpMaxObjects():toString()+" ID's Override ID's protection!") EGP:egpColor(6,vec(255,255,0)) timer("LD7",randint(50,300)) Pip=0}
  100. if(clk("LD6")&egpMaxObjects()<440&!IDsOverride){IDs1=1 EGP:egpSetText(6,"GPUMemory:"+egpMaxObjects():toString()+" ID's. Need a 440 ID's. Waiting a wire_egp_max_objects 440!") if(!Pip){timer("errpip",1) Pip=1} timer("LD6",150) EGP:egpColor(6,vec(255,0,0))}
  101. if(!DiagOver){
  102. if(clk("LD7")){RAM=0 EGP:egpSetText(7,"open diagnostic.str") timer("LD8",3000)}
  103. if(clk("LD8")){ EGP:egpSetText(8,"Diagnostic Programm build 1.241.15 v1 07.12.13 is loading...") timer("LD9",randint(100,300))}
  104. if(clk("LD9")&Load1<100){Load1+=randint(4,12) EGP:egpSetText(8,"Diagnostic Programm build 1.241.15 v1 07.12.13 is loading... "+Load1+"%") timer("LD9",randint(50,700))}}
  105. if(Load1>=100){Load1=0 EGP:egpSetText(8,"Diagnostic Programm build 1.241.15 v1 07.12.13 is loading... 100%") Loaded=1 timer("Loaded1",randint(50,700))}}
  106. if(!Loaded&DiagOver){
  107. if(clk("LD7")){RAM=0 EGP:egpSetText(7,"open dialingprogramm.str") timer("LD8",3000)}
  108. if(clk("LD8")){ EGP:egpSetText(8,"Dialing Programm build 1.241.15 v1 07.12.13 is loading...") timer("LD9",randint(100,300))}
  109. if(clk("LD9")&Load1<100){Load1+=randint(4,12) EGP:egpSetText(8,"Dialing Programm build 1.241.15 v1 07.12.13 is loading... "+Load1+"%") timer("LD9",randint(50,700))}
  110. if(Load1>=100){Load1=0 EGP:egpSetText(8,"Dialing Programm build 1.241.15 v1 07.12.13 is loading... 100%") Loaded=2 timer("Loaded",randint(50,700))}}
  111. if(!Loaded&LoadOver){
  112. if(clk("LD1")){EGP:egpSetText(1,"Dialing Programm build 1.241.15 v1 07.12.13 is loading...") timer("LD11",randint(100,300))}
  113. if(clk("LD11")&Loaded!=2&Load1<100){Load1+=randint(4,12) EGP:egpSetText(1,"Dialing Programm build 1.241.15 v1 07.12.13 is loading... "+Load1+"%") timer("LD11",randint(50,700))}
  114. if(Load1>=100){Load1=0 EGP:egpSetText(1,"Dialing Programm build 1.241.15 v1 07.12.13 is loading... 100%") Loaded=2 timer("Loaded",randint(50,700))}}}
  115. ##/startup simulating
  116. ##diag
  117. if(Loaded==1){
  118. if(clk("Loaded1")){
  119. EGP:egpClear()
  120. for(I=0,4){EGP:egpText(1+I,"",vec2(5,10+I*12)) EGP:egpAlign(1+I,0,1) EGP:egpFont(1+I,"Console",15)}
  121. timer("DG1",500)}
  122. if(clk("DG1")){EGP:egpSetText(1,"Diangonstic...") EGP:egpColor(1,vec(0,255,0)) timer("DG2",randint(200,600))}
  123. #if(clk("DG2")&(!->ActivateChevronNumbers|!->SG|!->RotateRing|!->DialString|!->StartStringDial|!->Close|!->DialingMode|!->Active|!->Open|!->Inbound|!->Chevron|!->ChevronLocked|!->RingRotation|!->DialMode|!->RingSymbol|!->DialingAdress|!->DialingSymbol|!->DialedSymbol))
  124. #{EGP:egpSetText(2,"Not connected correctly to stargate!!! Waiting...") EGP:egpColor(2,vec(255,0,0)) if(!Pip){timer("errpip",1) Pip=1} timer("DG2",500)}
  125. elseif(clk("DG2")){Pip=0 EGP:egpSetText(2,"Connected to stargate! Starting diagnostic...") EGP:egpColor(2,vec(0,255,0)) timer("DG3",randint(200,700))}
  126. if(clk("DG3")&RingDiag!=2&RingDiag!=11){EGP:egpSetText(3,"Ring diagnostic") RotateRing=1 EGP:egpColor(3,vec(255,255,255)) timer("DG31",10) if(RingRotation){RingDiag=11}else{RingDiag=1} timer("RDG",500)}
  127. if(clk("RDG")&RingDiag!=2&(RingDiag==11|RotateRing)){RingDiag=11 if(Active){RotateRing=0}else{RotateRing=1} timer("RDG",100)}
  128. if(clk("DG31")&!RingRotation&RingDiag!=2&RingDiag!=11){RingDiag=12 EGP:egpSetText(3,"Ring is blocked! Maybe not enough energy!") if(!Pip){timer("errpip",1) Pip=1 RingDiag=0} RotateRing++ if(RotateRing>=2){RotateRing=0} EGP:egpColor(3,vec(255,0,0)) timer("DG31",500)}
  129. if(clk("DG31")&RingRotation&RingDiag!=2&RingDiag!=11){timer("DG3",10)}
  130. if(RingDiag==11&RingRotation&RingSymbol=="#"){RingDiag=2 EGP:egpSetText(3,"Ring diagnostic OK!") EGP:egpColor(3,vec(0,255,0)) RingDiag=2 RotateRing=0 timer("DG4",randint(500,2500))}
  131. if(clk("DG4")){EGP:egpSetText(4,"Chevron diagnostic") EGP:egpColor(4,vec(255,255,255)) ActivateChevronNumbers="" RotateRing=1 timer("DG41",randint(500,2500))}
  132. if(clk("DG41")&RingDiag!=22&ActivateChevronNumbers!="1111111111"){ActivateChevronNumbers=ActivateChevronNumbers+"1" timer("DG41",randint(500,1500))}
  133. if(clk("DG41")&ActivateChevronNumbers=="1111111111"){EGP:egpSetText(4,"Chevron diagnostic OK!") EGP:egpColor(4,vec(0,255,0)) ActivateChevronNumbers="" RotateRing=0 timer("DG5",randint(500,2500)) RingDiag=22}
  134. if(clk("DG5")){ EGP:egpSetText(5,"Dialing Programm build 1.241.15 v1 07.12.13 is loading...") timer("DG51",randint(100,300))}
  135. if(clk("DG51")&Loaded!=2&Load1<100){Load1+=randint(4,12) EGP:egpSetText(5,"Dialing Programm build 1.241.15 v1 07.12.13 is loading... "+Load1+"%") timer("DG51",randint(50,700))}
  136. if(Load1>=100){Load1=0 EGP:egpSetText(5,"Dialing Programm build 1.241.15 v1 07.12.13 is loading... 100%") Loaded=2 timer("Loaded",randint(50,700))}}}
  137. if(clk("shutdown")){
  138. STD1=randint(30,80)
  139. EGP:egpClear()
  140. STD2=""
  141. STD=0
  142. EGP:egpText(1,"",vec2(5,10)) EGP:egpAlign(1,0,1) EGP:egpFont(1,"Console",15)
  143. timer("STD1",randint(50,500))}
  144. if(clk("STD1")&STD<=STD1){STD2+="." if(STD2:length()>3){STD2=""} EGP:egpSetText(1,"Shutting down"+STD2) STD++ timer("STD1",150)}
  145. if(clk("STD1")&STD>STD1){Loaded=0 timer("shutdown1",1)}
  146. ##/diag
  147. if(clk("Loaded")&(egpMaxObjects()>=440|IDsOverride)){
  148. ChrA="qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM1234567890@#*"
  149. RBT=0
  150. EGP:egpClear()
  151. DPL=1
  152. Cond=0.9
  153. DType[0,string]=""
  154. DType[1,string]="DHD DIALING SEQUENCER"
  155. DType[2,string]="NOX DIALING"
  156. Text1["000",string]="IDLE"
  157. Text1["010",string]="SEQUENCE"
  158. Text2["010",string]="IN PROGRESS"
  159. Text1["0101",string]="SEQUENCE"
  160. Text2["0101",string]="COMPLETE"
  161. Text1["110",string]="LOCKED"
  162. Text1["011",string]="OFFWORLD ACTIVATION"
  163. Text1["111",string]="OFFWORLD ACTIVATION"
  164. Text1pos["000",vector2]=vec2(266,372)
  165. Text1pos["010",vector2]=vec2(330,374)
  166. Text2pos["010",vector2]=vec2(330,398)
  167. Text1pos["0101",vector2]=vec2(330,374)
  168. Text2pos["0101",vector2]=vec2(330,398)
  169. Text1pos["110",vector2]=vec2(328,388)
  170. Text1pos["011",vector2]=vec2(256,227)
  171. Text1pos["111",vector2]=vec2(256,227)
  172. Text1col["110",vector]=vec(255,0,0)
  173. Text1col["011",vector]=vec(255,0,0)
  174. Text1col["111",vector]=vec(255,0,0)
  175. Text1size["000",number]=30
  176. Text1size["010",number]=26
  177. Text2size["010",number]=26
  178. Text1size["0101",number]=26
  179. Text2size["0101",number]=35
  180. Text1size["110",number]=50
  181. Text1size["011",number]=30
  182. Text1size["111",number]=30
  183. for(I=0,16){RandNum[I+1,string]=""}
  184. print("This chip needs 440 ID's. This server have "+egpMaxObjects()+" ID's")
  185. print("This chip needs more than 13000 BPS. This server have "+egpMaxUmsgPerSecond()+" BPS")
  186. hint("This chip needs 440 ID's. This server have "+egpMaxObjects()+" ID's",10)
  187. hint("This chip needs more than 13000 BPS. This server have "+egpMaxUmsgPerSecond()+" BPS",10)
  188. True=1
  189. DialingMode=0
  190. EGP:egpDrawTopLeft(1)
  191. #EGP:egpBox(1,vec2(0,85),vec2(512,335))
  192. #EGP:egpBox(1,vec2(0,89),vec2(512,327))
  193. EGP:egpMaterial(1,"np2")
  194. #EGP:egpBox(2,vec2(58,285),vec2(72,120))
  195. #EGP:egpMaterial(2,"image0")
  196. EGP:egpBoxOutline(2,vec2(1,85),vec2(511,334))
  197. EGP:egpBoxOutline(3,vec2(8,92),vec2(83,178))
  198. EGP:egpBoxOutline(4,vec2(6,362),vec2(162,50))
  199. 4.8
  200. EGP:egpLine(5,vec2(162,362),vec2(162,412))
  201. for(I=1,9)
  202. {
  203. EGP:egpLine(5+I,vec2(162,362+I*5),vec2(167,362+I*5))
  204. }
  205. #
  206. EGP:egpBoxOutline(17,vec2(170,362),vec2(67,50))
  207. EGP:egpLine(410,vec2(170,378),vec2(236,378))
  208. EGP:egpLine(411,vec2(170,395),vec2(236,395))
  209. #
  210. for(I=0,8){EGP:egpBox(18+I,vec2(441,93+I*45),vec2(64,43))}
  211. EGP:egpBoxOutline(27,vec2(95,92),vec2(323,267))
  212. for(I=0,8)
  213. {
  214. #if(C==1)
  215. #{
  216. if(I<8){EGP:egpBoxOutline(28+I,vec2(441,89+I*41),vec2(65,38))}
  217. if(I==8){EGP:egpBoxOutline(28+I,vec2(353,89+7*41),vec2(65,38))}
  218. EGP:egpAlpha(35)
  219. EGP:egpAlpha(35)
  220. #}else
  221. #{
  222. #EGP:egpBoxOutline(28+I,vec2(441,89+I*41.5),vec2(65,38))}
  223. }
  224. EGP:egpBox(37,vec2(95,92),vec2(14,17))
  225. EGP:egpBox(38,vec2(402,92),vec2(14,17))
  226. EGP:egpBox(39,vec2(95,342),vec2(14,17))
  227. EGP:egpBox(40,vec2(402,342),vec2(14,17))
  228. EGP:egpLine(41,vec2(95,108),vec2(185,108))
  229. EGP:egpLine(42,vec2(416,108),vec2(326,108))
  230. EGP:egpLine(43,vec2(416,341),vec2(326,341))
  231. EGP:egpLine(44,vec2(95,341),vec2(185,341))
  232. EGP:egpLine(45,vec2(229,224),vec2(283,224))
  233. EGP:egpLine(46,vec2(255,196),vec2(255,253))
  234. #
  235. EGP:egpLine(47,vec2(95,143),vec2(137,143))
  236. EGP:egpLine(48,vec2(137,143),vec2(158,122))
  237. EGP:egpLine(49,vec2(158,122),vec2(165,122))
  238. #
  239. EGP:egpLine(50,vec2(95,200),vec2(125,200))
  240. #
  241. EGP:egpLine(51,vec2(95,257),vec2(118,257))
  242. EGP:egpLine(52,vec2(118,257),vec2(130,292))
  243. EGP:egpLine(53,vec2(130,292),vec2(138,292))
  244. #
  245. EGP:egpLine(54,vec2(416,143),vec2(374,143))
  246. EGP:egpLine(55,vec2(374,143),vec2(353,122))
  247. EGP:egpLine(56,vec2(353,122),vec2(346,122))
  248. #
  249. EGP:egpLine(57,vec2(416,200),vec2(386,200))
  250. #
  251. EGP:egpLine(58,vec2(416,257),vec2(393,257))
  252. EGP:egpLine(59,vec2(393,257),vec2(381,292))
  253. EGP:egpLine(60,vec2(381,292),vec2(374,292))
  254. EGP:egpLine(61,vec2(6,275),vec2(6,357))
  255. EGP:egpLine(62,vec2(90,275),vec2(90,357))
  256. EGP:egpLine(63,vec2(9,284),vec2(9,290))
  257. EGP:egpLine(64,vec2(9,341),vec2(9,347))
  258. EGP:egpLine(65,vec2(84,284),vec2(84,290))
  259. EGP:egpLine(66,vec2(84,341),vec2(84,347))
  260. EGP:egpLine(67,vec2(25,275),vec2(36,275))
  261. EGP:egpLine(68,vec2(59,275),vec2(70,275))
  262. EGP:egpLine(69,vec2(25,356),vec2(36,356))
  263. EGP:egpLine(70,vec2(59,356),vec2(70,356))
  264. #
  265. EGP:egpLine(71,vec2(25,283),vec2(36,283))
  266. EGP:egpLine(72,vec2(36,283),vec2(45,292))
  267. EGP:egpLine(73,vec2(45,292),vec2(45,305))
  268. EGP:egpLine(74,vec2(45,305),vec2(36,314))
  269. EGP:egpLine(75,vec2(36,314),vec2(25,314))
  270. EGP:egpLine(76,vec2(25,314),vec2(16,305))
  271. EGP:egpLine(77,vec2(16,305),vec2(16,292))
  272. EGP:egpLine(78,vec2(16,292),vec2(25,283))
  273. #
  274. EGP:egpLine(79,vec2(58,283),vec2(69,283))
  275. EGP:egpLine(80,vec2(69,283),vec2(78,292))
  276. EGP:egpLine(81,vec2(78,292),vec2(78,305))
  277. EGP:egpLine(82,vec2(78,305),vec2(69,314))
  278. EGP:egpLine(83,vec2(69,314),vec2(58,314))
  279. EGP:egpLine(84,vec2(58,314),vec2(49,305))
  280. EGP:egpLine(85,vec2(49,305),vec2(49,292))
  281. EGP:egpLine(86,vec2(49,292),vec2(58,283))
  282. #
  283. EGP:egpLine(87,vec2(58,316),vec2(69,316))
  284. EGP:egpLine(88,vec2(69,316),vec2(78,325))
  285. EGP:egpLine(89,vec2(78,325),vec2(78,338))
  286. EGP:egpLine(90,vec2(78,338),vec2(69,347))
  287. EGP:egpLine(91,vec2(69,347),vec2(58,347))
  288. EGP:egpLine(92,vec2(58,347),vec2(49,338))
  289. EGP:egpLine(93,vec2(49,338),vec2(49,325))
  290. EGP:egpLine(94,vec2(49,325),vec2(58,316))
  291. #
  292. EGP:egpLine(95,vec2(25,316),vec2(36,316))
  293. EGP:egpLine(96,vec2(36,316),vec2(45,325))
  294. EGP:egpLine(97,vec2(45,325),vec2(45,338))
  295. EGP:egpLine(98,vec2(45,338),vec2(36,347))
  296. EGP:egpLine(99,vec2(36,347),vec2(25,347))
  297. EGP:egpLine(100,vec2(25,347),vec2(16,338))
  298. EGP:egpLine(101,vec2(16,338),vec2(16,325))
  299. EGP:egpLine(102,vec2(16,325),vec2(25,316))
  300. #
  301. EGP:egpLine(103,vec2(30,275),vec2(30,283))
  302. EGP:egpLine(104,vec2(64,275),vec2(64,283))
  303. EGP:egpLine(105,vec2(30,356),vec2(30,347))
  304. EGP:egpLine(106,vec2(64,356),vec2(64,347))
  305.  
  306. EGP:egpCircleOutline(107,vec2(256,225),vec2(100,100))
  307. #
  308. #[for(I=0,6)
  309. {
  310. I2=I2+1
  311. EGP:egpCircleOutline(108+I,vec2(256,225),vec2(123+I/2,123+I/2))
  312. }]#
  313.  
  314. EGP:egpCircleOutline(108,vec2(256,225),vec2(126,126))
  315. EGP:egpSize(108,3)
  316. EGP:egpFidelity(108,36)
  317. EGP:egpCircleOutline(109,vec2(256,225),vec2(126,126))
  318. EGP:egpSize(109,3) EGP:egpAngle(109,46)
  319. EGP:egpFidelity(109,36)
  320.  
  321. #EGP:egpCircleOutline(108,vec2(256,225),vec2(125,125))
  322. #EGP:egpCircleOutline(109,vec2(256,225),vec2(125,126))
  323. #EGP:egpCircleOutline(110,vec2(256,225),vec2(126,127))
  324. #EGP:egpCircleOutline(111,vec2(256,225),vec2(126,127))
  325. #EGP:egpCircleOutline(112,vec2(256,225),vec2(127,127))
  326. #EGP:egpCircleOutline(113,vec2(256,225),vec2(127,128))
  327. #EGP:egpCircleOutline(114,vec2(256,225),vec2(128,128))
  328. EGP:egpCircleOutline(110,vec2(256,225),vec2(103,103))
  329. EGP:egpCircleOutline(111,vec2(256,225),vec2(113,113))
  330. #
  331. for(I=1,40){
  332. EGP:egpLine(112+I,vec2(sin(180-(360/40)*I),cos(180-(360/40)*I))*100.3,vec2(sin(180-(360/40)*I),cos(180-(360/40)*I))*127)
  333. #EGP:egpSize(156+I,2)
  334. EGP:egpParent(112+I,108)} EGP:egpAngle(108,4.6)
  335. for(I=1,40){
  336. EGP:egpLine(154+I,vec2(sin(180-(360/40)*I),cos(180-(360/40)*I))*104.3,vec2(sin(180-(360/40)*I),cos(180-(360/40)*I))*114.3)
  337. EGP:egpSize(154+I,1)
  338. #if(NewCol){EGP:egpColor(154+I,vec(208,208,144))} if(!NewCol){EGP:egpColor(154+I,vec(255,255,255))}
  339. EGP:egpParent(154+I,110)} EGP:egpAngle(110,4.6) EGP:egpAngle(111,4.6)
  340. #interval(100)
  341. #ANG++
  342. #chev1
  343. EGP:egpBox(202,vec2(336,125),vec2(6,6))
  344. EGP:egpAngle(202,-35)
  345. EGP:egpTriangle(203,vec2(-3,3),vec2(3,3),vec2(0,7))
  346. EGP:egpParent(203,202)
  347. EGP:egpBox(204,vec2(325,139),vec2(5,5))
  348. EGP:egpAlpha(204,0)
  349. EGP:egpLine(205,vec2(-3,-19),vec2(-8,4))
  350. EGP:egpLine(206,vec2(-8,3),vec2(-4,7))
  351. EGP:egpLine(207,vec2(-4,7),vec2(15,-3))
  352. EGP:egpLine(208,vec2(15,-3),vec2(11,-7))
  353. EGP:egpLine(209,vec2(11,-7),vec2(3,-2))
  354. EGP:egpLine(210,vec2(3,-2),vec2(-1,-5))
  355. EGP:egpLine(211,vec2(-1,-5),vec2(2,-15))
  356. EGP:egpLine(212,vec2(2,-15),vec2(-3,-19))
  357. for(I=1,8){EGP:egpParent(204+I,204)}
  358. #chev2
  359. EGP:egpBox(213,vec2(382,200),vec2(6,6))
  360. EGP:egpAngle(213,-75)
  361. EGP:egpTriangle(214,vec2(-3,3),vec2(3,3),vec2(0,7))
  362. EGP:egpParent(214,213)
  363. EGP:egpBox(215,vec2(365,205),vec2(5,5))
  364. EGP:egpAlpha(215,0)
  365. EGP:egpLine(216,vec2(-3,-19),vec2(-8,4))
  366. EGP:egpLine(217,vec2(-8,3),vec2(-4,7))
  367. EGP:egpLine(218,vec2(-4,7),vec2(15,-3))
  368. EGP:egpLine(219,vec2(15,-3),vec2(11,-7))
  369. EGP:egpLine(220,vec2(11,-7),vec2(3,-2))
  370. EGP:egpLine(221,vec2(3,-2),vec2(-1,-5))
  371. EGP:egpLine(222,vec2(-1,-5),vec2(2,-15))
  372. EGP:egpLine(223,vec2(2,-15),vec2(-3,-19))
  373. EGP:egpAngle(215,-40)
  374. for(I=1,8){EGP:egpParent(215+I,215)}
  375. #chev3
  376. EGP:egpBox(224,vec2(368,287),vec2(6,6))
  377. EGP:egpAngle(224,-110)
  378. EGP:egpTriangle(225,vec2(-3,3),vec2(3,3),vec2(0,7))
  379. EGP:egpParent(225,224)
  380. EGP:egpBox(226,vec2(354,281),vec2(5,5))
  381. EGP:egpAlpha(226,0)
  382. EGP:egpLine(227,vec2(-3,-19),vec2(-8,4))
  383. EGP:egpLine(228,vec2(-8,3),vec2(-4,7))
  384. EGP:egpLine(229,vec2(-4,7),vec2(15,-3))
  385. EGP:egpLine(230,vec2(15,-3),vec2(11,-7))
  386. EGP:egpLine(231,vec2(11,-7),vec2(3,-2))
  387. EGP:egpLine(232,vec2(3,-2),vec2(-1,-5))
  388. EGP:egpLine(233,vec2(-1,-5),vec2(2,-15))
  389. EGP:egpLine(234,vec2(2,-15),vec2(-3,-19))
  390. EGP:egpAngle(226,-80)
  391. for(I=1,8){EGP:egpParent(226+I,226)}
  392. #chev4
  393. EGP:egpBox(235,vec2(146,293),vec2(6,6))
  394. EGP:egpAngle(235,-240)
  395. EGP:egpTriangle(236,vec2(-3,3),vec2(3,3),vec2(0,7))
  396. EGP:egpParent(236,235)
  397. EGP:egpBox(237,vec2(162,282),vec2(5,5))
  398. EGP:egpAlpha(237,0)
  399. EGP:egpLine(238,vec2(-3,-19),vec2(-8,4))
  400. EGP:egpLine(239,vec2(-8,3),vec2(-4,7))
  401. EGP:egpLine(240,vec2(-4,7),vec2(15,-3))
  402. EGP:egpLine(241,vec2(15,-3),vec2(11,-7))
  403. EGP:egpLine(242,vec2(11,-7),vec2(3,-2))
  404. EGP:egpLine(243,vec2(3,-2),vec2(-1,-5))
  405. EGP:egpLine(244,vec2(-1,-5),vec2(2,-15))
  406. EGP:egpLine(245,vec2(2,-15),vec2(-3,-19))
  407. EGP:egpAngle(237,-198)
  408. for(I=1,8){EGP:egpParent(237+I,237)}
  409. #chev5
  410. EGP:egpBox(246,vec2(130,206),vec2(6,6))
  411. EGP:egpAngle(246,-280)
  412. EGP:egpTriangle(247,vec2(-3,3),vec2(3,3),vec2(0,7))
  413. EGP:egpParent(247,246)
  414. EGP:egpBox(248,vec2(147,208),vec2(5,5))
  415. EGP:egpAlpha(248,0)
  416. EGP:egpLine(249,vec2(-3,-19),vec2(-8,4))
  417. EGP:egpLine(250,vec2(-8,3),vec2(-4,7))
  418. EGP:egpLine(251,vec2(-4,7),vec2(15,-3))
  419. EGP:egpLine(252,vec2(15,-3),vec2(11,-7))
  420. EGP:egpLine(253,vec2(11,-7),vec2(3,-2))
  421. EGP:egpLine(254,vec2(3,-2),vec2(-1,-5))
  422. EGP:egpLine(255,vec2(-1,-5),vec2(2,-15))
  423. EGP:egpLine(256,vec2(2,-15),vec2(-3,-19))
  424. EGP:egpAngle(248,-240)
  425. for(I=1,8){EGP:egpParent(248+I,248)}
  426. #chev6
  427. EGP:egpBox(257,vec2(172,129),vec2(6,6))
  428. EGP:egpAngle(257,-320)
  429. EGP:egpTriangle(258,vec2(-3,3),vec2(3,3),vec2(0,7))
  430. EGP:egpParent(258,257)
  431. EGP:egpBox(259,vec2(184,141),vec2(5,5))
  432. EGP:egpAlpha(259,0)
  433. EGP:egpLine(260,vec2(-3,-19),vec2(-8,4))
  434. EGP:egpLine(261,vec2(-8,3),vec2(-4,7))
  435. EGP:egpLine(262,vec2(-4,7),vec2(15,-3))
  436. EGP:egpLine(263,vec2(15,-3),vec2(11,-7))
  437. EGP:egpLine(264,vec2(11,-7),vec2(3,-2))
  438. EGP:egpLine(265,vec2(3,-2),vec2(-1,-5))
  439. EGP:egpLine(266,vec2(-1,-5),vec2(2,-15))
  440. EGP:egpLine(267,vec2(2,-15),vec2(-3,-19))
  441. EGP:egpAngle(259,-280)
  442. for(I=1,8){EGP:egpParent(259+I,259)}
  443. #chev7
  444. EGP:egpBox(268,vec2(253,96),vec2(6,6))
  445. EGP:egpTriangle(269,vec2(-3,3),vec2(3,3),vec2(0,9))
  446. EGP:egpParent(269,268)
  447. EGP:egpLine(270,vec2(260,108),vec2(262,101))
  448. EGP:egpLine(271,vec2(262,102),vec2(271,102))
  449. EGP:egpLine(272,vec2(271,102),vec2(264,122))
  450. EGP:egpLine(273,vec2(264,122),vec2(258,111))
  451. EGP:egpLine(274,vec2(251,108),vec2(249,101))
  452. EGP:egpLine(275,vec2(250,102),vec2(239,102))
  453. EGP:egpLine(276,vec2(239,102),vec2(248,122))
  454. EGP:egpLine(277,vec2(248,122),vec2(252,111))
  455. #chev8
  456. EGP:egpBox(278,vec2(303,345),vec2(6,6))
  457. EGP:egpAngle(278,-160)
  458. EGP:egpTriangle(279,vec2(-3,3),vec2(3,3),vec2(0,7))
  459. EGP:egpParent(279,278)
  460. EGP:egpBox(280,vec2(296,330),vec2(5,5))
  461. EGP:egpAlpha(280,0)
  462. EGP:egpLine(281,vec2(-3,-19),vec2(-8,4))
  463. EGP:egpLine(282,vec2(-8,3),vec2(-4,7))
  464. EGP:egpLine(283,vec2(-4,7),vec2(15,-3))
  465. EGP:egpLine(284,vec2(15,-3),vec2(11,-7))
  466. EGP:egpLine(285,vec2(11,-7),vec2(3,-2))
  467. EGP:egpLine(286,vec2(3,-2),vec2(-1,-5))
  468. EGP:egpLine(287,vec2(-1,-5),vec2(2,-15))
  469. EGP:egpLine(288,vec2(2,-15),vec2(-3,-19))
  470. EGP:egpAngle(280,-120)
  471. for(I=1,8){EGP:egpParent(280+I,280)}
  472. #chev9
  473. EGP:egpBox(289,vec2(214,346),vec2(6,6))
  474. EGP:egpAngle(289,-200)
  475. EGP:egpTriangle(290,vec2(-3,3),vec2(3,3),vec2(0,7))
  476. EGP:egpParent(290,289)
  477. EGP:egpBox(291,vec2(220,330),vec2(5,5))
  478. EGP:egpAlpha(291,0)
  479. EGP:egpLine(292,vec2(-3,-19),vec2(-8,4))
  480. EGP:egpLine(293,vec2(-8,3),vec2(-4,7))
  481. EGP:egpLine(294,vec2(-4,7),vec2(15,-3))
  482. EGP:egpLine(295,vec2(15,-3),vec2(11,-7))
  483. EGP:egpLine(296,vec2(11,-7),vec2(3,-2))
  484. EGP:egpLine(297,vec2(3,-2),vec2(-1,-5))
  485. EGP:egpLine(298,vec2(-1,-5),vec2(2,-15))
  486. EGP:egpLine(299,vec2(2,-15),vec2(-3,-19))
  487. EGP:egpAngle(291,-160)
  488. for(I=1,8){EGP:egpParent(291+I,291)}
  489. for(I=0,2){EGP:egpBox(300+I,vec2(26,292+I*6),vec2(3,3))}
  490. for(I=0,2){EGP:egpBox(303+I,vec2(31,292+I*6),vec2(3,3))}
  491. for(I=0,2){EGP:egpBox(306+I,vec2(36,292+I*6),vec2(3,3))}
  492. for(I=0,2){EGP:egpBox(309+I,vec2(59,292+I*6),vec2(3,3))}
  493. for(I=0,2){EGP:egpBox(312+I,vec2(64,292+I*6),vec2(3,3))}
  494. for(I=0,2){EGP:egpBox(315+I,vec2(69,292+I*6),vec2(3,3))}
  495. for(I=0,2){EGP:egpBox(318+I,vec2(26,325+I*6),vec2(3,3))}
  496. for(I=0,2){EGP:egpBox(321+I,vec2(31,325+I*6),vec2(3,3))}
  497. for(I=0,2){EGP:egpBox(324+I,vec2(36,325+I*6),vec2(3,3))}
  498. for(I=0,2){EGP:egpBox(327+I,vec2(59,325+I*6),vec2(3,3))}
  499. for(I=0,2){EGP:egpBox(330+I,vec2(64,325+I*6),vec2(3,3))}
  500. for(I=0,2){EGP:egpBox(333+I,vec2(69,325+I*6),vec2(3,3))}
  501. for(I=0,7){EGP:egpBox(343+I,vec2(170+I*8.2,364),vec2(8,15))}
  502. for(I=0,7){EGP:egpBox(351+I,vec2(170+I*8.2,379),vec2(8,16))}
  503. for(I=0,7){EGP:egpBox(359+I,vec2(170+I*8.2,397),vec2(8,15))}
  504. for(I=0,6)
  505. {
  506. EGP:egpLine(336+I,vec2(178+I*8,362),vec2(178+I*8,412))
  507. }
  508. for(I=0,8){
  509. EGP:egpText(367+I,"#",vec2(473,115+45*I))
  510. EGP:egpAlign(367+I,1,1)
  511. EGP:egpFont(367+I,"Stargate Address Glyphs Concept",35)
  512. }
  513. for(I=0,8){
  514. EGP:egpText(378+I,toString(I+1),vec2(430,120+45*I))
  515. EGP:egpAlign(378+I,1,1)
  516. EGP:egpAlpha(378+I,0)
  517. EGP:egpFont(378+I,"Marlett",30)
  518. }
  519. for(I=0,8){
  520. EGP:egpBox(394+I,vec2(23+I*17,411),vec2(14,47))
  521. EGP:egpAngle(394+I,180)
  522. EGP:egpMaterial(394+I,"gui/gradient_up")
  523. }
  524. for(I=0,16){
  525. #EGP:egpText(412+I,toString(RandNum[I,number]),vec2(8,92+45*I))
  526. EGP:egpText(412+I,RandNum[I+1,string],vec2(86,101+10*I))
  527. EGP:egpAlign(412+I,2,1)
  528. EGP:egpFont(412+I,"Marlett",13)
  529. }
  530. EGP:egpText(408,"",vec2(260,110+1*1.06))
  531. EGP:egpFont(408,"Stargate Address Glyphs Concept",100)
  532. EGP:egpAlign(408,1,1)
  533. EGP:egpBoxOutline(393,vec2(-4,0),vec2(0,0))
  534. EGP:egpParent(393,408)
  535. EGP:egpText(387,"",vec2())
  536. EGP:egpText(388,"",vec2())
  537. EGP:egpAlign(387,1,1)
  538. EGP:egpFont(387,"Marlett")
  539. EGP:egpFont(388,"Marlett")
  540. EGP:egpAlign(388,1,1)
  541. EGP:egpBox(389,vec2(98,95),vec2(43,45))
  542. EGP:egpBox(390,vec2(374,95),vec2(43,45))
  543. EGP:egpBox(391,vec2(98,312),vec2(43,45))
  544. EGP:egpBox(392,vec2(374,312),vec2(43,45))
  545. EGP:egpColor(389,vec(255,0,0))
  546. EGP:egpColor(390,vec(255,0,0))
  547. EGP:egpColor(391,vec(255,0,0))
  548. EGP:egpColor(392,vec(255,0,0))
  549. EGP:egpBox(403,vec2(124,153),vec2(264,133))
  550. EGP:egpColor(403,vec(0,0,0))
  551. EGP:egpBoxOutline(404,vec2(124,153),vec2(264,133))
  552. EGP:egpText(405,"INPUT",vec2(256,179))
  553. EGP:egpAlign(405,1,1)
  554. EGP:egpFont(405,"Marlett",55)
  555. EGP:egpText(406,"ACCEPTED",vec2(256,223))
  556. EGP:egpAlign(406,1,1)
  557. EGP:egpFont(406,"Marlett",53)
  558. EGP:egpText(407,"CORRECT ENTRY",vec2(256,265))
  559. EGP:egpAlign(407,1,1)
  560. EGP:egpFont(407,"Marlett",27)
  561. EGP:egpColor(407,vec(200,200,200))
  562. EGP:egpAlpha(403,0)
  563. EGP:egpAlpha(404,0)
  564. EGP:egpAlpha(405,0)
  565. EGP:egpAlpha(406,0)
  566. EGP:egpText(409,DType[0,string],vec2(256,75))
  567. EGP:egpAlign(409,1,1)
  568. EGP:egpFont(409,"Marlett",30)
  569. timer("draw",100)
  570. }
  571. if(~NewCol){timer("draw",1)}
  572. if(clk("draw")&egpMaxObjects()>=440){
  573. if(NewCol){EGP:egpColor(409,vec(0,153,154))}
  574. if(!NewCol){EGP:egpColor(409,vec(0,153,184))}
  575. EGP:egpColor(35,vec(255,0,0))
  576. EGP:egpColor(36,vec(255,0,0))
  577. if(!NewCol){
  578. EGP:egpColor(410,vec(0,153,184))
  579. EGP:egpColor(411,vec(0,153,184))
  580. for(I=2,428)
  581. {
  582. if(I<=17|(I>26&I<110)|(I>111&I<154)|(I>17&I<28)|(I>34&I<37)|(I>335&I<343)){EGP:egpColor(I,vec(0,153,184))}
  583. if((I>109&I<112)|(I>153&I<200)|(I>=202&I<336)|(I>411&I<429)){EGP:egpColor(I,vec(255,255,255))}
  584. if((I>17&I<27)){EGP:egpColor(I,vec(12,96,104))}
  585. if(I>393&I<403){EGP:egpColor(I,vec(0,153,184))}
  586. }
  587. }
  588. if(NewCol){
  589. EGP:egpColor(410,vec(0,153,154))
  590. EGP:egpColor(411,vec(0,153,154))
  591. for(I=2,428)
  592. {
  593. if(I<=17|(I>26&I<110)|(I>111&I<154)|(I>34&I<37)|(I>335&I<343)|(I>411&I<429)){EGP:egpColor(I,vec(0,153,154))}
  594. if((I>109&I<112)|(I>153&I<200)|(I>=202&I<336)){EGP:egpColor(I,vec(208,208,144))}
  595. if((I>17&I<27)){EGP:egpColor(I,vec(12,94,76))}
  596. if(I>393&I<403){EGP:egpColor(I,vec(0,153,154))}
  597. }
  598. }
  599. }
  600. if(clk("Loaded")&egpMaxObjects()<440&!IDsOverride){
  601. Loaded=-1
  602. print("This chip needs 440 ID's. This server have "+egpMaxObjects()+" ID's")
  603. print("This chip needs more than 13000 BPS. This server have "+egpMaxUmsgPerSecond()+" BPS")
  604. hint("This chip needs 440 ID's. This server have "+egpMaxObjects()+" ID's",10)
  605. hint("This chip needs more than 13000 BPS. This server have "+egpMaxUmsgPerSecond()+" BPS",10)
  606. EGP:egpClear()
  607. EGP:egpDrawTopLeft(1)
  608. EGP:egpBox(1,vec2(0,0),vec2(512,512))
  609. EGP:egpColor(1,vec(255,255,255))
  610. EGP:egpBoxOutline(2,vec2(0,0),vec2(512,512))
  611. EGP:egpColor(2,vec(255,0,0))
  612. EGP:egpSize(2,20)
  613. EGP:egpText(3,"WARNING!",vec2(256,64))
  614. EGP:egpAlign(3,1,1)
  615. EGP:egpFont(3,"Marlett",100)
  616. EGP:egpColor(3,vec(255,0,0))
  617. EGP:egpText(4,"SERVER HAVE ONLY "+egpMaxObjects()+" ID's!",vec2(256,112))
  618. EGP:egpAlign(4,1,1)
  619. EGP:egpFont(4,"Marlett",35)
  620. EGP:egpColor(4,vec(255,0,0))
  621. EGP:egpText(5,"YOU NEED A 440 ID's!",vec2(256,138))
  622. EGP:egpAlign(5,1,1)
  623. EGP:egpFont(5,"Marlett",35)
  624. EGP:egpColor(5,vec(255,0,0))
  625. EGP:egpText(6,"NEED ENTER A:",vec2(256,168))
  626. EGP:egpAlign(6,1,1)
  627. EGP:egpFont(6,"Marlett",35)
  628. EGP:egpColor(6,vec(255,0,0))
  629. EGP:egpText(7,"wire_egp_max_objects 440",vec2(256,191))
  630. EGP:egpAlign(7,1,1)
  631. EGP:egpFont(7,"Marlett",35)
  632. EGP:egpColor(7,vec(255,0,0))
  633. EGP:egpText(8,"IN SERVER OR SINGLEPLAYER",vec2(256,222))
  634. EGP:egpAlign(8,1,1)
  635. EGP:egpFont(8,"Marlett",35)
  636. EGP:egpColor(8,vec(255,0,0))
  637. EGP:egpText(9,"CONSOLE",vec2(256,248))
  638. EGP:egpAlign(9,1,1)
  639. EGP:egpFont(9,"Marlett",35)
  640. EGP:egpColor(9,vec(255,0,0))
  641. EGP:egpTriangle(10,vec2(256,320),vec2(160,480),vec2(352,480))
  642. EGP:egpColor(10,vec(0,0,0))
  643. EGP:egpText(11,"!",vec2(256,420))
  644. EGP:egpAlign(11,1,1)
  645. EGP:egpFont(11,"Marlett",255)
  646. EGP:egpColor(11,vec(255,0,0))
  647. timer("warning",500)
  648. }
  649. if(clk("warning")){EGP:egpAlpha(3,0) EGP:egpAlpha(10,0) EGP:egpAlpha(11,0) timer("warning2",500)}
  650. if(clk("warning2")){EGP:egpAlpha(3,255) EGP:egpAlpha(10,255) EGP:egpAlpha(11,255) timer("warning",500)}
  651. if(Loaded==2){
  652. if(($Active|changed(Unstable))&Active&!Unstable){Cond=0.3} if(($Active|changed(Unstable))&!Unstable&!Active|clk("Loaded")){Cond=0.7}
  653. if(($Active|changed(Unstable))&Active&!Unstable){Cond2=0.6} if(($Active|changed(Unstable))&!Unstable&!Active|clk("Loaded")){Cond2=0.9}
  654. if(changed(Time)&Time>0){OvSec=toString( Time % 60)} if(changed(Time)&Time<=0){OvSec="00"}
  655. if(changed(Time)&Time>0){OvMin=toString(floor(Time/60))} if(changed(Time)&Time<=0){OvMin="00"}
  656. if(changed(Time)&OvMin:length()==1){OvMin="0"+OvMin}
  657. if(changed(Time)&OvSec:length()==1){OvSec="0"+OvSec}
  658. if(~Key&Key&Key!=127){
  659. if(EnteredAdress:length()<9&!Active){if((ChrA:find(toChar(Key))&!EnteredAdress:find(toChar(Key):upper())&toChar(Key)!="#"&!EnteredAdress:find("#"))|(ChrA:find(toChar(Key))&toChar(Key)=="#"&EnteredAdress:length()>5&EnteredAdress:length()<9&!EnteredAdress:find("#"))){
  660. EnteredAdress+=toChar(Key):upper()}}
  661. } if(~Key&Key==127&!Active){CHKRM=1 EnteredAdress=EnteredAdress:left(EnteredAdress:length()-1) timer("CHKRM",500)}
  662. if(~Key&Key!=127&!Active){CHKRM=0 stoptimer("CHKRM")}
  663. if(clk("CHKRM")){EnteredAdress=""}
  664. if(changed(AddressBook)&AddressBook:length()>0&!Active&EnteredAdress!=AddressBook){EnteredAdress=AddressBook AdrBlock=1} if(changed(AddressBook)&AddressBook:length()==0|Active){AdrBlock=0}
  665. if(changed(AddressBook)&AddressBook:length()>0&!Active&EnteredAdress==AddressBook&!AdrBlock){DialString=EnteredAdress timer("SSDT",100)}
  666. if(~Key&Key==13&!Correct&EnteredAdress:length()>5&EnteredAdress:length()<9&!EnteredAdress:find("#")){EnteredAdress=EnteredAdress+"#"}
  667. if(~Key&((Key==13&Correct)|Key==124)){DialString=EnteredAdress}
  668. if(~Key&(Key==13&Correct)|Key==124){EnteredAdress="" timer("SSDT",100)} if(clk("SSDT")){StartStringDial=1 EnteredAdress="" timer("SSDT1",100)} if(clk("SSDT1")){StartStringDial=0}
  669. if(~Key&Key==127&Active){Close=1} if(~Key&Key!=127){Close=0}
  670. if(~Key&Key==61){Iris=1}else{Iris=0}
  671. if(~Key&Key==129){DialingMode=0}
  672. if(~Key&Key==130){DialingMode=1}
  673. if(~Key&Key==131){DialingMode=2}
  674. if(~Key&Key==9&((KeyUser==owner()&->KeyUser)|(!->KeyUser))){RB++ timer("RBTR",500) if(RB==2){timer("shutdown",1) Loaded=-1 RB=0 RBT=1}}
  675. if(clk("RBTR")&RB>0){RB=0}
  676. if((~Key|clk("CHKRM")|changed(AddressBook)|clk("Loaded"))&!Active){for(I=0,8){EGP:egpSetText(367+I,EnteredAdress[I+1])}}
  677. if($Active&Active){EnteredAdress="" for(I=0,8){EGP:egpSetText(367+I,EnteredAdress[I+1])}}
  678. if(clk("Loaded")){timer("kvadratiki1",200) timer("kvadratiki2",500) timer("RC",50)
  679. for(I=0,8)
  680. {
  681. EGP:egpBoxOutline(28+I,vec2(441,93+I*45),vec2(65,43))
  682. EGP:egpAlpha(35,0)
  683. EGP:egpAlpha(36,0)
  684. }}
  685. if($RingRotation&RingRotation){RingStopCheck=0 timer("RC",50)}
  686. if(clk("RSC")&!RingRotation){RingStopCheck=1}
  687. if(clk("RC")&!RingStopCheck){RingAngle=SG:stargateGetRingAngle()+4.6 EGP:egpAngle(110,RingAngle) EGP:egpAngle(111,RingAngle) timer("RC",50) if(RingRotation==0){timer("RSC",1000)}}
  688. #if(RingRotation==1){timer("I3-",100)} if(clk("I3+")){ANG=ANG+2.5 EGP:egpAngle(115,ANG) EGP:egpAngle(116,ANG)}
  689. #if(RingRotation==-1){timer("I3+",100)} if(clk("I3-")){ANG=ANG-2.5 EGP:egpAngle(115,ANG) EGP:egpAngle(116,ANG)}
  690. if(clk("kvadratiki1")){
  691. Time=SG:stargateOverloadTime()
  692. Unstable=SG:stargateUnstable()
  693. Overload=SG:stargateOverload()
  694. OvPercent=SG:stargateOverloadPerc()
  695. if(Unstable){Cond2=0.7 Cond=0.7}
  696. if(!B1) {Alpha3=Alpha3-60}
  697. if(B1) {Alpha3=Alpha3+60}
  698. if(Alpha3>=240){ B1=0 }
  699. if(Alpha3<=0){ B1=1 }
  700. EGP:egpAlpha(387,Alpha3)
  701. EGP:egpAlpha(388,Alpha3)
  702. if($Open&Active&Open&!Inbound){ EGP:egpAlpha(391,0) EGP:egpAlpha(392,0)}
  703. if(Active&Open&!Inbound){EGP:egpAlpha(389,Alpha3) EGP:egpAlpha(390,Alpha3)
  704. }elseif(Active&Inbound){ EGP:egpAlpha(389,Alpha3) EGP:egpAlpha(390,Alpha3) EGP:egpAlpha(391,Alpha3) EGP:egpAlpha(392,Alpha3)}
  705. if(($Active|$Open|!Inbound)&!Open&!Inbound){ EGP:egpAlpha(389,0) EGP:egpAlpha(390,0) EGP:egpAlpha(391,0) EGP:egpAlpha(392,0)}
  706. if(Correct){EGP:egpAlpha(407,Alpha3)}else{EGP:egpAlpha(407,0)}
  707. EGP:egpAlpha(431,Alpha3)
  708. if(Active){
  709. if(random()>0.3&G1<48){G1=G1+random(13,15)} if(G1>47){G1=0}
  710. if(random()>0.3&G2<48){G2=G2+random(13,15)} if(G2>47){G2=0}
  711. if(random()>0.3&G3<48){G3=G3+random(13,15)} if(G3>47){G3=0}
  712. if(random()>0.3&G4<48){G4=G4+random(13,15)} if(G4>47){G4=0}
  713. if(random()>0.3&G5<48){G5=G5+random(13,15)} if(G5>47){G5=0}
  714. if(random()>0.3&G6<48){G6=G6+random(13,15)} if(G6>47){G6=0}
  715. if(random()>0.3&G7<48){G7=G7+random(13,15)} if(G7>47){G7=0}
  716. if(random()>0.3&G8<48){G8=G8+random(13,15)} if(G8>47){G8=0}
  717. if(random()>0.3&G9<48){G9=G9+random(13,15)} if(G9>47){G9=0}}
  718. else{G1=0 G2=0 G3=0 G4=0 G5=0 G6=0 G7=0 G8=0 G9=0}
  719. EGP:egpSize(394,vec2(14,G1))
  720. EGP:egpSize(395,vec2(14,G2))
  721. EGP:egpSize(396,vec2(14,G3))
  722. EGP:egpSize(397,vec2(14,G4))
  723. EGP:egpSize(398,vec2(14,G5))
  724. EGP:egpSize(399,vec2(14,G6))
  725. EGP:egpSize(400,vec2(14,G7))
  726. EGP:egpSize(401,vec2(14,G8))
  727. EGP:egpSize(402,vec2(14,G9))
  728. for(I=300,335){if(random()>Cond){Alpha1=255}else{Alpha1=0} EGP:egpAlpha(I,Alpha1)} timer("kvadratiki1",150)}
  729. if(clk("kvadratiki1")){RandNum:shift() if(Active){IStr = "" N = randint(5,11)
  730. for(I=1,N) {IStr += toString(randint(0,9))}
  731. RandNum:insertString(17, IStr)
  732. }else {RandNum:insertString(17,"")}
  733. for(I=0,16){
  734. #EGP:egpText(412+I,toString(RandNum[I,number]),vec2(8,92+45*I))
  735. EGP:egpSetText(412+I,RandNum[I+1,string])
  736. }}
  737. if(clk("kvadratiki2")){for(I=343,366){if(random()>Cond2){Alpha2=255}else{Alpha2=0} EGP:egpAlpha(I,Alpha2)} timer("kvadratiki2",500)}
  738. if(DialMode==0){
  739. if((DialingSymbol==RingSymbol&RingRotation==0&Chev<101&Chevron<8)|
  740. (DialingSymbol=="#"&RingSymbol=="#"&Chevron<8&Chev<101)|
  741. (DialingSymbol==RingSymbol&Chevron>=8&Chev<101)){
  742. if(($RingRotation&!RingRotation)|(DialingSymbol=="#"&RingSymbol=="#"&Chev==0)|(DialingSymbol==RingSymbol&Chevron>=8&Chev==0)){ EGP:egpSetText(408,"") EGP:egpSize(393,vec2(0,0)) timer("chev",100) EGP:egpAlpha(408,255) EGP:egpAlpha(393,255)}
  743. if(clk("chev")&!AN1){
  744. Chev2=0
  745. EGP:egpSetText(408,RingSymbol)
  746. EGP:egpPos(408,vec2(260,110+Chev*1.06))
  747. EGP:egpSize(408,Chev*1.3)
  748. if(AnotherSound){
  749. if(Chev==0&(DialingSymbol!="#"&Chevron<8)){EGP:entity():soundPlay(2,1,"alexalx/glebqip/dp_locked.wav") soundVolume(2,0.6) timer("enc",1500)}
  750. if(Chev==0&((DialingSymbol=="#"&Chevron<8)|(Chevron>=8))){EGP:entity():soundPlay(2,1,"alexalx/glebqip/dp_locked.wav") soundVolume(2,0.6) timer("enc",1100)} }
  751. if(!AnotherSound){
  752. if(Chev==0&(DialingSymbol!="#"&Chevron<8)){EGP:entity():soundPlay(2,1,"alexalx/glebqip/dp_locking.wav") soundVolume(2,0.6) timer("enc",1500)}
  753. if(Chev==0&((DialingSymbol=="#"&Chevron<8)|(Chevron>=8))){EGP:entity():soundPlay(2,1,"alexalx/glebqip/dp_locking.wav") soundVolume(2,0.6) timer("enc",1100)} }
  754. Chev+=15
  755. local BoxMin=vec2((Chev-5)*3.23,(Chev-5)*2.67)
  756. EGP:egpPos(393,vec2(-4,20)-BoxMin/2)
  757. EGP:egpSize(393,BoxMin)
  758. timer("chev",100)
  759. }}
  760. if(clk("enc")){EGP:entity():soundPlay(2,1,"alexalx/glebqip/dp_locked.wav") soundVolume(2,0.6)}
  761. if(RingSymbol!=""&RingSymbol==DialedSymbol&Chev2<90){
  762. if(changed(DialedSymbol)&RingSymbol!=""&RingSymbol==DialedSymbol&Chev2<90){timer("chev2",100)}
  763. if(clk("chev2")&AN1<2){
  764. Chev=0
  765. AN1=1
  766. Chev2=Chev2+20
  767. EGP:egpSetText(408,RingSymbol)
  768. EGP:egpSize(408,130-Chev2*0.845)
  769. EGP:egpPos(408,vec2(260+Chev2*2.15,216-Chev2*(1.01-0.45*Chevron1)))
  770. local BoxMin2=vec2(307-((Chev2-15)*3.23),254-(Chev2-15)*2.67)
  771. EGP:egpPos(393,vec2(0,0)-BoxMin2/2)
  772. EGP:egpSize(393,BoxMin2)
  773. Alpha4=100-Chev2*1.5 if(Alpha4<0){Alpha4=0}
  774. EGP:egpAlpha(393,Alpha4)
  775. if(Chev2>=90){EGP:entity():soundPlay(1,1,"alexalx/glebqip/dp_encoded.wav") soundVolume(1,0.6) if((DialedSymbol=="#"&Chevron<9)|Chevron==9){timer("compl0",1)} EGP:egpAlpha(393,0) EGP:egpAlpha(408,0) DialingAdress1=DialingAdress1+DialedSymbol AN1=2 Chevron1++ EGP:egpAlpha(408,0) EGP:egpAlpha(393,0)}
  776. timer("chev2",100)
  777. }}}
  778. if($Active&!Active){Chev2=0 Chev=0 AN1=2 EGP:egpAlpha(393,0) EGP:egpAlpha(408,0)}
  779. if($RingRotation&RingRotation!=0){AN1=0}
  780. if(!Inbound&DialMode==0&Active){
  781. if(changed(Chevron1)&Chevron1==1){for(I=0,10){EGP:egpColor(202+I,vec(255,0,0))}}
  782. if(changed(Chevron1)&Chevron1==2){for(I=0,10){EGP:egpColor(213+I,vec(255,0,0))}}
  783. if(changed(Chevron1)&Chevron1==3){for(I=0,10){EGP:egpColor(224+I,vec(255,0,0))}}
  784. if(changed(Chevron1)&Chevron1==4){for(I=0,10){EGP:egpColor(235+I,vec(255,0,0))}}
  785. if(changed(Chevron1)&Chevron1==5){for(I=0,10){EGP:egpColor(246+I,vec(255,0,0))}}
  786. if(changed(Chevron1)&Chevron1==6){for(I=0,10){EGP:egpColor(257+I,vec(255,0,0))}}
  787. if(changed(Chevron1)&ChevronLocked){for(I=0,9){EGP:egpColor(268+I,vec(255,0,0))}}
  788. if(changed(Chevron1)&Chevron1==7&!ChevronLocked){for(I=0,10){EGP:egpColor(278+I,vec(255,0,0))}}
  789. if(changed(Chevron1)&Chevron1==8&!ChevronLocked){for(I=0,10){EGP:egpColor(289+I,vec(255,0,0))}}}
  790. if((Inbound|DialMode!=0)&Active){
  791. if($Chevron&Chevron>=1){for(I=0,10){EGP:egpColor(202+I,vec(255,0,0))}}
  792. if($Chevron&Chevron>=2){for(I=0,10){EGP:egpColor(213+I,vec(255,0,0))}}
  793. if($Chevron&Chevron>=3){for(I=0,10){EGP:egpColor(224+I,vec(255,0,0))}}
  794. if($Chevron&Chevron>=4){for(I=0,10){EGP:egpColor(235+I,vec(255,0,0))}}
  795. if($Chevron&Chevron>=5){for(I=0,10){EGP:egpColor(246+I,vec(255,0,0))}}
  796. if($Chevron&Chevron>=6){for(I=0,10){EGP:egpColor(257+I,vec(255,0,0))}}
  797. if($Chevron&ChevronLocked){for(I=0,9){EGP:egpColor(268+I,vec(255,0,0))}}
  798. if($Chevron&Chevron>=7&!ChevronLocked){for(I=0,10){EGP:egpColor(278+I,vec(255,0,0))}}
  799. if($Chevron&Chevron>=8&!ChevronLocked){for(I=0,10){EGP:egpColor(289+I,vec(255,0,0))}}}
  800. if($Active&!Active){for(I=0,97){if(NewCol){EGP:egpColor(202+I,vec(208,208,144))} if(!NewCol){EGP:egpColor(202+I,vec(255,255,255))}}}
  801. if(changed(Chevron1)&Chevron1>0){if(DialMode==0&!Inbound){EGP:egpSetText(367+Chevron-1,DialingAdress1[Chevron])}}
  802. if(changed(DialingAdress)&Chevron>0){if(DialMode!=0&!Inbound){EGP:egpSetText(367+Chevron-1,DialingAdress[Chevron])}}
  803. if(changed(Chevron1)&!Inbound&DialMode==0&Active){EGP:egpAlpha(378+Chevron1-1,255)}
  804. if($Chevron&Inbound|DialMode!=0&Active){EGP:egpAlpha(378+Chevron-1,255)}
  805. if($Active&Active==0){Chevron1=0 DialingAdress1="" EGP:egpAlpha(366,0) for(I=0,8){EGP:egpSetText(367+I,"") EGP:egpAlpha(378+I,0)}}
  806. #if(!Active){for(I=0,8){EGP:egpAlpha(378+I,0)}}
  807. if(clk("Loaded")|~NewCol){
  808. if(NewCol){Col1=vec(0,153,154)} if(!NewCol){Col1=vec(0,153,184)}
  809. Text1col["000",vector]=Col1
  810. Text2col["000",vector]=Col1
  811. Text1col["010",vector]=Col1
  812. Text2col["010",vector]=Col1
  813. Text1col["0101",vector]=Col1
  814. Text2col["0101",vector]=Col1}
  815. if(clk("Loaded")|$Open|$Active|$Inbound|changed(DialedSymbol)|~NewCol){
  816. if(Active&!Open&!Inbound&(DialedSymbol=="#"|Chevron==9)){A112=toString(Open)+toString(Active)+toString(Inbound)+toString(DialedSymbol=="#"|Chevron==9)}else{A112=toString(Open)+toString(Active)+toString(Inbound)}
  817. EGP:egpSetText(387,Text1[A112,string])
  818. EGP:egpPos(387,Text1pos[A112,vector2])
  819. EGP:egpColor(387,Text1col[A112,vector])
  820. EGP:egpSetText(388,Text2[A112,string])
  821. EGP:egpPos(388,Text2pos[A112,vector2])
  822. EGP:egpColor(388,Text2col[A112,vector])
  823. EGP:egpSize(387,Text1size[A112,number])
  824. EGP:egpSize(388,Text2size[A112,number])
  825. if(Active&Open&!Inbound){
  826. EGP:egpAlpha(389,255)
  827. EGP:egpAlpha(390,255)
  828. EGP:egpPos(389,vec2(243,362)) EGP:egpSize(389,vec2(170,8))
  829. EGP:egpPos(390,vec2(243,404)) EGP:egpSize(390,vec2(170,8))
  830. EGP:egpAlpha(391,0)
  831. EGP:egpAlpha(392,0)
  832. }elseif(Active&Inbound){
  833. EGP:egpAlpha(389,255)
  834. EGP:egpAlpha(390,255)
  835. EGP:egpAlpha(391,255)
  836. EGP:egpAlpha(392,255)
  837. EGP:egpPos(389,vec2(98,95)) EGP:egpSize(389,vec2(43,43))
  838. EGP:egpPos(390,vec2(372,95)) EGP:egpSize(390,vec2(43,45))
  839. EGP:egpPos(391,vec2(98,311)) EGP:egpSize(389,vec2(43,45))
  840. EGP:egpPos(392,vec2(372,311)) EGP:egpSize(390,vec2(43,45))}else{
  841. EGP:egpAlpha(389,0) EGP:egpAlpha(390,0) EGP:egpAlpha(391,0) EGP:egpAlpha(392,0)}}
  842. if($Open){
  843. if(!Open){Min=0}
  844. if(Open){Min=1}
  845. #chev1
  846. EGP:egpPos(202,vec2(336+Min*4,125-Min*4))
  847. EGP:egpPos(204,vec2(325-Min*3,139+Min*3))
  848. #chev2
  849. EGP:egpPos(213,vec2(382+Min*4,200-Min*0))
  850. EGP:egpPos(215,vec2(365-Min*3,205+Min*0))
  851. #chev3
  852. EGP:egpPos(224,vec2(368+Min*4,287-Min*-1))
  853. EGP:egpPos(226,vec2(354-Min*4,281+Min*-1))
  854. #chev4
  855. EGP:egpPos(235,vec2(146-Min*4,293+Min*1))
  856. EGP:egpPos(237,vec2(162+Min*4,282-Min*1))
  857. #chev5
  858. EGP:egpPos(246,vec2(130-Min*4,206))
  859. EGP:egpPos(248,vec2(147+Min*3,208))
  860. #chev6
  861. EGP:egpPos(257,vec2(172-Min*4,129-Min*4))
  862. EGP:egpPos(259,vec2(184+Min*3,141+Min*3))
  863. #chev7
  864. EGP:egpPos(268,vec2(253,96-Min*4))
  865. EGP:egpLine(270,vec2(260,108+Min*3),vec2(262,101+Min*3))
  866. EGP:egpLine(271,vec2(262,102+Min*3),vec2(271,102+Min*3))
  867. EGP:egpLine(272,vec2(271,102+Min*3),vec2(264,122+Min*3))
  868. EGP:egpLine(273,vec2(264,122+Min*3),vec2(258,111+Min*3))
  869. EGP:egpLine(274,vec2(251,108+Min*3),vec2(249,101+Min*3))
  870. EGP:egpLine(275,vec2(250,102+Min*3),vec2(239,102+Min*3))
  871. EGP:egpLine(276,vec2(239,102+Min*3),vec2(248,122+Min*3))
  872. EGP:egpLine(277,vec2(248,122+Min*3),vec2(252,111+Min*3))
  873. #8
  874. EGP:egpPos(278,vec2(303+Min*1,345+Min*3))
  875. EGP:egpPos(280,vec2(296-Min*1,330-Min*3))
  876. #9
  877. EGP:egpPos(289,vec2(214-Min*0,346+Min*4))
  878. EGP:egpPos(291,vec2(220+Min*0,330-Min*3))
  879. }
  880. if(changed(EnteredAdress)){
  881. if(((EnteredAdress:length()<9&EnteredAdress[EnteredAdress:length()]=="#")|EnteredAdress:length()==9)&!Active)
  882. {
  883. Correct=1
  884. EGP:egpAlpha(403,255)
  885. EGP:egpAlpha(404,255)
  886. EGP:egpAlpha(405,255)
  887. EGP:egpAlpha(406,255)
  888. if(NewCol){EGP:egpColor(404,vec(0,153,154)) EGP:egpColor(405,vec(0,153,154)) EGP:egpColor(406,vec(0,153,154))}
  889. if(!NewCol){EGP:egpColor(404,vec(0,153,184)) EGP:egpColor(405,vec(0,153,184)) EGP:egpColor(406,vec(0,153,184))}}
  890. else{
  891. EGP:egpAlpha(403,0) EGP:egpAlpha(404,0) EGP:egpAlpha(405,0) EGP:egpAlpha(406,0) Correct=0
  892. }}
  893. #if(clk("kvadratiki1")){
  894. if(Correct){EGP:egpAlpha(407,Alpha3)} if(changed(Correct)&!Correct){EGP:egpAlpha(407,0)}#}
  895. if(DialMode==0){
  896. if(Chevron1==7&DialedSymbol!="#"){Chevr8=1}
  897. if(Chevron1==7&DialedSymbol=="#"&DialingSymbol!="#"&Chevr8!=1){Chevr8=0}
  898. if(Chevron1==8&DialedSymbol!="#"){Chevr9=1}
  899. if(Chevron1==8&DialedSymbol=="#"&DialingSymbol!="#"&Chevr9!=1){Chevr9=0}}
  900. if(DialMode!=0){
  901. if(Chevron==7&DialedSymbol!="#"){Chevr8=1}
  902. if(Chevron==7&DialedSymbol=="#"&DialingSymbol!="#"){Chevr8=0}
  903. if(Chevron==8&DialedSymbol!="#"){Chevr9=1}
  904. if(Chevron==8&DialedSymbol=="#"&DialingSymbol!="#"){Chevr9=0}}
  905. if(Chevron<7&Chevron1<7){Chevr8=0}
  906. if(Chevron<8&Chevron1<8){Chevr9=0}
  907. if(changed(DialedSymbol)&Active&!Open&!Inbound&((DialedSymbol=="#"&Chevron<9)|Chevron==9)&DialMode>0){timer("compl0",1)} if(!Active|Inbound){for(I=0,8){EGP:egpAlpha(18+I,0)}}# soundStop(3,0)}
  908. if(clk("compl0")){for(I=0,Chevron-1){EGP:egpAlpha(18+I,255)} timer("compl1",200) EGP:entity():soundPlay(3,500,"alexalx/glebqip/dp_lock.wav") soundVolume(3,0.6)} #EGP:entity():soundPlay(3,500,"SGDP/v1/DP/lock1.wav")}
  909. if(clk("compl1")){for(I=0,Chevron-1){EGP:egpAlpha(18+I,0)} timer("compl2",200) soundStop(3,0)}
  910. if(clk("compl2")){for(I=0,Chevron-1){EGP:egpAlpha(18+I,255)} timer("compl3",200) EGP:entity():soundPlay(3,500,"alexalx/glebqip/dp_lock.wav") soundVolume(3,0.6)}
  911. if(clk("compl3")){for(I=0,Chevron-1){EGP:egpAlpha(18+I,0)} timer("compl4",200) soundStop(3,0)}
  912. if(clk("compl4")){for(I=0,Chevron-1){EGP:egpAlpha(18+I,255)} timer("compl5",200) EGP:entity():soundPlay(3,500,"alexalx/glebqip/dp_lock.wav") soundVolume(3,0.6)}
  913. if(clk("compl5")){for(I=0,Chevron-1){EGP:egpAlpha(18+I,0)} soundStop(3,0)}
  914. if(Chevr8)
  915. {
  916. AA1=1
  917. EGP:egpAlpha(35,255)
  918. EGP:egpColor(35,vec(255,0,0))
  919. EGP:egpColor(385,vec(255,0,0))
  920. if(I1<43){timer("I1",50)}
  921. if(clk("I1")){I1=I1+5 if(I1<43){timer("I1",50)}}
  922. EGP:egpBox(200,vec2(441,404),vec2(65,43-I1))
  923. EGP:egpColor(200,vec(0,0,0))
  924. } if(!Chevr8&!Chevr9){EGP:egpRemove(200) EGP:egpAlpha(35,0) I1=0}
  925. if(Chevr9)
  926. {
  927. AA1=1
  928. EGP:egpAlpha(36,255)
  929. EGP:egpColor(36,vec(255,0,0))
  930. EGP:egpColor(386,vec(255,0,0))
  931. EGP:egpBoxOutline(2,vec2(1,85),vec2(511,420))
  932. if(I2<43){timer("I2",50)}
  933. if(clk("I2")){I2=I2+5 if(I2<43){timer("I2",50)}}
  934. I2++
  935. EGP:egpBox(201,vec2(441,449),vec2(65,43-I2))
  936. EGP:egpColor(201,vec(0,0,0))
  937. } if(!Chevr9){EGP:egpRemove(201) EGP:egpAlpha(36,0) I2=0 if(Chevr8&!Chevr9){EGP:egpBoxOutline(2,vec2(1,85),vec2(511,378))} if(!Chevr8&!Chevr9&AA1){EGP:egpBoxOutline(2,vec2(1,85),vec2(511,334)) AA1=0}
  938. if(($Inbound|changed(DialingMode))&!Inbound){EGP:egpText(409,DType[DialingMode,string],vec2(256,75))} if($Inbound&Inbound){EGP:egpText(409,DType[0,string],vec2(256,75))}
  939. if(~Key&Key){EGP:entity():soundPlay(0,1,"alexalx/glebqip/click"+randint(1,4)+".mp3")}
  940. if(DialMode!=0&!Inbound){if($Chevron&Chevron>0){EGP:entity():soundPlay(1,1,"alexalx/glebqip/dp_encoded.wav") soundVolume(1,0.6) timer("sstop",200)}} if(clk("sstop")){soundStop(1,0)}
  941. if(changed(Overload)&Overload>0){
  942. EGP:egpBox(429,vec2(124,125),vec2(264,133))
  943. EGP:egpColor(429,vec(0,0,0))
  944. EGP:egpBoxOutline(430,vec2(124,125),vec2(264,133))
  945. EGP:egpColor(430,vec(255,0,0))
  946. EGP:egpText(431,"WARNING",vec2(256,151))
  947. EGP:egpAlign(431,1,1)
  948. EGP:egpFont(431,"Marlett",55)
  949. EGP:egpColor(431,vec(255,0,0))
  950. if(Time>240){EGP:egpText(432,"HIGH LEVEL OF ENERGY FLUX",vec2(256,183))}
  951. if(Time<=240){EGP:egpText(432,"CRITICAL LEVEL OF ENERGY FLUX",vec2(256,183))}
  952. EGP:egpAlign(432,1,1)
  953. EGP:egpFont(432,"Marlett",18)
  954. EGP:egpColor(432,vec(255,0,0))
  955. EGP:egpText(433,"STARGATE WILL BE DESTROYED",vec2(256,200))
  956. EGP:egpAlign(433,1,1)
  957. EGP:egpFont(433,"Marlett",18)
  958. EGP:egpColor(433,vec(255,0,0))
  959. EGP:egpText(434,"AFTER:",vec2(256,218))
  960. EGP:egpAlign(434,1,1)
  961. EGP:egpFont(434,"Marlett",18)
  962. EGP:egpColor(434,vec(255,0,0))
  963. EGP:egpText(435,OvMin+"M"+OvSec+"S",vec2(250,220))
  964. EGP:egpAlign(435,1,0)
  965. EGP:egpFont(435,"Marlett",40)
  966. EGP:egpColor(435,vec(255,0,0))
  967. EGP:egpBox(436,vec2(124,258),vec2(264,65))
  968. EGP:egpColor(436,vec(0,0,0))
  969. EGP:egpBoxOutline(437,vec2(124,258),vec2(264,65))
  970. EGP:egpColor(437,vec(255,0,0))
  971. EGP:egpBox(438,vec2(144+even(floor(OvPercent/100*224)),268),vec2(floor(OvPercent/100*224),45))
  972. EGP:egpBoxOutline(439,vec2(144,268),vec2(224,45))
  973. EGP:egpColor(439,vec(255,0,0))
  974. }
  975. if(Overload>0&(changed(Time)|changed(Overload))){
  976. if(Overload==2)
  977. {
  978. EGP:egpSetText(433,"STARGATE DESTROYING")
  979. EGP:egpSetText(432,"ENERGY FLUX IS CRITICALLY")
  980. EGP:egpSetText(434,"WITHIN")
  981. EGP:egpSetText(435,"00M"+30+"S")
  982. }
  983. if(Overload==1)
  984. {
  985. EGP:egpSetText(433,"STARGATE WILL BE DESTROYED")
  986. EGP:egpSetText(434,"AFTER")
  987. if(Time>240){EGP:egpSetText(432,"HIGH LEVEL OF ENERGY FLUX")}
  988. if(Time<=240){EGP:egpSetText(432,"CRITICAL LEVEL OF ENERGY FLUX")}
  989. EGP:egpSetText(435,OvMin+"M"+OvSec+"S")
  990. }
  991. }
  992. if(Overload>0&changed(OvPercent)){
  993. EGP:egpBoxOutline(437,vec2(124,258),vec2(264,65))
  994. EGP:egpBox(438,vec2(144+even(floor(OvPercent/100*224)),268),vec2(floor(OvPercent/100*224),45))
  995. EGP:egpColor(438,vec(OvPercent/100*255,255-OvPercent/100*255,0))}
  996. if((changed(Overload)&!Overload)|(clk("Loaded"))){EGP:egpRemove(429) EGP:egpRemove(430) EGP:egpRemove(431) EGP:egpRemove(432) EGP:egpRemove(433) EGP:egpRemove(434) EGP:egpRemove(435) EGP:egpRemove(436) EGP:egpRemove(437) EGP:egpRemove(438) EGP:egpRemove(439)}
  997. }}
  998. else
  999. {
  1000. if(first()|dupefinished()|clk("shutdown1")){timer("LCHK",100)}
  1001. if(clk("LCHK")){if(Active){Close=1}else{Close=0} timer("LCHK",100)}
  1002. }
  1003. if(clk("errpip")){soundVolume(12,0.6) soundPlay(12,10,"synth/square_440.wav") timer("errpip1",200)}
  1004. if(clk("errpip1")){soundVolume(12,0) soundStop(12,0) timer("errpip2",200)}
  1005. if(clk("errpip2")){soundVolume(12,0.6) soundPlay(12,10,"synth/square_440.wav") timer("errpip3",200)}
  1006. if(clk("errpip3")){soundVolume(12,0) soundStop(12,0) timer("errpip4",200)}
  1007. if(clk("errpip4")){soundVolume(12,0.6) soundPlay(12,10,"synth/square_440.wav") timer("errpip5",200)}
  1008. if(clk("errpip5")){soundVolume(12,0) soundStop(12,0)}
  1009. if(changed(DialString)){SG:stargateSetWire("Dial String",DialString)}
  1010. if(changed(DialingMode)){SG:stargateSetWire("Dial Mode",DialingMode)}
  1011. if(changed(StartStringDial)){SG:stargateSetWire("Start String Dial",StartStringDial)}
  1012. if(changed(Close)){SG:stargateSetWire("Close",Close)}
  1013. if(changed(RotateRing)){SG:stargateSetWire("Rotate Ring",RotateRing)}
  1014. if(changed(RingSpeedMode)){SG:stargateSetWire("Ring Speed Mode",RingSpeedMode)}
  1015. if(changed(ActivateChevronNumbers)){SG:stargateSetWire("Activate chevron numbers",ActivateChevronNumbers)}
  1016. GT = gTable("DPv1_"+entity():id())
  1017. GT[1,string]="DPv1"
  1018. DPt["NewCol",number]=NewCol
  1019. DPt["Start",number]=Start
  1020. DPt["Overload",number]=Overload
  1021. DPt["Iris",number]=Iris
  1022. DPt["DPL",number]=DPL
  1023. if(->Key){DPt["Key",number]=Key}else{DPt["Key",number]=-1}
  1024. if(->KeyUser){DPt["KeyUser",entity]=KeyUser}else{DPt["KeyUser",entity]=owner()}
  1025. GT[2,table]=DPt
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement