Bærmand Skrevet Marts 17, 2019 Del Skrevet Marts 17, 2019 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 More sharing options...
Zenoxxi Besvaret Marts 17, 2019 Del Besvaret Marts 17, 2019 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 More sharing options...
Bærmand Besvaret Marts 17, 2019 Forfatter Del Besvaret Marts 17, 2019 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 More sharing options...
Zenoxxi Besvaret Marts 17, 2019 Del Besvaret Marts 17, 2019 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 More sharing options...
Bærmand Besvaret Marts 17, 2019 Forfatter Del Besvaret Marts 17, 2019 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 More sharing options...
Zenoxxi Besvaret Marts 17, 2019 Del Besvaret Marts 17, 2019 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 More sharing options...
Bærmand Besvaret Marts 17, 2019 Forfatter Del Besvaret Marts 17, 2019 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 More sharing options...
Zenoxxi Besvaret Marts 17, 2019 Del Besvaret Marts 17, 2019 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 More sharing options...
Bærmand Besvaret Marts 17, 2019 Forfatter Del Besvaret Marts 17, 2019 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 More sharing options...
Recommended Posts
Arkiveret
Dette emne er nu arkiveret og er lukket for yderligere svar