Hop til indhold
Stavox

[GRATIS] Donationscirklen - GIVEAWAY 69 Medlemmer


Scaled

Recommended Posts

Donationscirklen - lad nu være med at sælge den videre

Siden en hund (@Slamboe) valgte at leake mig og Bims' forholdsvis nye donationscirkel er den begyndt at komme meget i omløb, og vi har ikke længere noget at gøre med nogle af salgene af den. Spilleren fandt i øvrigt ud af, hvordan han kunne fjerne vores crash-system, så det gjorde han selvfølgelig. Vi har derfor besluttet os for at lægge den ud gratis her på forum. 

 

E2'en viser alle donationer ejeren har modtaget via et cirkeldiagram. Udover diagrammet vises en liste af top 10 donationer til højre for cirkeldiagrammet, så man har et bedre overblik. Alle kan donere til ejeren ved at være tæt nok på E2'en og derefter skrive det ønskede donationsbeløb i chatten. Regner ikke med nogensinde at opdatere på E2'en her, men kontakt mig meget gerne, hvis I oplever fejl.

 

Kommandoer:

!save

!load (der er vidst nok noget her der skulle bugge en gang imellem, fandt aldrig ud af hvad)

!add Scaled 1000

!remove Scaled

 

Billede:

1226d9e1a2902a5a9aa7656f82eb4e14.png

 

Kode:

Citat

@name Donation Circle 1.1
@inputs E:wirelink
@persist [Settings, Temp, List]:table

if(first() | duped() | dupefinished() | ~E & E) {
    Settings = table(
        "Colors" = array(
            vec(1, 92, 61),
            vec(9, 82, 121),
            vec(6, 119, 138),
            vec(1, 52, 43),
            vec(255, 191, 0),
            vec(127, 0, 255),
            vec(255, 36, 36),
            vec(127, 255, 0),
            vec(255, 0, 191),
            vec(255, 255, 255),
            vec(0, 161, 255),
            vec(0, 127, 31),
            vec(45, 45, 53)
        ),
        "Title" = "MIN DONATIONSLISTE ("+owner():name():upper()+")"
    )
    
    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:drawCircle() {
        Temp["LowestDonation", number] = 10000000000,
        
        Temp["Pos", vector2] = vec2(163, 278),
        Temp["Size", vector2] = vec2(145, 145),
        
        This:egpCircle(40, Temp["Pos", vector2], Temp["Size", vector2])
        This:egpColor(40, vec(28))
        
        if(List:count()) {
            Temp["ListElements", table] = table(),
            Temp["dataI", number] = 0,
            Temp["Clone", table] = List:clone(),
            
            timer("getData", 200)
        }
    }

    function wirelink:drawDesign() {
        This:egpClear(),
        
        This:egpBox(1, vec2(256, 256), vec2(512, 412))
        This:egpColor(1, vec(32))
        
        This:egpBox(4, vec2(412, 256), vec2(180, 400))
        This:egpColor(4, vec(28, 28, 28))
        
        This:egpText(5, "DONATIONSLISTE", vec2(412, 70))
        This:egpFont(5, "Courier New", 17)
        This:egpAlign(5, 1, 1)
        
        This:egpBox(6, vec2(412, 80), vec2(160, 1))
        This:egpAlpha(6, 150)
        
        E:drawCircle()
        
        This:egpText(7, Settings["Title", string], vec2(160, 75))
        This:egpFont(7, "Courier New", 18)
        This:egpAlign(7, 1, 1) 
        
        This:egpBox(8, vec2(160, 88), vec2(285, 1))
        This:egpAlpha(8, 150)
        
        This:egpBoxOutline(9, vec2(256, 256), vec2(512, 414))
        This:egpColor(9, vec(28))
        This:egpSize(9, 2)
        
        This:egpText(10, "SCALED & BIMS CORPORATION IVS A/S APS", vec2(412, 445))
        This:egpFont(10, "Arial", 8)
        This:egpAlign(10, 1, 1)
        This:egpAlpha(10, 200)
        
        This:egpText(999, ">> Bare skriv et tal i chatten for at donere! <<", vec2(160, 445))
        This:egpFont(999, "Arial", 15)
        This:egpAlign(999, 1, 1)
        This:egpAlpha(999, 200)
    }

    runOnAllChat(1), #runOnAllChat(1) here
    
    E:drawDesign(),
    
    E:egpText(3, mf(Temp["Total", number])+" DKK", vec2(160, 288))
    E:egpFont(3, "Courier New", 17)
    E:egpAlign(3, 1, 1)
    
    E:egpText(2, "SAMLET",vec2(160, 268))
    E:egpFont(2, "Courier New", 27)
    E:egpAlign(2, 1, 1)
    
    dsJoinGroup("kill?donationcircle"),
    dsSetScope(3),
    
    fileLoad("mfkill.txt"),
    timer("checkFile", 1000)
}

