Example #1
0
        public async void StartBet(MultiBetData bet)
        {
            PlaceAutomatedBetsResponse result = await DiceWebAPI.PlaceAutomatedBetsAsync(bet.Session, bet.MultiBetSettings);

            if (result.Success)
            {
                betResult.BetCount++;
                if (result.TotalPayOut == 0)
                {
                    decimal baseBet;
                    if (result.BetCount > 1)
                    {
                        baseBet = result.PayIns[result.BetCount - 1] <= result.PayIns[result.BetCount - 2] ?
                                  2 * result.PayIns[result.BetCount - 1] : 2 * result.PayIns[result.BetCount - 2];
                    }
                    else
                    {
                        baseBet = 2 * result.PayIns[result.BetCount - 1];
                    }

                    SingleBetCycle singlBet = new SingleBetCycle();
                    SingleBetData  sBet     = bet.GetSingleData(baseBet);
                    singlBet.OnNoMoney += SinglBet_OnNoMoney;
                    BetResult singlResult = null;
                    singlBet.StartBet(sBet);
                    betResult.BetCount = result.BetCount + singlResult.BetCount;
                    betResult.Profit   = result.TotalPayOut + result.TotalPayIn + singlResult.Profit;
                }
                else
                {
                    betResult.BetCount = result.BetCount;
                    betResult.Profit   = result.TotalPayOut + result.TotalPayIn;
                    OnBetCompleted?.Invoke(betResult);
                }
            }
            else
            {
                if (result.InsufficientFunds)
                {
                    OnNoMoney?.Invoke(bet.Session.AccountId, bet.Currency);
                    Thread.Sleep(20000);
                }
            }
        }
Example #2
0
        public async void StartBet(SingleBetData bet)
        {
            var betResult = new BetResult();

            while (true)
            {
                var result = await DiceWebAPI.PlaceBetAsync(bet.Session, bet.PayIn, bet.GessLow, bet.GessHigh, bet.ClientSeed, bet.Currency);

                if (result.Success)
                {
                    betResult.BetCount++;
                    if (result.PayOut > 0)
                    {
                        betResult.Profit += result.PayOut - bet.PayIn;
                        OnBetCompleted?.Invoke(betResult);
                        break;
                    }
                    else
                    {
                        betResult.Profit -= bet.PayIn;
                        if (betResult.BetCount % bet.Repit == 0 && betResult.BetCount != 0)
                        {
                            bet.PayIn = bet.PayIn * 2;
                        }
                        CalcPercent(betResult.BetCount, bet);
                    }
                }
                else
                {
                    if (result.InsufficientFunds)
                    {
                        OnNoMoney?.Invoke(bet.Session.AccountId, bet.Currency);
                        Thread.Sleep(20000);
                    }
                }
            }
        }
Example #3
0
 private void SinglBet_OnNoMoney(long userId, Currencies curr)
 {
     OnNoMoney?.Invoke(userId, curr);
     Thread.Sleep(20000);
 }