Hop til indhold
Stavox

Eksempel på tables


Maloni

Recommended Posts

Hejsa, her er en basal eksempel på hvordan man kan bruge et table i e2
kredit @Bims
 

@name Joke E2
@inputs EGP:wirelink User:entity
@outputs
@persist Data:table
@trigger

if(first()){
 if(duped() & dupefinished()){
 reset()
 }

 Data = table(
 "JokePris" = 1500,
 "Message" = "Joke E2",
 "Indkomst" = 0,
 "AntalPMs" = 0,
 "OPS" = ops()<125,
 "JokeArray" = array("Du er dum","Dit liv","Din mor","Dine karakter")
 )

 function void m(Str:string){
 printColor(vec(255,25,25),"[JOKE E2] ",vec(255,255,255),Str)
 }

 function string moneyFormat(Amount:number){
 return Amount:toString():replaceRE("^(-?%d+)(%d%d%d)","%1.%2")
 }

 function void wirelink:drawE2(){
 This:egpClear()
 This:egpBox(1,vec2(256,256),vec2(512,512)) This:egpColor(1,125,25,25,255)
 This:egpBox(2,vec2(256,256),vec2(508,508)) This:egpColor(2,35,35,35,255)
 This:egpText(3,"- Gode jokes -",vec2(256,106)) This:egpAlign(3,1,1) This:egpFont(3,"Courier New",50)
 This:egpBox(4,vec2(256,256),vec2(256,66)) This:egpColor(4,125,25,25,255)
 This:egpText(5,"K"+oe()+"b en joke",vec2(256,256)) This:egpAlign(5,1,1) This:egpFont(5,"Courier New",40)
 This:egpText(6,"E2en er spawnet af "+owner():name(),vec2(256,496)) This:egpAlign(6,1,1) This:egpFont(6,"Courier New",20)
 }

 EGP:drawE2()
 timer("Stats",300000)
}

elseif(~User & User & Data["OPS",number]){
 if(inrange(EGP:egpCursor(User),vec2(0,0),vec2(512,512))){
 moneyRequest(User,Data["JokePris",number],Data["Message",string])
 }
}

elseif(moneyClk()){
 sendMessage(moneyClkPlayer(),Data["JokeArray",array][randint(1,Data["JokeArray",array]:count()),string])
 Data["Indkomst",number] = Data["Indkomst",number] + Data["JokePris",number]
 Data["AntalPMs",number] = Data["AntalPMs",number] + 1
}

elseif(clk("Stats") & Data["OPS",number]){
 m("Du har tjent "+moneyFormat(Data["Indkomst",number])+" kr p"+aa()+" at sende "+moneyFormat(Data["AntalPMs",number])+" beskeder :)")
 timer("Stats",300000)
}
Spoiler

yes en lang forklaring på hvad det her betyder og generalt forbrug af tables

i starten siger vi op i Persist argumentet at Data variablet er et table ved at skrive Data:table  tillykke du har nu lavet et table
men der er intet i den table så derfor er den ubrugelig, dermed vil jeg vise dig hvordan du kan stoppe ting ind i den
Først skal vi lære de forskellige datasæt der er, der er string som er til opbevaring af tekst, number hvilket er til opbevaring af numre, og entitys hvilket er til opbevaring af f.eks spillere og arrays, hvilket er til at opbevare forskellige stykker tekst osv. ærligt ved jeg ikke hvad mere en array kan blive brugt til hvis man bare laver basale e2er
Tables bruges ofte til at opbevare indstillinger og numeriske variabler såsom prisen på noget eller en profit så det er mere nemt at konfigurere indstillingerne i din e2 enten via chat commands eller ved at ændre det i editoren
Lad os lige sæt nogle ting ind i vores Table


Data = table(
 "JokePris" = 1500,
 "Message" = "Joke E2",
 "Indkomst" = 0,
 "AntalPMs" = 0,
 "OPS" = ops()<125,
 "JokeArray" = array("Du er dum","Dit liv","Din mor","Dine karakter")
 )

godtså nu har vi lavet nogle indstillinger med diverse datasæt
Jokepris indstillingen er et number datasæt
Message er et string datasæt
Jokearray er et array datasæt

men nu vil vi gerne kunne bruge disse indstillinger
lad os feks sige at der skal stå et stykke egp text med Message indstillingen så vi skriver