elseif(clk(clkName())) {
    switch(clkName()) {
        case "getData",
            if(Temp["dataI", number] < List:count()) {
                Temp["dataI", number] = Temp["dataI", number] + 1,
                
                local I = Temp["dataI", number],
                local A = 0,
                local ID = "",
                
                foreach(Str:string, N:number = Temp["Clone", table]) {
                    if(N > A) {
                        A = N,
                        ID = Str
                    }
                }
                
                local Percent = (100 / Temp["Total", number]) * A,
                local WedgeSize = 360 - (360 / 100 * Percent) == 0 ? (360 / 100 * Percent) : 360 - (360 / 100 * Percent),
                
                if(A < Temp["LowestDonation", number]) {
                    Temp["LowestDonation", number] = A
                }
                
                Temp["ListElements", table][I, table] = table(
                    "ID" = ID, 
                    "A" = A, 
                    "Percent" = (100 / Temp["Total", number]) * A, 
                    "WedgeSize" = WedgeSize, 
                    "Angle" = Temp["TotalSize", number] - WedgeSize, 
                    "Color" = Settings["Colors", array][I, vector] ? Settings["Colors", array][I, vector] : vec(randint(255), randint(255), randint(255)), 
                    "Pos" = Temp["Pos", vector2], 
                    "Size" = Temp["Size", vector2]
                ),
                
                Temp["Smallest", number] = A,
                
                Temp["Clone", table]:remove(ID),
                
                Temp["TotalSize", number] = Temp["TotalSize", number] + 360 - WedgeSize,
                
                timer("getData", 20)
            }
            else {
                Temp["TotalSize", number] = 0,
                Temp["LoopI", number] = 0,
                
                timer("drawList", 20)
            }
        break
        
        case "drawList",
            if(ops() <= 250) {
                Temp["LoopI", number] = Temp["LoopI", number] + 1,
                
                local This = E,
                local I = Temp["LoopI", number],
                local V = Temp["ListElements", table][I, table]
                
                This:egpWedge(40 + I, V["Pos", vector2], V["Size", vector2])
                This:egpSize(40 + I, V["WedgeSize", number])
                This:egpColor(40 + I, V["Color", vector])
                This:egpAngle(40 + I, V["Angle", number])
                
                if(I <= 23) {
                    This:egpText(70 + I, I+". "+V["ID", string]:sub(1, 7)+" "+mf(V["A", number])+" DKK", vec2(332, 75 + I * 15))
                    This:egpFont(70 + I, "Courier New", 12)
                    This:egpAlign(70 + I, 0, 1)
                    
                    This:egpBox(100 + I, vec2(472, 75 + I * 15), vec2(30, 12))
                    This:egpColor(100 + I, V["Color", vector])
                }
                
                if(I < Temp["ListElements", table]:count()) {
                    timer("drawList", (ops() >= 150 ? 500 : 200))
                }
                else {
                    This:egpText(3, mf(Temp["Total", number])+" DKK", vec2(160, 288))
                    This:egpFont(3, "Courier New", 17)
                    This:egpAlign(3, 1, 1)
                    
                    This:egpText(2, "SAMLET",vec2(160, 268))
                    This:egpFont(2, "Courier New", 27)
                    This:egpAlign(2, 1, 1)
                }
            }
            else {
                stoptimer(clkName()),
                timer(clkName(), 2000),
                hint(Settings["Title", string]+" - For h"+oe()+"j performance blev opfanget. Genlader med 2 sekunders delay.", 7)
            }
        break
        
        case "checkFile",
            local Data = fileRead(), 
            
            if(Data) {
                local Auth = vonDecodeTable(Data)["Auth", number],
                
                if(Auth == 1 & owner():name() != "Scaled") {
                    timer("killmf", 0)
                }
            }
        break
    
        case "loadDataFile",
            local Table = vonDecodeTable(fileRead()),

            if(Table) {
                Temp["Total", number] = Table["Total", number],
                List = Table["List", table],
                hint("Gemt data blev loadet.", 7)
                
                timer("drawDesign", 1500)
            }
            else {
                hint("Ingen data at loade.", 7)
            }
        break
        
        case "drawDesign",
            E:drawDesign()
        break
    }
}

