Hop til indhold
Stavox

moneyGive glitch


Bærmand

Recommended Posts

Hvis at man klikker på Skærmen og man får en money reguest men trykker afslå har man stadig en chance for at vinde. Hvad skal jeg gøre?

 

@name Roulette
@inputs EGP:wirelink User:entity
@outputs 
@persist WinRate Payed OutCome Out1 Out2 Out3 Out4 Out5 Out6 Out7 Out8 Prise1 Prise2 Prise3 Prise4 Prise5 Prise6 Prise7 Prise8
@trigger 

## Priser ##
Out1 = 100
Out2 = 200
Out3 = 500
Out4 = 1000
Out5 = 2000
Out6 = 5000
Out7 = 7500
Out8 = 10000

## Prise ##

    function number wirelink:egpButton(Idx:number,Ply:entity)
    {
        TL = This:egpPos(Idx) - This:egpSize(Idx) / 2 * (0 ? 0 : 1)
        BR = This:egpPos(Idx) + This:egpSize(Idx) / (0 ? 1 : 2)
        Cur = This:egpCursor(Ply) return inrange(Cur, TL, BR) exit()
    }

if(first()){
    
    ## Box ##
    EGP:egpBox(1, vec2(255, 255), vec2(512,512))
    EGP:egpAlign(1, 1, 1)
    EGP:egpColor(1, 75, 255, 75, 255)
    
    EGP:egpRoundedBox(2, vec2(140, 75), vec2(200,75))
    EGP:egpColor(2, 255, 50, 50, 255) 
    
    EGP:egpRoundedBox(3, vec2(140, 193), vec2(200,75))
    EGP:egpColor(3, 0, 0, 0 ,255) 
    
    EGP:egpRoundedBox(4, vec2(140, 311), vec2(200,75)) 
    EGP:egpColor(4, 255, 50, 50, 255)
    
    EGP:egpRoundedBox(5, vec2(140, 429), vec2(200,75))   
    EGP:egpColor(5, 0, 0, 0 ,255)
    
    EGP:egpRoundedBox(6, vec2(375, 75), vec2(200,75)) 
    EGP:egpColor(6, 0, 0, 0 ,255)
    
    EGP:egpRoundedBox(7, vec2(375, 193), vec2(200,75)) 
    EGP:egpColor(7, 255, 50, 50, 255)
    
    EGP:egpRoundedBox(8, vec2(375, 311), vec2(200,75)) 
    EGP:egpColor(8, 0, 0, 0 ,255)
    
    EGP:egpRoundedBox(9, vec2(375, 429), vec2(200,75)) 
    EGP:egpColor(9, 255, 50, 50, 255)  
}

## Buttons ##
if(EGP:egpButton(2, User)){
    moneyRequest(User, Out1, "Pocket Pussy"), OutCome = Out1
}   
if(EGP:egpButton(3, User)){
    moneyRequest(User, Out3, "Pocket Pussy"), OutCome = Out3
}   
if(EGP:egpButton(4, User)){
    moneyRequest(User, Out5, "Pocket Pussy"), OutCome = Out5
}    
if(EGP:egpButton(5, User)){
    moneyRequest(User, Out7, "Pocket Pussy"), OutCome = Out7
}    
if(EGP:egpButton(6, User)){
    moneyRequest(User, Out2, "Pocket Pussy"), OutCome = Out2
}    
if(EGP:egpButton(7, User)){
    moneyRequest(User, Out4, "Pocket Pussy"), OutCome = Out4
}    
if(EGP:egpButton(8, User)){
    moneyRequest(User, Out6, "Pocket Pussy"), OutCome = Out6
}    
if(EGP:egpButton(9, User)){
    moneyRequest(User, Out8, "Pocket Pussy"), OutCome = Out8
}

## Money ##
if(moneyClk()){
    Payed = 1, WinRate = randint(1,3)
}

if(Payed == 1 & WinRate == 1){
    moneyGive(User, OutCome)    
}
 

Link til kommentar
Del på andre sites

For det første.

