Hop til indhold
Stavox

Printer Checker [RE-DONE]


Recommended Posts

HELLO!

 

Jeg er LIGE begyndt på E2, og jeg så Caspers Printer Checker, så tænkte jeg ville lave min egen fra scratch. Så her er den!

du skal skrive "pe" i chat. Så får du en besked på, hvor mange penge dine printere har i alt.

 

På et tidspunkt, begynder du at få en besked, hver 5 sek, der siger din printer har over 3K! 

Dette er fordi på dette tidspunkt, kan den være tæt på at springe.

Jeg har gjort det så customizable, jeg kunne tillade mig. I min "First" Funktion/statement, må alle tal ændres. Dernede forklares der, præcis hvad der sker, når man ændrer tallene.

 

Tutorial:

Wire Advanced -> E2 Chip -> EGP Wirelink -> EGP Screen

Wire Advanced -> E2 Chip -> Print(1,2,3,4) -> Ranger

HUSK: Du skal sætte et Tjek mark, ved den option der hedder: "Output Entity+EntID," i Ranger Menuen, ellers virker det ikke!

 

 

@name Printer
@inputs Print1:entity Print2:entity Print3:entity Print4:entity EGP:wirelink
@outputs 
@persist Pr1 Pr2 Pr3 Pr4 IAlt PrintTid PrintAdv PSkerm
runOnChat(1)

#ALT inde i denne funktion på ændres!
if(first()) {
    #Denne foraetller, paa hvilket beloeb, den vil begynde at advare dig! (Default 3K)
	PrintAdv = 3000
 #Denne fortaeller, hvor mange gange i millisekundet, den vil give en notifikation (Defualt 10 sek)
	PrintTid = 10000
 #Denne siger, hvor lang tid notifikationerne vil staa paa skaermen i sekunder! (Default 5 Sek.)
 PSkerm = 5
}

interval(500)


EGP:egpBox(1,vec2(255,255),vec2(512,512))
EGP:egpAngle(1,0)
EGP:egpMaterial(1,"console/background05")

EGP:egpBox(2,vec2(195,125),vec2(350,75))
EGP:egpColor(2,vec(250,132,14))

EGP:egpBox(3,vec2(195,225),vec2(350,75))
EGP:egpColor(3,vec(250,132,14))

EGP:egpBox(4,vec2(195,325),vec2(350,75))
EGP:egpColor(4,vec(250,132,14))

EGP:egpBox(5,vec2(195,425),vec2(350,75))
EGP:egpColor(5,vec(250,132,14))

EGP:egpText(6,"Printer Checker",vec2(100,15))
EGP:egpFont(6,"Times New Roman")
EGP:egpSize(6,50)

EGP:egpText(7,"Printer 1: "+Pr1,vec2(40,100))
EGP:egpFont(7,"Times New Roman")
EGP:egpSize(7,50)

EGP:egpText(8,"Printer 2: "+Pr2,vec2(40,200))
EGP:egpFont(8,"Times New Roman")
EGP:egpSize(8,50)

EGP:egpText(9,"Printer 3: "+Pr3,vec2(40,300))
EGP:egpFont(9,"Times New Roman")
EGP:egpSize(9,50)

EGP:egpText(10,"Printer 4: "+Pr4,vec2(40,400))
EGP:egpFont(10,"Times New Roman")
EGP:egpSize(10,50)

EGP:egpBox(11,vec2(225,70),vec2(350,5))
EGP:egpColor(11,vec(250,132,14))

EGP:egpBox(12,vec2(275,15),vec2(350,5))
EGP:egpColor(12,vec(250,132,14))

EGP:egpText(13,"Lavet Af Chutney",vec2(20,475))
EGP:egpFont(13,"Times New Roman")
EGP:egpSize(13,15)

Pr1 = Print1:moneyAmount()
Pr2 = Print2:moneyAmount()
Pr3 = Print3:moneyAmount()
Pr4 = Print4:moneyAmount()

IAlt = Pr1 + Pr2 + Pr3 + Pr4

if(chatClk()& lastSpoke() == owner()) {
    if(lastSaid() == "pe") {
        hint("Dine printere har "+IAlt+"kr I Alt", PSkerm)   
    }
   
} 

if(Pr1 >= PrintAdv) {
    timer("time1", PrintTid)
}

if(Pr2 >= PrintAdv) {
    timer("time2", PrintTid)
}

if(Pr3 >= PrintAdv) {
    timer("time3", PrintTid)
}

if(Pr4 >= PrintAdv) {
    timer("time4", PrintTid)
}

