Hop til indhold
Stavox

[GRATIS] Authentic 2.0


Scaled

Recommended Posts

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:

9d130af8a0c126cf6e1e66e4b7cc84a0.png

89e5d10601ecd232113045ef38846693.png

 

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

Arkiveret

Dette emne er nu arkiveret og er lukket for yderligere svar

×
×
  • Tilføj...

COOKIE- OG PRIVATLIVSPOLITIK PÅ STAVOX.DK

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privatlivspolitik - Vilkår for brug.