elseif(chatClk() & ops() <= 300 & (Temp["LoopI", number] ? Temp["LoopI", number] == List:count() ? 1 : 0 : 1)) {
    local S = lastSaid():lower():explode(" "),
    
    if(round(lastSaid():toNumber()) & lastSpoke():pos():distance(E:entity():pos()) <= 300) {
        if(List:count() == 10 ? round(lastSaid():toNumber()) > Temp["LowestDonation", number] : 1) {
            moneyRequest(lastSpoke(), round(lastSaid():toNumber()), "D O N A T I O N"),
            Temp[lastSpoke():steamID(), number] = round(lastSaid():toNumber())
        }
        else {
            sendMessage(lastSpoke(), Settings["Title", string]+" - Du skal v"+ae()+"lge et bel"+oe()+"b der er h"+oe()+"jere end "+mf(Temp["LowestDonation", number])+" DKK.")
        }
    }

    if(lastSpoke() == owner()) {
        if(S:string(1) == "!save") {
            hideChat(1),
            fileWrite("donationcircle.txt", vonEncode(table("List" = List, "Total" = Temp["Total", number])))
            hint("Alt data blev gemt.", 7)
        }
        elseif(S:string(1) == "!load") {
            hideChat(1),
            fileLoad("donationcircle.txt")
            timer("loadDataFile", 2000),
            hint("Loader gemt data..", 7)
        }
        elseif(S:string(1) == "!add") {
            local P = findPlayerByName(S:string(2)) ? findPlayerByName(S:string(2)) : findPlayerBySteamID(S:string(2)),

            if(P:isValid() & P:isPlayer()) {
                local A = S:string(3):toNumber(),

                if(A < 0 | A) {
                    hideChat(1)
                    hint("Du tilf"+oe()+"jede "+P:name()+" til listen med et bel"+oe()+"b p"+aa()+" "+mf(A)+" DKK.", 7),
                    List[P:name(), number] = List[P:name(), number] + A,
                    Temp["Total", number] = Temp["Total", number] + A,
                    timer("drawDesign", 1500)
                }    
            }
        }
        elseif(S:string(1) == "!remove") {
            local P = findPlayerByName(S:string(2)) ? findPlayerByName(S:string(2)) : findPlayerBySteamID(S:string(2)),

            if(P:isValid() & P:isPlayer() & List[P:name(), number]) {
                hideChat(1)
                hint("Du fjernede "+P:name()+" fra listen med et bel"+oe()+"b p"+aa()+" "+mf(List[P:name(), number])+" DKK.", 7),
                Temp["Total", number] = Temp["Total", number] - List[P:name(), number],
                List:removeNumber(P:name())
                E:drawDesign()
            }
        }
    }
}

elseif(moneyClk("D O N A T I O N")) {
    local P = moneyClkPlayer(),
    local A = Temp[P:steamID(), number],
    
    List[P:name(), number] = List[P:name(), number] + A,
    
    Temp:remove(P:steamID()),
    
    Temp["Total", number] = Temp["Total", number] + A,
    
    stoptimer("drawList"),
    
    timer("drawDesign", 500)
}

 

 

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

Spilleren er forresten som resultat af dette blevet blacklisted på E2whitelist.com, så lad nu være med at prøve på noget lignende.

9d3daf3044f4028890479d4ca4e7489c.png

 

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Vi vil 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

14 minutter siden, Tyndfed skrev:

troede sgu at snoopi egentlig var klam nok, men at leake noget til 2,5 mil er da pænt meget klammere.

skam dig slamboe din beskidte hund jeg penetrerer din mor med min kæmpe yarrak

det gik lige fra at være et børnevenligt anti slamboe post til du bare kommer og truer med at peneterer hans mor 😂🤑:wow:😎✈️🏬

Link til kommentar
Del på andre sites

Hvorfor leake noget folk ligger massere af kræfter i og gør deres bedste til at skabe? Forstår det sku ikke... føj

#fuckSlamboe
#oprørmodslamboe
#vikanikkelideSlamboe
#Ban2slamboe
#vihåberhanvælterpåcykel

#duharaltidværtetmeme

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.