WIRELINK:egpText(1,Data["Message",string], vec2(256, 256))


Bum nu står der så Joke E2 på vores EGP

lad os kig på hvordan det vi har skrevet fungere
Det er ligesom et normalt egpText undtagen for der hvor man bestemmer hvad der skal stå
det vi har skrevet betyder sådan set at e2en skal kigge i Data tabelet og ind på index ved navn Message og skrive det ind som et string og det vi har skrevet i indexet er Joke E2

Men hvad nu hvis jeg vil lave et mere dynamisk data sæt?
Vi kan jo prøve med at ændre indstillinger med en kode
f.eks
vi vil gerne have at indexet Customer indenholder den sidste kundes navn så først sætter vi et 

 

Link til kommentar
Del på andre sites

Lige nu, Maloni skrev:

I det er for at checke ops når en spiller bruger knappen for at undgå at de kan crashe e2en

Men værdien er statisk? Feltet ændrer sig ikke fordi ops’en gør. Den bliver beregnet når du laver tabellen og aldrig igen. 

Link til kommentar
Del på andre sites

13 minutter siden, Dynn skrev:

Men værdien er statisk? Feltet ændrer sig ikke fordi ops’en gør. Den bliver beregnet når du laver tabellen og aldrig igen. 

Mening ved værdien er ikke at den skal være dynamisk den skal være et specifik tal når så nogen trykker hurtigt på knappen for at forsøge at crash e2en så vil den så stoppe button funktionen for at ikke risikere et crash

Edit:  mere simpelt sagt det er ligesom at give en farve en variable så man slipper for at skrive hele farven(selvom at skulle skrive Data[“OPS”,number] er længere men det er jo ment som et eksempel med at man kan indexe diverse ting

Link til kommentar
Del på andre sites

33 minutter siden, Maloni skrev:

Mening ved værdien er ikke at den skal være dynamisk den skal være et specifik tal når så nogen trykker hurtigt på knappen for at forsøge at crash e2en så vil den så stoppe button funktionen for at ikke risikere et crash

Edit:  mere simpelt sagt det er ligesom at give en farve en variable så man slipper for at skrive hele farven(selvom at skulle skrive Data[“OPS”,number] er længere men det er jo ment som et eksempel med at man kan indexe diverse ting

Nok snak, Dynn har ret. Jeg var heller ikke den bedste da jeg lavede E2en der.

OPSen bliver sat/indstillet når E2en starter, og derfra opdateres den aldrig igen. Sålænge OPSen er under <125 når E2en starter. Så virker den.

Link til kommentar
Del på andre sites

8 minutter siden, Bims skrev:

Nok snak, Dynn har ret. Jeg var heller ikke den bedste da jeg lavede E2en der.

OPSen bliver sat/indstillet når E2en starter, og derfra opdateres den aldrig igen. Sålænge OPSen er under <125 når E2en starter. Så virker den.

oh yeah det kan jeg skam godt se, my bad

Link til kommentar
Del på andre sites

Altså idéen med denne post er fin nok, dog hvis den skal formode at lære folk der ikke kan, at bruge tables, så ville noget forklaring nok være passende. Generelt føler jeg at den bedste måde du kan lære det til andre er en blanding mellem forklaring og eksempler.

Link til kommentar
Del på andre sites

Lige nu, Walter skrev:

Altså idéen med denne post er fin nok, dog hvis den skal formode at lære folk der ikke kan, at bruge tables, så ville noget forklaring nok være passende. Generelt føler jeg at den bedste måde du kan lære det til andre er en blanding mellem forklaring og eksempler.

Skal nok prøve at også skriv lidt af en forklaring, men folk der prøver at lære tables har sikkert allerede en grundforståelse af e2 og kan nogenlunde finde frem til hvad alt det hurlumhej betyder

Link til kommentar
Del på andre sites

1 time siden, Maloni skrev:

Skal nok prøve at også skriv lidt af en forklaring, men folk der prøver at lære tables har sikkert allerede en grundforståelse af e2 og kan nogenlunde finde frem til hvad alt det hurlumhej betyder

@Maloni hvis du mangler en måde at sætte op på med eksempler, så tag et kig på min Array guide.

 

 

Link til kommentar
Del på andre sites

Arkiveret

Dette emne er nu arkiveret og er lukket for yderligere svar

Gæst
Dette emne er nu 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.