if(clk("time1")) {
    hint("Printer 1 har over "+PrintAdv+" Den Eksplodere snart!", PSkerm) 
}

if(clk("time2")) {
    hint("Printer 2 har over "+PrintAdv+" Den Eksplodere snart!", PSkerm) 
}

if(clk("time3")) {
    hint("Printer 3 har over "+PrintAdv+" Den Eksplodere snart!", PSkerm) 
}

if(clk("time4")) {
    hint("Printer 4 har over "+PrintAdv+" Den Eksplodere snart!", PSkerm) 
}

 

Link til kommentar
Del på andre sites

Du har et interval... Brug det istedet for timers. Jeg laver din e2 om og sender den til dig snarest mulig ;)

 

Rework, da du har et interval ;)

@name Printer
@inputs Print1:entity Print2:entity Print3:entity Print4:entity EGP:wirelink
@outputs 
@persist Pr1 Pr2 Pr3 Pr4 IAlt PrintTid PrintAdv PSkerm C1 C2 C3 C4
runOnChat(1)

#ALT inde i denne funktion p ndres!
if(first()) {
    #Denne foraetller, paa hvilket beloeb, den vil begynde at advare dig! (Default 3K) 
    PrintAdv = 3000

    #Antal sekunder delayet er paa som skriver til dig naar dine printers har over PrintAdv (Default 10sec)
    PrintTid = 10

    #Denne siger, hvor lang tid notifikationerne vil staa paa skaermen i sekunder! (Default 5 Sek.)
    PSkerm = 5
}
if (changed(EGP)&EGP){
    EGP:egpBox(1,vec2(255,255),vec2(512,512)), EGP:egpAngle(1,0), EGP:egpMaterial(1,"console/background05")
    EGP:egpBox(2,vec2(195,125),vec2(350,75)), EGP:egpColor(2,vec(250,132,14))
    EGP:egpBox(3,vec2(195,225),vec2(350,75)), EGP:egpColor(3,vec(250,132,14))
    EGP:egpBox(4,vec2(195,325),vec2(350,75)), EGP:egpColor(4,vec(250,132,14))
    EGP:egpBox(5,vec2(195,425),vec2(350,75)), EGP:egpColor(5,vec(250,132,14))
    EGP:egpText(6,"Printer Checker",vec2(100,15)), EGP:egpFont(6,"Times New Roman"), EGP:egpSize(6,50)
    EGP:egpText(7,"Printer 1: "+Pr1,vec2(40,100)), EGP:egpFont(7,"Times New Roman"), EGP:egpSize(7,50)
    EGP:egpText(8,"Printer 2: "+Pr2,vec2(40,200)), EGP:egpFont(8,"Times New Roman"), EGP:egpSize(8,50)
    EGP:egpText(9,"Printer 3: "+Pr3,vec2(40,300)), EGP:egpFont(9,"Times New Roman"), EGP:egpSize(9,50)
    EGP:egpText(10,"Printer 4: "+Pr4,vec2(40,400)), EGP:egpFont(10,"Times New Roman"), EGP:egpSize(10,50)
    EGP:egpBox(11,vec2(225,70),vec2(350,5)), EGP:egpColor(11,vec(250,132,14))
    EGP:egpBox(12,vec2(275,15),vec2(350,5)), EGP:egpColor(12,vec(250,132,14))
    EGP:egpText(13,"Lavet Af Chutney",vec2(20,475)), EGP:egpFont(13,"Times New Roman"), EGP:egpSize(13,15)
}
interval(500)

Pr1 = Print1:moneyAmount()
Pr2 = Print2:moneyAmount()
Pr3 = Print3:moneyAmount()
Pr4 = Print4:moneyAmount()

EGP:egpSetText(7,"Printer 1: "+Pr1)
EGP:egpSetText(8,"Printer 2: "+Pr1)
EGP:egpSetText(9,"Printer 3: "+Pr1)
EGP:egpSetText(10,"Printer 4: "+Pr1)

IAlt = Pr1 + Pr2 + Pr3 + Pr4
if(chatClk(owner())&lastSaid()=="pe") {hint("Dine printere har "+IAlt+"kr I Alt", PSkerm)} 

if(Pr1 >= PrintAdv&curtime()>C1) {
    C1 = curtime()+PrintTid-0.1
    hint("Printer 1 har over "+PrintAdv+"DKK | "+Pr1+"DKK. Den eksploderer snart!",PSkerm)
}

if(Pr2 >= PrintAdv&curtime()>C2) {
    C2 = curtime()+PrintTid-0.1
    hint("Printer 2 har over "+PrintAdv+"DKK | "+Pr2+"DKK. Den eksploderer snart!",PSkerm)
}

if(Pr3 >= PrintAdv&curtime()>C3) {
    C3 = curtime()+PrintTid-0.1
    hint("Printer 3 har over "+PrintAdv+"DKK | "+Pr3+"DKK. Den eksploderer snart!",PSkerm)
}

if(Pr4 >= PrintAdv&curtime()>C4) {
    C4 = curtime()+PrintTid-0.1
    hint("Printer 4 har over "+PrintAdv+"DKK | "+Pr4+"DKK. Den eksploderer snart!",PSkerm)
}


Pastebin:

http://pastebin.com/VHScD1ZP

Link til kommentar
Del på andre sites

3 hours ago, Jan T said:

Du har et interval... Brug det istedet for timers. Jeg laver din e2 om og sender den til dig snarest mulig ;)

 

Rework, da du har et interval ;)


@name Printer
@inputs Print1:entity Print2:entity Print3:entity Print4:entity EGP:wirelink
@outputs 
@persist Pr1 Pr2 Pr3 Pr4 IAlt PrintTid PrintAdv PSkerm C1 C2 C3 C4
runOnChat(1)

#ALT inde i denne funktion p ndres!
if(first()) {
    #Denne foraetller, paa hvilket beloeb, den vil begynde at advare dig! (Default 3K) 
    PrintAdv = 3000

    #Antal sekunder delayet er paa som skriver til dig naar dine printers har over PrintAdv (Default 10sec)
    PrintTid = 10

    #Denne siger, hvor lang tid notifikationerne vil staa paa skaermen i sekunder! (Default 5 Sek.)
    PSkerm = 5
}
if (changed(EGP)&EGP){
    EGP:egpBox(1,vec2(255,255),vec2(512,512)), EGP:egpAngle(1,0), EGP:egpMaterial(1,"console/background05")
    EGP:egpBox(2,vec2(195,125),vec2(350,75)), EGP:egpColor(2,vec(250,132,14))
    EGP:egpBox(3,vec2(195,225),vec2(350,75)), EGP:egpColor(3,vec(250,132,14))
    EGP:egpBox(4,vec2(195,325),vec2(350,75)), EGP:egpColor(4,vec(250,132,14))
    EGP:egpBox(5,vec2(195,425),vec2(350,75)), EGP:egpColor(5,vec(250,132,14))
    EGP:egpText(6,"Printer Checker",vec2(100,15)), EGP:egpFont(6,"Times New Roman"), EGP:egpSize(6,50)
    EGP:egpText(7,"Printer 1: "+Pr1,vec2(40,100)), EGP:egpFont(7,"Times New Roman"), EGP:egpSize(7,50)
    EGP:egpText(8,"Printer 2: "+Pr2,vec2(40,200)), EGP:egpFont(8,"Times New Roman"), EGP:egpSize(8,50)
    EGP:egpText(9,"Printer 3: "+Pr3,vec2(40,300)), EGP:egpFont(9,"Times New Roman"), EGP:egpSize(9,50)
    EGP:egpText(10,"Printer 4: "+Pr4,vec2(40,400)), EGP:egpFont(10,"Times New Roman"), EGP:egpSize(10,50)
    EGP:egpBox(11,vec2(225,70),vec2(350,5)), EGP:egpColor(11,vec(250,132,14))
    EGP:egpBox(12,vec2(275,15),vec2(350,5)), EGP:egpColor(12,vec(250,132,14))
    EGP:egpText(13,"Lavet Af Chutney",vec2(20,475)), EGP:egpFont(13,"Times New Roman"), EGP:egpSize(13,15)
}
interval(500)

Pr1 = Print1:moneyAmount()
Pr2 = Print2:moneyAmount()
Pr3 = Print3:moneyAmount()
Pr4 = Print4:moneyAmount()

EGP:egpSetText(7,"Printer 1: "+Pr1)
EGP:egpSetText(8,"Printer 2: "+Pr1)
EGP:egpSetText(9,"Printer 3: "+Pr1)
EGP:egpSetText(10,"Printer 4: "+Pr1)

IAlt = Pr1 + Pr2 + Pr3 + Pr4
if(chatClk(owner())&lastSaid()=="pe") {hint("Dine printere har "+IAlt+"kr I Alt", PSkerm)} 

if(Pr1 >= PrintAdv&curtime()>C1) {
    C1 = curtime()+PrintTid-0.1
    hint("Printer 1 har over "+PrintAdv+"DKK | "+Pr1+"DKK. Den eksploderer snart!",PSkerm)
}

