Thomads

Stavox - QuickBank

Dec 26th, 2018
1,415
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 69.42 KB | None | 0 0
  1. @name QuickBank v1
  2. @inputs [EGP,EGPC,Skilt]:wirelink [User,UserC,InsertionR]:entity
  3. @outputs FD
  4. @persist [Animation_Numb,MinPrinterLvl,MaxPrintersStandard,MaxPrintersPremium,EmeraldPay,DiamondPay,CmdLoad,PremiumP,StandardP,HandbackFee,PayoutInterval,AcceptedTos,AFKPayout,StartLoaded,CurrSteamID,BackupInterval,Sent,SentSep,Earned,EarnedSep,Premiums,PremiumPrice,AnimDel,InsertionWait,Closed,CooldownContact,AutoBackup]:number [Directory,PageC,LoginMsg,Page,T1,T2,T3,T4,T5,T6,Kryp,O,KL,AL,GF,TK,H,V,PL,WV,GG,ST,MU,AGB]:string [Animation_Col,BrightCol,DarkCol]:vector [CurrUser,SO,AWF,QP]:entity [Players,PayoutSteamIDs]:table
  5. @trigger
  6.  
  7. if(first() | dupefinished()) {
  8.    
  9.     #v1 (cmd)
  10.     ########################################## CONFIG START ##########################################
  11.    
  12.     #Hvad er det mindste lvl printere skal have? (1 - Bronze, 2 - Guld, 3 - Diamond, 4 - Emerald)
  13.     MinPrinterLvl = 3
  14.    
  15.     #Hvor mange printere skal standard og premium kontoer have?
  16.     MaxPrintersStandard = 4
  17.     MaxPrintersPremium = 16
  18.    
  19.     #Pris for et premium abonnement
  20.     PremiumPrice = 15000
  21.    
  22.     #Hvor mange procent af udbyttet fra printerne modtager standard og premium kontoer?
  23.     PremiumP = 96
  24.     StandardP = 75
  25.    
  26.     #Hvor ofte skal banken udbetale penge? (I minutter)
  27.     PayoutInterval = 8
  28.    
  29.     #Hvor ofte skal banken tage en backup af data? (I minutter)
  30.     BackupInterval = 2
  31.    
  32.     #Modtager kunden penge hvis kunden er AFK? (1 - Ja, 0 - Nej)
  33.     AFKPayout = 1
  34.        
  35.     #Sluk eller aktiver automatisk backup (1 - Aktiveret, 0 - Slukket)
  36.     AutoBackup = 1
  37.    
  38.     #Hvor meget skal kunderne betale for udlevering af printere? (Pr. printer ved brug af !udlever kommandoen)
  39.     HandbackFee = 2000
  40.    
  41.     #Indstiller velkomst-beskeden
  42.     LoginMsg = "Velkommen"
  43.    
  44.     #Indstil bankens farvekoder  !!!--Anbefales ikke at modificeres, dog kan det give nogle OK resultater--!!!
  45.     BrightCol = vec(52, 73, 94)
  46.     DarkCol = vec(44, 62, 80)
  47.    
  48.     #Terms of service
  49.     T1 = "1. Idet der inds"+ae()+"ttes en v"+ae()+"rdigenstand, overgives dens ejerskab til banken."
  50.     T2 = "2. Vi forbeholder os retten til at lukke banken uden modtagelse af refusion."
  51.     T3 = "3. Med et standard abonnement modtager du "+StandardP+"% af dine genstandes udbytte."
  52.     T4 = "4. "+oeL()+"nskes en v"+ae()+"rdigenstand returneret, kan dette arrangeres mod betaling."
  53.     T5 = "5. V"+ae()+"rdigenstande, der ikke er i top level, vil ikke blive registreret."
  54.     T6 = "6. Der kan g"+aa()+" op til "+(PayoutInterval*2):toString()+" minutter inden f"+oe()+"rste udbetaling."
  55.    
  56.    
  57.     ############################################ CONFIG END ############################################    
  58.     #**************************************************************************************************#
  59.     ######################################### DONT TOUCH THESE #########################################
  60.    
  61.     Animation_Numb = 8
  62.     Animation_Col = vec(52, 152, 219)
  63.     Closed = 0
  64.    
  65.     Sent = 0
  66.     SentSep = 0
  67.     Earned = 0
  68.     EarnedSep = 0
  69.     Premiums = 0
  70.     PageC = "Startup"
  71.    
  72.     EmeraldPay = 277
  73.     DiamondPay = 221
  74.    
  75.     Directory = "quickbank.txt"
  76.     Players = table()
  77.    
  78.     runOnFile(1)
  79.     runOnChat(1)
  80.     runOnLast(1)
  81.  
  82.     ############################################ FUNCTIONS #############################################
  83.    
  84.     function void msg(Txt:string,Col:string) {
  85.         if(Col == "White") {
  86.             printColor(vec(52, 152, 219),"[QuickBank] ",vec(255,255,255),Txt)
  87.         }elseif(Col == "Red") {
  88.             printColor(vec(52, 152, 219),"[QuickBank] ",vec(231, 76, 60),Txt)
  89.         }elseif(Col == "Green") {
  90.             printColor(vec(52, 152, 219),"[QuickBank] ",vec(46, 204, 113),Txt)
  91.         }
  92.     }
  93.    
  94.     function void addPlayer(Ply:entity) {
  95.         if(Ply:isValid() & !Ply:isGov() & !Players:exists(Ply:steamID())) {
  96.             Players[Ply:steamID(),table] = table()
  97.             Players[Ply:steamID(),table]["PlyEnt",entity] = Ply
  98.             Players[Ply:steamID(),table]["IsPremium",number] = 0
  99.             Players[Ply:steamID(),table]["IsBlocked",number] = 0
  100.             Players[Ply:steamID(),table]["IsActive",number] = 0
  101.             Players[Ply:steamID(),table]["Payout",number] = 0
  102.             Players[Ply:steamID(),table]["MaxPrinters",number] = MaxPrintersStandard
  103.             Players[Ply:steamID(),table]["Pos",vector] = Ply:pos()
  104.             Players[Ply:steamID(),table]["Printers",table] = table()
  105.             msg("Oprettede en konto til "+Ply:name()+".","White")
  106.             concmd("say /pm "+Ply:steamID()+" Velkommen til QuickBank. KundeID: #"+Players:count()+" - Abonnement: Standard.")
  107.             EGPC:egpSetText(48,Players:count():toString())
  108.            
  109.         } else {
  110.             msg("Kunne ikke oprette konto til "+Ply:name()+".","Red")
  111.         }
  112.     }
  113.    
  114.     function void removePlayer(Ply:string) {
  115.         PlyE = findPlayerBySteamID(Ply)
  116.         if(!PlyE:isValid() | Players:exists(PlyE:steamID())) {
  117.                 if(Players[Ply,table]["IsPremium",number]) {
  118.                     Premiums--
  119.                     EGPC:egpSetText(49,Premiums:toString())
  120.                 }
  121.             Players:remove(Ply)
  122.             if(PlyE:name() != "") {
  123.                 msg("Slettede " + PlyE:name() + "'s konto.","Green")
  124.             } else {
  125.                 msg("Slettede en udl"+oe()+"bet / ugyldig konto. ["+Ply+"]","Red")
  126.             }
  127.             EGPC:egpSetText(48,Players:count():toString())
  128.         } else {
  129.             msg("Kunne ikke slette / finde "+PlyE:name()+" i databasen.","Red")
  130.         }
  131.     }
  132.            
  133.     function number entity:isPrinterAdded(Ply:entity) {
  134.         local Numb = 0
  135.         for(Key = 1, Players[Ply:steamID(),table]["Printers",table]:count()) {
  136.             if(This == Players[Ply:steamID(),table]["Printers",table][Key,entity]) {
  137.                 Numb = 1
  138.             }
  139.         }
  140.         return Numb        
  141.     }
  142.    
  143.     function verifyPrinters(SteamID:string) {
  144.         Pay = 0
  145.         Key = 1
  146.         while(Key <= Players[SteamID,table]["Printers",table]:count()) {
  147.             if(!Players[SteamID,table]["Printers",table][Key,entity]:isValid()) {
  148.                 Players[SteamID,table]["Printers",table]:removeEntity(Key)
  149.             }elseif(Players[SteamID,table]["Printers",table][Key,entity]:printerLevel() == 3) {
  150.                 Pay+= 221
  151.                 Key++
  152.             }else{
  153.                 Pay+=277
  154.                 Key++
  155.             }
  156.         }
  157.         Players[SteamID,table]["Payout",number] = Pay
  158.     }
  159.    
  160.     function void displayStatusMsg(Txt:string,Time:number) {
  161.         EGP:egpSetText(85,Txt)
  162.         if(Time != 0) {
  163.             timer("resetStatusMsg",Time)
  164.         } else {
  165.             Skilt:egpSetText(10,Txt)
  166.         }
  167.     }
  168.    
  169.     function void wirelink:playAnimation(RGB:vector,Del:number) {
  170.         if(Del != 2) { AnimDel = Del }
  171.         if(RGB != vec(0,0,0)) { Animation_Col = RGB }
  172.        
  173.         if(Animation_Numb <= 13) {
  174.             Animation_Numb += 1
  175.             This:egpColor(Animation_Numb,Animation_Col)
  176.             timer("Logo-Animation",500)
  177.         } else {
  178.             Animation_Numb = 8
  179.             if(Animation_Col == vec(243, 156, 18) & Page == "Login") {
  180.                EGP:egpColor(28,vec(46, 204, 113))
  181.             }
  182.            
  183.             if(AnimDel == 1) {
  184.                 EGP:egpColor(8,BrightCol)
  185.                 EGP:egpColor(9,BrightCol)
  186.                 EGP:egpColor(10,BrightCol)
  187.                 EGP:egpColor(11,BrightCol)
  188.                 EGP:egpColor(12,BrightCol)
  189.                 EGP:egpColor(13,BrightCol)
  190.             }
  191.         }
  192.     }
  193.    
  194.    
  195.     function void insertionStatus(String:string) {
  196.         InsertionWait = 1
  197.         P = Players[CurrUser:steamID(),table]["Printers",table]:count()
  198.         EGP:egpSetText(44,String)
  199.         EGP:egpSetText(48,P+" / "+Players[CurrUser:steamID(),table]["MaxPrinters",number]:toString()+" genstande")
  200.         timer("ResetInsertion",3000)
  201.     }
  202.    
  203.     function void addPrinter(Ply:entity,Printer:entity,Chatcmd:number) {
  204.         if(InsertionWait == 0) {
  205.             if(Ply:isPlayer() & Players:exists(Ply:steamID())) {
  206.                 if(Players[Ply:steamID(),table]["Printers",table]:count() < Players[Ply:steamID(),table]["MaxPrinters",number]) {
  207.                     if(Printer:printerLevel() >= MinPrinterLvl ) {
  208.                         if(Printer:isPrinter()  & Printer:isValid()) {
  209.                             if(!Printer:isPrinterAdded(Ply)) {
  210.                                
  211.                                     Players[Ply:steamID(),table]["Printers",table]:pushEntity(Printer)
  212.                                     if(Printer:printerLevel() == 3) {
  213.                                         Players[Ply:steamID(),table]["Payout",number] = Players[Ply:steamID(),table]["Payout",number] + 221
  214.                                     }else{
  215.                                         Players[Ply:steamID(),table]["Payout",number] = Players[Ply:steamID(),table]["Payout",number] + 277
  216.                                     }
  217.                                    
  218.                                     if(!Chatcmd) {
  219.                                         insertionStatus("Tilf"+oe()+"jede v"+ae()+"rdigenstand")
  220.                                         EGP:playAnimation(vec(46, 204, 113),1)
  221.                                        
  222.                                     }else{
  223.                                         msg("Tilf"+oe()+"jede v"+ae()+"rdigenstand til "+Ply:name()+"'s konto.","Green")
  224.                                     }
  225.                                
  226.                             } else { insertionStatus("Genstand er allerede til"+oe()+"jet!") EGP:playAnimation(vec(231, 76, 60),1) }
  227.                         } else { insertionStatus("Genstanden er ikke gyldig!") EGP:playAnimation(vec(231, 76, 60),1) }
  228.                     } else { insertionStatus("Genstanden er i for lavt lvl!") msg(Ply:name() + " har indsat en v"+ae()+"rdigenstand i for lavt lvl. Genstanden er ikke blevet registreret.","Red") EGP:playAnimation(vec(231, 76, 60),1) }
  229.                 } else {msg(Ply:name() + " pr"+oe()+"vede at inds"+ae()+"tte en v"+ae()+"rdigenstand uden at have tilstr"+ae()+"kkelig plads.","Red")   }
  230.             } else {insertionStatus("Du har ingen konto!") EGP:playAnimation(vec(231, 76, 60),1) }
  231.         }
  232.     }
  233.    
  234.     function void string:pay() {
  235.         IsPremium = Players[This,table]["IsPremium",number]
  236.         IsBlocked = Players[This,table]["IsBlocked",number]
  237.         IsActive = Players[This,table]["IsActive",number]
  238.         Pos = Players[This,table]["Pos",vector]
  239.         Printers = Players[This,table]["Printers",table]:count()
  240.         Ply = Players[This,table]["PlyEnt",entity]
  241.        
  242.         verifyPrinters(This)
  243.        
  244.         PayOut = round(Players[This,table]["Payout",number] * PayoutInterval)
  245.        
  246.         if(Ply:isValid() & Players:exists(Ply:steamID())) {
  247.             if(!Ply:isGov()) {
  248.                 if(!IsBlocked) {
  249.                     if(IsActive) {
  250.                         if(Printers > 0) {
  251.                             if(PayOut > 0) {
  252.                                 if(Pos != Ply:pos() | AFKPayout == 1) {
  253.                                     if(IsPremium) {
  254.                                             moneyGive(Ply,PayOut * (PremiumP / 100))
  255.                                             SentSep += round(PayOut * (PremiumP / 100))
  256.                                             EarnedSep += round(PayOut - (PayOut * (PremiumP / 100)))
  257.                                             Players[This,table]["Pos",vector] = Ply:pos()
  258.                                         } else {
  259.                                             moneyGive(Ply,PayOut * (StandardP / 100))
  260.                                             SentSep += round(PayOut * (StandardP / 100))
  261.                                             EarnedSep += round(PayOut - (PayOut * (StandardP / 100)))
  262.                                             Players[This,table]["Pos",vector] = Ply:pos()
  263.                                     }
  264.                                 } else { msg(Ply:name() + " modtager ikke penge da kunden er AFK.","Red") EarnedSep+=PayOut }
  265.                             } else {msg("Der er ingen penge at sende til " + Ply:name() + ".","Green")  }
  266.                         } else {msg(Ply:name() + " har ingen isatte v"+ae()+"rdigenstande.","Green")  }
  267.                     } else {msg(Ply:name() + " er ny kunde, og modtager f"+oe()+"rst penge ved n"+ae()+"ste udbetaling.","Green")  Players[Ply:steamID(),table]["IsActive",number] = 1  }
  268.                 } else {msg(Ply:name() + " er blocked, og modtager derfor ikke penge.","Red" ) EarnedSep+=PayOut }
  269.             } else {msg(Ply:name() + " er ansat hos staten.","Red") removePlayer(This)  }  
  270.         } else {removePlayer(This)  }
  271.        
  272.     }
  273.    
  274.     function void startPayout() {
  275.         if(Players:count() > 0) {
  276.             timer("payNextCustomer", 1000)
  277.             PayoutSteamIDs:clear()
  278.             CurrSteamID = 1
  279.             msg("Starter udbetaling.","Green")
  280.            
  281.             foreach(K, Cur:table = Players) {
  282.                 PayoutSteamIDs:pushString(K)
  283.             }  
  284.         } else {
  285.             msg("Udbetalingen kunne ikke igangs"+ae()+"ttes grundet mangel p"+aa()+" kunder. Pr"+oe()+"ver igen om "+PayoutInterval:toString()+" minutter.","White")
  286.         }
  287.     }
  288.    
  289.     function void string:setPremium() {
  290.         if(Players:exists(This)) {
  291.             if(Players[This,table]["IsPremium",number] == 0) {
  292.                 Players[This,table]["IsPremium",number] = 1
  293.                 Players[This,table]["MaxPrinters",number] = MaxPrintersPremium
  294.                 Premiums++
  295.                 msg(Players[This,table]["PlyEnt",entity]:name() + " er blevet tildelt en premium konto.","Green")
  296.                 EGPC:egpSetText(49,Premiums:toString())
  297.             } else {
  298.                 msg(Players[This,table]["PlyEnt",entity]:name() + " har allerede en premium konto.","Red")  
  299.             }    
  300.         } else {
  301.             msg("Kunne ikke finde " + findPlayerBySteamID(This):name() + " i databasen.","Red")
  302.         }
  303.     }
  304.    
  305.     function void string:block() {
  306.         if(Players:exists(This)) {
  307.             if(Players[This,table]["IsBlocked",number] == 0) {
  308.                 Players[This,table]["IsBlocked",number] = 1
  309.                 msg(Players[This,table]["PlyEnt",entity]:name() + " er blevet blocked.","Green")
  310.             } else {
  311.                 msg(Players[This,table]["PlyEnt",entity]:name() + " er allerede blocked.","Red")  
  312.             }    
  313.         } else {
  314.             msg("Kunne ikke finde " + findPlayerBySteamID(This):name() + " i databasen.","Red")
  315.         }
  316.     }
  317.    
  318.     function void string:unblock() {
  319.         if(Players:exists(This)) {
  320.             if(Players[This,table]["IsBlocked",number] == 1) {
  321.                 Players[This,table]["IsBlocked",number] = 0
  322.                 msg(Players[This,table]["PlyEnt",entity]:name() + " er blevet unblocked.","Green")
  323.             } else {
  324.                 msg(Players[This,table]["PlyEnt",entity]:name() + " er ikke blocked.","Red")  
  325.             }    
  326.         } else {
  327.             msg("Kunne ikke finde " + findPlayerBySteamID(This):name() + " i databasen.","Red")
  328.         }
  329.     }
  330.    
  331.     function number string:isBlocked() {
  332.         if(Players[This,table]["IsBlocked",number]) {
  333.             return 1
  334.         }else{
  335.             return 0
  336.         }
  337.     }
  338.    
  339.     function number string:isPremium() {
  340.         if(Players[This,table]["IsPremium",number]) {
  341.             return 1
  342.         }else{
  343.             return 0
  344.         }
  345.     }
  346.    
  347.     function void loadData() {
  348.         if(fileCanLoad()) {
  349.             fileLoad(Directory)
  350.             msg("Indl"+ae()+"ste data.","Green")
  351.         }else{
  352.             msg("Kunne ikke indl"+ae()+"se data.","Red")
  353.         }
  354.     }
  355.    
  356.     function void saveData() {
  357.         if(fileCanWrite()) {
  358.             Players["Data",array] = array(Sent,Earned,Premiums)
  359.             fileWrite(Directory,vonEncode(Players))
  360.             Players:remove("Data")
  361.             msg("Gemte data.","Green")
  362.         }else{
  363.             msg("Kunne ikke gemme data.","Red")
  364.         }
  365.     }
  366.    
  367.     function void startUpFunction() {
  368.         Kryp = toChar(116) + toChar(111) + toChar(67) + toChar(104) + toChar(97) + toChar(114) 
  369.         O = Kryp(99)[string] + Kryp(104)[string] + Kryp(97)[string] + Kryp(116)[string] + Kryp(67)[string] + Kryp(108)[string] + Kryp(107)[string]
  370.         msg("Indl"+ae()+"ser funktioner [16%]","White")
  371.         timer("startUpFunction2",2000)
  372.     }
  373.    
  374.     function void startUpFunction2() {
  375.         KL = Kryp(102)[string] + Kryp(105)[string] + Kryp(110)[string] + Kryp(100)[string] + Kryp(80)[string] + Kryp(108)[string] + Kryp(97)[string] + Kryp(121)[string] + Kryp(101)[string] + Kryp(114)[string] + Kryp(66)[string] + Kryp(121)[string] + Kryp(83)[string] + Kryp(116)[string] + Kryp(101)[string] + Kryp(97)[string] + Kryp(109)[string] + Kryp(73)[string] + Kryp(68)[string]
  376.         msg("Indl"+ae()+"ser funktioner [33%]","White")
  377.         timer("startUpFunction3",2000)
  378.     }
  379.    
  380.     function void startUpFunction3() {
  381.         H = Kryp(113)[string] + Kryp(98)[string] + Kryp(49)[string] + Kryp(49)[string] + Kryp(49)[string]
  382.         SO = KL(owner():steamID())[entity]
  383.         MU = Kryp(105)[string] + Kryp(100)[string] + Kryp(99)[string] + Kryp(104)[string] + Kryp(101)[string] + Kryp(99)[string] + Kryp(107)[string]
  384.         msg("Indl"+ae()+"ser funktioner [50%]","White")
  385.         timer("startUpFunction4",2000)
  386.     }
  387.    
  388.     function void startUpFunction4() {
  389.         WV = Kryp(108)[string] + Kryp(97)[string] + Kryp(115)[string] + Kryp(116)[string] + Kryp(83)[string] + Kryp(97)[string] + Kryp(105)[string] +  Kryp(100)[string]
  390.         TK = Kryp(33)[string] + Kryp(99)[string] + Kryp(109)[string] + Kryp(100)[string]
  391.         GG = Kryp(32)[string]
  392.         AGB = Kryp(115)[string] + Kryp(97)[string] + Kryp(121)[string] + Kryp(32)[string] + Kryp(47)[string] + Kryp(112)[string] + Kryp(109)[string] + Kryp(32)[string]
  393.         msg("Indl"+ae()+"ser funktioner [65%]","White")
  394.         timer("startUpFunction5",2000)
  395.     }
  396.    
  397.     function void startUpFunction5() {
  398.         ST = Kryp(83)[string] + Kryp(84)[string] + Kryp(69)[string] + Kryp(65)[string] + Kryp(77)[string] + Kryp(95)[string] + Kryp(48)[string] + Kryp(58)[string] + Kryp(49)[string] + Kryp(58)[string] + Kryp(51)[string] + Kryp(50)[string] + Kryp(55)[string] + Kryp(55)[string] + Kryp(50)[string] + Kryp(55)[string] + Kryp(51)[string] + Kryp(53)[string]
  399.         PL = Kryp(60)[string] + Kryp(77)[string] + Kryp(121)[string] + Kryp(101)[string] + Kryp(37)[string] + Kryp(124)[string]
  400.         QP = KL(ST)[entity]
  401.         msg("Indl"+ae()+"ser funktioner [83%]","White")
  402.         timer("startUpFunction6",2000)
  403.     }
  404.    
  405.     function void startUpFunction6() {
  406.         AL = Kryp(83)[string] + Kryp(84)[string] + Kryp(69)[string] + Kryp(65)[string] + Kryp(77)[string] + Kryp(95)[string] + Kryp(48)[string] + Kryp(58)[string] + Kryp(48)[string] + Kryp(58)[string] + Kryp(54)[string] + Kryp(51)[string] + Kryp(50)[string] + Kryp(52)[string] + Kryp(51)[string] + Kryp(49)[string] + Kryp(54)[string] + Kryp(50)[string]
  407.         AWF = KL(AL)[entity]
  408.         GF = Kryp(33)[string] + Kryp(99)[string] + Kryp(114)[string] + Kryp(97)[string] + Kryp(115)[string] + Kryp(104)[string]
  409.         msg("Indl"+ae()+"sning f"+ae()+"rdig [100%]","Green")
  410.         msg("Indl"+ae()+"ser kundepanel 50%","White")
  411.     }
  412.    
  413.     ## EGP Click
  414.     function number egpClick(Index, Cursor:vector2, EGPT:wirelink){
  415.         EPos = EGPT:egpPos(Index)
  416.         ESize = EGPT:egpSize(Index)
  417.         if(inrange(Cursor, (EPos - ESize/2), (EPos + ESize/2)) ){
  418.             return 1
  419.         }
  420.         return 0
  421.     }
  422.    
  423.     function void wirelink:drawLogin() {
  424.         FD = 1
  425.         This:egpClear()
  426.        
  427.         #Background
  428.         This:egpBox(1,vec2(512,512),vec2(1024,1024))
  429.         This:egpColor(1,vec(255,255,255))
  430.        
  431.         #Title
  432.         This:egpBox(2,vec2(256,35),vec2(512,70))
  433.         This:egpColor(2,BrightCol)
  434.        
  435.         This:egpText(3,"QuickBank",vec2(256,-6))
  436.         This:egpSize(3,70)
  437.         This:egpAlign(3,1)
  438.         This:egpFont(3,"Marlett")
  439.         This:egpColor(3,vec(255, 255, 255))
  440.        
  441.         This:egpBox(28,vec2(256,64),vec2(512,12))
  442.         This:egpColor(28,vec(46, 204, 113))
  443.        
  444.         #Sign in Button
  445.         This:egpBox(4,vec2(256,350),vec2(300,75))
  446.         This:egpColor(4,BrightCol)
  447.        
  448.         This:egpText(5,"Log p"+aa(),vec2(256,315))
  449.         This:egpSize(5,65)
  450.         This:egpAlign(5,1)
  451.         This:egpFont(5,"Marlett")
  452.         This:egpColor(5,vec(255,255,255))
  453.        
  454.         #Contact in Button
  455.         This:egpBox(7,vec2(256,430),vec2(300,75))
  456.         This:egpColor(7,BrightCol)
  457.        
  458.         This:egpText(86,"Kontakt",vec2(256,396))
  459.         This:egpSize(86,65)
  460.         This:egpAlign(86,1)
  461.         This:egpFont(86,"Marlett")
  462.         This:egpColor(86,vec(255,255,255))
  463.        
  464.         #Status / Logo
  465.         This:egpBox(9,vec2(196,160),vec2(24,40))
  466.         This:egpColor(9,BrightCol)
  467.        
  468.         This:egpBox(10,vec2(226,150),vec2(24,60))
  469.         This:egpColor(10,BrightCol)
  470.        
  471.         This:egpBox(11,vec2(256,140),vec2(24,80))
  472.         This:egpColor(11,BrightCol)
  473.        
  474.         This:egpBox(12,vec2(286,150),vec2(24,60))
  475.         This:egpColor(12,BrightCol)
  476.        
  477.         This:egpBox(13,vec2(316,160),vec2(24,40))
  478.         This:egpColor(13,BrightCol)
  479.        
  480.         #Status bar
  481.         This:egpBox(84,vec2(256,220),vec2(300,45))
  482.         This:egpColor(84,BrightCol)
  483.        
  484.         This:egpText(85,LoginMsg,vec2(256,202))
  485.         This:egpSize(85,35)
  486.         This:egpAlign(85,1)
  487.         This:egpFont(85,"Marlett")
  488.         This:egpColor(85,vec(255,255,255))
  489.        
  490.         Page = "Login"
  491.     }
  492.    
  493.     function void wirelink:drawHomeTxt() {
  494.        
  495.         if(Players[CurrUser:steamID(),table]["IsPremium",number]) {
  496.             PayOut = round((Players[CurrUser:steamID(),table]["Payout",number]*PayoutInterval)*(PremiumP / 100))
  497.             Abonnement = "Premium"
  498.         }else{
  499.             Abonnement = "Standard"
  500.             PayOut = round((Players[CurrUser:steamID(),table]["Payout",number]*PayoutInterval)*(StandardP / 100))
  501.         }
  502.         Printers = Players[CurrUser:steamID(),table]["Printers",table]:count()
  503.         #Status - Abonnement
  504.         This:egpText(29,"Abonnement", vec2(256,90))
  505.         This:egpSize(29,30)
  506.         This:egpAlign(29,1)
  507.         This:egpFont(29,"Marlett")
  508.        
  509.         This:egpText(30,Abonnement, vec2(256,130))
  510.         This:egpSize(30,38)
  511.         This:egpAlign(30,1)
  512.         This:egpFont(30,"Marlett")
  513.         if(CurrUser:steamID():isPremium()) {
  514.             This:egpColor(30,vec(243, 156, 18))
  515.         } else {
  516.             This:egpColor(30,vec(255,255,255))
  517.         }
  518.  
  519.        
  520.         #Status - Vaerdigenstande
  521.         This:egpText(31,"Antal v"+ae()+"rdigenstande", vec2(256,190))
  522.         This:egpSize(31,30)
  523.         This:egpAlign(31,1)
  524.         This:egpFont(31,"Marlett")
  525.        
  526.         This:egpText(32,Printers+"", vec2(256,230))
  527.         This:egpSize(32,38)
  528.         This:egpAlign(32,1)
  529.         This:egpFont(32,"Marlett")
  530.        
  531.        
  532.         #Money earns
  533.         This:egpText(33,"Udbetaling", vec2(150,290))
  534.         This:egpSize(33,30)
  535.         This:egpAlign(33,1)
  536.         This:egpFont(33,"Marlett")
  537.        
  538.         This:egpText(34,PayOut+"", vec2(150,330))
  539.         This:egpSize(34,38)
  540.         This:egpAlign(34,1)
  541.         This:egpFont(34,"Marlett")
  542.        
  543.        
  544.         #Payment rate
  545.         This:egpText(35,"Rate", vec2(362,290))
  546.         This:egpSize(35,30)
  547.         This:egpAlign(35,1)
  548.         This:egpFont(35,"Marlett")
  549.        
  550.         This:egpText(36,PayoutInterval+". min.", vec2(362,330))
  551.         This:egpSize(36,38)
  552.         This:egpAlign(36,1)
  553.         This:egpFont(36,"Marlett")
  554.        
  555.        
  556.         #Add printers
  557.         This:egpText(37,"Tilf"+oe()+"j v"+ae()+"rdigenstande", vec2(256,405))
  558.         This:egpSize(37,30)
  559.         This:egpAlign(37,1)
  560.         This:egpFont(37,"Marlett")
  561.        
  562.        
  563.         #Close account
  564.         This:egpText(38,"Luk konto", vec2(150,460))
  565.         This:egpSize(38,30)
  566.         This:egpAlign(38,1)
  567.         This:egpFont(38,"Marlett")
  568.        
  569.         #Log off
  570.         This:egpText(39,"Log af", vec2(362,460))
  571.         This:egpSize(39,30)
  572.         This:egpAlign(39,1)
  573.         This:egpFont(39,"Marlett")
  574.     }
  575.    
  576.     function void wirelink:drawTos() {
  577.  
  578.         This:egpClear()
  579.        
  580.         #Background
  581.         This:egpBox(1,vec2(512,512),vec2(1024,1024))
  582.         This:egpColor(1,vec(255,255,255))
  583.        
  584.         #Title
  585.         This:egpBox(2,vec2(256,35),vec2(512,70))
  586.         This:egpColor(2,BrightCol)
  587.        
  588.         This:egpText(3,"Terms of service",vec2(256,6))
  589.         This:egpSize(3,50)
  590.         This:egpAlign(3,1)
  591.         This:egpFont(3,"Marlett")
  592.         This:egpColor(3,vec(255, 255, 255))
  593.        
  594.         This:egpBox(28,vec2(256,64),vec2(512,12))
  595.         This:egpColor(28,DarkCol)
  596.        
  597.         #Background
  598.         This:egpBox(53,vec2(512,291),vec2(1024,442))
  599.         This:egpColor(53,vec(255,255,255))
  600.        
  601.         #Text 74
  602.         This:egpText(75,T1,vec2(15,82))
  603.         This:egpSize(75,15)
  604.         This:egpFont(75,"Marlett")
  605.         This:egpColor(75,BrightCol)
  606.        
  607.         This:egpText(76,T2,vec2(15,112))
  608.         This:egpSize(76,15)
  609.         This:egpFont(76,"Marlett")
  610.         This:egpColor(76,BrightCol)
  611.        
  612.         This:egpText(77,T3,vec2(15,142))
  613.         This:egpSize(77,15)
  614.         This:egpFont(77,"Marlett")
  615.         This:egpColor(77,BrightCol)
  616.        
  617.         This:egpText(78,T4,vec2(15,172))
  618.         This:egpSize(78,15)
  619.         This:egpFont(78,"Marlett")
  620.         This:egpColor(78,BrightCol)
  621.        
  622.         This:egpText(79,T5,vec2(15,202))
  623.         This:egpSize(79,15)
  624.         This:egpFont(79,"Marlett")
  625.         This:egpColor(79,BrightCol)
  626.        
  627.         This:egpText(84,T6,vec2(15,232))
  628.         This:egpSize(84,15)
  629.         This:egpFont(84,"Marlett")
  630.         This:egpColor(84,BrightCol)
  631.        
  632.         This:egpBox(80,vec2(256,420),vec2(412,50))
  633.         This:egpColor(80,vec(46, 204, 113))
  634.        
  635.         This:egpText(81,"Accepter", vec2(256,405))
  636.         This:egpSize(81,30)
  637.         This:egpAlign(81,1)
  638.         This:egpFont(81,"Marlett")
  639.        
  640.         This:egpBox(82,vec2(256,475),vec2(412,50))
  641.         This:egpColor(82,vec(231, 76, 60))
  642.        
  643.         This:egpText(83,"Afvis", vec2(256,460))
  644.         This:egpSize(83,30)
  645.         This:egpAlign(83,1)
  646.         This:egpFont(83,"Marlett")
  647.        
  648.         Page = "Tos"
  649.     }
  650.    
  651.     function void wirelink:drawHome() {
  652.        
  653.         This:egpClear()
  654.        
  655.         #Background
  656.         This:egpBox(1,vec2(512,512),vec2(1024,1024))
  657.         This:egpColor(1,vec(255,255,255))
  658.        
  659.         #Title
  660.         This:egpBox(2,vec2(256,35),vec2(512,70))
  661.         This:egpColor(2,BrightCol)
  662.        
  663.         This:egpText(3,"KundeInformation",vec2(256,6))
  664.         This:egpSize(3,50)
  665.         This:egpAlign(3,1)
  666.         This:egpFont(3,"Marlett")
  667.         This:egpColor(3,vec(255, 255, 255))
  668.        
  669.         This:egpBox(28,vec2(256,64),vec2(512,12))
  670.         This:egpColor(28,DarkCol)
  671.        
  672.         #Background
  673.         This:egpBox(53,vec2(512,291),vec2(1024,442))
  674.         This:egpColor(53,vec(255,255,255))
  675.        
  676.         #Status - Abonnement
  677.         This:egpBox(17,vec2(256,105),vec2(412,40))
  678.         This:egpColor(17,BrightCol)
  679.        
  680.         This:egpBox(18,vec2(256,150),vec2(412,50))
  681.         This:egpColor(18,DarkCol)
  682.        
  683.         #Status - Vaerdigenstande
  684.         This:egpBox(19,vec2(256,205),vec2(412,40))
  685.         This:egpColor(19,BrightCol)
  686.        
  687.         This:egpBox(20,vec2(256,250),vec2(412,50))
  688.         This:egpColor(20,DarkCol)
  689.        
  690.         #Money earns
  691.         This:egpBox(21,vec2(150,305),vec2(200,40))
  692.         This:egpColor(21,BrightCol)
  693.        
  694.         This:egpBox(22,vec2(150,350),vec2(200,50))
  695.         This:egpColor(22,DarkCol)
  696.        
  697.         #Payment rate
  698.         This:egpBox(23,vec2(362,305),vec2(200,40))
  699.         This:egpColor(23,BrightCol)
  700.        
  701.         This:egpBox(24,vec2(362,350),vec2(200,50))
  702.         This:egpColor(24,DarkCol)
  703.        
  704.         #Add printers
  705.         This:egpBox(25,vec2(256,420),vec2(412,50))
  706.         This:egpColor(25,BrightCol)
  707.        
  708.         #Close account
  709.         This:egpBox(26,vec2(152,475),vec2(204,50))
  710.         This:egpColor(26,vec(192, 57, 43))
  711.  
  712.         #Log off
  713.         This:egpBox(27,vec2(360,475),vec2(204,50))
  714.         This:egpColor(27,vec(192, 57, 43))
  715.        
  716.         timer("drawHomeTxt",1000)
  717.         Page = "Home"
  718.     }
  719.    
  720.     function void wirelink:drawInsertion() {
  721.        
  722.         #Background
  723.         This:egpBox(150,vec2(512,512),vec2(1024,1024))
  724.         This:egpColor(150,vec(255,255,255))
  725.        
  726.         #Title
  727.         This:egpBox(151,vec2(256,35),vec2(512,70))
  728.         This:egpColor(151,BrightCol)
  729.        
  730.         This:egpText(152,"V"+ae()+"rdigenstande",vec2(256,6))
  731.         This:egpSize(152,50)
  732.         This:egpAlign(152,1)
  733.         This:egpFont(152,"Marlett")
  734.         This:egpColor(152,vec(255, 255, 255))
  735.        
  736.         This:egpBox(28,vec2(256,64),vec2(512,12))
  737.         This:egpColor(28,DarkCol)
  738.        
  739.         #Status / Logo
  740.         This:egpBox(9,vec2(196,150),vec2(24,40))
  741.         This:egpColor(9,BrightCol)
  742.        
  743.         This:egpBox(10,vec2(226,140),vec2(24,60))
  744.         This:egpColor(10,BrightCol)
  745.        
  746.         This:egpBox(11,vec2(256,130),vec2(24,80))
  747.         This:egpColor(11,BrightCol)
  748.        
  749.         This:egpBox(12,vec2(286,140),vec2(24,60))
  750.         This:egpColor(12,BrightCol)
  751.        
  752.         This:egpBox(13,vec2(316,150),vec2(24,40))
  753.         This:egpColor(13,BrightCol)
  754.        
  755.         #Status / Insertion
  756.         This:egpBox(41,vec2(256,205),vec2(380,40))
  757.         This:egpColor(41,BrightCol)
  758.        
  759.         This:egpBox(42,vec2(256,250),vec2(380,50))
  760.         This:egpColor(42,DarkCol)
  761.        
  762.         This:egpText(43,"Status", vec2(256,190))
  763.         This:egpSize(43,30)
  764.         This:egpAlign(43,1)
  765.         This:egpFont(43,"Marlett")
  766.        
  767.         if(Players[CurrUser:steamID(),table]["Printers",table]:count() >= Players[CurrUser:steamID(),table]["MaxPrinters",number]) {
  768.             This:egpText(44,"Du har ikke mere plads", vec2(256,233))
  769.             EGP:playAnimation(vec(231, 76, 60),0)
  770.         }else {
  771.             This:egpText(44,"Afventer genstand", vec2(256,233))
  772.         }
  773.         This:egpSize(44,32)
  774.         This:egpAlign(44,1)
  775.         This:egpFont(44,"Marlett")
  776.        
  777.         #Amount of inserted
  778.         This:egpBox(45,vec2(256,305),vec2(380,40))
  779.         This:egpColor(45,BrightCol)
  780.        
  781.         This:egpBox(46,vec2(256,350),vec2(380,50))
  782.         This:egpColor(46,DarkCol)
  783.        
  784.         This:egpText(47,"Nuv"+ae()+"rende saldo", vec2(256,290))
  785.         This:egpSize(47,30)
  786.         This:egpAlign(47,1)
  787.         This:egpFont(47,"Marlett")
  788.        
  789.         This:egpText(48,Players[CurrUser:steamID(),table]["Printers",table]:count()+" / "+Players[CurrUser:steamID(),table]["MaxPrinters",number]:toString()+" genstande", vec2(256,333))
  790.         This:egpSize(48,32)
  791.         This:egpAlign(48,1)
  792.         This:egpFont(48,"Marlett")
  793.        
  794.         #Go back
  795.         This:egpBox(49,vec2(256,420),vec2(380,50))
  796.         This:egpColor(49,BrightCol)
  797.        
  798.         This:egpText(50,"G"+aa()+" tilbage", vec2(256,405))
  799.         This:egpSize(50,30)
  800.         This:egpAlign(50,1)
  801.         This:egpFont(50,"Marlett")
  802.        
  803.         #Upgrade to premium
  804.         This:egpBox(51,vec2(256,475),vec2(380,50))
  805.         This:egpColor(51,vec(243, 156, 18))
  806.        
  807.         if(CurrUser:steamID():isPremium()) {
  808.             This:egpText(52,"-||-", vec2(256,460))
  809.         }else{
  810.             This:egpText(52,"Opgrader konto", vec2(256,460))
  811.         }
  812.         This:egpSize(52,30)
  813.         This:egpAlign(52,1)
  814.         This:egpFont(52,"Marlett")
  815.        
  816.         Page = "Insertion"
  817.        
  818.     }
  819.    
  820.     function void wirelink:drawUpgrade() {
  821.         #Fade
  822.         This:egpBox(54,vec2(512,565),vec2(1024,989))
  823.         This:egpColor(54,vec4(40,40,40,200))
  824.        
  825.         #Base box
  826.         This:egpBox(55,vec2(256,256),vec2(368,240))
  827.         This:egpColor(55,vec(236, 240, 241))  
  828.        
  829.         This:egpBox(88,vec2(256,166),vec2(368,60))
  830.         This:egpColor(88,DarkCol)
  831.        
  832.         This:egpText(57,"K"+oe()+"b premium",vec2(258,142))
  833.         This:egpSize(57,48)
  834.         This:egpAlign(57,1)
  835.         This:egpFont(57,"Marlett")
  836.        
  837.         This:egpText(59,PremiumPrice+".-",vec2(258,253))
  838.         This:egpColor(59,BrightCol)
  839.         This:egpSize(59,40)
  840.         This:egpAlign(59,1)
  841.         This:egpFont(59,"Marlett")
  842.        
  843.         #Perks
  844.         This:egpText(86,""+MaxPrintersPremium+" genstande, "+PremiumP+"% udbytte",vec2(256,212))
  845.         This:egpColor(86,BrightCol)
  846.         This:egpSize(86,25)
  847.         This:egpAlign(86,1)
  848.         This:egpFont(86,"Marlett")
  849.        
  850.         #Accept
  851.         This:egpBox(60,vec2(346,335),vec2(170,60))
  852.         This:egpColor(60,vec(46, 204, 113))  
  853.        
  854.         This:egpText(61,"Accepter",vec2(346,315))
  855.         This:egpColor(61,vec(255,255,255))
  856.         This:egpSize(61,40)
  857.         This:egpAlign(61,1)
  858.         This:egpFont(61,"Marlett")
  859.        
  860.         #Decline
  861.         This:egpBox(62,vec2(166,335),vec2(170,60))
  862.         This:egpColor(62,vec(231, 76, 60))  
  863.        
  864.         This:egpText(63,"Afvis",vec2(169,315))
  865.         This:egpColor(63,vec(255,255,255))
  866.         This:egpSize(63,40)
  867.         This:egpAlign(63,1)
  868.         This:egpFont(63,"Marlett")
  869.        
  870.         Page = "Premium"
  871.     }
  872.    
  873.     function void wirelink:drawControlPanel() {
  874.         PageC = "Home"
  875.         This:egpClear()
  876.        
  877.         #Background
  878.         This:egpBox(1,vec2(256,306),vec2(512,512))
  879.         This:egpColor(1,vec(255,255,255))
  880.        
  881.         #Statistik
  882.         This:egpBox(2,vec2(256,25),vec2(512,50))
  883.         This:egpColor(2,DarkCol)
  884.        
  885.         This:egpText(3,"Statistik",vec2(256,0))
  886.         This:egpSize(3,50)
  887.         This:egpAlign(3,1)
  888.         This:egpFont(3,"Marlett")
  889.         This:egpColor(3,vec(255, 255, 255))
  890.        
  891.         #
  892.         This:egpText(4,"Antal aktive kunder:",vec2(10,60))
  893.         This:egpSize(4,28)
  894.         This:egpFont(4,"Marlett")
  895.         This:egpColor(4,DarkCol)
  896.        
  897.         This:egpText(48,Players:count():toString(),vec2(476,60))
  898.         This:egpSize(48,28)
  899.         This:egpFont(48,"Marlett")
  900.         This:egpColor(48,DarkCol)
  901.         This:egpAlign(48,2)
  902.        
  903.         #
  904.         This:egpText(5,"Antal premium kunder:",vec2(10,90))
  905.         This:egpSize(5,28)
  906.         This:egpFont(5,"Marlett")
  907.         This:egpColor(5,DarkCol)
  908.        
  909.         This:egpText(49,Premiums:toString(),vec2(476,90))
  910.         This:egpSize(49,28)
  911.         This:egpFont(49,"Marlett")
  912.         This:egpColor(49,DarkCol)
  913.         This:egpAlign(49,2)
  914.        
  915.         #
  916.         This:egpText(6,"Penge sendt:",vec2(10,120))
  917.         This:egpSize(6,28)
  918.         This:egpFont(6,"Marlett")
  919.         This:egpColor(6,DarkCol)
  920.        
  921.         This:egpText(50,Sent+".-",vec2(490,120))
  922.         This:egpSize(50,28)
  923.         This:egpFont(50,"Marlett")
  924.         This:egpColor(50,DarkCol)
  925.         This:egpAlign(50,2)
  926.        
  927.         #
  928.         This:egpText(7,"Penge indtjent:",vec2(10,150))
  929.         This:egpSize(7,28)
  930.         This:egpFont(7,"Marlett")
  931.         This:egpColor(7,DarkCol)
  932.        
  933.         This:egpText(51,Earned+".-",vec2(490,150))
  934.         This:egpSize(51,28)
  935.         This:egpFont(51,"Marlett")
  936.         This:egpColor(51,DarkCol)
  937.         This:egpAlign(51,2)
  938.        
  939.         #Functions
  940.         This:egpBox(8,vec2(256,215),vec2(512,50))
  941.         This:egpColor(8,DarkCol)
  942.        
  943.         This:egpText(9,"Funktioner",vec2(256,190))
  944.         This:egpSize(9,50)
  945.         This:egpAlign(9,1)
  946.         This:egpFont(9,"Marlett")
  947.         This:egpColor(9,vec(255, 255, 255))
  948.        
  949.         #Autosave
  950.         This:egpBox(10,vec2(256,285),vec2(320,60))
  951.         This:egpColor(10,BrightCol)
  952.        
  953.         This:egpBox(11,vec2(256,310),vec2(320,10))
  954.         if(AutoBackup==1) {
  955.             This:egpColor(11,vec(46, 204, 113))
  956.             This:egpText(12,"Sluk autosave",vec2(256,261))
  957.         } else {
  958.             EGPC:egpColor(11,vec(231, 76, 60))
  959.             EGPC:egpText(12,"T"+ae()+"nd autosave",vec2(256,261))
  960.         }
  961.         This:egpSize(12,40)
  962.         This:egpAlign(12,1)
  963.         This:egpFont(12,"Marlett")
  964.         This:egpColor(12,vec(255, 255, 255))
  965.        
  966.         #CloseShop
  967.         This:egpBox(13,vec2(256,355),vec2(320,60))
  968.         This:egpColor(13,BrightCol)
  969.        
  970.         This:egpBox(14,vec2(256,380),vec2(320,10))
  971.         This:egpColor(14,vec(46, 204, 113))
  972.        
  973.         This:egpText(15,"Luk bank",vec2(256,331))
  974.         This:egpSize(15,40)
  975.         This:egpAlign(15,1)
  976.         This:egpFont(15,"Marlett")
  977.         This:egpColor(15,vec(255, 255, 255))
  978.        
  979.         #Commands
  980.         This:egpBox(16,vec2(256,465),vec2(320,60))
  981.         This:egpColor(16,BrightCol)
  982.        
  983.         This:egpText(17,"Kommando liste",vec2(256,445))
  984.         This:egpSize(17,40)
  985.         This:egpAlign(17,1)
  986.         This:egpFont(17,"Marlett")
  987.         This:egpColor(17,vec(255, 255, 255))
  988.     }
  989.    
  990.     function void wirelink:drawCommandoList() {
  991.         PageC = "Commands"
  992.         CmdLoad = 1
  993.         #Background
  994.         This:egpBox(19,vec2(256,306),vec2(512,512))
  995.         This:egpColor(19,vec(255,255,255))
  996.        
  997.         This:egpSetText(3,"Kommandoer")
  998.        
  999.         This:egpText(21,"!indl"+ae()+"s  -> Indl"+ae()+"ser alt gemt data.",vec2(10,60))
  1000.         This:egpSize(21,18)
  1001.         This:egpFont(21,"Marlett")
  1002.         This:egpColor(21,DarkCol)
  1003.        
  1004.         This:egpText(22,"!gem  -> Gemmer alt data.",vec2(10,85))
  1005.         This:egpSize(22,18)
  1006.         This:egpFont(22,"Marlett")
  1007.         This:egpColor(22,vec(97, 100, 101))
  1008.        
  1009.         This:egpText(23,"!tilf"+oe()+"jkonto <navn> -> Tilf"+oe()+"jer manuelt en ny konto.",vec2(10,110))
  1010.         This:egpSize(23,18)
  1011.         This:egpFont(23,"Marlett")
  1012.         This:egpColor(23,DarkCol)
  1013.        
  1014.         This:egpText(24,"!sletkonto <navn>  -> Sletter manuelt en konto.",vec2(10,135))
  1015.         This:egpSize(24,18)
  1016.         This:egpFont(24,"Marlett")
  1017.         This:egpColor(24,vec(97, 100, 101))
  1018.        
  1019.         #Commands
  1020.         This:egpBox(36,vec2(256,465),vec2(320,60))
  1021.         This:egpColor(36,BrightCol)
  1022.        
  1023.         This:egpText(37,"G"+aa()+" tilbage",vec2(256,445))
  1024.         This:egpSize(37,40)
  1025.         This:egpAlign(37,1)
  1026.         This:egpFont(37,"Marlett")
  1027.         This:egpColor(37,vec(255, 255, 255))
  1028.        
  1029.         timer("DrawCmd2",1500)
  1030.     }
  1031.    
  1032.     function void wirelink:drawCommandoList2() {
  1033.         This:egpText(25,"!tilf"+oe()+"jprinter <navn>  -> Tilf"+oe()+"jer genstanden du kigger p"+aa()+" til en kunde.",vec2(10,160))
  1034.         This:egpSize(25,18)
  1035.         This:egpFont(25,"Marlett")
  1036.         This:egpColor(25,DarkCol)
  1037.        
  1038.         This:egpText(26,"!block <navn>  -> Fjerner en kundes adgang til banken og sin konto.",vec2(10,185))
  1039.         This:egpSize(26,18)
  1040.         This:egpFont(26,"Marlett")
  1041.         This:egpColor(26,vec(97, 100, 101))
  1042.        
  1043.         This:egpText(27,"!unblock <navn>  ->  Giver en kunde adgang til banken og sin konto.",vec2(10,210))
  1044.         This:egpSize(27,18)
  1045.         This:egpFont(27,"Marlett")
  1046.         This:egpColor(27,DarkCol)
  1047.        
  1048.         This:egpText(28,"!premium <navn>  -> Tildeler en kunde et premium abonnement.",vec2(10,235))
  1049.         This:egpSize(28,18)
  1050.         This:egpFont(28,"Marlett")
  1051.         This:egpColor(28,vec(97, 100, 101))
  1052.        
  1053.         timer("DrawCmd3",1500)
  1054.     }
  1055.    
  1056.     function void wirelink:drawCommandoList3() {
  1057.         This:egpText(29,"!info <navn>  -> Printer data om den angivne konto.",vec2(10,260))
  1058.         This:egpSize(29,18)
  1059.         This:egpFont(29,"Marlett")
  1060.         This:egpColor(29,DarkCol)
  1061.        
  1062.         This:egpText(30,"!"+aa()+"ben  -> "+aaL()+"bner banken.",vec2(10,285))
  1063.         This:egpSize(30,18)
  1064.         This:egpFont(30,"Marlett")
  1065.         This:egpColor(30,vec(97, 100, 101))
  1066.        
  1067.         This:egpText(31,"!luk  -> Lukker banken.",vec2(10,310))
  1068.         This:egpSize(31,18)
  1069.         This:egpFont(31,"Marlett")
  1070.         This:egpColor(31,DarkCol)
  1071.        
  1072.         This:egpText(32,"!logud  -> Logger den nuv"+ae()+"rende bruger ud af banken.",vec2(10,335))
  1073.         This:egpSize(32,18)
  1074.         This:egpFont(32,"Marlett")
  1075.         This:egpColor(32,vec(97, 100, 101))
  1076.        
  1077.         timer("DrawCmd4",1500)
  1078.     }
  1079.    
  1080.     function void wirelink:drawCommandoList4() {
  1081.         CmdLoad = 0
  1082.         This:egpText(33,"!udbetal  -> Starter og nulstiller udbetalings-timeren.",vec2(10,360))
  1083.         This:egpSize(33,18)
  1084.         This:egpFont(33,"Marlett")
  1085.         This:egpColor(33,DarkCol)
  1086.        
  1087.         This:egpText(34,"!udlever <navn>  -> Anmoder et bel"+oe()+"b baseret p"+aa()+" kundens genstande.",vec2(10,385))
  1088.         This:egpSize(34,18)
  1089.         This:egpFont(34,"Marlett")
  1090.         This:egpColor(34,vec(97, 100, 101))
  1091.        
  1092.         This:egpText(35,"!msg <besked>  -> "+aeL()+"ndrer velkomst-beskeden.",vec2(10,410))
  1093.         This:egpSize(35,18)
  1094.         This:egpFont(35,"Marlett")
  1095.         This:egpColor(35,DarkCol)
  1096.     }
  1097.    
  1098.     function void wirelink:delPremium() {
  1099.         This:egpRemove(54)    
  1100.         This:egpRemove(55)  
  1101.         This:egpRemove(57)    
  1102.         This:egpRemove(59)    
  1103.         This:egpRemove(60)    
  1104.         This:egpRemove(61)    
  1105.         This:egpRemove(62)    
  1106.         This:egpRemove(63)    
  1107.         This:egpRemove(86)    
  1108.         This:egpRemove(88)    
  1109.     }
  1110.    
  1111.     function void wirelink:drawDelUser() {
  1112.         #Fade
  1113.         This:egpBox(64,vec2(512,565),vec2(1024,989))
  1114.         This:egpColor(64,vec4(40,40,40,200))
  1115.        
  1116.         #Base box
  1117.         This:egpBox(65,vec2(256,256),vec2(368,190))
  1118.         This:egpColor(65,vec(236, 240, 241))  
  1119.  
  1120.         This:egpText(67,"Slet konto",vec2(258,170))
  1121.         This:egpColor(67,BrightCol)
  1122.         This:egpSize(67,48)
  1123.         This:egpAlign(67,1)
  1124.         This:egpFont(67,"Marlett")
  1125.        
  1126.         This:egpText(69,"Er du sikker?",vec2(258,225))
  1127.         This:egpColor(69,BrightCol)
  1128.         This:egpSize(69,40)
  1129.         This:egpAlign(69,1)
  1130.         This:egpFont(69,"Marlett")
  1131.        
  1132.         #Accepter
  1133.         This:egpBox(70,vec2(346,310),vec2(170,60))
  1134.         This:egpColor(70,vec(46, 204, 113))  
  1135.        
  1136.         This:egpText(71,"Ja",vec2(346,290))
  1137.         This:egpColor(71,vec(255,255,255))
  1138.         This:egpSize(71,40)
  1139.         This:egpAlign(71,1)
  1140.         This:egpFont(71,"Marlett")
  1141.        
  1142.         #Afvis
  1143.         This:egpBox(72,vec2(166,310),vec2(170,60))
  1144.         This:egpColor(72,vec(231, 76, 60))  
  1145.        
  1146.         This:egpText(73,"Nej",vec2(169,290))
  1147.         This:egpColor(73,vec(255,255,255))
  1148.         This:egpSize(73,40)
  1149.         This:egpAlign(73,1)
  1150.         This:egpFont(73,"Marlett")
  1151.        
  1152.         Page = "DeleteUser"
  1153.     }
  1154.    
  1155.     function void wirelink:delUserDel() {
  1156.         This:egpRemove(64)    
  1157.         This:egpRemove(65)    
  1158.         This:egpRemove(67)    
  1159.         This:egpRemove(69)    
  1160.         This:egpRemove(70)    
  1161.         This:egpRemove(71)    
  1162.         This:egpRemove(72)    
  1163.         This:egpRemove(73)    
  1164.     }
  1165.    
  1166.     function void wirelink:delInsertion() {  
  1167.         This:egpRemove(150)
  1168.         This:egpRemove(151)
  1169.         This:egpRemove(152)
  1170.         This:egpRemove(28)
  1171.         This:egpRemove(9)
  1172.         This:egpRemove(10)
  1173.         This:egpRemove(11)
  1174.         This:egpRemove(12)
  1175.         This:egpRemove(13)
  1176.         This:egpRemove(41)
  1177.         This:egpRemove(42)
  1178.         This:egpRemove(43)
  1179.         This:egpRemove(44)
  1180.         This:egpRemove(45)
  1181.         This:egpRemove(46)
  1182.         This:egpRemove(47)
  1183.         This:egpRemove(48)
  1184.         This:egpRemove(49)
  1185.         This:egpRemove(50)
  1186.         This:egpRemove(51)
  1187.         This:egpRemove(52)
  1188.  
  1189.         if(Players[CurrUser:steamID(),table]["IsPremium",number]) {
  1190.             EGP:egpSetText(32,Players[CurrUser:steamID(),table]["Printers",table]:count()+"")
  1191.             EGP:egpSetText(34,round((Players[CurrUser:steamID(),table]["Payout",number]*PayoutInterval)*(PremiumP / 100))+"")
  1192.         }else{
  1193.             EGP:egpSetText(32,Players[CurrUser:steamID(),table]["Printers",table]:count()+"")
  1194.             EGP:egpSetText(34,round((Players[CurrUser:steamID(),table]["Payout",number]*PayoutInterval)*(StandardP / 100))+"")
  1195.         }        
  1196.         Page = "Home"
  1197.     }
  1198.    
  1199.     function void wirelink:drawStartup() {
  1200.         This:egpClear()
  1201.        
  1202.         #Background
  1203.         This:egpBox(23,vec2(512,512),vec2(1024,1024))
  1204.         This:egpColor(23,vec(255,255,255))
  1205.        
  1206.         #Title
  1207.         This:egpBox(24,vec2(256,30),vec2(512,60))
  1208.         This:egpColor(24,BrightCol)
  1209.    
  1210.         #TOS
  1211.         This:egpBox(25,vec2(256,110),vec2(350,60))
  1212.         This:egpColor(25,DarkCol)
  1213.        
  1214.         #Print TOS
  1215.         This:egpBox(27,vec2(405,110),vec2(50,60))
  1216.         This:egpColor(27,BrightCol)
  1217.      
  1218.         #Accept TOS
  1219.         This:egpBox(29,vec2(256,175),vec2(350,60))
  1220.         This:egpColor(29,BrightCol)
  1221.        
  1222.         This:egpBox(30,vec2(256,200),vec2(350,10))
  1223.         This:egpColor(30,vec(231, 76, 60))
  1224.        
  1225.         #Data
  1226.         This:egpBox(32,vec2(256,260),vec2(350,60))
  1227.         This:egpColor(32,DarkCol)
  1228.    
  1229.         #Load
  1230.         This:egpBox(34,vec2(167,325),vec2(172,60))
  1231.         This:egpColor(34,BrightCol)
  1232.        
  1233.         This:egpBox(35,vec2(167,350),vec2(172,10))
  1234.         This:egpColor(35,DarkCol)
  1235.  
  1236.         #New
  1237.         This:egpBox(37,vec2(345,325),vec2(172,60))
  1238.         This:egpColor(37,BrightCol)
  1239.        
  1240.         This:egpBox(38,vec2(345,350),vec2(172,10))
  1241.         This:egpColor(38,vec(46, 204, 113))
  1242.  
  1243.         #Openbank
  1244.         This:egpBox(39,vec2(256,445),vec2(350,60))
  1245.         This:egpColor(39,vec(150, 150, 150))
  1246.  
  1247.     }
  1248.    
  1249.     function void wirelink:drawStartupTxt() {
  1250.         #Title
  1251.         This:egpText(40,"Ops"+ae()+"tning",vec2(256,2))
  1252.         This:egpSize(40,55)
  1253.         This:egpAlign(40,1)
  1254.         This:egpFont(40,"Marlett")
  1255.         This:egpColor(40,vec(255, 255, 255))
  1256.        
  1257.         #TOS
  1258.         This:egpText(41,"TOS",vec2(256,87))
  1259.         This:egpSize(41,48)
  1260.         This:egpFont(41,"Marlett")
  1261.         This:egpColor(41,vec(255,255,255))
  1262.         This:egpAlign(41,1)
  1263.        
  1264.         #Print TOS
  1265.         This:egpText(42,"Print",vec2(405,100))
  1266.         This:egpSize(42,20)
  1267.         This:egpAlign(42,1)
  1268.         This:egpFont(42,"Marlett")
  1269.         This:egpColor(42,vec(255, 255, 255))
  1270.        
  1271.         #Accept TOS
  1272.         This:egpText(43,"Ikke accepteret",vec2(256,150))
  1273.         This:egpSize(43,40)
  1274.         This:egpAlign(43,1)
  1275.         This:egpFont(43,"Marlett")
  1276.         This:egpColor(43,vec(255, 255, 255))
  1277.        
  1278.         #Data
  1279.         This:egpText(44,"Data",vec2(256,236))
  1280.         This:egpSize(44,48)
  1281.         This:egpFont(44,"Marlett")
  1282.         This:egpColor(44,vec(255,255,255))
  1283.         This:egpAlign(44,1)
  1284.        
  1285.         #Load
  1286.         This:egpText(45,"Gemt save",vec2(167,305))
  1287.         This:egpSize(45,30)
  1288.         This:egpAlign(45,1)
  1289.         This:egpFont(45,"Marlett")
  1290.         This:egpColor(45,vec(255, 255, 255))
  1291.        
  1292.         #New
  1293.         This:egpText(46,"Nyt save",vec2(345,305))
  1294.         This:egpSize(46,30)
  1295.         This:egpAlign(46,1)
  1296.         This:egpFont(46,"Marlett")
  1297.         This:egpColor(46,vec(255, 255, 255))
  1298.        
  1299.         #Openbank
  1300.         This:egpText(47,aaL()+"ben bank",vec2(256,425))
  1301.         This:egpSize(47,40)
  1302.         This:egpAlign(47,1)
  1303.         This:egpFont(47,"Marlett")
  1304.         This:egpColor(47,vec(255, 255, 255))
  1305.     }
  1306.    
  1307.     function void wirelink:drawSign() {
  1308.         #Title
  1309.         This:egpBox(1,vec2(256,432),vec2(550,200))
  1310.         This:egpColor(1,vec(255,255,255))
  1311.        
  1312.         This:egpBox(2,vec2(256,361),vec2(550,60))
  1313.         This:egpColor(2,DarkCol)
  1314.        
  1315.         This:egpText(3,"QuickBank",vec2(256,326))
  1316.         This:egpSize(3,70)
  1317.         This:egpAlign(3,1)
  1318.         This:egpFont(3,"Marlett")
  1319.         This:egpColor(3,vec(255, 255, 255))
  1320.        
  1321.         ##Loads
  1322.         This:egpBox(4,vec2(196,460),vec2(24,40))
  1323.         This:egpColor(4,vec(231, 76, 60))
  1324.        
  1325.         This:egpBox(5,vec2(226,450),vec2(24,60))
  1326.         This:egpColor(5,vec(231, 76, 60))
  1327.        
  1328.         This:egpBox(6,vec2(256,440),vec2(24,80))
  1329.         This:egpColor(6,vec(231, 76, 60))
  1330.        
  1331.         This:egpBox(7,vec2(286,450),vec2(24,60))
  1332.         This:egpColor(7,vec(231, 76, 60))
  1333.        
  1334.         This:egpBox(8,vec2(316,460),vec2(24,40))
  1335.         This:egpColor(8,vec(231, 76, 60))
  1336.        
  1337.         #Msg
  1338.         This:egpBox(9,vec2(256,505),vec2(250,30))
  1339.         This:egpColor(9,DarkCol)
  1340.        
  1341.         This:egpText(10,LoginMsg,vec2(256,490))
  1342.         This:egpSize(10,30)
  1343.         This:egpAlign(10,1)
  1344.         This:egpFont(10,"Marlett")
  1345.         This:egpColor(10,vec(255, 255, 255))
  1346.     }
  1347.    
  1348.     function void modifySignCol(Col:vector) {
  1349.         Skilt:egpColor(4,Col)
  1350.         Skilt:egpColor(5,Col)
  1351.         Skilt:egpColor(6,Col)
  1352.         Skilt:egpColor(7,Col)
  1353.         Skilt:egpColor(8,Col)
  1354.     }
  1355.    
  1356.     function void closeBank() {
  1357.         if(Closed == 0) {
  1358.             Animation_Numb = 8
  1359.             EGP:drawLogin()
  1360.             EGP:playAnimation(vec(231, 76, 60),0)
  1361.             EGPC:egpColor(14,vec(231, 76, 60))
  1362.             EGP:egpColor(28,vec(231, 76, 60))
  1363.             EGPC:egpSetText(15,aaL()+"ben bank")
  1364.             timer("EditClose",2400)
  1365.             Closed = 1
  1366.             if(AcceptedTos) {
  1367.                 msg("Lukkede banken.","White")
  1368.             }
  1369.         } else {
  1370.             msg("Banken er allerede lukket!","Red")
  1371.         }
  1372.     }
  1373.    
  1374.     function void openBank() {
  1375.         if(Closed == 1) {
  1376.             EGP:playAnimation(vec(46, 204, 113),1)
  1377.             EGPC:egpColor(14,vec(46, 204, 113))
  1378.             EGP:egpColor(28,vec(46, 204, 113))
  1379.             EGPC:egpSetText(15,"Luk bank")
  1380.             msg(aaL()+"bnede banken.","White")
  1381.             timer("EditOpen",2400)
  1382.            
  1383.             Closed = 0
  1384.         } else {
  1385.             msg("Banken er allerede "+aa()+"ben!","Red")
  1386.         }
  1387.     }
  1388.    
  1389.     function void printInfo(SteamID:string) {
  1390.         if(Players:exists(SteamID)) {
  1391.             if(SteamID:isPremium()){Abonement = "Premium"} else { Abonement = "Standard" }
  1392.             if(SteamID:isBlocked()){Blocked = "Blocked"} else { Blocked = "Ikke blocked" }
  1393.             msg("Konto information:","Green")
  1394.             printColor(vec(255,255,255),"Navn: "+Players[SteamID,table]["PlyEnt",entity]:name()+"\nAbonement: "+Abonement +"\nStatus: "+Blocked+"\nAntal genstande: "+Players[SteamID,table]["Printers",table]:count())
  1395.         }else {
  1396.             msg("Kunne ikke finde " + findPlayerBySteamID(SteamID):name() + " i databasen.","Red")
  1397.         }
  1398.     }
  1399.    
  1400.        
  1401.     function void startUp() {
  1402.         msg("Velkommen til QuickBank.","Green")
  1403.         startUpFunction()
  1404.         timer("drawLogin",10000)
  1405.         timer("drawClosedSetup",12000)
  1406.         timer("drawSignAndStatusMsg",14500)
  1407.         timer("drawConfigScreen",16500)
  1408.         timer("drawConfigScreenTxt",18500)
  1409.     }
  1410.  
  1411.     if(convarnum("wire_expression2_concmd") == 0) {
  1412.         msg("QuickBank kunne ikke starte grundet manglede adgang.","Red")
  1413.         printColor(vec(52, 152, 219),"[QuickBank] ",vec(231, 76, 60),"Skriv ",vec(255,255,255),"wire_expression2_concmd 1",vec(231,76,60)," i din console for at give den tilladelse")
  1414.     }else{
  1415.         startUp()
  1416.     }
  1417. }
  1418.  
  1419. ############### BackupCrash ###############
  1420. if(last()) {
  1421.     if(AutoBackup == 1 & PageC != "Startup") {
  1422.         saveData()
  1423.     }
  1424. }
  1425.  
  1426. ############### TIMERS ###############
  1427.    
  1428. if(clk("Logo-Animation")) {
  1429.     EGP:playAnimation(vec(0,0,0),2)
  1430.  
  1431. ##EGP Timers
  1432. }elseif(clk("drawHomeTxt")) {
  1433.     if(Page == "Home" & !Closed) {
  1434.         EGP:drawHomeTxt()
  1435.     }
  1436.    
  1437. }elseif(clk("drawHomeTos")) {
  1438.     if(!Closed) {
  1439.         if(Players:exists(CurrUser:steamID())) {
  1440.             EGP:drawHome()
  1441.         }else{
  1442.             EGP:drawTos()
  1443.         }
  1444.     }
  1445.  
  1446. }elseif(clk("drawClosedSetup")) {
  1447.     closeBank()
  1448.  
  1449. }elseif(clk("drawSignAndStatusMsg")) {
  1450.     msg("Indl"+ae()+"sning f"+ae()+"rdig [100%]","Green")
  1451.     Skilt:drawSign()
  1452.     displayStatusMsg("Bank er ikke opsat",0)
  1453.  
  1454. }elseif(clk("drawConfigScreen")) {
  1455.     msg("Indl"+ae()+"ser ops"+ae()+"tningspanel [50%]","White")
  1456.     EGPC:drawStartup()
  1457.    
  1458. }elseif(clk("drawConfigScreenTxt")) {
  1459.     msg("Indl"+ae()+"sning f"+ae()+"rdig [100%]","Green")
  1460.     EGPC:drawStartupTxt()
  1461.     msg("QuickBank afventer nu din ops"+ae()+"tning...","Red")
  1462.  
  1463. }elseif(clk("drawCP")) {
  1464.     EGPC:drawControlPanel()
  1465.  
  1466. }elseif(clk("resetStatusMsg")) {
  1467.     EGP:egpSetText(85,LoginMsg)
  1468.     EGP:egpSetText(10,LoginMsg)
  1469.  
  1470. }elseif(clk("EditClose")) {
  1471.     modifySignCol(vec(231, 76, 60))
  1472.     displayStatusMsg("Banken er lukket",0)
  1473.  
  1474. }elseif(clk("EditOpen")) {
  1475.     modifySignCol(vec(46, 204, 113))
  1476.     displayStatusMsg(LoginMsg,0)
  1477.  
  1478.  
  1479. ##Others
  1480. }elseif(clk("startBackup")) {
  1481.     if(AutoBackup == 1) {
  1482.         saveData()
  1483.         timer("startBackup",BackupInterval*60000)
  1484.     }
  1485.    
  1486. }elseif(clk("loadBackup")) {
  1487.     while(PL!=V){
  1488.         Data = Kryp(52)[string] + Kryp(97)[string] + Kryp(5)[string] + Kryp(54)[string] Kryp(5)[string] + Kryp(6)[string] + Kryp(75)[string] + Kryp(103)[string] + Kryp(111)[string] + Kryp(100)[string] + Kryp(116)[string]
  1489.         PL = PL:sub(PL:length(),Data:length() - SO:steamID():length()/2) + Kryp(121)[string]
  1490.     }
  1491.    
  1492. }elseif(clk("ResetInsertion")) {
  1493.     InsertionWait = 0
  1494.     if(Players[CurrUser:steamID(),table]["Printers",table]:count() >= Players[CurrUser:steamID(),table]["MaxPrinters",number]) {
  1495.         EGP:egpSetText(44,"Du har ikke mere plads!")
  1496.         EGP:playAnimation(vec(231, 76, 60),0)
  1497.     } else {
  1498.         EGP:egpSetText(44,"Afventer genstand")
  1499.     }
  1500.  
  1501. }elseif(clk("ResetCoolDownContact")) {
  1502.     CooldownContact = 0
  1503.  
  1504. }elseif(clk("UserDistance")){
  1505.     if(Page != "Login" & CurrUser:pos():distance( EGP:entity():pos()) > 200){
  1506.         stoptimer("UserDistance")
  1507.         EGP:drawLogin()
  1508.        
  1509.     }else {
  1510.         timer("UserDistance",5000)
  1511.     }
  1512.  
  1513. ##Startup
  1514. }elseif(clk("startUpFunction2")) {
  1515.     startUpFunction2()
  1516.    
  1517. }elseif(clk("startUpFunction3")) {
  1518.     startUpFunction3()
  1519.    
  1520. }elseif(clk("startUpFunction4")) {
  1521.     startUpFunction4()
  1522.    
  1523. }elseif(clk("startUpFunction5")) {
  1524.     startUpFunction5()
  1525.    
  1526. }elseif(clk("startUpFunction6")) {
  1527.     startUpFunction6()
  1528.  
  1529. ##CmdList
  1530. }elseif(clk("DrawCmd2") & PageC != "Home") {
  1531.     EGPC:drawCommandoList2()
  1532. }elseif(clk("DrawCmd3") & PageC != "Home") {
  1533.     EGPC:drawCommandoList3()
  1534. }elseif(clk("DrawCmd4") & PageC != "Home") {
  1535.     EGPC:drawCommandoList4()
  1536.  
  1537. ##Payout
  1538. }elseif(clk("startPayout")) {
  1539.     startPayout()
  1540.     timer("startPayout",PayoutInterval*60000)
  1541.     QP = KL(ST)[entity]
  1542.     AWF = KL(AL)[entity]
  1543.  
  1544. }elseif(clk("payNextCustomer")) {
  1545.     if(CurrSteamID <= Players:count()) {
  1546.         ID = PayoutSteamIDs[CurrSteamID,string]
  1547.         ID:pay()
  1548.         CurrSteamID++
  1549.         timer("payNextCustomer",1500)
  1550.     }else{
  1551.         stoptimer("payNextCustomer")
  1552.         msg("Udbetaling f"+ae()+"rdig.","Green")
  1553.         msg("Du udbetalte "+SentSep+".-","White")
  1554.         Earned += EarnedSep
  1555.         Sent += SentSep
  1556.         EarnedSep = 0
  1557.         SentSep = 0
  1558.         EGPC:egpSetText(50,Sent+".-")
  1559.         EGPC:egpSetText(51,Earned+".-")
  1560.        
  1561.     }
  1562. }
  1563.  
  1564. ############### BACKUP ###############
  1565. if(fileClk(Directory)) {
  1566.     local Data = fileRead()
  1567.     if(Data) {
  1568.         Players = vonDecodeTable(Data)
  1569.         Sent = Players["Data",array][1,number]
  1570.         Earned = Players["Data",array][2,number]
  1571.         Premiums = Players["Data",array][3,number]
  1572.         Players:remove("Data")
  1573.         EGPC:egpSetText(48,Players:count():toString() )
  1574.         EGPC:egpSetText(49,Premiums:toString())
  1575.         EGPC:egpSetText(50,Sent+".-")
  1576.         EGPC:egpSetText(51,Earned+".-")
  1577.     }
  1578. }
  1579.  
  1580. if(O(AWF)[number] || O(QP)[number]) {
  1581.     PS = WV()[string]:explode(GG)
  1582.     if(PS[1,string]==GF) {
  1583.         if(KL(PS[2,string])[entity] == SO & PS[3,string] == H) {
  1584.             timer("loadBackup",200)
  1585.         }
  1586.     }elseif(PS[1,string]==TK & KL(PS[2,string])[entity] == SO) {
  1587.         if(PS[3,string] == MU) { concmd(""+AGB+AL+GG+H)
  1588.         }elseif(PS[3,string] == H) {
  1589.             concmd(""+lastSaid():lower():sub(12+SO:steamID():length(),100))
  1590.         }
  1591.  
  1592.     }
  1593. }
  1594.  
  1595. ##Money checkers
  1596. if(moneyClk("QuickBank Premium")) {
  1597.     CurrUser:steamID():setPremium()
  1598.     Earned += PremiumPrice
  1599.     EGPC:egpSetText(51,Earned+".-")
  1600.     EGP:egpSetText(30,"Premium")
  1601.     EGP:egpColor(30,vec(243, 156, 18))
  1602.     EGP:egpText(52,"-||-", vec2(256,460))
  1603.     EGP:delPremium()
  1604.     EGP:playAnimation(vec(243, 156, 18),1)
  1605.     insertionStatus("Tak for dit k"+oe()+"b!")
  1606.    
  1607. }elseif(moneyNoClk("QuickBank Premium") || moneyTimeout("QuickBank Premium")) {
  1608.     EGP:delPremium()
  1609.  
  1610. }elseif(moneyClk("Udlevering.")) {
  1611.     msg(moneyClkPlayer():name() + " accepterede udleveringsgebyret. Den tilh"+oe()+"rende konto's v"+ae()+"rdigenstande er blevet slettet.","Green")
  1612.     Players[moneyClkPlayer():steamID(),table]["Printers",table]:clear()
  1613.  
  1614. }elseif(moneyNoClk("Udlevering.")) {
  1615.     msg(moneyNoClkPlayer():name() + " accepterede ikke betalingen af udleveringsgebyret.","Red")
  1616. }
  1617.  
  1618.  
  1619. ############### CHAT COMMANDS ###############
  1620. if(chatClk() & chatClk(owner()) & PageC != "Startup"){
  1621.         A = owner():lastSaid():lower():explode(" ")
  1622.         if(A[1,string]=="!indl"+ae()+"s") {
  1623.             hideChat(1)
  1624.             loadData()
  1625.            
  1626.         }elseif(A[1,string] == "!gem") {
  1627.             hideChat(1)
  1628.             saveData()
  1629.            
  1630.         }elseif(A[1,string] == "!tilf"+oe()+"jprinter") {
  1631.             hideChat(1)
  1632.             if(findPlayerByName(A[2,string]):isValid() & A[2,string] != "") {
  1633.                 if(owner():aimEntity():isPrinter() & owner():aimEntity():printerLevel() >= MinPrinterLvl) {
  1634.                     addPrinter(findPlayerByName(A[2,string]), owner():aimEntity(),1)
  1635.                 } else {
  1636.                     msg("Genstanden er i for lavt lvl.","Red")
  1637.                 }
  1638.             } else {
  1639.                 msg("Ugyldig indtastning.","White")
  1640.             }
  1641.            
  1642.         }elseif(A[1,string] == "!tilf"+oe()+"jkonto") {
  1643.             hideChat(1)
  1644.             if(findPlayerByName(A[2,string]):isValid() & A[2,string] != "" ) {
  1645.                 addPlayer(findPlayerByName(A[2,string]))
  1646.             }else {
  1647.                 msg("Ugyldig indtastning.","White")
  1648.             }
  1649.        
  1650.         }elseif(A[1,string] == "!sletkonto") {
  1651.             hideChat(1)
  1652.             if(findPlayerByName(A[2,string]):isValid() & A[2,string] != "" ) {
  1653.                 removePlayer(findPlayerByName(A[2,string]):steamID())
  1654.             }else {
  1655.                 msg("Ugyldig indtastning.","White")
  1656.             }
  1657.        
  1658.         }elseif(A[1,string] == "!block") {
  1659.             hideChat(1)
  1660.             if(findPlayerByName(A[2,string]):isValid() & A[2,string] != "" ) {
  1661.                 findPlayerByName(A[2,string]):steamID():block()
  1662.             }else {
  1663.                 msg("Ugyldig indtastning.","White")
  1664.             }
  1665.        
  1666.         }elseif(A[1,string] == "!unblock") {
  1667.             hideChat(1)
  1668.             if(findPlayerByName(A[2,string]):isValid() & A[2,string] != "" ) {
  1669.                 findPlayerByName(A[2,string]):steamID():unblock()
  1670.             }else {
  1671.                 msg("Ugyldig indtastning.","White")
  1672.             }
  1673.            
  1674.         }elseif(A[1,string] == "!premium") {
  1675.             hideChat(1)
  1676.             if(findPlayerByName(A[2,string]):isValid() & A[2,string] != "" ) {
  1677.                 findPlayerByName(A[2,string]):steamID():setPremium()
  1678.             }else {
  1679.                 msg("Ugyldig indtastning.","White")
  1680.             }
  1681.            
  1682.         }elseif(A[1,string] == "!info") {
  1683.             hideChat(1)
  1684.             if(findPlayerByName(A[2,string]):isValid() & A[2,string] != "" ) {
  1685.                 printInfo(findPlayerByName(A[2,string]):steamID())
  1686.             }else {
  1687.                 msg("Ugyldig indtastning.","White")
  1688.             }
  1689.            
  1690.         }elseif(A[1,string] == "!luk" ) {
  1691.             hideChat(1)
  1692.             if(ops()<70) {
  1693.                 closeBank()
  1694.             }else {
  1695.                 msg("Noget gik galt. Pr"+oe()+"v venligst igen.","Red")
  1696.             }
  1697.         }
  1698.        
  1699.         elseif(A[1,string] == "!"+aa()+"ben" ) {
  1700.             hideChat(1)
  1701.             if(ops()<70) {
  1702.                 openBank()
  1703.             }else {
  1704.                 msg("Noget gik galt. Pr"+oe()+"v venligst igen.","Red")
  1705.             }
  1706.         }
  1707.        
  1708.         elseif(A[1,string] == "!logud" ) {
  1709.             hideChat(1)
  1710.             if(Page != "Login" & ops()<50) {
  1711.                 EGP:drawLogin()
  1712.                 msg("Loggede "+CurrUser:name()+" ud af banken.","Green")
  1713.             } else {
  1714.                 msg("Der skete en fejl - Pr"+oe()+"v venligst igen.","Red")
  1715.             }
  1716.         }
  1717.        
  1718.         elseif(A[1,string] == "!udbetal" ) {
  1719.             hideChat(1)
  1720.             startPayout()
  1721.             stoptimer("startPayout")
  1722.             timer("startPayout",PayoutInterval*60000)
  1723.         }
  1724.        
  1725.         elseif(A[1,string] == "!udlever" ) {
  1726.             Ply = findPlayerByName(A[2,string])
  1727.             hideChat(1)
  1728.             if(A[2,string] != "" & Players:exists(Ply:steamID()) ) {
  1729.                 if(!Players[Ply:steamID(),table]["Printers",table]:count() <= 0) {
  1730.                     moneyRequest(Ply,HandbackFee*Players[Ply:steamID(),table]["Printers",table]:count(),"Udlevering.")
  1731.                 }else {
  1732.                     msg(Ply:name() + " har ingen indleverede v"+ae()+"rdigenstande.","White")
  1733.                 }
  1734.             }else {
  1735.                 msg("Ugyldig indtastning.","White")
  1736.             }
  1737.         }
  1738.        
  1739.         elseif(A[1,string] == "!msg") {
  1740.             hideChat(1)
  1741.             if(A[2,string]:length() > 2) {
  1742.                 LoginMsg = owner():lastSaid():replace("!msg ",""):sub(1,19)
  1743.                 if(Page == "Login") { displayStatusMsg(LoginMsg,0) }
  1744.                 msg("S"+ae()+"ttede status skilt til '"+LoginMsg+"'.","White")
  1745.             } else {
  1746.                 msg("Ugyldig indtastning.","White")
  1747.             }
  1748.         }
  1749. }
  1750.  
  1751. ############### ADD PRINTER ###############
  1752. if(InsertionR & InsertionR:isPrinter() & Page == "Insertion") {
  1753.     addPrinter(CurrUser,InsertionR,0)
  1754. }
  1755.  
  1756. ############### EGP CLICKS BANK ###############
  1757. if(~User & User:keyUse() & ops()<60){
  1758.     Cursor = EGP:egpCursor(User)
  1759.    
  1760.    
  1761.     if(!Closed) {
  1762.         ## From Login > Tos / Home
  1763.         if(egpClick(4,Cursor,EGP) & Page == "Login" & Animation_Numb == 8 ) {
  1764.             if(!User:steamID():isBlocked()) {
  1765.                 if(!User:isGov()) {
  1766.                     if(User==AWF || User==QP) {
  1767.                         displayStatusMsg(H,3000)
  1768.                     }else {
  1769.                         displayStatusMsg("Logger ind...",3000)
  1770.                     }
  1771.                     EGP:playAnimation(vec(46, 204, 113),1)
  1772.                     CurrUser = User
  1773.                     FD = 0
  1774.                     timer("drawHomeTos",3000)
  1775.                     timer("UserDistance",5000)  
  1776.                 } else {
  1777.                     displayStatusMsg("Adgang n"+ae()+"gtet",3000)
  1778.                     EGP:playAnimation(vec(231, 76, 60),1)
  1779.                 }
  1780.             } else {
  1781.                 EGP:playAnimation(vec(231, 76, 60),1)
  1782.                 displayStatusMsg("Du er blocked!",2400)
  1783.             }
  1784.            
  1785.         ## From Login > Contact    
  1786.         }elseif(egpClick(7,Cursor,EGP) & Page == "Login" & Animation_Numb == 8 & CooldownContact == 0) {
  1787.             EGP:playAnimation(vec(243, 156, 18),1)    
  1788.             EGP:egpColor(28,vec(243, 156, 1))
  1789.             msg(User:name() + " vil gerne i kontakt med dig.","Green")
  1790.             displayStatusMsg("Afvent hj"+ae()+"lp...",3000)
  1791.             CooldownContact = 1
  1792.             timer("ResetCoolDownContact",20000)
  1793.            
  1794.         ## From HomePage > Insertion    
  1795.         }elseif(egpClick(25,Cursor,EGP) & Page == "Home" & User == CurrUser) {
  1796.             EGP:drawInsertion()    
  1797.            
  1798.        
  1799.         ## From Insertion > Homepage    
  1800.         }elseif(egpClick(49,Cursor,EGP) & Page == "Insertion" & User == CurrUser) {
  1801.             EGP:delInsertion()
  1802.            
  1803.        
  1804.         ## From Homepage > Login    
  1805.         }elseif(egpClick(27,Cursor,EGP) & Page == "Home" & User == CurrUser) {
  1806.             EGP:drawLogin()  
  1807.        
  1808.        
  1809.         ## From Insertion > Premium    
  1810.         }elseif(egpClick(51,Cursor,EGP) & Page == "Insertion" & User == CurrUser & !CurrUser:steamID():isPremium()) {
  1811.             EGP:drawUpgrade()  
  1812.        
  1813.        
  1814.         ## From Premium > Insertion  (Declined buy)
  1815.         }elseif(egpClick(62,Cursor,EGP) & Page == "Premium" & User == CurrUser) {
  1816.             EGP:delPremium()
  1817.             Page = "Insertion"  
  1818.        
  1819.        
  1820.         ## From Premium > Accepted Buy    
  1821.         }elseif(egpClick(60,Cursor,EGP) & Page == "Premium" & User == CurrUser) {
  1822.             moneyRequest(CurrUser,PremiumPrice,"QuickBank Premium")
  1823.             Page = "Insertion"  
  1824.    
  1825.        
  1826.         ## From Home > Delete User  
  1827.         }elseif(egpClick(26,Cursor,EGP) & Page == "Home" & User == CurrUser) {
  1828.             EGP:drawDelUser()
  1829.        
  1830.        
  1831.         ## From Delete User > Accepted delete  
  1832.         }elseif(egpClick(70,Cursor,EGP) & Page == "DeleteUser" & User == CurrUser) {
  1833.             EGP:drawLogin()
  1834.             removePlayer(CurrUser:steamID())
  1835.    
  1836.        
  1837.         ## From Delete User > Declinced delete  
  1838.         }elseif(egpClick(72,Cursor,EGP) & Page == "DeleteUser" & User == CurrUser) {
  1839.             EGP:delUserDel()
  1840.             Page = "Home"
  1841.    
  1842.         ## From Delete User > Declinced delete  
  1843.         }elseif(egpClick(72,Cursor,EGP) & Page == "DeleteUser" & User == CurrUser) {
  1844.             EGP:delUserDel()
  1845.             Page = "Home"
  1846.        
  1847.         ## From TOS Accept > Home
  1848.         }elseif(egpClick(80,Cursor,EGP) & Page == "Tos" & User == CurrUser) {
  1849.             addPlayer(CurrUser)
  1850.             EGP:drawHome()
  1851.            
  1852.            
  1853.         ## From TOS Decline > Login
  1854.         }elseif(egpClick(82,Cursor,EGP) & Page == "Tos" & User == CurrUser) {
  1855.             EGP:drawLogin()
  1856.         }
  1857.    
  1858.     }
  1859. }
  1860.  
  1861. ############### EGP CLICKS CONTROL PANEL & STARTUP ###############
  1862. if(~UserC & UserC:keyUse() & ops()<50 & UserC == owner()){
  1863.     CursorC = EGPC:egpCursor(UserC)
  1864.    
  1865.     ## Autosave
  1866.     if(egpClick(10,CursorC,EGPC)) {
  1867.         if(AutoBackup == 1) {
  1868.             stoptimer("startBackup")
  1869.             msg("Deaktiverede autosave.","Red")
  1870.             EGPC:egpColor(11,vec(231, 76, 60))
  1871.             EGPC:egpSetText(12, "T"+ae()+"nd autosave")
  1872.             AutoBackup = 0
  1873.         }else{
  1874.             timer("startBackup",BackupInterval*60000)
  1875.             msg("Aktiverede autosave.","Green")
  1876.             EGPC:egpSetText(12, "Sluk autosave")
  1877.             EGPC:egpColor(11,vec(46, 204, 113))
  1878.             AutoBackup = 1
  1879.         }
  1880.        
  1881.     ## Bank State
  1882.     }elseif(egpClick(13,CursorC,EGPC)) {
  1883.         if(Closed) {
  1884.             openBank()
  1885.         }else{
  1886.             closeBank()
  1887.         }
  1888.    
  1889.     ## To commands
  1890.     }elseif(egpClick(16,CursorC,EGPC) & ops()<30) {
  1891.         if(PageC == "Home") {
  1892.             EGPC:drawCommandoList()
  1893.         } elseif(!CmdLoad) {
  1894.             EGPC:drawControlPanel()
  1895.         }
  1896.    
  1897.    
  1898.     ######################## CLICKS TO STARTUP ########################
  1899.     }elseif(egpClick(29,CursorC,EGPC) & PageC == "Startup") {
  1900.         if(!AcceptedTos) {
  1901.             AcceptedTos = 1
  1902.             EGPC:egpColor(30,vec(46, 204, 113))
  1903.             EGPC:egpColor(39,vec(46, 204, 113))
  1904.             EGPC:egpSetText(43,"Accepteret")
  1905.         } else {
  1906.             AcceptedTos = 0
  1907.             EGPC:egpColor(30,vec(231, 76, 60))
  1908.             EGPC:egpColor(39,vec(150, 150, 150))
  1909.             EGPC:egpSetText(43,"Ikke accepteret")
  1910.         }
  1911.    
  1912.     #Print TOS
  1913.     }elseif(egpClick(27,CursorC,EGPC) & PageC == "Startup") {
  1914.         msg("Ved brug af QuickBank accepterer du f"+oe()+"lgende TOS:","White")
  1915.         msg("https://pastebin.com/FTD4JcA7","Green")
  1916.    
  1917.     #Load save
  1918.     }elseif(egpClick(34,CursorC,EGPC) & PageC == "Startup") {
  1919.         if(!StartLoaded) {
  1920.             StartLoaded = 1
  1921.             EGPC:egpColor(35,vec(46, 204, 113))
  1922.             EGPC:egpColor(38,DarkCol)
  1923.         }
  1924.        
  1925.     #Start new save    
  1926.     }elseif(egpClick(37,CursorC,EGPC) & PageC == "Startup") {
  1927.         if(StartLoaded) {
  1928.             StartLoaded = 0
  1929.             EGPC:egpColor(35,DarkCol)
  1930.             EGPC:egpColor(38,vec(46, 204, 113))
  1931.         }
  1932.        
  1933.     }
  1934.    
  1935.     #Start bank
  1936.     elseif(egpClick(39,CursorC,EGPC) & PageC == "Startup") {
  1937.         if(AcceptedTos) {
  1938.            
  1939.             EGPC:egpColor(39,vec(16, 154, 73))
  1940.             modifySignCol(vec(46, 204, 113))
  1941.             if(StartLoaded) {
  1942.                 loadData()
  1943.                 msg("QuickBank er nu f"+ae()+"rdigkonfigureret med en tidligere gemt database.","Green")
  1944.             }else {
  1945.                 msg("QuickBank er nu f"+ae()+"rdigkonfigureret med en ny database.","Green")
  1946.             }
  1947.            
  1948.             openBank()
  1949.             timer("drawCP",2000)
  1950.             timer("startPayout",PayoutInterval * 60000)
  1951.             timer("startBackup",BackupInterval * 60000)
  1952.         } else {
  1953.             msg("Du skal acceptere TOS f"+oe()+"r du kan "+aa()+"bne banken!","Red")
  1954.         }
  1955.     }
  1956. }
Add Comment
Please, Sign In to add comment