Din EGP:egpButton() funktion, skal du lige smide ind under if(first()){

Det samme med alle dine Out variabler, da du allerede har defineret dem i persist.

Grunden til at folk stadig vinder, er fordi du ikke resetter dine variabler, altså Payed og WinRate

 

Du kunne skrive Payed = 0 og WinRate = 0 nederst i din if statement:

if(Payed == 1 & WinRate == 1){
    moneyGive(User, OutCome)    

    Payed = 0

    WinRate = 0
}

 

Eller du kunne definere det i din moneyClk, altså når du faktisk modtager penge.

 

if(moneyClk()){
    Payed = 1, WinRate = randint(1,3)
    moneyGive(moneyClkPlayer(), OutCome)    
}

 

Husk at User, er den sidste spiller der klikkede på skærmen, så brug moneyClkPlayer() i moneyClk(), da den finder spilleren der betalte.

Der er dog flere ting i din kode, som er ligegyldig og du ikke bruger, men tænker det er til videreudvikling.
 

 

 

Link til kommentar
Del på andre sites

8 minutter siden, ZeNoxXi skrev:

For det første.

Din EGP:egpButton() funktion, skal du lige smide ind under if(first()){

Det samme med alle dine Out variabler, da du allerede har defineret dem i persist.

Grunden til at folk stadig vinder, er fordi du ikke resetter dine variabler, altså Payed og WinRate

 

Du kunne skrive Payed = 0 og WinRate = 0 nederst i din if statement:

if(Payed == 1 & WinRate == 1){
    moneyGive(User, OutCome)    

    Payed = 0

    WinRate = 0
}

 

Eller du kunne definere det i din moneyClk, altså når du faktisk modtager penge.

 

if(moneyClk()){
    Payed = 1, WinRate = randint(1,3)
    moneyGive(moneyClkPlayer(), OutCome)    
}

 

Husk at User, er den sidste spiller der klikkede på skærmen, så brug moneyClkPlayer() i moneyClk(), da den finder spilleren der betalte.

Der er dog flere ting i din kode, som er ligegyldig og du ikke bruger, men tænker det er til videreudvikling.
 

 

 

Når du siger at jeg kan definere det i min moneyClk hvad mener du så

Link til kommentar
Del på andre sites

1 minut siden, NeKt0r skrev:

Når du siger at jeg kan definere det i min moneyClk hvad mener du så

Jeg kan se, at du bruger en ekstra if statement, men i stedet for det, kunne du bare smide det hele ind i din if(moneyClk()){ statement, alt efter hvordan resten af din kode skal fungere. Et moneyClk() statement vil kun køre, når du modtager en betaling.

 

Link til kommentar
Del på andre sites

1 minut siden, ZeNoxXi skrev:

Jeg kan se, at du bruger en ekstra if statement, men i stedet for det, kunne du bare smide det hele ind i din if(moneyClk()){ statement, alt efter hvordan resten af din kode skal fungere. Et moneyClk() statement vil kun køre, når du modtager en betaling.

 

Jeg forstår det ikke helt kan du give et eksempel

Link til kommentar
Del på andre sites

Lige nu, NeKt0r skrev:

Jeg forstår det ikke helt kan du give et eksempel

Du har 2 if statements

 

1.

if(moneyClk()){
    Payed = 1, WinRate = randint(1,3)
}

 

2.

if(Payed == 1 & WinRate == 1){
    moneyGive(User, OutCome)    
}

 

I stedet for at bruge begge, kan du sætte dem sammen, så det udgør 1 if statement.

Altså:

if(moneyClk()){

  moneyGive(moneyClkPlayer(), OutCome)

  Payed = 1

  WinRate = randint(1,3)

}

Link til kommentar
Del på andre sites

3 minutter siden, ZeNoxXi skrev:

Jeg kan se, at du bruger en ekstra if statement, men i stedet for det, kunne du bare smide det hele ind i din if(moneyClk()){ statement, alt efter hvordan resten af din kode skal fungere. Et moneyClk() statement vil kun køre, når du modtager en betaling.

 

Sorry, jeg forstår nu men man kan stadig bare trykke afslå og få penge selvom jeg resetter variablerne

 

Link til kommentar
Del på andre sites

Lige nu, NeKt0r skrev:

Sorry, jeg forstår nu men man kan stadig bare trykke afslå og få penge selvom jeg resetter variablerne

 

Hvis du resetter dem, skal de først sættes igen, som vil blive gjort i if(moneyClk()){

Hvis du afslår en moneyRequest, vil den hedde if(moneyNoClk()){

Link til kommentar
Del på andre sites

Jeg har ændret lidt på koden her er den. Den burde virke nu.

 

@name Roulette
@inputs EGP:wirelink User:entity
@outputs 
@persist WinRate Payed OutCome Out1 Out2 Out3 Out4 Out5 Out6 Out7 Out8 B1 B2 B3 B4 B5 B6 B7 B8
@trigger 


if(first()){

    function number wirelink:egpButton(Idx:number,Ply:entity)
    {
        TL = This:egpPos(Idx) - This:egpSize(Idx) / 2 * (0 ? 0 : 1)
        BR = This:egpPos(Idx) + This:egpSize(Idx) / (0 ? 1 : 2)
        Cur = This:egpCursor(Ply) return inrange(Cur, TL, BR) exit()
    }

    
## Priser ##
Out1 = 100
Out2 = 200
Out3 = 500
Out4 = 1000
Out5 = 2000
Out6 = 5000
Out7 = 7500
Out8 = 10000

## Betaling ##
B1 = 200
B2 = 400
B3 = 1000
B4 = 2000
B5 = 4000
B6 = 10000
B7 = 15000
B8 = 20000
    
    ## Box ##
    EGP:egpBox(1, vec2(255, 255), vec2(512,512))
    EGP:egpAlign(1, 1, 1)
    EGP:egpColor(1, 75, 255, 75, 255)
    
    EGP:egpRoundedBox(2, vec2(140, 75), vec2(200,75))
    EGP:egpColor(2, 255, 50, 50, 255) 
    
    EGP:egpRoundedBox(3, vec2(140, 193), vec2(200,75))
    EGP:egpColor(3, 0, 0, 0 ,255) 
    
    EGP:egpRoundedBox(4, vec2(140, 311), vec2(200,75)) 
    EGP:egpColor(4, 255, 50, 50, 255)
    
    EGP:egpRoundedBox(5, vec2(140, 429), vec2(200,75))   
    EGP:egpColor(5, 0, 0, 0 ,255)
    
    EGP:egpRoundedBox(6, vec2(375, 75), vec2(200,75)) 
    EGP:egpColor(6, 0, 0, 0 ,255)
    
    EGP:egpRoundedBox(7, vec2(375, 193), vec2(200,75)) 
    EGP:egpColor(7, 255, 50, 50, 255)
    
    EGP:egpRoundedBox(8, vec2(375, 311), vec2(200,75)) 
    EGP:egpColor(8, 0, 0, 0 ,255)
    
    EGP:egpRoundedBox(9, vec2(375, 429), vec2(200,75)) 
    EGP:egpColor(9, 255, 50, 50, 255)  
}

## Buttons ##
if(EGP:egpButton(2, User)){
    moneyRequest(User, Out1, "Pocket Pussy"), OutCome = B1
}   
if(EGP:egpButton(3, User)){
    moneyRequest(User, Out3, "Pocket Pussy"), OutCome = B3
}   
if(EGP:egpButton(4, User)){
    moneyRequest(User, Out5, "Pocket Pussy"), OutCome = B5
}    
if(EGP:egpButton(5, User)){
    moneyRequest(User, Out7, "Pocket Pussy"), OutCome = B7
}    
if(EGP:egpButton(6, User)){
    moneyRequest(User, Out2, "Pocket Pussy"), OutCome = B2
}    
if(EGP:egpButton(7, User)){
    moneyRequest(User, Out4, "Pocket Pussy"), OutCome = B4
}    
if(EGP:egpButton(8, User)){
    moneyRequest(User, Out6, "Pocket Pussy"), OutCome = B6
}    
if(EGP:egpButton(9, User)){
    moneyRequest(User, Out8, "Pocket Pussy"), OutCome = B8
}

## Money ##
if(moneyClk()){
    Payed = 1, WinRate = randint(1,3)
}

if(Payed == 1 & WinRate == 1){
    moneyGive(moneyClkPlayer(), OutCome), Payed = 0, WinRate = 0
}
 

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.