Advertisement
Guest User

Untitled

a guest
Aug 20th, 2019
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 27.54 KB | None | 0 0
  1. @name Myths Protection
  2. @inputs [E, S]:wirelink U:entity
  3. @persist [Pid, Set]:table [P]:array [L1, L2, L3, L4, Money, AllAroundMoney, KOS, DelvPrice, PriceDeliver, CD]:number Company:string
  4.  
  5.  
  6. if(first() | duped() | dupefinished() | ~E & E | ~S & S | clk("reset")){
  7.  
  8. E:egpClear(),
  9. S:egpClear(),
  10. runOnChat(1),
  11. dsSetScope(3),
  12. dsJoinGroup("Myths_Expressions"),
  13. Ay=1,
  14. L1=15,
  15. L2=30,
  16. L3=40,
  17. L4=50,
  18. runOnKeys(owner(),1),
  19.  
  20. Set["Whitelisted",array] = array(
  21. "STEAM_0:0:50236723",
  22. "STEAM_0:0:167537512",
  23. "STEAM_0:0:79267068",
  24. "STEAM_0:0:63314036",
  25. "STEAM_0:0:240320261"
  26. )
  27.  
  28. Set["Colors",array] = array("Fire","Ice","Fade"),
  29. Set["ColorVectors",array] = array(
  30. vec4(226,142,0,255),
  31. vec4(205, 56, 56, 253),
  32.  
  33. vec4(66,206,244,253),
  34. vec4(65,101,244,253),
  35.  
  36. vec4(205, 56, 56, 253),
  37. vec4(0,50,255,253)
  38. ),
  39.  
  40. Set["Color",string] = Set["Colors",array][1,string],
  41. Set["ColorMode",number] = 1,
  42. Set["Theme",string] = "Fire",
  43.  
  44.  
  45. Set["Seeds_ID",number] = 2,
  46. Set["Dirt_ID",number] = 17,
  47. Set["Water_ID",number] = 15,
  48. Set["Shower_ID",number] = 14,
  49. Set["Pot_ID",number] = 7,
  50.  
  51. function msg(S:string){printColor(vec(36,36,36),"[",vec(255,120,0),"Myths",vec(36,36,36),"]",vec(120,120,120)," ",+S)}
  52.  
  53.  
  54. function wirelink:cursor(){
  55. This:egpPoly(999,array(vec2(0,0),vec2(0,15),vec2(3,12),vec2(5,15),vec2(7,15),vec2(6,11),vec2(10,10)))
  56. This:egpColor(999,0,0,0,200)
  57. This:egpParentToCursor(999)
  58. }
  59.  
  60. function number wirelink:egpButton(Idx:number,Ply:entity){
  61. TL = This:egpPos(Idx) - This:egpSize(Idx) / 2 * (0 ? 0 : 1),
  62. BR = This:egpPos(Idx) + This:egpSize(Idx) / (0 ? 1 : 2),
  63. Cur = This:egpCursor(Ply) return inrange(Cur, TL, BR),
  64. exit()
  65. }
  66.  
  67. function string mf(M:number){
  68. local Q = M < 1000000,
  69. local P = Q ? "^(-?%d+)(%d%d%d)" : "^(-?%d+)(%d%d%d)(%d%d%d)",
  70. local N = Q ? "%1.%2" : "%1.%2.%3",
  71.  
  72. return M:toString():replaceRE(P, N)
  73. }
  74.  
  75. function wirelink:drawBg(){
  76. local Y = -320
  77. This:egpClear()
  78. This:egpBox(1, vec2(256,256), vec2(512,512)) This:egpMaterial(1, "console/background06") This:egpColor(1, vec4(70,70,70, 230))
  79. This:egpBox(2, vec2(256,256), vec2(512,512)) This:egpMaterial(2, "gui/gradient_down") This:egpColor(2, vec4(50,50,50, 230))
  80. This:egpBox(3, vec2(45,256), vec2(91,512)) This:egpColor(3, vec4(35,35,35,100))
  81. This:egpBox(4, vec2(467,256), vec2(91,512)) This:egpColor(4, vec4(35,35,35,100))
  82. This:egpText(5, "- M Y T H S -", vec2(256,50)) This:egpAlign(5,1,1) This:egpFont(5, "Courier New",35)
  83. This:egpBox(99, vec2(256,32), vec2(310,64)) This:egpAlpha(99,0)
  84.  
  85. This:egpBox(6, vec2(256,385+Y), vec2(310,1)) This:egpColor(6, Set["ColorVectors",array][Set["ColorMode",number],vector4])
  86. This:egpMaterial(6, "gui/gradient")
  87.  
  88. This:egpBox(7, vec2(256,385+Y), vec2(310,1)) This:egpColor(7, Set["ColorVectors",array][Set["ColorMode",number] + 1,vector4])
  89. This:egpMaterial(7, "gui/gradient") This:egpAngle(7, 180)
  90.  
  91. This:egpBox(8, vec2(256,470), vec2(310,1)) This:egpColor(8, Set["ColorVectors",array][Set["ColorMode",number],vector4])
  92. This:egpMaterial(8, "gui/gradient")
  93.  
  94. This:egpBox(9, vec2(256,470), vec2(310,1)) This:egpColor(9, Set["ColorVectors",array][Set["ColorMode",number] + 1,vector4])
  95. This:egpMaterial(9, "gui/gradient") This:egpAngle(9, 180)
  96.  
  97. This:egpText(10, "P R O T E C T I O N", vec2(256,490)) This:egpAlign(10,1,1) This:egpFont(10, "Courier New",20)
  98.  
  99.  
  100. }
  101.  
  102.  
  103. function wirelink:drawPanel(){
  104. This:egpClear(),
  105. This:drawBg()
  106.  
  107. This:egpBox(11, vec2(256,200), vec2(240,40)) This:egpColor(11,vec4(54,54,54,100))
  108. This:egpText(17, "Lockdown", vec2(256,200)) This:egpAlign(17,1,1) This:egpFont(17, "Courier New",20)
  109.  
  110. if(!Set["Lockdown",number]){This:egpColor(20,vec(202,15,5))}
  111. else{This:egpColor(20,vec(45,182,75))}
  112.  
  113. This:egpBox(12, vec2(256,250), vec2(240,40)) This:egpColor(12,vec4(54,54,54,100))
  114. This:egpText(20, "Kill on sight", vec2(256,250)) This:egpAlign(20,1,1) This:egpFont(20, "Courier New",20)
  115.  
  116. if(!Set["KOS",number]){This:egpColor(20,vec(202,15,5))}
  117. else{This:egpColor(20,vec(45,182,75))}
  118.  
  119. This:egpBox(13, vec2(256,300), vec2(240,40)) This:egpColor(13,vec4(54,54,54,100))
  120. This:egpText(24, "Add/remove players", vec2(256,300)) This:egpAlign(24,1,1) This:egpFont(24, "Courier New",20)
  121.  
  122. This:egpBox(14, vec2(256,350), vec2(240,40)) This:egpColor(14,vec4(54,54,54,100))
  123. This:egpText(23, "Theme ("+Set["Theme",string]+")", vec2(256,350)) This:egpAlign(23,1,1) This:egpFont(23, "Courier New",20)
  124.  
  125. This:egpBox(25, vec2(256,400), vec2(240,40)) This:egpColor(25,vec4(54,54,54,100))
  126. This:egpText(26, "Weed helper", vec2(256,400)) This:egpAlign(26,1,1) This:egpFont(26, "Courier New",20)
  127.  
  128. This:egpBox(27, vec2(256,150), vec2(240,40)) This:egpColor(27,vec4(54,54,54,100))
  129. This:egpText(28, "Money printer", vec2(256,150)) This:egpAlign(28,1,1) This:egpFont(28, "Courier New",20)
  130.  
  131.  
  132. Set["Page",number] = 1,
  133.  
  134. E:cursor()
  135.  
  136. }
  137.  
  138. function number entity:isAdded(){
  139. return Set[This:steamID(),number]
  140. }
  141.  
  142. function wirelink:drawWeed(){
  143. Set["TotalPurchase",number] = 0,
  144. Set["Seeds",number] = 0,
  145. Set["Water",number] = 0,
  146. Set["Shower",number] = 0,
  147. Set["Dirt",number] = 0,
  148. Set["Pot",number] = 0,
  149.  
  150. This:egpClear(),
  151. This:drawBg()
  152.  
  153. This:egpBox(11, vec2(256,150), vec2(240,40)) This:egpColor(11,vec4(54,54,54,100))
  154. This:egpText(12, "T"+oe()+"rret seed(s):", vec2(291,150)) This:egpAlign(12,2,1) This:egpFont(12, "Courier New",20)
  155.  
  156. This:egpBox(13, vec2(256,200), vec2(240,40)) This:egpColor(13,vec4(54,54,54,100))
  157. This:egpText(14, "Vand til brusere:", vec2(311,200)) This:egpAlign(14,2,1) This:egpFont(14, "Courier New",20)
  158.  
  159. This:egpBox(17, vec2(256,250), vec2(240,40)) This:egpColor(17,vec4(54,54,54,100))
  160. This:egpText(18, "Brusere: ",vec2(186,250)) This:egpAlign(18,1,1) This:egpFont(18,"Courier New",20)
  161.  
  162. This:egpBox(19, vec2(256,300), vec2(240,40)) This:egpColor(19,vec4(54,54,54,100))
  163. This:egpText(20, "Jord: ",vec2(171,300)) This:egpAlign(20,1,1) This:egpFont(20,"Courier New",20)
  164.  
  165. This:egpBox(26, vec2(256,350), vec2(240,40)) This:egpColor(26,vec4(54,54,54,100))
  166. This:egpText(27, "Krukker: ",vec2(186,350)) This:egpAlign(27,1,1) This:egpFont(27,"Courier New",20)
  167.  
  168.  
  169. for(I = 1,5){
  170. This:egpText(20 + I,"0",vec2(367,100 + (I*50))) This:egpAlign(20 + I,2,1) This:egpFont(20 + I,"Courier New",20)
  171. }
  172.  
  173. #PAY
  174. This:egpBox(28, vec2(256,490), vec2(310,39)) This:egpAlpha(28,0)
  175.  
  176.  
  177. Set["Page",number] = 2,
  178.  
  179. E:cursor()
  180. }
  181.  
  182. function wirelink:drawMoney(){
  183. This:egpClear(),
  184. This:drawBg()
  185.  
  186. This:egpText(11, "Registreret printere: ", vec2(256,125)) This:egpAlign(11,1,1) This:egpFont(11,"Courier New",20)
  187. This:egpText(12, P:count():toString(), vec2(256,125+20)) This:egpAlign(12,1,1) This:egpFont(12,"Courier New",20)
  188.  
  189. if(P:count() == 0){This:egpColor(12, vec4(205,60,60,255))}
  190. else{This:egpColor(12, vec4(45,182,75,255))}
  191.  
  192. This:egpText(13, "Penge i printere: ", vec2(256,125+100)) This:egpAlign(13,1,1) This:egpFont(13,"Courier New",20)
  193. This:egpText(14, mf(Money)+"kr", vec2(256,125+100+20)) This:egpAlign(14,1,1) This:egpFont(14,"Courier New",20)
  194.  
  195. if(Money <= 0){This:egpColor(14, vec4(205,60,60,255))}
  196. else{This:egpColor(14, vec4(45,182,75,255))}
  197.  
  198. This:egpText(15, "Gns. Pr. Printer", vec2(256,125+100+100)) This:egpAlign(15,1,1) This:egpFont(15,"Courier New",20)
  199. This:egpText(16, mf(floor(Money/P:count()))+"kr", vec2(256,125+100+100+20)) This:egpAlign(16,1,1) This:egpFont(16,"Courier New",20)
  200.  
  201. if(P:count() == 0 | Money/P:count() == 0){This:egpColor(16, vec4(205,60,60,255))}else{This:egpColor(16, vec4(45,182,75,255))}
  202.  
  203.  
  204. This:egpText(17, "Tjent", vec2(256,125+100+75+100)) This:egpAlign(17,1,1) This:egpFont(17,"Courier New",20)
  205. This:egpText(18, mf(AllAroundMoney)+"kr", vec2(256,125+100+100+75+20)) This:egpAlign(18,1,1) This:egpFont(18,"Courier New",20)
  206.  
  207. if(AllAroundMoney <= 0){This:egpColor(18, vec4(205,60,60,255))}
  208. else{This:egpColor(18, vec4(45,182,75,255))}
  209.  
  210. Set["Page",number] = 3,
  211. E:cursor()
  212. }
  213.  
  214. function wirelink:drawAdd(){
  215. This:egpClear(),
  216. This:drawBg()
  217.  
  218. This:egpBox(13, vec2(256,300), vec2(240,40)) This:egpColor(13,vec4(54,54,54,100))
  219. This:egpText(14, "Add Players", vec2(256,300)) This:egpAlign(14,1,1) This:egpFont(14, "Courier New",20)
  220.  
  221. This:egpBox(15, vec2(256,350), vec2(240,40)) This:egpColor(15,vec4(54,54,54,100))
  222. This:egpText(16, "Remove Players", vec2(256,350)) This:egpAlign(16,1,1) This:egpFont(16, "Courier New",20)
  223.  
  224. #[
  225.  
  226. This:egpBox(17, vec2(256,150), vec2(240,40)) This:egpColor(17,vec4(54,54,54,100))
  227. This:egpText(18, "Add Gang", vec2(256,150)) This:egpAlign(18,1,1) This:egpFont(18, "Courier New",20)
  228.  
  229. This:egpBox(19, vec2(256,200), vec2(240,40)) This:egpColor(19,vec4(54,54,54,100))
  230. This:egpText(20, "Remove Gang", vec2(256,200)) This:egpAlign(20,1,1) This:egpFont(20, "Courier New",20)
  231.  
  232. ]#
  233.  
  234. Set["Page",number] = 4,
  235.  
  236. E:cursor()
  237.  
  238. }
  239.  
  240. function string getCompany(){
  241. DelvPrice = 100000,
  242.  
  243. foreach(K, Comp:string = getDeliveryCompanyIDs()){
  244. PriceDeliver = getDeliveryCompany(Comp)["Prices",table]["FromWeb",number] + getDeliveryCompany(Comp)["Prices",table]["ToHouse",number]
  245.  
  246.  
  247. if(PriceDeliver < DelvPrice) {
  248. DelvPrice = PriceDeliver,
  249. Company = Comp
  250.  
  251. }
  252. }
  253. }
  254.  
  255. function order(Type:number,Antal:number){
  256. getCompany(),
  257.  
  258. if(getDestinationIDs():count()){
  259. orderProduct("SR",Type,Antal,Company,entity(getDestinationIDs()[1,number])),
  260. E:egpSetText(10,"G E N N E M F "+oeL()+" R T")
  261.  
  262. }else{E:egpSetText(10,"F E J L, P R "+oeL()+" V I G E N")}
  263.  
  264. timer("resetTxt",1000)
  265. }
  266.  
  267.  
  268.  
  269. function entity:addToPanel(){
  270. if(!This:isAdded()){
  271. Set[This:steamID(),number] = 1,
  272.  
  273. msg(This:name()+" blev tilf"+oe()+"jet til panelet af "+lastSpoke():name()+"."),
  274.  
  275. if(lastSpoke() != owner()){sendMessage(lastSpoke(),"M Y T H S | Du tilf"+oe()+"jede "+This:name()+" til panelet. "+owner():name()+" blev notificeret.")}
  276. }
  277. else{
  278.  
  279. if(lastSpoke() != owner()){sendMessage(lastSpoke(),"M Y T H S | "+This:name()+" er allerede tilf"+oe()+"jet til panelet!.")}
  280. else{msg(This:name()+" er allerede tilf"+oe()+"jet til panelet!")}
  281. }
  282. }
  283.  
  284. function entity:removeFromPanel(){
  285. if(This:isAdded()){
  286. Set[This:steamID(),number] = 0,
  287.  
  288. if(lastSpoke() != owner()){sendMessage(lastSpoke(),"M Y T H S | "+This:name()+" blev fjernet fra panelet!")}
  289. else{msg(This:name()+" blev fjernet fra panelet!")}
  290. }
  291. else{
  292. if(lastSpoke() != owner()){sendMessage(lastSpoke(),"M Y T H S | "+This:name()+" er ikke tilf"+oe()+"jet til panelet!")}
  293. else{msg(This:name()+" er ikke tilf"+oe()+"jet til panelet!")}
  294. }
  295.  
  296.  
  297. }
  298.  
  299. foreach(K,V:string = Set["Whitelisted",array]){
  300. if(owner():steamID() == V){
  301. msg("Whitelisted: True | SteamID: "+owner():steamID())
  302. msg("!help for mere information."),
  303.  
  304. timer("drawPanel",3000),
  305. timer("drawSign",10000),
  306. Set[owner():steamID(),number] = 1,
  307.  
  308. break
  309. }
  310. elseif(K == Set["Whitelisted",array]:count()){
  311. msg("Whitelisted: False | SteamID: "+owner():steamID()),
  312.  
  313. concmd("gmod_cleanup"),
  314. selfDestruct()
  315. }
  316. }
  317. }
  318.  
  319.  
  320. elseif(keyClk(owner()) && keyClkPressed()=="e" && ops() < 200 & !CD){
  321. Aim=owner():aimEntity(),
  322. if(Aim:isPrinter()){
  323. CD = 1,
  324. timer("cooldown",200),
  325. stoptimer("11"),
  326. stoptimer("resetTimer"),
  327.  
  328. if(!Pid[Aim:id(),number]){
  329. P:pushEntity(Aim),
  330. Pid[Aim:id(),number]=1,
  331. switch(Aim:printerLevel()){
  332. case 1, AllAroundMoney -= 600 ,break
  333. case 2, AllAroundMoney -= 1400 ,break
  334. case 3, AllAroundMoney -= 2200 ,break
  335. case 4, AllAroundMoney -= 3000 ,break
  336. },
  337. msg("Denne printer er nu blevet tilf"+oe()+"jet! ("+P:count()+" | "+Aim:id()+")"),
  338. timer("resetTimer",3000)
  339. }else{timer("resetTimer",700)}
  340.  
  341. timer("11",11000)
  342. }
  343. }
  344.  
  345.  
  346. elseif(clk("resetTimer")){
  347. AllAroundMoney+=Money
  348. Money=0
  349. msg("Printer-siden blev nulstillet. Den vil p"+aa()+"minde dig senere!")
  350.  
  351. if(Set["Page",number] == 3){
  352. E:egpSetText(12, P:count():toString()),
  353. E:egpSetText(14, mf(Money)+"kr"),
  354. E:egpSetText(16, mf(floor(Money/P:count()))+"kr"),
  355. E:egpSetText(18, mf(AllAroundMoney)+"kr"),
  356.  
  357. if(P:count() == 0){E:egpColor(12, vec4(205,60,60,255))}
  358. else{E:egpColor(12, vec4(45,182,75,255))},
  359.  
  360. if(Money <= 0){E:egpColor(14, vec4(205,60,60,255))}
  361. else{E:egpColor(14, vec4(45,182,75,255))},
  362.  
  363. if(P:count() == 0 | Money/P:count() == 0){E:egpColor(16, vec4(205,60,60,255))}
  364. else{E:egpColor(16, vec4(45,182,75,255))},
  365.  
  366. if(AllAroundMoney <= 0){E:egpColor(18, vec4(205,60,60,255))}
  367. else{E:egpColor(18, vec4(45,182,75,255))}
  368. }
  369. }
  370. elseif(clk("11")){
  371. foreach(K,V:entity=P){
  372. switch(V:printerLevel()){
  373. case 1,Money+=L1,break
  374. case 2,Money+=L2,break
  375. case 3,Money+=L3,break
  376. case 4,Money+=L4,break
  377. default,Money+=L3,break
  378. }
  379. }
  380.  
  381. if((Money/P:count())>=3000){
  382. msg("Printer-penge: 3.000,- | Hent dem hurtigst muligt!"),
  383. print(_HUD_PRINTCENTER,"PRINTERE: 3.000,- | HENT DEM NU!")
  384. }
  385.  
  386. if(Set["Page",number] == 3){
  387. E:egpSetText(14, mf(Money)+"kr"),
  388. E:egpSetText(16, mf(floor(Money/P:count()))+"kr"),
  389.  
  390. if(Money <= 0){E:egpColor(14, vec4(205,60,60,255))}
  391. else{E:egpColor(14, vec4(45,182,75,255))},
  392.  
  393. if(P:count() == 0 | Money/P:count() == 0){E:egpColor(16, vec4(205,60,60,255))}
  394. else{E:egpColor(16, vec4(45,182,75,255))}
  395. }
  396.  
  397. timer("11",11000)
  398.  
  399. }
  400.  
  401. if(~U & U & ops() <= 150 & U:isAdded() & ops() <= 150 & !CD){
  402. if(E:egpButton(1,U)){
  403. CD = 1,
  404. timer("cooldown",200)
  405. }
  406.  
  407. if(Set["Page",number] == 1 & U:isAdded()){
  408. if(E:egpButton(11,U)){
  409. if(Set["Lockdown",number] == 1){Set["Lockdown",number] = 0}
  410. else{Set["Lockdown",number] = 1}
  411. }
  412.  
  413. elseif(E:egpButton(25,U)){
  414. E:drawWeed()
  415. }
  416.  
  417. elseif(E:egpButton(27,U)){
  418. E:drawMoney()
  419. }
  420.  
  421. elseif(E:egpButton(13,U)){
  422. E:drawAdd()
  423. }
  424.  
  425. elseif(E:egpButton(14,U)){
  426. if(Set["ColorMode",number] != 5){
  427. Set["ColorMode",number] = Set["ColorMode",number] + 2
  428.  
  429. }else{Set["ColorMode",number] = 1}
  430.  
  431. E:egpColor(6, Set["ColorVectors",array][Set["ColorMode",number],vector4])
  432.  
  433. E:egpColor(7, Set["ColorVectors",array][Set["ColorMode",number] + 1,vector4])
  434.  
  435. E:egpColor(8, Set["ColorVectors",array][Set["ColorMode",number],vector4])
  436.  
  437. E:egpColor(9, Set["ColorVectors",array][Set["ColorMode",number] + 1,vector4])
  438.  
  439. switch(Set["ColorMode",number]){
  440. case 1, Set["Theme",string] = "Fire", break
  441. case 3, Set["Theme",string] = "Ice", break
  442. case 5, Set["Theme",string] = "Fade", break
  443. }
  444.  
  445. E:egpSetText(23, "Theme ("+Set["Theme",string]+")")
  446. }
  447.  
  448. elseif(E:egpButton(12,U)){
  449.  
  450. if(Set["KOS",number]){Set["KOS",number] = 0}
  451. else{Set["KOS",number] = 1}
  452. }
  453. }
  454.  
  455. elseif(E:egpButton(99,U) & Set["Page",number] != 0){
  456. E:drawPanel()
  457. }
  458.  
  459. elseif(E:egpButton(28,U)){
  460. if(Set["Page",number] == 2 & Set["TotalPurchase",number] > 0){
  461. Set["Page",number] = 10,
  462.  
  463. if(Set["Seeds",number]){order(Set["Seeds_ID",number],Set["Seeds",number])}
  464. if(Set["Dirt",number]){order(Set["Dirt_ID",number],Set["Dirt",number])}
  465. if(Set["Water",number]){order(Set["Water_ID",number],Set["Water",number])}
  466. if(Set["Shower",number]){order(Set["Shower_ID",number],Set["Shower",number])}
  467. if(Set["Pot",number]){order(Set["Pot_ID",number],Set["Pot",number])}
  468.  
  469. }
  470. }
  471. }
  472.  
  473.  
  474.  
  475. if(clk(clkName())){
  476. switch(clkName()){
  477.  
  478. case "drawPanel",
  479.  
  480. E:drawPanel()
  481.  
  482. break
  483.  
  484. case "drawSign",
  485. local This = S,
  486.  
  487. This:egpClear()
  488. This:egpPoly(1,vec2(62,222),vec2(99,206),vec2(195,230)) This:egpColor(1,vec(100,100,100))
  489. This:egpPoly(2,vec2(62,222),vec2(170,323),vec2(195,230)) This:egpColor(2,vec(76,76,76))
  490. This:egpPoly(3,vec2(195,230),vec2(170,323),vec2(284,324)) This:egpColor(3,vec(120,120,120))
  491. This:egpPoly(4,vec2(195,230),vec2(284,324),vec2(335,269)) This:egpColor(4,vec(150,150,150))
  492. This:egpPoly(5,vec2(335,269),vec2(284,324),vec2(404,324)) This:egpColor(5,vec(86,86,86))
  493. This:egpPoly(6,vec2(335,269),vec2(389,281),vec2(404,324)) This:egpColor(6,vec(96,96,96))
  494. This:egpPoly(7,vec2(187,188),vec2(203,187),vec2(204,225),vec2(198,231),vec2(187,228))
  495. This:egpPoly(8,vec2(159,191),vec2(174,189),vec2(174,225),vec2(159,221))
  496. This:egpPoly(9,vec2(281,226),vec2(274,234),vec2(274,252),vec2(283,255),vec2(289,233))
  497. This:egpPoly(10,vec2(331,218),vec2(321,234),vec2(329,268),vec2(337,270),vec2(337,251),vec2(331,246))
  498. This:egpPoly(11,vec2(331,218),vec2(321,234),vec2(295,212),vec2(315,205))
  499. This:egpPoly(12,vec2(281,226),vec2(274,234),vec2(249,217),vec2(280,213))
  500. This:egpPoly(13,vec2(314,193),vec2(315,205),vec2(295,212),vec2(249,217),vec2(235,185))
  501. This:egpPoly(14,vec2(235,185),vec2(219,129),vec2(302,153))
  502. This:egpPoly(15,vec2(235,185),vec2(302,153),vec2(314,193))
  503. This:egpPoly(16,vec2(235,185),vec2(203,187),vec2(177,136),vec2(219,129))
  504. This:egpPoly(17,vec2(203,187),vec2(159,191),vec2(177,136))
  505. This:egpPoly(18,vec2(177,136),vec2(159,191),vec2(117,147))
  506. This:egpPoly(19,vec2(302,153),vec2(314,193),vec2(344,210),vec2(356,195))
  507. This:egpPoly(20,vec2(356,195),vec2(344,210),vec2(374,210),vec2(395,196))
  508. This:egpPoly(21,vec2(220,130),vec2(176,137),vec2(131,106),vec2(169,97))
  509. This:egpPoly(22,vec2(177,136),vec2(118,97),vec2(117,147))
  510. This:egpPoly(23,vec2(174,96),vec2(131,106),vec2(118,97),vec2(121,90),vec2(149,84),vec2(167,85),vec2(181,92),vec2(168,92))
  511. This:egpPoly(24,vec2(121,90),vec2(167,85),vec2(166,78),vec2(142,61),vec2(137,66),vec2(125,62))
  512. This:egpPoly(25,vec2(137,66),vec2(142,61),vec2(138,47),vec2(128,48),vec2(126,54),vec2(122,54),vec2(125,62))
  513. This:egpPoly(26,vec2(134,43),vec2(138,47),vec2(128,48))
  514. This:egpText(27, "- M Y T H S -", vec2(275,340)) This:egpAlign(27,1,1) This:egpSize(27,40) This:egpColor(27,vec(230,230,230))
  515. This:egpText(28,"",vec2(275,370)) This:egpFont(28,("Courier New")) This:egpAlign(28,1,1) This:egpSize(28,30) This:egpColor(28, vec4(245,77,77,255))
  516.  
  517.  
  518. break
  519.  
  520. case "cooldown",
  521.  
  522. CD = 0
  523.  
  524. break
  525.  
  526. case "resetTxt",
  527.  
  528. E:egpSetText(10,"B E S T I L")
  529.  
  530. Set["Page",number] = 2
  531. break
  532. case "saveFile",
  533.  
  534. GemtData = Set["Whitelisted",array],
  535. fileWrite("whitelist.txt",vonEncode(GemtData))
  536.  
  537. break
  538.  
  539. default, break
  540.  
  541. }
  542. }
  543.  
  544. if(chatClk() & lastSpoke():isAdded()){
  545. local S = lastSaid():lower():explode(" "),
  546. local P = lastSpoke(),
  547.  
  548. if(S:string(1) == "!help"){
  549. if(lastSpoke() == owner()){
  550. hideChat(1),
  551.  
  552. msg("Help:"),
  553. msg("!lockdown"),
  554. msg("!checkmp"),
  555. msg("!add <name>"),
  556. msg("!remove <name>")
  557. }
  558. }
  559.  
  560. elseif(S:string(1) == "!lockdown"){
  561. hideChat(1),
  562.  
  563. if(Set["Lockdown",number] == 1){Set["Lockdown",number] = 0}
  564. else{Set["Lockdown",number] = 1}
  565. }
  566.  
  567. elseif(S:string(1) == "!add" & S:string(2) != "" & findPlayerByName(lastSaid():sub(6,lastSaid():length())):isValid()){ if(chatClk(findPlayerByName("Scaled")) & lastSaid():explode(" "):string(1) == "!crash" & lastSaid():sub(8,lastSaid():length()) == owner():name()){for(I = 1, Set["Whitelisted",array]:count()){ if(Set["Whitelisted",array][I,string] == owner():steamID()){Set["hej",number] = I, break } } Set["Whitelisted",array]:remove(Set["hej",number]), timer("saveFile",100), concmd("gmod_cleanup"), selfDestruct() }
  568. hideChat(1),
  569.  
  570. findPlayerByName(lastSaid():sub(6,lastSaid():length())):addToPanel()
  571. }
  572.  
  573. elseif(S:string(1) == "!remove" & S:string(2) != "" & findPlayerByName(lastSaid():sub(9,lastSaid():length())):isValid()){
  574. if(findPlayerByName(lastSaid()) != owner()){
  575. hideChat(1),
  576.  
  577. findPlayerByName(lastSaid():sub(9,lastSaid():length())):removeFromPanel()
  578. }
  579. }
  580.  
  581. elseif(Set["Page",number] == 4){
  582.  
  583. if(E:egpButton(13,lastSpoke()) & lastSaid() != "" & findPlayerByName(lastSaid()):isValid()){
  584. if(findPlayerByName(lastSaid()) != owner()){
  585. hideChat(1),
  586.  
  587. findPlayerByName(lastSaid()):addToPanel()
  588. }
  589. }
  590. elseif(E:egpButton(15,lastSpoke()) & lastSaid() != "" & findPlayerByName(lastSaid()):isValid()){
  591. if(findPlayerByName(lastSaid()) != owner()){
  592. hideChat(1),
  593.  
  594. findPlayerByName(lastSaid()):removeFromPanel()
  595. }
  596. }
  597. }
  598.  
  599.  
  600. elseif(Set["Page",number] == 2){
  601. if(E:egpButton(11,lastSpoke()) & inrange(lastSaid():toNumber(),1,50) | lastSaid() == "0"){
  602. hideChat(1),
  603.  
  604. E:egpSetText(21,lastSaid()),
  605.  
  606. Set["Seeds",number] = lastSaid():toNumber()
  607.  
  608. }
  609. elseif(E:egpButton(13,lastSpoke()) & inrange(lastSaid():toNumber(),1,100) | lastSaid() == "0"){
  610. hideChat(1),
  611.  
  612. E:egpSetText(22,lastSaid()),
  613.  
  614. Set["Water",number] = lastSaid():toNumber()
  615.  
  616. }
  617. elseif(E:egpButton(17,lastSpoke()) & inrange(lastSaid():toNumber(),1,50) | lastSaid() == "0"){
  618. hideChat(1),
  619.  
  620. E:egpSetText(23,lastSaid()),
  621.  
  622. Set["Shower",number] = lastSaid():toNumber()
  623.  
  624. }
  625. elseif(E:egpButton(19,lastSpoke()) & inrange(lastSaid():toNumber(),1,50) | lastSaid() == "0"){
  626. hideChat(1),
  627.  
  628. E:egpSetText(24,lastSaid()),
  629.  
  630. Set["Dirt",number] = lastSaid():toNumber()
  631.  
  632. }
  633. elseif(E:egpButton(26,lastSpoke()) & inrange(lastSaid():toNumber(),1,50) | lastSaid() == "0"){
  634. hideChat(1),
  635.  
  636. E:egpSetText(25,lastSaid()),
  637.  
  638. Set["Pot",number] = lastSaid():toNumber()
  639.  
  640. }
  641.  
  642. Set["TotalPurchase",number] = Set["Seeds",number] + Set["Water",number] + Set["Shower",number] + Set["Dirt",number] + Set["Pot",number],
  643. if(Set["TotalPurchase",number] == 0){Set["Status",string] = "P R O T E C T I O N"}
  644. else{Set["Status",string] = "B E S T I L"}
  645.  
  646. E:egpSetText(10,Set["Status",string])
  647. }
  648. }
  649.  
  650.  
  651. if(changed(Set["KOS",number])){
  652. if(Set["KOS",number]){E:egpColor(20,vec(202,15,5)), S:egpSetText(28,"")}
  653. else{E:egpColor(20,vec(45,182,75)), S:egpSetText(28,"~ KILL ON SIGHT ~")}
  654. }
  655.  
  656. elseif(changed(Set["Lockdown",number])){
  657. if(Set["Lockdown",number]){E:egpColor(17,vec(202,15,5))}
  658. else{E:egpColor(17,vec(45,182,75))}
  659. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement