Advertisement
imliamxo

Canadian's Trails - Remake (v2)

May 6th, 2016
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 24.76 KB | None | 0 0
  1. @name Canadian's Trails
  2. @inputs S:wirelink [HoloPlate User]:entity
  3. @persist TrailAmount:number
  4. @persist Player:entity
  5. @persist [PositionOfTrail TrailName TrailString FileName State]:string
  6. @persist Data:table LoopReminder
  7. #Data Syntax: Data[SteamID , array] = [1]Name,[2]PositionOfTrail,[3]TrailName,[4]TrailString,[5]Color,[6]HoloNumber=User:id
  8. @persist R G B Holonumber
  9.  
  10. interval(300)
  11.  
  12.  
  13. if(changed(S:entity())&S:entity()){
  14. S:egpClear()
  15. runOnFile(1)
  16. runOnLast(1)
  17. timer("LoadFile",1000)
  18. FileName="Canadians_Trails_By_Liam.txt" #it has to end with .txt !!!
  19. #Simply Remove the E2 to make it save user files , dont just leave the server but dont worry theres a auto save after each purchase :)
  20.  
  21.  
  22. #Data Syntax: Data[SteamID , array] = [1]Name,[2]PositionOfTrail,[3]TrailName,[4]TrailString,[5]Color,[6]HoloNumber=User:id
  23. Data["STEAM_0:1:12345",array]=array("Example","head","plasma","Plasma",vec(0,255,50),1)
  24. Data[owner():steamID(),array]=array("Liam","lowback","laser","Laser",vec(0,255,50),owner():id())
  25.  
  26. #Price for a single trail
  27. TrailAmount = 100
  28.  
  29. #--------------------------------------------#
  30.  
  31. Holonumber = User:id()
  32.  
  33. function number egpClick(Player:entity,ID){
  34. return inrange(S:egpCursor(Player),S:egpPos(ID)-(S:egpSize(ID)/2),S:egpPos(ID)+(S:egpSize(ID)/2))
  35. }
  36.  
  37. function void entity:sendMessage(S:string) {
  38. if(This:isPlayer()) {
  39. printColor(vec(0,0,0),"[",vec(120,0,0),"Canadian's Trails",vec(0,0,0),"] ",vec(255, 255, 255), S:replace("%red",""):replace("%no",""))
  40. #This:luaRunPly("chat.AddText(Color(120, 0, 0), [[[Canadian's Trails] ]], Color(255, 255, 255), [[" + S:replace("%red", "]], Color(50, 0, 0), [["):replace("%no", "]], Color(255, 255, 255), [[") + "]])")
  41. } else {
  42. concmd("ulx psay \"" + This:name() + "\" \"[Canadian's Trails] " + S:replace("%red",""):replace("%no","") + "\"")
  43. }
  44. }
  45.  
  46.  
  47. owner():sendMessage("Welcome to %redCanadian's Trails%no!")
  48. owner():sendMessage("This E2 was made by %redLiam%no!")
  49.  
  50. HoloPlate:setAlpha(0)
  51.  
  52.  
  53. function homePage(){
  54. S:egpClear()
  55.  
  56. S:egpBox(1,vec2(256),vec2(512)),S:egpColor(1,vec())
  57. S:egpRoundedBox(2,vec2(256,50),vec2(400,80)),S:egpColor(2,vec(50))
  58. S:egpRoundedBox(3,vec2(256,50),vec2(390,70)),S:egpColor(3,vec(100,0,0))
  59.  
  60. S:egpText(4,"Canadian's",vec2(196,70)),S:egpAlign(4,1,4),S:egpSize(4,50),S:egpColor(4,vec(255,0,0))
  61. S:egpText(5,"Trails",vec2(370,70)),S:egpAlign(5,1,5),S:egpSize(5,50),S:egpColor(5,vec(97))
  62. S:egpText(6,"Begin",vec2(256)),S:egpAlign(6,1,6),S:egpSize(6,60),S:egpColor(6,vec(97))
  63. S:egpText(13,"Remake by imLiaMxo & LuckyGuy",vec2(90,73)),S:egpSize(13,10)
  64.  
  65. PositionOfTrail = "nil"
  66. TrailName = "nil"
  67. TrailString = "nil"
  68. State = "nil"
  69. holoDelete(100)
  70. holoDelete(101)
  71.  
  72. }
  73.  
  74. function fakeLoading(){
  75. S:egpRemove(6)
  76. S:egpText(7,"Please Standby",vec2(256)),S:egpSize(7,60),S:egpAlign(7,1,7),S:egpColor(7,vec(97))
  77. S:egpText(8,"",vec2(256,316)),S:egpSize(8,60),S:egpAlign(8,1,8),S:egpColor(8,vec(97))
  78. timer("load_.1",100)
  79.  
  80. }
  81.  
  82. function mainIndex(){
  83.  
  84. S:egpClear()
  85.  
  86. S:egpRoundedBox(9,vec2(100,40),vec2(300,60)),S:egpColor(9,vec(50))
  87. S:egpRoundedBox(10,vec2(100,40),vec2(290,50)),S:egpColor(10,vec(100,0,0))
  88. S:egpText(11,"Canadian's",vec2(10,23)),S:egpSize(11,30),S:egpColor(11,vec(255,0,0))
  89. S:egpText(12,"Trails",vec2(150,23)),S:egpSize(12,30),S:egpColor(12,vec(255))
  90. S:egpText(13,"Remake by imLiaMxo & LuckyGuy",vec2(10,53)),S:egpSize(13,10)
  91. S:egpBox(14,vec2(50,211),vec2(25,282)),S:egpColor(14,vec(40))
  92.  
  93. #
  94. #Circles
  95. #
  96.  
  97. S:egpCircle(15,vec2(50,130),vec2(35)),S:egpColor(15,vec(40))
  98. S:egpCircle(16,vec2(50,130),vec2(30)),S:egpColor(16,vec(100,0,0))
  99. S:egpText(17,"1",vec2(57,145)),S:egpSize(17,30),S:egpColor(17,vec(255,0,0)),S:egpAlign(17,16,17)
  100.  
  101. S:egpCircle(18,vec2(50,210),vec2(35)),S:egpColor(18,vec(40))
  102. S:egpCircle(19,vec2(50,210),vec2(30)),S:egpColor(19,vec(100,0,0))
  103. S:egpText(20,"2",vec2(57,225)),S:egpSize(20,30),S:egpColor(20,vec(40)),S:egpAlign(20,19,20)
  104.  
  105. S:egpCircle(21,vec2(50,290),vec2(35)),S:egpColor(21,vec(40))
  106. S:egpCircle(22,vec2(50,290),vec2(30)),S:egpColor(22,vec(100,0,0))
  107. S:egpText(23,"3",vec2(57,305)),S:egpSize(23,30),S:egpColor(23,vec(40)),S:egpAlign(23,22,23)
  108.  
  109. S:egpCircle(24,vec2(50,370),vec2(35)),S:egpColor(24,vec(40))
  110. S:egpCircle(25,vec2(50,370),vec2(30)),S:egpColor(25,vec(100,0,0))
  111. S:egpText(26,"4",vec2(57,385)),S:egpSize(26,30),S:egpColor(26,vec(40)),S:egpAlign(26,25,26)
  112.  
  113.  
  114. #
  115. #Finally No More Fucking Circles!!!!
  116. #
  117.  
  118.  
  119. #
  120. #Now that fucking line he decided to add in? Like WTF Bill?!!??!
  121. #
  122.  
  123. S:egpBox(30,vec2(127,130),vec2(85,20)),S:egpColor(30,vec(40))
  124.  
  125. #
  126. #Done that. What a pain in the fucking arse it was too!
  127. #
  128.  
  129. #
  130. #Now the main body
  131. #
  132.  
  133. S:egpRoundedBox(31,vec2(300,256),vec2(300,355)),S:egpColor(31,vec(40))
  134. S:egpRoundedBox(32,vec2(300,256),vec2(290,345)),S:egpColor(32,vec(100,0,0))
  135.  
  136. #
  137. #Main Body Done
  138.  
  139. #
  140. #Main Body Text
  141. #
  142.  
  143. S:egpText(33,"Position",vec2(256,90)),S:egpSize(33,30)
  144.  
  145. S:egpText(34,"- Head",vec2(176,150)),S:egpSize(34,35),S:egpColor(34,vec(97))
  146. S:egpText(35,"- Upper Back",vec2(176,190)),S:egpSize(35,35),S:egpColor(35,vec(97))
  147. S:egpText(36,"- Lower Back",vec2(176,230)),S:egpSize(36,35),S:egpColor(36,vec(97))
  148.  
  149. S:egpBox(37,vec2(255,165),vec2(150,30)),S:egpAlpha(37,0) # Head
  150. S:egpBox(38,vec2(255,205),vec2(150,30)),S:egpAlpha(38,0) # Upper Back
  151. S:egpBox(39,vec2(255,245),vec2(150,30)),S:egpAlpha(39,0) # Lower Back
  152.  
  153.  
  154. S:egpText(40,"- Next Step -",vec2(296,415)),S:egpSize(40,40),S:egpColor(40,vec(70)),S:egpAlign(40,1,40)
  155. S:egpBox(41,vec2(296,415),vec2(200,60)),S:egpAlpha(41,0)
  156.  
  157.  
  158.  
  159. }
  160.  
  161. function mainIndex2(){
  162.  
  163. S:egpRemove(34),S:egpRemove(35),S:egpRemove(36),S:egpRemove(37),S:egpRemove(38),S:egpRemove(39),S:egpRemove(40),S:egpRemove(41)
  164. S:egpColor(17,vec(40)),S:egpColor(20,vec(255,0,0))
  165. S:egpPos(30,vec2(S:egpPos(30):x(),S:egpPos(30):y()+80))
  166.  
  167. S:egpSetText(33,"Material")
  168. S:egpText(42,"- Hearts",vec2(176,150)),S:egpSize(42,30),S:egpColor(42,vec(97))
  169. S:egpText(43,"- LOL",vec2(176,190)),S:egpSize(43,30),S:egpColor(43,vec(97))
  170. S:egpText(44,"- Physbeam",vec2(176,230)),S:egpSize(44,30),S:egpColor(44,vec(97))
  171. S:egpText(45,"- Plasma",vec2(176,270)),S:egpSize(45,30),S:egpColor(45,vec(97))
  172. S:egpText(46,"- Tube",vec2(176,310)),S:egpSize(46,30),S:egpColor(46,vec(97))
  173. S:egpText(47,"- Laser",vec2(176,350)),S:egpSize(47,30),S:egpColor(47,vec(97))
  174.  
  175.  
  176. S:egpBox(48,vec2(255,165),vec2(150,30)),S:egpAlpha(48,0)
  177. S:egpBox(49,vec2(255,205),vec2(150,30)),S:egpAlpha(49,0)
  178. S:egpBox(50,vec2(255,245),vec2(150,30)),S:egpAlpha(50,0)
  179. S:egpBox(51,vec2(255,285),vec2(150,30)),S:egpAlpha(51,0)
  180. S:egpBox(52,vec2(255,325),vec2(150,30)),S:egpAlpha(52,0)
  181. S:egpBox(53,vec2(255,365),vec2(150,30)),S:egpAlpha(53,0)
  182.  
  183. S:egpText(54,"- Next Step -",vec2(296,415)),S:egpSize(54,40),S:egpColor(54,vec(70)),S:egpAlign(54,1,54)
  184. S:egpBox(55,vec2(296,415),vec2(200,60)),S:egpAlpha(55,0)
  185. }
  186.  
  187. function recoverIndex(Dats:array){
  188. #[S:egpClear()
  189. S:egpTextLayout(1,"Recover Trail ?",vec2(),vec2(512,200)),S:egpAlign(1,1),S:egpSize(1,50)
  190. S:egpLine(2,vec2(100,50),vec2(412,50)),S:egpSize(2,3)
  191. S:egpTextLayout(3,"The system detected that you already own a trail. Please select an option to continue",vec2(0,55),vec2(250,200))
  192. S:egpBox(4,vec2(384,130),vec2(250,140)),S:egpColor(4,vec(50))
  193. S:egpBox(5,vec2(384,130),vec2(240,130)),S:egpColor(5,vec(100,0,0))
  194. S:egpBox(6,vec2(384,130),vec2(230,120)),S:egpColor(6,vec(50))
  195. S:egpText(7,"Trail details:",vec2(271,70))
  196. S:egpText(8,"Trail Position - "+Dats[2,string],vec2(271,110))
  197. S:egpText(9,"Trail Type - "+Dats[4,string],vec2(271,130))
  198. S:egpText(10,"Trail Color - ",vec2(271,150))
  199. S:egpBox(11,vec2(424,160),vec2(80,20)),S:egpColor(11,Dats[5,vector])
  200. S:egpRoundedBox(56,vec2(126,130),vec2(190,40)),S:egpColor(56,vec(0,200,0))
  201. S:egpTextLayout(57,"Recover",vec2(31,115),vec2(190,40)),S:egpAlign(57,1),S:egpSize(57,30)
  202. S:egpRoundedBox(58,vec2(126,200),vec2(190,40)),S:egpColor(58,vec(255,0,0))
  203. S:egpTextLayout(300,"Delete",vec2(31,185),vec2(190,40)),S:egpAlign(300,1),S:egpColor(300,vec()),S:egpSize(300,30)
  204. ]#
  205.  
  206. S:egpClear()
  207.  
  208. S:egpRoundedBox(1,vec2(100,40),vec2(300,60)),S:egpColor(1,vec(50))
  209. S:egpRoundedBox(2,vec2(100,40),vec2(290,50)),S:egpColor(2,vec(100,0,0))
  210. S:egpText(3,"Canadian's",vec2(10,23)),S:egpSize(3,30),S:egpColor(3,vec(255,0,0))
  211. S:egpText(4,"Trails",vec2(150,23)),S:egpSize(4,30),S:egpColor(4,vec(255))
  212. S:egpText(5,"Remake by imLiaMxo & LuckyGuy",vec2(10,53)),S:egpSize(5,10)
  213.  
  214. S:egpRoundedBox(6,vec2(256,266),vec2(360,370)),S:egpColor(6,vec(97))
  215. S:egpTextLayout(7, "We have discovered that you ("+Player:name()+" : "+Player:steamID()+") have got a trail already! Would you like to equip it for free?",vec2(117, 110), vec2(310, 460)),S:egpSize(7,30)
  216.  
  217. S:egpCircle(8,vec2(138,400),vec2(40))
  218. S:egpColor(8,Dats[5,vector])
  219.  
  220. S:egpText(9,Dats[4,string],vec2(216,390))
  221. S:egpSize(9,35)
  222.  
  223. S:egpText(10,Dats[2,string],vec2(312,390))
  224. S:egpSize(10,35)
  225.  
  226. S:egpCircleOutline(11,vec2(138,400),vec2(40))
  227. S:egpColor(11,vec(45))
  228. S:egpSize(11,2)
  229.  
  230. S:egpRoundedBox(111,vec2(205,320),vec2(100,40))
  231. S:egpColor(111,vec(0,255,0))
  232.  
  233. S:egpRoundedBox(121,vec2(305,320),vec2(100,40))
  234. S:egpColor(121,vec(255,0,0))
  235.  
  236. S:egpText(13,"Yes",vec2(205,335))
  237. S:egpSize(13,30)
  238. S:egpAlign(13,1,13)
  239.  
  240. S:egpText(14,"No",vec2(305,335))
  241. S:egpSize(14,30)
  242. S:egpAlign(14,1,14)
  243. }
  244.  
  245. function colorPage(){
  246.  
  247. for(I=42,55){
  248. S:egpRemove(I)
  249. }
  250.  
  251. R=255
  252. G=255
  253. B=255
  254.  
  255. S:egpPos(30,vec2(S:egpPos(30):x(),S:egpPos(30):y()+80))
  256. S:egpColor(20,vec(97)),S:egpColor(23,vec(255,0,0))
  257. S:egpSetText(33,"Color")
  258.  
  259. S:egpText(56,"Red: "+R,vec2(170,150)),S:egpSize(56,30),S:egpColor(56,vec(97))
  260. S:egpText(57,"Green: "+G,vec2(170,180)),S:egpSize(57,30),S:egpColor(57,vec(97))
  261. S:egpText(58,"Blue: "+B,vec2(170,210)),S:egpSize(58,30),S:egpColor(58,vec(97))
  262.  
  263. S:egpBox(59,vec2(268,167),vec2(25)),S:egpMaterial(59,"gui/arrow"),S:egpAngle(59,90),S:egpColor(59,vec(255,0,0))
  264. S:egpBox(60,vec2(348,167),vec2(25)),S:egpMaterial(60,"gui/arrow"),S:egpAngle(60,270),S:egpColor(60,vec(255,0,0))
  265.  
  266. S:egpBox(61,vec2(268,197),vec2(25)),S:egpMaterial(61,"gui/arrow"),S:egpAngle(61,90),S:egpColor(61,vec(255,0,0))
  267. S:egpBox(62,vec2(348,197),vec2(25)),S:egpMaterial(62,"gui/arrow"),S:egpAngle(62,270),S:egpColor(62,vec(255,0,0))
  268.  
  269. S:egpBox(63,vec2(268,227),vec2(25)),S:egpMaterial(63,"gui/arrow"),S:egpAngle(63,90),S:egpColor(63,vec(255,0,0))
  270. S:egpBox(64,vec2(348,227),vec2(25)),S:egpMaterial(64,"gui/arrow"),S:egpAngle(64,270),S:egpColor(64,vec(255,0,0))
  271.  
  272. S:egpRoundedBox(65,vec2(420,190),vec2(30,100)),S:egpColor(65,vec(97))
  273. S:egpRoundedBox(66,vec2(420,190),vec2(25,95)),S:egpColor(66,vec(R,B,G))
  274.  
  275.  
  276. S:egpText(67,"- Next Step -",vec2(296,415)),S:egpSize(67,40),S:egpColor(67,vec(70)),S:egpAlign(67,1,67)
  277. S:egpBox(68,vec2(296,415),vec2(200,60)),S:egpAlpha(68,0)
  278.  
  279.  
  280. }
  281.  
  282.  
  283. function checkoutPage(){
  284.  
  285. for(I2=56,68){
  286. S:egpRemove(I2)
  287. }
  288.  
  289. S:egpColor(23,vec(97)),S:egpColor(26,vec(255,0,0))
  290. S:egpSetText(33,"Checkout")
  291. S:egpPos(30,vec2(S:egpPos(30):x(),S:egpPos(30):y()+80))
  292.  
  293. S:egpText(69,"Position:",vec2(170,146)),S:egpSize(69,30),S:egpColor(69,vec(97))
  294. S:egpText(70,PositionOfTrail,vec2(240,166)),S:egpSize(70,30),S:egpColor(70,vec(255,0,0))
  295.  
  296. S:egpText(71,"Material:",vec2(170,186)),S:egpSize(71,30),S:egpColor(71,vec(97))
  297. S:egpText(72,TrailString+"("+TrailName+")",vec2(180,206)),S:egpSize(72,27),S:egpColor(72,vec(255,0,0))
  298.  
  299. S:egpText(73,"Colour:",vec2(170,246)),S:egpSize(73,30),S:egpColor(73,vec(97))
  300. S:egpText(74,R+","+G+","+B,vec2(210,266)),S:egpSize(74,30),S:egpColor(74,vec(255,0,0))
  301. S:egpCircle(75,vec2(400,270),vec2(30)),S:egpColor(75,vec(R,G,B))
  302.  
  303. S:egpText(78,"- Next Step -",vec2(296,415)),S:egpSize(78,40),S:egpColor(78,vec(70)),S:egpAlign(78,1,78)
  304. S:egpBox(79,vec2(296,415),vec2(200,60)),S:egpAlpha(79,0)
  305.  
  306. }
  307.  
  308. function thankPage(){
  309.  
  310. timer("reset_shop",5000)
  311.  
  312.  
  313. S:egpClear()
  314.  
  315. S:egpRoundedBox(80,vec2(256,266),vec2(360,370)),S:egpColor(80,vec(97))
  316.  
  317.  
  318. S:egpRoundedBox(2,vec2(256,50),vec2(400,80)),S:egpColor(2,vec(50))
  319. S:egpRoundedBox(3,vec2(256,50),vec2(390,70)),S:egpColor(3,vec(100,0,0))
  320.  
  321. S:egpText(4,"Canadian's",vec2(196,70)),S:egpAlign(4,1,4),S:egpSize(4,50),S:egpColor(4,vec(255,0,0))
  322. S:egpText(5,"Trails",vec2(370,70)),S:egpAlign(5,1,5),S:egpSize(5,50),S:egpColor(5,vec(97))
  323. S:egpText(13,"Remake by imLiaMxo & LuckyGuy",vec2(90,73)),S:egpSize(13,10)
  324.  
  325. S:egpTextLayout(81, "We thank you for purchasing an awesome trail! If you ever want it removed, simply press 'begin' again and follow the instructions.", vec2(117, 110), vec2(310, 360)),S:egpSize(81,35)
  326.  
  327.  
  328. }
  329.  
  330.  
  331. }
  332.  
  333.  
  334. if(~User&User){
  335. if(egpClick(User,1)){
  336. State = "logged"
  337. fakeLoading()
  338. Player = User
  339. timer("stop_fake_load",6000)
  340. }elseif(egpClick(User,37)){
  341. PositionOfTrail = "head"
  342. S:egpColor(34,vec(0,255,0))
  343. S:egpColor(35,vec(97))
  344. S:egpColor(36,vec(97))
  345. }elseif(egpClick(User,38)){
  346. PositionOfTrail = "upback"
  347. S:egpColor(34,vec(97))
  348. S:egpColor(35,vec(0,255,0))
  349. S:egpColor(36,vec(97))
  350. }elseif(egpClick(User,39)){
  351. PositionOfTrail = "lowback"
  352. S:egpColor(34,vec(97))
  353. S:egpColor(35,vec(97))
  354. S:egpColor(36,vec(0,255,0))
  355. }elseif(egpClick(User,41)){
  356. if(PositionOfTrail != "nil"){
  357. mainIndex2()
  358. }else{
  359. S:egpSetText(40,"Please Choose A Position"),S:egpSize(40,25)
  360. timer("reset_to_normal_text",3000)
  361. }
  362. }
  363. elseif(egpClick(User,48)){
  364. TrailName = "love"
  365. TrailString = "Hearts"
  366. S:egpColor(42,vec(0,255,0))
  367. S:egpColor(43,vec(97))
  368. S:egpColor(44,vec(97))
  369. S:egpColor(45,vec(97))
  370. S:egpColor(46,vec(97))
  371. S:egpColor(47,vec(97))
  372. }elseif(egpClick(User,49)){
  373. TrailName = "lol"
  374. TrailString = "LOL"
  375. S:egpColor(42,vec(97))
  376. S:egpColor(43,vec(0,255,0))
  377. S:egpColor(44,vec(97))
  378. S:egpColor(45,vec(97))
  379. S:egpColor(46,vec(97))
  380. S:egpColor(47,vec(97))
  381. }elseif(egpClick(User,50)){
  382. TrailName = "physbeam"
  383. TrailString = "Physbeam"
  384. S:egpColor(42,vec(97))
  385. S:egpColor(43,vec(97))
  386. S:egpColor(44,vec(0,255,0))
  387. S:egpColor(45,vec(97))
  388. S:egpColor(46,vec(97))
  389. S:egpColor(47,vec(97))
  390. }elseif(egpClick(User,51)){
  391. TrailName = "plasma"
  392. TrailString = "Plasma"
  393. S:egpColor(42,vec(97))
  394. S:egpColor(43,vec(97))
  395. S:egpColor(44,vec(97))
  396. S:egpColor(45,vec(0,255,0))
  397. S:egpColor(46,vec(97))
  398. S:egpColor(47,vec(97))
  399. }elseif(egpClick(User,52)){
  400. TrailName = "tube"
  401. TrailString = "Tube"
  402. S:egpColor(42,vec(97))
  403. S:egpColor(43,vec(97))
  404. S:egpColor(44,vec(97))
  405. S:egpColor(45,vec(97))
  406. S:egpColor(46,vec(0,255,0))
  407. S:egpColor(47,vec(97))
  408. }elseif(egpClick(User,53)){
  409. TrailName = "laser"
  410. TrailString = "Laser"
  411. S:egpColor(42,vec(97))
  412. S:egpColor(43,vec(97))
  413. S:egpColor(44,vec(97))
  414. S:egpColor(45,vec(97))
  415. S:egpColor(46,vec(97))
  416. S:egpColor(47,vec(0,255,0))
  417. }elseif(egpClick(User,55)){
  418. if(TrailString != "nil"){
  419. colorPage()
  420. }else{
  421. S:egpSetText(54,"Please Choose A Material"),S:egpSize(54,25)
  422. timer("reset_to_normal_text_",3000)
  423. }
  424. }elseif(egpClick(User,111)){
  425. local Temp=Data[Player:steamID(),array]
  426. holoDelete(Temp[6,number])
  427. Holonumber=Player:id()
  428. PositionOfTrail=Temp[2,string]
  429. TrailName=Temp[3,string]
  430. TrailString=Temp[4,string]
  431. if(PositionOfTrail == "head"){
  432. holoCreate(Holonumber,Player:pos())
  433. holoParent(Holonumber,Player)
  434. holoPos(Holonumber,Player:pos()+vec(0,0,60))
  435. holoAlpha(Holonumber,0)
  436. holoEntity(Holonumber):setTrails(16,5,5,"trails/"+TrailName,Temp[5,vector],255)
  437. Data[Player:steamID(),array]=array(Player:name(),PositionOfTrail,TrailName,TrailString,vec(R,G,B),Holonumber)
  438. }elseif(PositionOfTrail == "upback"){
  439. holoCreate(Holonumber,Player:pos())
  440. holoParent(Holonumber,Player)
  441. holoPos(Holonumber,Player:pos()+vec(0,0,30))
  442. holoAlpha(Holonumber,0)
  443. holoEntity(Holonumber):setTrails(16,5,5,"trails/"+TrailName,Temp[5,vector],255)
  444. Data[Player:steamID(),array]=array(Player:name(),PositionOfTrail,TrailName,TrailString,vec(R,G,B),Holonumber)
  445. }elseif(PositionOfTrail == "lowback"){
  446. holoCreate(Holonumber,Player:pos())
  447. holoParent(Holonumber,Player)
  448. holoAlpha(Holonumber,0)
  449. holoEntity(Holonumber):setTrails(16,5,5,"trails/"+TrailName,Temp[5,vector],255)
  450. Data[Player:steamID(),array]=array(Player:name(),PositionOfTrail,TrailName,TrailString,vec(R,G,B),Holonumber)
  451. }
  452. thankPage()
  453. Player:sendMessage("You have just %redequipped%no your trail!")
  454. }elseif(egpClick(User,121)){
  455. local ID = Data[Player:steamID(),array][6,number]
  456. if(ID==Player:id()){
  457. holoDelete(ID)
  458. Player:sendMessage("You have just %redremoved%no your trail!")
  459. }
  460. Data:remove(Player:steamID())
  461. mainIndex()
  462. }
  463. elseif(egpClick(User,59)&R>0){
  464. R = R-5
  465. S:egpSetText(56,"Red: "+R)
  466. timer("update_colour",100)
  467. }elseif(egpClick(User,60)){
  468. R = R+5
  469. S:egpSetText(56,"Red "+R)
  470. timer("update_colour",100)
  471. }elseif(egpClick(User,60)){
  472. R = R+5
  473. S:egpSetText(56,"Red "+R)
  474. timer("update_colour",100)
  475. }elseif(egpClick(User,61)&G>0){
  476. G = G-5
  477. S:egpSetText(57,"Green: "+G)
  478. timer("update_colour",100)
  479. }elseif(egpClick(User,62)){
  480. G = G+5
  481. S:egpSetText(57,"Green: "+G)
  482. timer("update_colour",100)
  483. }elseif(egpClick(User,63)&B>0){
  484. B = B-5
  485. S:egpSetText(58,"Blue: "+B)
  486. timer("update_colour",100)
  487. }elseif(egpClick(User,64)){
  488. B = B+5
  489. S:egpSetText(58,"Blue: "+B)
  490. timer("update_colour",100)
  491. }elseif(egpClick(User,68)){
  492. checkoutPage()
  493. }elseif(egpClick(User,79)){
  494. Player = User
  495. moneyRequest(Player,TrailAmount,TrailString+" Trail")
  496. }
  497.  
  498. }
  499.  
  500. if(moneyClk()){
  501. Holonumber=Player:id()
  502. Player = moneyClkPlayer()
  503. Player:sendMessage("You have purchased a %red"+TrailString+" %notrail, with the colour: vec(%red"+R+"%no,%red"+G+"%no,%red"+B+"%no)! With Pos: %red"+PositionOfTrail+"!")
  504. if(PositionOfTrail == "head"){
  505. holoCreate(Holonumber,Player:pos())
  506. holoParent(Holonumber,Player)
  507. holoPos(Holonumber,Player:pos()+vec(0,0,60))
  508. holoAlpha(Holonumber,0)
  509. holoEntity(Holonumber):setTrails(16,5,5,"trails/"+TrailName,vec(R,G,B),255)
  510. Data[Player:steamID(),array]=array(Player:name(),PositionOfTrail,TrailName,TrailString,vec(R,G,B),Holonumber)
  511. }elseif(PositionOfTrail == "upback"){
  512. holoCreate(Holonumber,Player:pos())
  513. holoParent(Holonumber,Player)
  514. holoPos(Holonumber,Player:pos()+vec(0,0,30))
  515. holoAlpha(Holonumber,0)
  516. holoEntity(Holonumber):setTrails(16,5,5,"trails/"+TrailName,vec(R,G,B),255)
  517. Data[Player:steamID(),array]=array(Player:name(),PositionOfTrail,TrailName,TrailString,vec(R,G,B),Holonumber)
  518. }elseif(PositionOfTrail == "lowback"){
  519. holoCreate(Holonumber,Player:pos())
  520. holoParent(Holonumber,Player)
  521. holoAlpha(Holonumber,0)
  522. holoEntity(Holonumber):setTrails(16,5,5,"trails/"+TrailName,vec(R,G,B),255)
  523. Data[Player:steamID(),array]=array(Player:name(),PositionOfTrail,TrailName,TrailString,vec(R,G,B),Holonumber)
  524. }
  525.  
  526.  
  527. thankPage()
  528. timer("Unregular_File_Save",100)
  529. }
  530.  
  531. if(clk("load_.1")){
  532. S:egpSetText(8,".")
  533. timer("load_.2",1000)
  534. }elseif(clk("load_.2")){
  535. S:egpSetText(8,"..")
  536. timer("load_.3",1000)
  537. }elseif(clk("load_.3")){
  538. S:egpSetText(8,"...")
  539. timer("load_.1",1000)
  540. }elseif(clk("stop_fake_load")){
  541. stopAllTimers()
  542. timer("AFK?",3000)
  543. if(Player!=noentity() & Data:exists(Player:steamID())){
  544. recoverIndex(Data[Player:steamID(),array])
  545. }else{
  546. mainIndex()
  547. }
  548. }elseif(clk("reset_to_normal_text")){
  549. S:egpSetText(40,"- Next Step -"),S:egpSize(40,40)
  550. S:egpSetText(54,"- Next Step -"),S:egpSize(55,40)
  551. }elseif(clk("update_colour")){
  552. S:egpColor(66,vec(R,G,B))
  553. }elseif(clk("reset_shop")){
  554. homePage()
  555. }
  556. if(R>250){
  557. R = 255
  558. S:egpAlpha(60,0)
  559. }else{
  560. S:egpAlpha(60,255)
  561. }
  562. if(R<5){
  563. R = 0
  564. S:egpAlpha(59,0)
  565. }else{
  566. S:egpAlpha(59,255)
  567. }
  568.  
  569. if(G>250){
  570. G = 255
  571. S:egpAlpha(62,0)
  572. }else{
  573. S:egpAlpha(62,255)
  574. }
  575. if(G<5){
  576. G = 0
  577. S:egpAlpha(61,0)
  578. }else{
  579. S:egpAlpha(61,255)
  580. }
  581.  
  582.  
  583. if(B>250){
  584. B = 255
  585. S:egpAlpha(64,0)
  586. }else{
  587. S:egpAlpha(64,255)
  588. }
  589. if(B<5){
  590. B = 0
  591. S:egpAlpha(63,0)
  592. }else{
  593. S:egpAlpha(63,255)
  594. }
  595.  
  596. if(clk("AFK?")){
  597. if(Player){
  598. if(Player:pos():distance(S:entity():pos())>250){
  599. homePage()
  600. }else{
  601. timer("AFK?",3000)
  602. }
  603. }
  604. }
  605.  
  606. if(clk("LoadFile")){
  607. fileLoad(FileName)
  608. homePage()
  609. owner():sendMessage("Attempting to load user files...")
  610. owner():sendMessage("Loading...")
  611. }
  612. if(fileClk(FileName)){
  613. local Dats=fileRead()
  614. if(Dats){
  615. Data=vonDecodeTable(Dats)
  616. owner():sendMessage("Load Complete!")
  617. owner():sendMessage("[%red"+Data:count()+"%no] user files have been loaded.")
  618. }
  619. }
  620.  
  621.  
  622. if(State == "logged"){
  623.  
  624. holoCreate(100)
  625. holoModel(100,Player:model())
  626. holoPos(100,HoloPlate:pos())
  627. holoAng(100,HoloPlate:angles())
  628. holoAnim(100,13)
  629.  
  630. if(PositionOfTrail != "nil"){
  631. holoCreate(101)
  632. holoModel(101,"sphere")
  633. if(PositionOfTrail == "head"){
  634. holoPos(101,holoEntity(100):pos()+vec(0,cos(curtime()*150)*10,60))
  635. }elseif(PositionOfTrail == "upback"){
  636. holoPos(101,holoEntity(100):pos()+vec(0,cos(curtime()*150)*10,30))
  637. }elseif(PositionOfTrail == "lowback"){
  638. holoPos(101,holoEntity(100):pos()+vec(0,cos(curtime()*150)*10,0))
  639. }
  640.  
  641. if(TrailString != "nil"){
  642. holoAlpha(101,0)
  643. holoEntity(101):setTrails(15,5,25,"trails/"+TrailName,vec(255,255,255),255)
  644. }
  645.  
  646. if(moneyClk()){
  647. State = "nil"
  648. holoDelete(100)
  649. holoDelete(101)
  650. }
  651. }
  652. }
  653.  
  654. if(last()|clk("Unregular_File_Save")){
  655. fileWrite(FileName,vonEncode(Data))
  656. if(!clk("Unregular_File_Save")){owner():sendMessage("Saved [%redx"+Data:count()+"%no] user files.")}
  657. }
  658.  
  659.  
  660.  
  661. S:egpText(500,"v2",vec2(470,476))
  662. S:egpColor(500,vec(255))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement