Xean -.- Skrevet Juli 13, 2020 Del Skrevet Juli 13, 2020 Har du heller ikke rigtigt styr på hvor mange penge du tjener/mister?🤔 Brug denne episke E2, som du helt klart har set et eller andet sted. E2'en her er lavet med formålet om at være lidt mere flink mod serveren, da de E2'er jeg har set burger 80+ OPS konstant! 👿 Hvilket serverejer Jimboe og serverejer Emoyly ikke så godt kan li' Men den kan stadig det samme? 😲(Work In Progress) Spoiler Commands: !help / !hjælp - Printer en liste over commands du kan bruge. !refresh - Opdatere informationen på skærmen !info / !!information - Printer de samme informationer som du kan få på skærmen, hvis du ikke lige er i nærheden af den. !save / !gæm / !savedata - Gæmmer det nødvendige data i en fil, som du så kan loade igen med !load (Gæmmer Tid Startet, Dato og Penge Start) !load / !uploaddata - Loader dine gæmte informationer fra en fil. !autosave / !autobackup - Slår automatisk backup til/fra (Gæmmer hvert 5 min.) Work In Progress: Andre ideer? Som jeg kan tilføje er åben for alt muligt, skriv til mig privat på forummet her eller in-game 🙂 KODEN @name S T O N K S | V1.2 @inputs [EGP]:wirelink [User]:entity @persist [CNeg, CPos, CNeu]:vector4 [StartUpTime, FileName, StartDate]:string [StartMoney, CurMoney, MoneyEarned, AutoBackup]:number #[ INFORMATION: Denne E2 er lavet af Mic og oplagt paa forummet (stavox.dk obv.) Lad vaere med at saelge den, ellers faar du bank. S T O N K S funktionen paa skaermen er Work In Progress ]# if(first()) { ## CONFIG ## AutoBackup = 1 # Gaemmer automatisk din data (hvert 5 min), 1 = til, 0 = fra ## DESGIN ## function void drawBase() { # Background EGP:egpBox(10, vec2(256,256), vec2(512,512)) EGP:egpColor(10, 255,255,255,255) EGP:egpBox(11, vec2(256,256), vec2(510,510)) EGP:egpColor(11, 20,26,40,255) # Top Text EGP:egpText(12, "S T O N K S", vec2(256,2)) EGP:egpAlign(12, 1, 0) EGP:egpSize(12, 50) EGP:egpFont(12, "Courier New") CNeg = vec4(240,18,24,255) CPos = vec4(11,231,42,255) CNeu = vec4(255,255,255,255) # STONKS Background EGP:egpLine(14, vec2(55,238), vec2(93,288)) EGP:egpSize(14, 4) EGP:egpColor(14, 248,136,1,120) EGP:egpLine(15, vec2(136,264), vec2(93,288)) EGP:egpSize(15, 4) EGP:egpColor(15, 248,136,1,120) EGP:egpLine(16, vec2(136,264), vec2(175,326)) EGP:egpSize(16, 4) EGP:egpColor(16, 248,136,1,120) EGP:egpLine(17, vec2(214,294), vec2(175,326)) EGP:egpSize(17, 4) EGP:egpColor(17, 248,136,1,120) EGP:egpLine(18, vec2(214,294), vec2(290,390)) EGP:egpSize(18, 4) EGP:egpColor(18, 248,136,1,120) EGP:egpLine(19, vec2(392,196), vec2(290,390)) EGP:egpSize(19, 4) EGP:egpColor(19, 248,136,1,120) EGP:egpLine(20, vec2(392,196), vec2(437,183)) EGP:egpSize(20, 4) EGP:egpColor(20, 248,136,1,120) EGP:egpLine(21, vec2(475,204), vec2(437,183)) EGP:egpSize(21, 4) EGP:egpColor(21, 248,136,1,120) EGP:egpCircle(22, vec2(93,288), vec2(4,4)) EGP:egpColor(22, CNeg) EGP:egpCircle(23, vec2(136,264), vec2(4,4)) EGP:egpColor(23, CPos) EGP:egpCircle(24, vec2(175,326), vec2(4,4)) EGP:egpColor(24, CNeg) EGP:egpCircle(25, vec2(214,294), vec2(4,4)) EGP:egpColor(25, CPos) EGP:egpCircle(26, vec2(290,390), vec2(4,4)) EGP:egpColor(26, CNeg) EGP:egpCircle(27, vec2(392,196), vec2(4,4)) EGP:egpColor(27, CPos) EGP:egpCircle(28, vec2(437,183), vec2(4,4)) EGP:egpColor(28, CPos) EGP:egpCircle(29, vec2(475,204), vec2(4,4)) EGP:egpColor(29, CNeg) # "Overlay" box EGP:egpBox(30, vec2(265,280), vec2(430,250)) EGP:egpColor(30, 20,26,40,200) # Info boxes background EGP:egpBox(31, vec2(148,140), vec2(150,100)) EGP:egpColor(31, 15,15,15,150) EGP:egpBox(32, vec2(364,140), vec2(150,100)) EGP:egpColor(32, 15,15,15,150) EGP:egpBox(33, vec2(148,270), vec2(150,100)) EGP:egpColor(33, 15,15,15,150) EGP:egpBox(34, vec2(364,270), vec2(150,100)) EGP:egpColor(34, 15,15,15,150) EGP:egpBox(35, vec2(148,400), vec2(150,100)) EGP:egpColor(35, 15,15,15,150) EGP:egpBox(36, vec2(364,400), vec2(150,100)) EGP:egpColor(36, 15,15,15,150) } function void drawText() { # Info boxes text EGP:egpText(37, "TID STARTET", vec2(148,140)) EGP:egpAlign(37, 1, 2) EGP:egpFont(37, "Courier New") EGP:egpSize(37, 20) EGP:egpText(38, "00:00", vec2(148,140)) EGP:egpAlign(38, 1, 0) EGP:egpFont(38, "Courier New") EGP:egpSize(38, 20) EGP:egpText(39, "TID NU", vec2(364,140)) EGP:egpAlign(39, 1, 2) EGP:egpFont(39, "Courier New") EGP:egpSize(39, 20) EGP:egpText(40, "00:00", vec2(364,140)) EGP:egpAlign(40, 1, 0) EGP:egpFont(40, "Courier New") EGP:egpSize(40, 20) EGP:egpText(41, "PENGE START", vec2(148,270)) EGP:egpAlign(41, 1, 2) EGP:egpFont(41, "Courier New") EGP:egpSize(41, 20) EGP:egpText(42, "0", vec2(148,270)) EGP:egpAlign(42, 1, 0) EGP:egpFont(42, "Courier New") EGP:egpSize(42, 20) EGP:egpText(43, "PENGE NU", vec2(364,270)) EGP:egpAlign(43, 1, 2) EGP:egpFont(43, "Courier New") EGP:egpSize(43, 20) EGP:egpText(44, "0", vec2(364,270)) EGP:egpAlign(44, 1, 0) EGP:egpFont(44, "Courier New") EGP:egpSize(44, 20) EGP:egpText(45, "PENGE TJENT", vec2(148,400)) EGP:egpAlign(45, 1, 2) EGP:egpFont(45, "Courier New") EGP:egpSize(45, 20) EGP:egpText(46, "0", vec2(148,400)) EGP:egpAlign(46, 1, 0) EGP:egpFont(46, "Courier New") EGP:egpSize(46, 20) EGP:egpColor(46, CNeu) EGP:egpText(47, "S T O N K S", vec2(364,400)) EGP:egpAlign(47, 1, 2) EGP:egpFont(47, "Courier New") EGP:egpSize(47, 20) EGP:egpText(48, "Tegner Graf", vec2(364,400)) EGP:egpAlign(48, 1, 0) EGP:egpFont(48, "Courier New") EGP:egpSize(48, 15) } ## FUNCTIONS ## #: System function void sp( M:string ) { printColor( vec(20,26,40), "S T O N K S : ",vec(255,255,255), M ) } function string returnTime() { local TIME = date() local HOUR = TIME["hour", number]:toString() local MIN = TIME["min", number]:toString() if ( TIME["hour", number] < 10 ) { HOUR = "0"+HOUR } if ( TIME["min", number] < 10 ) { MIN = "0"+MIN } return HOUR + ":" + MIN } function string moneyFormat(M:number) { local Q = M < 1000000 local P = Q ? "^(-?%d+)(%d%d%d)" : "^(-?%d+)(%d%d%d)(%d%d%d)" local N = Q ? "%1.%2" : "%1.%2.%3" return round(M):toString():replaceRE(P, N) } function void playsound(Sound:string) { concmd("play " + Sound) } function void updateInfo() { EGP:egpSetText(40, returnTime()) CurMoney = getMoney() EGP:egpSetText(44, moneyFormat(CurMoney)) MoneyEarned = CurMoney - StartMoney EGP:egpSetText(46, moneyFormat(MoneyEarned)) if( MoneyEarned > 0 ) { EGP:egpColor(46, CPos) } elseif( MoneyEarned < 0 ) { EGP:egpColor(46, CNeg) } else { EGP:egpColor(46, CNeu) } } function void printInfo() { CurMoney = getMoney() MoneyEarned = CurMoney - StartMoney local CurColor = vec4(0,0,0,0) if( MoneyEarned > 0 ) { CurColor = CPos } elseif( MoneyEarned < 0 ) { CurColor = CNeg } else { CurColor = CNeu } printColor( vec(248,136,1),"INFORMATIONER:\n",vec(115,115,115),"TID STARTET: ",vec(255,255,255),StartUpTime,vec(115,115,115),"\nTID NU: ",vec(255,255,255),returnTime(),vec(115,115,115),"\nPENGE START: ",vec(255,255,255),moneyFormat(StartMoney),vec(115,115,115),"\nPENGE NU: ",vec(255,255,255),moneyFormat(CurMoney),vec(115,115,115),"\nPENGE TJENT: ",vec(CurColor),moneyFormat(MoneyEarned)) } #: BACKUP function void backupSave() { if(fileCanWrite()) { fileWrite(FileName, StartUpTime + "\n" + StartDate + "\n" + StartMoney) sp("G"+ae()+"mte din data.") } else { playsound("ambient/levels/canals/drip3.wav") hint("Kunne ikke skrive i fil lige nu, pr" + oe() + "v igen om ~10 sekunder.", 8) sp("Kunne ikke skrive i fil lige nu, pr" + oe() + "v igen om ~10 sekunder.") } } function void backupLoad() { if(fileCanLoad()) { fileLoad(FileName) sp("Loadede data.") } else { playsound("ambient/levels/canals/drip3.wav") hint("Kunne ikke loade fil lige nu, pr" + oe() + "v igen om ~10 sekunder.", 8) sp("Kunne ikke loade fil lige nu, pr" + oe() + "v igen om ~10 sekunder.") } } # STARTUP # runOnChat(1) runOnFile(1) if(->EGP) { StartUpTime = returnTime() StartMoney = getMoney() CurMoney = getMoney() MoneyEarned = 0 local Month = (time("month")<10) ? "0" + time("month") : ""+time("month") local Date = (time("day")<10) ? "0" + time("day") : ""+time("day") StartDate = Date + "/" + Month EGP:egpClear() timer("D1", 500) timer("D2", 1000) timer("Startup", 2500) timer("RefreshInfo", 10000) FileName = "stonks e2/stonks_data.txt" if(AutoBackup == 1) { timer("AutoBackup", 300000) sp("Automatisk backup er sl"+aa()+"et til.") } } } ############## ## SYSTEM ## local ClkName = clkName() local OPS = ops() #: OPS < 100 :# if(OPS < 100) { if(chatClk()) { A = lastSaid():lower():explode(" ") switch(A[1, string]) { case "!refresh", hideChat(1) updateInfo() timer("RefreshInfo", 30000) sp("Opdaterede Informationer") break case "!info", case "!information", hideChat(1) printInfo() break case "!hj"+ae()+"lp", case "!help", hideChat(1) sp( "\n!info : Printer samme info som st"+aa()+"r p"+aa()+" sk"+ae()+"rmen\n!refresh : Opdatere Informationer\n!save : G"+ae()+"mmer din data i en fil.\n!load : Loader din g"+ae()+"mte data fra fil.\n!autosave : Sl"+aa()+"r automatisk backup til/fra." ) break case "!save", case "!g"+ae()+"m", case "!savedata", hideChat(1) backupSave() break case "!load", case "!uploaddata", hideChat(1) backupLoad() break case "!autosave", case "!autobackup", hideChat(1) switch(AutoBackup) { case 0, AutoBackup = 1 sp("Slog automatisk backup til.") timer("AutoBackup", 300000) break case 1, AutoBackup = 0 sp("Slog automatisk backup fra.") stoptimer("AutoBackup") break } break } } } #: TIMERS :# if(ClkName) { switch(ClkName) { case "D1", drawBase() break case "D2", drawText() break case "Startup", EGP:egpSetText(38, StartUpTime) EGP:egpSetText(40, returnTime()) EGP:egpSetText(42, moneyFormat(StartMoney)) EGP:egpSetText(44, moneyFormat(CurMoney)) break case "RefreshInfo", updateInfo() timer("RefreshInfo", 30000) break case "AutoBackup", backupSave() sp("Gemte data. [" + returnTime() + "]") timer("AutoBackup", 300000) break } } #: FILE :# if(fileClk()) { if(fileClk(FileName)) { local FileRead = fileRead():explode("\n") StartUpTime = FileRead[1, string] StartDate = FileRead[2, string] StartMoney = FileRead[3, string]:toNumber() updateInfo() EGP:egpSetText(42, moneyFormat(StartMoney)) EGP:egpSetText(38, StartDate + " " + StartUpTime) sp("Loadede backup og opdaterede information p"+aa()+" sk"+ae()+"rm.") } } Link til kommentar
Xean -.- Besvaret August 6, 2020 Forfatter Del Besvaret August 6, 2020 Opdaterede til V1.1 Har tilføjet så du kan gæmme din information i en fil (gør den obv. automaisk) !save - Gæmmer din information. !load - "Uploader" din information igen. Dato'en under "TID STARTET" vises kun, hvis du bruger !load 🙂 Link til kommentar
Recommended Posts
Arkiveret
Dette emne er nu arkiveret og er lukket for yderligere svar