Adaptiver Crash-Recovery-Bot für Crash-Spiele
Dies ist ein automatisiertes Wett-Skript für Crash-Spiele (BC.Game, Nanogames), das versucht, Verluste auszugleichen, indem es die Einsatzhöhe und den Ziel-Multiplikator basierend auf den letzten Runden anpasst. Es verwendet die Formel
S = (w + N*R) / (y - 1)
wobei
wder Gesamtverlust seit dem letzten Gewinn ist,Nder Basis-Einsatz ist,Rdie Anzahl der aufeinanderfolgenden Niederlagen ist undyder gewählte Multiplikator ist.
Das Skript wählt y, indem es die jüngste Crash-Historie betrachtet – etwa Serien niedriger oder hoher Multiplikatoren – und berechnet dann den Einsatz, der nötig ist, um alle Verluste plus einen kleinen Gewinn zurückzuholen. Wenn Sie den Bot nicht laufen lassen möchten, können Sie dasselbe manuell tun: Beobachten Sie das Spiel, verfolgen Sie Ihre Verluste, wählen Sie einen Multiplikator, den Sie für wahrscheinlich halten, und verwenden Sie diese Formel zur Bestimmung Ihres nächsten Einsatzes. Die Hauptbeschränkungen sind der Casino-Vorteil und lange Verlustserien, die Einsätze bis zum Tischlimit treiben oder Ihr Bankroll aufbrauchen können. Stop-Losses sind integriert, aber nichts ist garantiert.
var config={mainTitle:{label:"Crash Bot",type:"title"},auto:{label:"",value:"Script",type:"radio",options:[{value:"Script",label:"Auto"},{value:"Player",label:"Manual"}]},bet:{label:"Base Bet",value:currency.minAmount,type:"number"},lossTitle:{label:"Stop",type:"title"},stop:{label:"Loss >",value:1,type:"number"},end:{label:"Min >",value:250,type:"number"},profit:{label:"Profit >",value:100,type:"number"}};function main(){let o=[1.5,2,3,4,5,6,7,8,9,10],e=[10,20,50,100];var $=[],t=[],n=[],l=[],_=[],a=[],r=[],u=0,s=1,f=s+1,m=currency.minAmount,g=currency.amount/10,p=0,c=o[1],d=3,b=0,h=2,F=config.bet.value,v=F,T=f,A=0,S=0,x=[0,0],y="Won",W=0,B=0,P=0,E=0,w=new Date,G=new Date,L=G-w,M=currency.amount,N=0,O=0,I=0,D=0,R="False",C="False",K="False",U="False",j="False",k=r[0],q=0,z=0,H=0,J=1,Q=2,V=1,X=50,Y=t[0],Z=0,oo=0,oe=0;function o$(){J-=.01,l=(n=_.slice(0,X)).filter(function(o){return o>J}),J+=.01,Q=Math.round(Q=n.length>0?n.length/J*100:0),Q/=100,V=Math.round(V=Math.round(Q)>0?100*(l.length/Math.round(Q)):0)}console.log("Bot on"),log.info("=== Bot started ==="),game.on("GAME_STARTING",function(){if("False"===R&&(R="True",console.log("Start"),log.info("=== GAME_STARTING ===")),"False"===C){for(r=game.history,i=0;i<r.length;i++)_.push(r[i].crash/100),u++;C="True",T=f,A=f}if(f=Number(s)+1,"False"===U){for(t=[],i=0;i<$.length;i++)$[i]<100?(t[i]=100-$[i],t[i]=Math.abs(t[i]),t[i]=t[i]+25):100===$[i]?t[i]=25:t[i]=0,i>3&&(t[i]=t[i]-25),i>5&&(t[i]=t[i]-25),t[i]<0&&(t[i]=0);Y=t[0]||0,Z=0;for(var e=1;e<t.length;e++)t[e]>=Y&&(Z=e,Y=t[e]);oo=o[Z]||2,oo*=100,oo=Math.floor(Math.random()*oo)+121,isNaN(oo/=100)&&(oo=Math.floor(211*Math.random())+151,oo/=100),_[0]>2.99&&_[1]>2.99&&_[2]>2.99&&f-A>15&&f-T>10&&("Won"===y?(v=2*F,oo=c=2.14):(c=Math.floor(288*Math.random())+211,v=(W+F*B)/((c/=100)-1),oo=c)),E>3&&"Lost"===y&&(v=(W+F*B)/(c-1),oo=c=2.14),E>3&&"Won"===y&&(v=F,oo=c=3.11),(P>3||E>3)&&(c=Math.floor(311*Math.random())+199,v=(W+F*B)/((c/=100)-1),oo=c),(_[0]>5||_[1]>5||_[2]>5)&&(c=Math.floor(299*Math.random())+133,oo=c/=100),"Won"===y&&(c=Math.floor(311*Math.random())+115,oo=c/=100,v=(W+F*B)/(c-1)),P>5&&(c=Math.floor(311*Math.random())+199,v=(W+F)/((c/=100)-1),oo=c),P>9&&(c=Math.floor(488*Math.random())+235,v=(W+F)/((c/=100)-1),oo=c),J=9.99,X=10,(l=(n=_.slice(0,X)).filter(function(o){return o>J})).length>2&&(v=F,c=3.11),X=50,c=oo,U="True"}L>config.end.value&&"Won"===y&&(console.log("Stop: time"),log.info("[STOP] time"),game.stop()),O>config.profit.value&&"Won"===y&&(console.log("Stop: profit"),log.success("[STOP] profit"),game.stop()),W>config.stop.value&&(console.log("Stop: loss"),log.error("[STOP] loss"),game.stop()),v=F,Z=Math.floor(Math.random()*Z),v=(W+F*B)/((c=oo)-1),log.info("[BET] "+v.toFixed(7)+" @ "+c+"x")}),game.onBet=function(){m=currency.minAmount,v<(F=config.bet.value)&&(v=F),v<m&&(v=m),v>g&&(v=g),v>currency.maxAmount&&(v=currency.maxAmount,g=currency.maxAmount/5),v>x[0]&&(x[0]=v,x[1]=c),"False"===K&&(game.bet(v,c),console.log("Bet "+v.toFixed(7)+" @"+c),K="True")},game.on("GAME_ENDED",function(){for(u++,z=q=(k=(r=game.history)[0]).crash/100,s=k.gameId,z>h&&(h=z),z<2.01?(E=0,6==++P&&(0===A&&(a=[]),a.unshift(f),oe=(oe+(S=f-A))/(a.length||1),A=f)):(P=0,6==++E&&(T=f)),W>b&&(b=W),_.unshift(z),_.length>999&&_.pop(),k.wager>0?(p+=v,k.wager=v,k.cashedAt?(O+=H=v*c-W-v,y="Won",B=0,W=0,console.log("Won "+H.toFixed(7)),log.success("[WON] +"+H.toFixed(7)+" (bet "+v.toFixed(7)+" @ "+c+"x)")):(y="Lost",B++,W+=v,console.log("Lost"),log.error("[LOST] -"+v.toFixed(7)+" (bet "+v.toFixed(7)+" @ "+c+"x)")),B>d&&(d=B)):(y="Not Played",log.info("[SKIP] no bet")),D=(N=currency.amount)-M,I=O/(L=((G=new Date)-w)/1e3/60),Number(f)%10==0&&(console.log("Update"),Number(u)%100==0&&"Script"===config.auto.value&&(j="True")),i=0;i<o.length;i++)J=o[i],o$(),$[i]=V;if(u>100)for(i=0,X=100;i<e.length;i++)J=e[i],o$();"True"===j&&"Won"===y&&((F=currency.amount/9e4)<currency.minAmount&&(F=currency.minAmount),config.bet.value=F,g=currency.amount/10,config.stop.value=.98*currency.amount,j="False"),K="False",U="False"})}
Beispiel
- Basis-Einsatz = 1 Einheit, Ziel-Multiplikator = 2x.
- 1 Runde verloren: Verlust = 1. Nächster Einsatz = (1 + 1×1) / (2−1) = 2.
- Wieder verloren: Verlust = 3. Nächster Einsatz = (3 + 1×2) / (2−1) = 5.
- Wieder verloren: Verlust = 8. Nächster Einsatz = (8 + 1×3) / (2−1) = 11.
- Und so weiter.
Das Skript verwendet nicht immer denselben Multiplikator. Es analysiert die letzten 10–100 Crashes, um einen neuen Ziel-Multiplikator für den nächsten Einsatz zu bestimmen. Es sucht nach Mustern wie:
- Drei aufeinanderfolgende Crashes über 2,99x oder 5x.
- Mehr als drei aufeinanderfolgende Reds (< 2,01x) oder Greens.
- Häufigkeit sehr hoher Multiplikatoren (z. B. > 10x).
- Basierend darauf wählt es einen Multiplikator von etwa 1,15 bis 7,23. Wenn der gewählte Multiplikator höher ist, wächst der erforderliche Einsatz langsamer, aber die Gewinnwahrscheinlichkeit sinkt.
Einschränkungen
Die Strategie ist eine Form des Martingals mit variablen Quoten. Sie kann das maximale Einsatzlimit der Plattform oder die eigene 10%-Bankroll-Obergrenze des Skripts nach einer langen Verlustserie erreichen. Wenn die Obergrenze erreicht ist, kann das Skript Verluste nicht mehr vollständig ausgleichen, und die Bankroll schrumpft mit jedem weiteren Verlust. Keine Bankroll-Größe kann Erfolg garantieren, da Verlustserien beliebig lang sein können und der Hausvorteil langfristig einen negativen Erwartungswert sichert.