Przerobiłem bota do pewnej ruletki. (Jest to legalne na portalu którego używam, nawet właściciel portalu sam napisał jednego bota.)
Oto kod:
// CONFIG
var BetOnBlack = true; // Stawiaj na czarne
var BetOnRed = true; // Stawiaj na czerwone
var InitialBetAmount = 1; // Stawka
// ===========================================
function tick()
{
var currentStatus = getStatus();
if(currentStatus !== lastStatus && "unknown" !== currentStatus)
{
switch(currentStatus)
{
case"waiting":
PlaceBets();
break;
case"rolled":
CalculateBets()
}
lastStatus = currentStatus,printInfo()
}
}
function checkBalance()
{
var SumOfBetAmounts = CurrentBlackBetAmount + CurrentRedBetAmount;
return getBalance() < SumOfBetAmounts ? (console.warn("BANKRUPT! Not enough balance for next bet, aborting."),clearInterval(refreshIntervalId),!1) : !0
}
function printInfo()
{
var Info = " \nStatus: " + lastStatus + "\nRolls played: " + currentRollNumber + "\nInitial bet amount: " + InitialBetAmount + "\nCurrent black bet amount: " + CurrentBlackBetAmount + "\nCurrent red bet amount: " + CurrentRedBetAmount + "\nLast color: " + LastRollColor;
console.log(Info)
}
function CalculateBets()
{
if (LastRollColor == "red")
{
CurrentRedBetAmount = InitialBetAmount;
CurrentBlackBetAmount = CurrentBlackBetAmount * 2;
}
if (LastRollColor == "black")
{
CurrentRedBetAmount = CurrentRedBetAmount * 2;
CurrentBlackBetAmount = InitialBetAmount;
}
if (LastRollColor == "green")
{
CurrentRedBetAmount = CurrentRedBetAmount * 2;
CurrentBlackBetAmount = CurrentBlackBetAmount * 2;
}
currentRollNumber++
}
function PlaceBets()
{
if (checkBalance() == true)
{
if (BetOnBlack == true)
{
(setBetAmount(CurrentBlackBetAmount),setTimeout(placeBet("black"), 50))
}
if (BetOnRed == true)
{
(setBetAmount(CurrentRedBetAmount),setTimeout(placeBet("red"), 50))
}
}
}
function setBetAmount(AAmount)
{
$betAmountInput.val(AAmount);
}
function placeBet(AColor)
{
if (AColor == "red")
return $redButton.click()
if (AColor == "black")
return $blackButton.click()
}
function getStatus()
{
var StatusBarText = $statusBar.text();
if(hasSubString(StatusBarText,"Rolling in"))
return "waiting";
if(hasSubString(StatusBarText,"***ROLLING***"))
return "rolling";
if(hasSubString(StatusBarText,"rolled"))
{
var RoledNumber = parseInt(StatusBarText.split("rolled")[1]);
return LastRollColor=getColor(RoledNumber),"rolled"
}return "unknown"
}
function getBalance()
{
return parseInt($balance.text())
}
function hasSubString(AFullString,APartOfString)
{
return AFullString.indexOf(APartOfString)>-1
}
function getColor(a)
{
return 0 == a?"green":a >= 1 && 7 >= a?"red":"black"
}
var CurrentBlackBetAmount = InitialBetAmount,
CurrentRedBetAmount = InitialBetAmount,
currentRollNumber = 1,
LastRollColor,
lastStatus,
$balance = $("#balance"),
$betAmountInput = $("#betAmount"),
$statusBar = $(".progress #banner"),
$redButton = $("#panel1-7 .betButton"),
$blackButton = $("#panel8-14 .betButton"),
refreshIntervalId = setInterval(tick,500);
I gdy wklejam go w konsole przeglądarki (Firefox 43.0.4) to wyskakuje mi błąd SyntaxError: missing ] after element list
mimo, że nawiasów kwadratowych używam tylko w jednym miejscu i są one domknięte.
Błąd ten jednak nie przeszkadza w pracy tego skryptu, wszystko działa jak powinno (a przynajmniej tak mi się wydaje, gdy widzę skutki działania kodu).
Ktoś może mi powiedzieć co jest nie tak ze skryptem?
EDIT:
Do walidacji czy kod jest poprawny składniowo używałem tej strony: http://pl.piliapp.com/javascript-validator/
pierwsza lepsza jaką znalazłem w google.