public override PlaceCrashBet CalculateNextCrashBet(CrashBet PreviousBet, bool Win) { PlaceCrashBet NextBet = new PlaceCrashBet(); dynamic result = Scope.DoCrashBet(PreviousBet, Win, NextBet); return(result); }
public override PlaceCrashBet CalculateNextCrashBet(CrashBet PreviousBet, bool Win) { PlaceCrashBet NextBet = new PlaceCrashBet(); DynValue DoDiceBet = CurrentRuntime.Globals.Get("DoCrashBet"); if (DoDiceBet != null) { DynValue Result = CurrentRuntime.Call(DoDiceBet, PreviousBet, Win, NextBet); } return(NextBet); }
public virtual PlaceCrashBet CalculateNextCrashBet(CrashBet PreviousBet, bool Win) { throw new NotImplementedException(); }
private void Sock_MessageReceived(object sender, MessageReceivedEventArgs e) { if (e.Message == "3probe") { (sender as WebSocket).Send("5"); //Sock.Send("420[\"join\",{\"ott\":\"" + ott + "\",\"api_version\":1}]"); } else { Logger.DumpLog(e.Message, -1); if (e.Message.StartsWith("42[\"game_starting\",")) { //42["game_starting",{"game_id":214035,"max_win":3782817516,"time_till_start":5000}] string id = e.Message.Substring(e.Message.IndexOf("\"game_id\":") + "\"game_id\":".Length); id = id.Substring(0, id.IndexOf(",")); GameId = id; cashedout = false; this.guid = ""; //open betting for user betsOpen = true; callGameMessage("Game starting - waiting for bet"); } else if (e.Message.StartsWith("42[\"game_started\",")) { //close betting and wait for result betsOpen = false; } else if (e.Message.StartsWith("42[\"game_crash\",") && guid != "") { //if not cashed out yet, it's a loss and debit balance CrashBet bet = new CrashBet { TotalAmount = (decimal)LastBet.TotalAmount, Profit = -(decimal)LastBet.TotalAmount, Currency = CurrentCurrency, DateValue = DateTime.Now, BetID = GameId != "" ? GameId : Guid.NewGuid().ToString(), Guid = guid, Payout = LastBet.Payout, Crash = 0//get crash payout from game message }; Stats.Balance -= (decimal)LastBet.TotalAmount; Stats.Profit -= (decimal)LastBet.TotalAmount; Stats.Wagered += (decimal)LastBet.TotalAmount; Stats.Losses++; Stats.Bets++; guid = ""; callBetFinished(bet); //Parent.updateStatus("Game crashed - Waiting for next game"); } else if (e.Message.StartsWith("42[\"cashed_out\"") && guid != "") { //check if the cashed out user is the current user, if it is, it's a win. if (e.Message.Contains("\"" + username + "\"")) { cashedout = true; CrashBet bet = new CrashBet { TotalAmount = (decimal)LastBet.TotalAmount, Profit = LastBet.Payout * LastBet.TotalAmount - LastBet.TotalAmount, Currency = CurrentCurrency, DateValue = DateTime.Now, BetID = GameId != "" ? GameId : Guid.NewGuid().ToString(), Guid = guid, Payout = LastBet.Payout, }; this.guid = ""; Stats.Balance += bet.Profit; Stats.Profit += bet.Profit; Stats.Wagered += LastBet.TotalAmount; Stats.Wins++; Stats.Bets++; callBetFinished(bet); } } else if (e.Message.StartsWith("430[null,{\"state")) { string content = e.Message.Substring(e.Message.IndexOf("{")); content = content.Substring(0, content.LastIndexOf("}")); ECLogin tmplogin = json.JsonDeserialize <ECLogin>(content); if (tmplogin != null) { username = tmplogin.username; Stats.Balance = (tmplogin.balance_satoshis) / 100000000m; } } else if (e.Message.StartsWith("42[\"game_tick\"")) { if (guid != "" || cashedout) { //42["game_tick",13969] string x = e.Message.Substring(e.Message.IndexOf(",") + 1); x = x.Substring(0, x.LastIndexOf("]")); decimal tickval = 0; if (decimal.TryParse(x, out tickval)) { double mult = 0; mult = Math.Floor(100 * Math.Pow(Math.E, 0.00006 * (double)tickval)); string message = ""; if (guid != null) { message = string.Format("Game running - {0:0.00000000} at {1:0.0000} - {2:0.00}x", LastBet.TotalAmount, LastBet.Payout, mult / 100); } else { message = string.Format("Game running - Cashed out - {2:0.00}x", LastBet.TotalAmount, LastBet.Payout, mult / 100); } callGameMessage(message); } } } } }