if(Pr2 >= PrintAdv&curtime()>C2) {
    C2 = curtime()+PrintTid-0.1
    hint("Printer 2 har over "+PrintAdv+"DKK | "+Pr2+"DKK. Den eksploderer snart!",PSkerm)
}

if(Pr3 >= PrintAdv&curtime()>C3) {
    C3 = curtime()+PrintTid-0.1
    hint("Printer 3 har over "+PrintAdv+"DKK | "+Pr3+"DKK. Den eksploderer snart!",PSkerm)
}

if(Pr4 >= PrintAdv&curtime()>C4) {
    C4 = curtime()+PrintTid-0.1
    hint("Printer 4 har over "+PrintAdv+"DKK | "+Pr4+"DKK. Den eksploderer snart!",PSkerm)
}


Pastebin:

http://pastebin.com/VHScD1ZP

Takker. Jeg er ny til E2. Godt nok har keg arbejdet med js i lang tid, men gmods hooks er forvirrende xD

Link til kommentar
Del på andre sites

Just now, Chutney☢ said:

Takker. Jeg er ny til E2. Godt nok har keg arbejdet med js i lang tid, men gmods hooks er forvirrende xD

Np.

 

Når du bruger et interval på 1-750+ er Timere ikke nødvendige for det meste ;)

Link til kommentar
Del på andre sites

3 minutes ago, Jan T said:

Np.

 

Når du bruger et interval på 1-750+ er Timere ikke nødvendige for det meste ;)

Siden du ved en masse, så bliver keg nød til at vide det her. For det første, angiver du i dit remake, en funktion kaldet "curtime" og du bruger en ny persist kalfet C 1 - 4. Hvad er meningen med dette? Derefter har jeg set en masse bruge funktionen "ops()" Hvad gør denne?

Link til kommentar
Del på andre sites

Just now, Chutney☢ said:

Siden du ved en masse, så bliver keg nød til at vide det her. For det første, angiver du i dit remake, en funktion kaldet "curtime" og du bruger en ny persist kalfet C 1 - 4. Hvad er meningen med dette? Derefter har jeg set en masse bruge funktionen "ops()" Hvad gør denne?

Curtime retunerer hvor lang tid serveren har været oppe i sekunder.

 

Og jeg kan se aboslut ingen grund til at bruge "ops()"

Men her er hvad den gør

 

ops() Type-Number.png Returns how many ops are used every execution on average
Link til kommentar
Del på andre sites

Just now, Jan T said:

Curtime retunerer hvor lang tid serveren har været oppe i sekunder.

 

Og jeg kan se aboslut ingen grund til at bruge "ops()"

Men her er hvad den gør

 

ops() Type-Number.png Returns how many ops are used every execution on average

Jeg ved godt, der er ingen grund til at bruge den i denne sammenhæng, men i emoyleys gunshop, bliver den brugt meget ofte, så det kunne være rart at vide, hvad den gør hvis den kunne lave mit arbejde nemmere. Jeg har været på wiki, men den forklarong kan kun forstås, hvis du allerede ved hvad ops står for, og det gør jeg ikke!

Link til kommentar
Del på andre sites

Ved ikke helt hvordan jeg skal forklare det men jeg kan prøve.

 

Du ved når din e2 kører bruger den ops - Operations per second

 

Og ops() Returnerer gennemsnittet du bruger, hver gang din e2 kører igennem din kode.

Link til kommentar
Del på andre sites

2 minutes ago, Jan T said:

Ved ikke helt hvordan jeg skal forklare det men jeg kan prøve.

 

Du ved når din e2 kører bruger den ops - Operations per second

 

Og ops() Returnerer gennemsnittet du bruger, hver gang din e2 kører igennem din kode.

Ahhh. For Emo brugte ops til at slukke sin EGP. Ville det han gjorde så være lag prevention/spam prevention?

Link til kommentar
Del på andre sites

1 minute ago, Chutney☢ said:

Ahhh. For Emo brugte ops til at slukke sin EGP. Ville det han gjorde så være lag prevention/spam prevention?

Hvis din kode er optimeret skal du ikke bruge det ;)

 

Men ja det vil skabe en del lag hvis flere af dine e2er altid lå på 300-400 ops

Link til kommentar
Del på andre sites

1 hour ago, Jan T said:

Hvis din kode er optimeret skal du ikke bruge det ;)

 

Men ja det vil skabe en del lag hvis flere af dine e2er altid lå på 300-400 ops

Got it. Selvom jeg altid vil prøve at optimere mine e2'er, så tror jeg, jeg vil implementere ops, så jeg ikke skaber lag hvis den nu ille er optimeret nok ;)

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.