Scaled Skrevet Juli 22, 2020 Del Skrevet Juli 22, 2020 Authentic 2.0, ingen videresalg please Siden E2'en ikke sælges specielt meget længere har jeg valgt at frigive den her på forum. E2'en hjælper dig med at holde styr på økonomien ved at vise, hvor mange penge du har tjent over hvor meget tid. Derudover kan man også se daglige logs over hvor stor en indkomst man har haft på de givne dage, hvilket giver et endnu større overblik over økonomien. Og nej, den lagger ikke serveren. Hvis E2'en ikke interageres med i 20 sekunder, går den i pauseskærmen, som ses på det første billede. E2'en opdaterer også kun i det man interagerer med den, så den bruger ingen ressourcer, medmindre du interagerer med den. Det var originalt meningen, at datoerne i de daglige logs skulle sorteres, men jeg har desværre ikke lige magtet at gøre det, og det kommer jeg nok heller ikke til. Jeg har aldrig selv været specielt stor bruger af E2'en, så fejl kan forekomme - og hvis de gør, så kontakt mig. Det er dog ikke sikkert jeg fikser det, men så kender jeg da ihvertfald til fejlen. Kommandoer: !tjent - viser hvor meget du har tjent !tid - viser klokken (lige nu) !opstart - viser din økonomi og tiden fra da du placerede E2'en !sammenlign - sammenligner din nuværende økonomi med din økonomi da du spawnede den !tilføj Scaled - tilføjer folk til også at kunne benytte din E2 !fjern Scaled - fjerner folk fra at benytte din E2 !help - printer samme kommandoer som vist her Billede: Kode: Citat @name Authentic 2.0 @inputs E:wirelink U:entity @persist [Settings, Temp]:table [Total, I]:number if(~E & E) {reset()} elseif(first() | duped() | dupefinished()) { function string getDate() { return date()["day", number]+"/"+date()["month", number]+"-"+date()["year", number] } function string mf(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 M:toString():replaceRE(P, N) } function wirelink:cursor() { This:egpPoly(999,array(vec2(0,0),vec2(0,15),vec2(3,12),vec2(5,15),vec2(7,15),vec2(6,11),vec2(10,10))) This:egpColor(999,0,0,0,217) This:egpParentToCursor(999) } function table getLogs() { local Table = table(), local ID = 0, foreach(K:string, V:number = Temp["Logs", table]) { ID++, Table[ID:toString(), table] = table("A" = V, "Date" = K) } return Table } function number wirelink:egpButton(N:number,P:entity) { local Vector = This:egpPos(N) - This:egpSize(N) / 2, local Vector2 = This:egpPos(N) + This:egpSize(N) / 2, return inrange(This:egpCursor(P),Vector,Vector2), exit() } function string getTime() { SSec = time("sec") MMin=time("min") HHour=time("hour")+2 if(SSec<10){Sec="0"+SSec} else{Sec=""+SSec} if(MMin<10){Min="0"+MMin} else{Min=""+MMin} if(HHour<10){Hour="0"+HHour} elseif(HHour==24){Hour="00"} elseif(HHour==25){Hour="01"} elseif(HHour==26){Hour="02"} elseif(HHour==27){Hour="03"} elseif(HHour==28){Hour="04"} elseif(HHour==29){Hour="05"} elseif(HHour==30){Hour="06"} else{Hour=""+HHour} Tid=Hour+":"+Min+":"+Sec return Tid } function msg(S:string) { printColor(vec(240, 140, 0),"Authentic - "+getTime()+" ",vec(230),"| "+S) } function wirelink:drawHome() { stoptimer("loadLogs") Temp["Page",number] = 0, This:egpClear() This:egpBox(1, vec2(256,256), vec2(512,512)) This:egpColor(1, vec(55,55,55)) This:egpBox(2, vec2(256,256), vec2(762,762)) This:egpMaterial(2, "gui/gradient_down") This:egpColor(2, vec4(110, 61, 51, 253)) This:egpBox(3, vec2(256,256), vec2(762,762)) This:egpMaterial(3, "gui/gradient_up") This:egpColor(3, vec4(0,11,255,45)) This:egpAngle(2, 45) This:egpAngle(3, 45) This:egpText(16, "A U T H E N T I C", vec2(256,60)) This:egpFont(16, "Roboto",27) This:egpAlign(16, 1, 1) This:egpText(30, "~ "+owner():getGang()+" ~", vec2(256, 489)) This:egpFont(30, "Courier New", 13) This:egpAlign(30, 1 ,1) This:egpText(29, owner():name()+" ("+owner():steamID()+")", vec2(256,502)) This:egpFont(29, "Courier New", 13) This:egpAlign(29, 1, 1) timer("loadTime",1000), timer("drawBoxes", 400) } function wirelink:drawLogs() { Temp["Page",number] = 1, This:egpClear() This:egpBox(1, vec2(256,256), vec2(512,512)) This:egpColor(1, vec(55,55,55)) This:egpBox(2, vec2(256,256), vec2(762,762)) This:egpMaterial(2, "gui/gradient_down") This:egpColor(2, vec4(110, 61, 51, 253)) This:egpBox(3, vec2(256,256), vec2(762,762)) This:egpMaterial(3, "gui/gradient_up") This:egpColor(3, vec4(0,11,255,45)) This:egpAngle(2, 45) This:egpAngle(3, 45) This:egpBox(4, vec2(256,256), vec2(380,512)) This:egpColor(4,vec4(37, 37, 37, 150)) This:egpBox(5, vec2(256,50), vec2(310,1)) This:egpText(6, "A U T H E N T I C", vec2(256,30)) This:egpFont(6, "Roboto",27) This:egpAlign(6, 1, 1) This:egpBox(10, vec2(256,491), vec2(380,36)) This:egpColor(10, vec4(37, 37, 37, 70)) This:egpText(11, "G"+aa()+" tilbage", vec2(256,491)) This:egpFont(11, "Roboto",21) This:egpAlign(11, 1, 1) This:cursor() Temp["I", number] = 0, timer("loadLogs", 500) } Temp["StartTime", string] = getTime(), Temp["StartMoney", number] = getMoney(), Temp["LastMoney", number] = getMoney(), Temp["LastTime", number] = time(), Temp["Logs", table] = table(getDate() = 0) msg("Loader Design.."), runOnChat(1), timer("startup", 2000) } if(chatClk(owner())) { local S = lastSaid():lower():explode(" "), if(S:string(1) == "!tjent"){ hideChat(1), msg("Tjent: "+mf(Total)+" kr.") } elseif(S:string(1) == "!tid") { hideChat(1), msg("Tid: "+getTime()) } elseif(S:string(1) == "!opstart") { hideChat(1), msg("Start bel"+oe()+"b: "+mf(Temp["StartMoney",number])+" kr."), msg("Start Tid: "+Temp["StartTime",string]) } elseif(S:string(1) == "!sammenlign") { hideChat(1), msg("Start bel"+oe()+"b: "+mf(Temp["StartMoney",number])+" kr."), msg("Nuv"+ae()+"rende bel"+oe()+"b: "+mf(getMoney())+" kr.") } elseif(S:string(1) == "!help") { hideChat(1), msg("Hj"+ae()+"lp findes herunder:"), msg("!tjent - viser det tjente bel"+oe()+"b."), msg("!opstart - viser dine opstarts-stats."), msg("!sammenlign - sammenligner dine stats.") msg("!tilf"+oe()+"j <navn> - tilf"+oe()+"jer personen til E2'en."), msg("!fjern <navn> - fjerner personen fra E2'en.") } elseif(S:string(1) == "!tilf"+oe()+"j" & S:string(2) != "") { local Ply = findPlayerByName(lastSaid():sub(9,lastSaid():length())), if(Ply:isValid() & !Temp[Ply:steamID(), number]) { hideChat(1), Temp[Ply:steamID(),number] = 1, msg(Ply:name()+" blev tilf"+oe()+"jet til E2'en."), if(Temp["Page",number]) {E:drawLogs()} } } elseif(S:string(1) == "!fjern" & S:string(2) != "") { local Ply = findPlayerByName(lastSaid():sub(8,lastSaid():length())), if(Ply:isValid() & Temp[Ply:steamID(),number]) { hideChat(1), Temp[Ply:steamID(),number] = 0, msg(Ply:name()+" blev fjernet fra E2'en."), if(Temp["Page",number]) {E:drawLogs()} } } } elseif(clk(clkName())) { switch(clkName()) { case "loadTime", if(!Temp["Page",number]) { E:egpSetText(27, getTime()), timer(clkName(), 1000) } break case "drawBoxes", local This = E, local TextElements = array( "Penge Tjent", "Opstarts-tid", "Start Bel"+oe()+"b", "Penge Logs", "Nu", "Nuv"+ae()+"rende" ), local DisplayedElements = array( mf(Total)+" kr.", Temp["StartTime", string], mf(Temp["StartMoney", number])+" kr.", "Gennemse logs", getTime(), mf(getMoney())+" kr." ), for(I = 1, 3) { This:egpBox(36 + I, vec2(138, -22 + (I * 130)), vec2(140, 25)) This:egpColor(36 + I, vec4(35, 35, 35, 170)) This:egpBox(3 + I, vec2(138,20 + (I * 130)), vec2(140,110)) This:egpColor(3 + I, vec4(38, 38, 38, 150)) This:egpText(6 + I, TextElements[I,string], vec2(138,-22 + (I * 130))) This:egpFont(6 + I, "Courier New",17) This:egpAlign(6 + I, 1, 1) This:egpBox(16 + I, vec2(138,-10 + (I * 130)), vec2(130,1)) This:egpColor(16 + I, vec4(220, 220, 220, 150)) This:egpText(22 + I, DisplayedElements[I,string], vec2(138,30 + (I * 130))) This:egpFont(22 + I, "Courier New",16) This:egpAlign(22 + I, 1, 1) This:egpBox(39 + I, vec2(374, -22 + (I * 130)), vec2(140, 25)) This:egpColor(39 + I, vec4(35, 35, 35, 170)) This:egpBox(9 + I, vec2(374,20 + (I * 130)), vec2(140,110)) This:egpColor(9 + I, vec4(38, 38, 38, 150)) This:egpText(12 + I, TextElements[I + 3,string], vec2(374,-22 + (I * 130))) This:egpFont(12 + I, "Courier New",17) This:egpAlign(12 + I, 1, 1) This:egpBox(19 + I, vec2(374,-10 + (I * 130)), vec2(130,1)) This:egpColor(19 + I, vec4(220, 220, 220, 150)) This:egpText(25 + I, DisplayedElements[I + 3,string], vec2(374,30 + (I * 130))) This:egpFont(25 + I, "Courier New",16) This:egpAlign(25 + I, 1, 1) } This:egpColor(23, Total > 0 ? vec(45, 162, 75) : Total < 0 ? vec(185, 51, 51) : vec(255)) break case "loadLogs", if(Temp["I", number] < 27) { Temp["I", number] = Temp["I", number] + 1, local Table = getLogs()[Temp["I", number]:toString(), table], E:egpText(11 + Temp["I", number], Temp["I", number]+". "+Table["Date", string]+" - Samlede indkomst:", vec2(104, 40 + (Temp["I", number] * 15))) E:egpFont(11 + Temp["I", number], "Courier New", 14), E:egpText(61 + Temp["I", number], mf(Table["A", number])+" DKK", vec2(342, 40 + (Temp["I", number] * 15))) E:egpFont(61 + Temp["I", number], "Courier New", 14) E:egpColor(61 + Temp["I", number], Table["A", number] > 0 ? vec(45, 162, 75) : Table["A", number] < 0 ? vec(185, 51, 51) : vec(255)) if(Temp["I", number] < Temp["Logs", table]:count()) { timer("loadLogs", 100) } } else { Temp["Logs", table]:removeTable(getLogs()[Temp["I", number]:toString(), table]["Date", string]) } break case "startup", E:drawHome(), msg("Designet blev loadet og gennemf"+oe()+"rt uden fejl.") break } } if(~U & U) { if(ops() <= 150 & cpuUsage() * 1000000 <= 100 & getMoney() != Temp["LastMoney",number]) { local NewMoney = getMoney() - Temp["LastMoney",number], Temp["LastMoney",number] = getMoney(), Total += NewMoney, Temp["Logs", table][getDate(), number] = Temp["Logs", table][getDate(), number] + NewMoney fileWrite("Authentic.txt", vonEncode(Temp["Logs", table])), if(!Temp["Page",number]) { E:egpSetText(28, mf(getMoney())+" kr."), E:egpSetText(23, mf(Total)+" kr.") E:egpColor(23, Total > 0 ? vec(45, 162, 75) : Total < 0 ? vec(185, 51, 51) : vec(255)) } } E:egpRemove(90) E:egpRemove(91) E:egpRemove(92) Temp["LastTime", number] = time() } elseif(time() - Temp["LastTime", number] >= 20) { E:egpBox(90, vec2(256, 256), vec2(512, 512)) E:egpColor(90, vec4(18, 18, 18, 200)) E:egpBox(91, vec2(256, 256), vec2(506, 40)) E:egpColor(91, vec(21)) E:egpText(92, "KLIK 'E' FOR AT OPDATERE E2'EN", vec2(256, 256)) E:egpAlign(92, 1, 1) E:egpFont(92, "courier new", 18) } if(E:egpButton(10, U) & ops() <= 150) { if(Temp[U:steamID(),number] | owner():getGangID() == U:getGangID()) { switch(Temp["Page",number]) { case 0, E:drawLogs() break case 1, E:drawHome() break } } } Vi ville sætte stor pris på, hvis jer der ikke er medlem af gruppen ville joine gruppen, så vi kan fortsætte med at lave giveaways som denne. Link til kommentar Del på andre sites More sharing options...
Recommended Posts
Arkiveret
Dette emne er nu arkiveret og er lukket for yderligere svar