Advertisement
Guest User

Untitled

a guest
Oct 21st, 2014
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.32 KB | None | 0 0
  1. @name
  2. @inputs EGP:wirelink
  3. @outputs Line:string
  4. @persist TeamStrings:array Menu KeyDown TeamID TeamPlayers:array
  5. @trigger
  6.  
  7. #[ MADE BY
  8. _____ ______ ___ ________ _ _ _ ______ ____ _____ ___ ________
  9. | \| ___|/ \|_______|_| | | | | ____|/ __\| __ |/ \|_______|
  10. | || || |__ \ \ / | | _| | | | | |__ | / _| |__||\ \ / | |
  11. | || || __| \ \ | | | | | | | | __| | | [ ] __ | \ \ | |
  12. | || || |___ / \ \ | | | | |_| |_| |___ | \_/ | | ||/ \ \ | |
  13. |____/|_____|\___/ |_| |_|___|___|_____|\____/|_| ||\___/ |_|
  14.  
  15.  
  16. [==========] IF YOU COPY THIS CHIP, DONT REMOVE THIS [==========]
  17. ]#
  18.  
  19. #Test = teams()
  20.  
  21. #for(I=0, Test:count()){
  22. # Line += Test[I, number]:teamName() + ":" + Test[I, number]:teamPlayers() + "\n"
  23. #}
  24.  
  25.  
  26. OnlinePlayers = players()
  27.  
  28. function number getCount(ID){
  29. CurrentCount = 0
  30.  
  31. for(I=0, OnlinePlayers:count()){
  32. if(OnlinePlayers[I, entity]:team() == ID){
  33. CurrentCount += 1
  34. }
  35. }
  36.  
  37. #:teamName() + ":" + OnlinePlayers[I, entity]:getCount()
  38.  
  39. return CurrentCount
  40. }
  41.  
  42. function number entity:isInTeam(){
  43. if(This:team() == TeamID){
  44. return 1
  45. }
  46. return 0
  47. }
  48.  
  49.  
  50. for(I=0, OnlinePlayers:count()){
  51. AlIn = 0
  52. for(Ii=0, TeamStrings:count()){
  53. if(OnlinePlayers[I, entity]:team() == TeamStrings[Ii, number]){
  54. AlIn = 1
  55. break
  56. }
  57. }
  58.  
  59. if(AlIn == 0){TeamStrings:pushNumber(OnlinePlayers[I, entity]:team())}
  60. }
  61.  
  62.  
  63. #Line = ""
  64. #for(I=0,TeamStrings:count()){
  65. # Line += TeamStrings[I, number]:teamName() + ":" + getCount(TeamStrings[I, number]) + "\n"
  66. #}
  67.  
  68. Index = 5
  69.  
  70. O = owner()
  71. Cursor = EGP:egpCursor(O)
  72.  
  73. CX = Cursor:x()
  74. CY = Cursor:y()
  75.  
  76. function number button(X, Y, Width, Height, Text:string, ColAr:array){
  77.  
  78. EGP:egpTriangle(Index, vec2(X-Height/2, Y), vec2(X+Width, Y), vec2(X, Y + Height))
  79. Index += 1
  80.  
  81. EGP:egpTriangle(Index, vec2(X + Width, Y), vec2(X + Width + (Height/2), Y+Height), vec2(X, Y + Height))
  82. BoxID = Index
  83. Index += 1
  84.  
  85.  
  86. EGP:egpText(Index, Text, vec2(X + 5, Y + 2))
  87. EGP:egpSize(Index, 25)
  88. ButtonText = Index
  89. BTextVec = vec2(X + 5, Y + 2)
  90. Index += 1
  91.  
  92.  
  93. Hover = ColAr[1, vector] #vec(27, 161, 226) #hover color
  94. Click = ColAr[2, vector] #vec(0, 80, 239) #click color
  95.  
  96. EGP:egpColor(BoxID, Hover)
  97. EGP:egpColor(BoxID-1, Hover)
  98.  
  99. if(CX >= X & CX <= X + Width){
  100. if(CY >= Y & CY <= Y + Height){
  101. EGP:egpColor(BoxID, Hover)
  102. EGP:egpColor(BoxID-1, Hover)
  103.  
  104. if(O:keyUse()){
  105. EGP:egpColor(BoxID, Click)
  106. EGP:egpColor(BoxID-1, Click)
  107. return 1
  108. }
  109. }
  110. }
  111. return 0
  112. }
  113.  
  114. function void label(X, Y, Width, Height, Text:string, ColAr:array){
  115. EGP:egpTriangle(Index, vec2(X-Height/2, Y), vec2(X+Width, Y), vec2(X, Y + Height))
  116. Index += 1
  117.  
  118. EGP:egpTriangle(Index, vec2(X + Width, Y), vec2(X + Width + (Height/2), Y+Height), vec2(X, Y + Height))
  119. IBoxID = Index
  120. Index += 1
  121.  
  122.  
  123. EGP:egpText(Index, Text, vec2(X + 5, Y + 2))
  124. EGP:egpSize(Index, 25)
  125. ButtonText = Index
  126. BTextVec = vec2(X + 5, Y + 2)
  127. Index += 1
  128.  
  129.  
  130. Hover = ColAr[1, vector] #vec(27, 161, 226) #hover color
  131.  
  132. EGP:egpColor(IBoxID, Hover)
  133. EGP:egpColor(IBoxID-1, Hover)
  134. }
  135.  
  136. function string string:maxit(Max:number){
  137. DummyString = ""
  138.  
  139. for(I=1, Max + perf()) {
  140. DummyString += This:index(I)
  141. }
  142.  
  143. return DummyString
  144. }
  145.  
  146. if(first()){
  147. Menu = 1
  148. }
  149.  
  150. Blue = array(vec(27, 161, 226), vec(0, 80, 239))
  151. Green = array(vec(0,163,0), vec(30,113,69))
  152. Red = array(vec(238,17,17), vec(255,50,50))
  153. Yellow = array(vec(255,196,13), vec(227,162,26))
  154.  
  155. interval(150)
  156.  
  157. if(changed(Menu)){EGP:egpClear()}
  158.  
  159. if(Menu == 1){
  160. label(25,25, 450, 30, "DSG Current active jobs", Blue)
  161.  
  162.  
  163.  
  164. if(changed(TeamStrings:count())){EGP:egpClear()}
  165.  
  166. T = 0
  167.  
  168. for(I=0, TeamStrings:count()){
  169. perf()
  170. Team = TeamStrings[I, number]:teamName()
  171.  
  172. if(button(25 + 250*T, 70 + (25*(I-T)), 200, 30, Team:maxit(15), Green)){
  173. if(KeyDown < 0){
  174. Menu = 2
  175. KeyDown = 10
  176. TeamID = TeamStrings[I, number]
  177.  
  178. TeamPlayers:clear()
  179. for(AIA=1, OnlinePlayers:count()){
  180. if(OnlinePlayers[AIA, entity]:isInTeam()){
  181. TeamPlayers:pushEntity(OnlinePlayers[AIA, entity])
  182. }
  183. }
  184. }
  185. }
  186.  
  187. if(I == 18){break}
  188.  
  189. if(T){T=0}else{T=1}
  190. }
  191. }elseif(Menu == 2){
  192.  
  193. label(25,25, 450, 30, "Selected job: " + TeamID:teamName(), Blue)
  194.  
  195. T = 0
  196.  
  197. for(I=1, TeamPlayers:count()){
  198. perf()
  199. TeamPl = TeamPlayers[I, entity]
  200.  
  201. if(button(25 + 250*T, 50 + (25*(I-T)), 200, 30, TeamPl:name():maxit(15), Green)){
  202. KeyDown = 10
  203. }
  204.  
  205. if(I == 16){break}
  206.  
  207. if(T){T=0}else{T=1}
  208. }
  209.  
  210. if(button(25, 470, 450, 30, "Back", Yellow)){if(KeyDown<0){Menu = 1,KeyDown=10}}
  211. }
  212.  
  213.  
  214. KeyDown -= 1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement