public void AddRobber(string username, int vklad, string site) { string file = ProgramProps.dir_scripts + @"\robbers.json"; Robbers players = GetListRobbers(); Robber thisrobber = players.ListRobbers.Find(r => r.name == username.Trim().ToLower()); if (thisrobber == null) { players.ListRobbers.Add(new Robber() { name = username.Trim().ToLower(), amount = vklad }); thisrobber = players.ListRobbers.Find(r => r.name == username.Trim().ToLower()); RutonyBot.BotSay(site, username + " спасибо за вклад, ждем других участников!"); try { File.Delete(file); } catch { } string serialized = JsonConvert.SerializeObject(players); RutonyBotFunctions.FileAddString(file, serialized); } else { RutonyBot.BotSay(site, username + " вы уже вложились в ограбление"); } }
public void NewMessageEx(string site, string name, string text, bool system, Dictionary <string, string> Params) { if (name == "rutony") { RutonyBot.BotSay(site, name + ", hello!"); } }
public void AddRobber(string username, int vklad) { string file = @"\robbers.json"; Robbers players = GetListRobbers(); Robber thisrobber = players.ListRobbers.Find(r => r.name == username.Trim().ToLower()); if (thisrobber == null) { players.ListRobbers.Add(new Robber() { name = username.Trim().ToLower(), amount = vklad }); thisrobber = players.ListRobbers.Find(r => r.name == username.Trim().ToLower()); RutonyBot.BotSay(username + ", спасибо за вклад. Ждем других участников!"); try { File.Delete(file); } catch { } string serialized = JsonConvert.SerializeObject(players); using (StreamWriter steam = new StreamWriter(file)) { steam.WriteAsync(serialized); } } else { RutonyBot.BotSay(username + ", вы уже вложились в ограбление."); } }
public void GetAnswer(string site, string bandaName) { List <string> answer = new List <string>(); answer.Add("Ваша банда оказалась слишком слабой, и её отпинали в подворотне. Ограбление не удалось."); answer.Add("Ограбление прошло успешно, но придя на хату, обнаружили, что вы ограбили Банк Приколов. Настоящих денег нет."); answer.Add("Вы встретили Черепашек Ниндзя и с трудом унесли ноги. Ограбление не удалось."); answer.Add("Вместо организации ограбления ваша банда пошла в бар и оставила там весь общаг."); answer.Add("Вы успешно ограбили банк. Что бы отпраздновать дело ваша, банда пригласила на хату клофелинщицу Соню, по прозвищу Золотые Ручки. Когда банда очнулась денег и Сони уже не было."); answer.Add("К вам пришел батюшка. Общаг ушел на пожертвование церкви. Ограбление не удалось."); answer.Add("В городе состоялся концерт Михаила Круга. Общаг ушел на цветы артисту. Ограбление не удалось."); answer.Add("Во время ограбления вы встретили коммандера Шепарда. Ограбление не удалось."); answer.Add("Во время ограбления вы встретили Айзека Кларка. И некроморфов. Вы решили, что сегодня не ваш день для ограбления."); answer.Add("Когда ваша банда пришла в банк, вы узнали, что все деньги уже забрал человек с дипломатом и четырьмя пальцами на левой руке. Ограбление не удалось."); answer.Add("Вашу банду поймал Бетмен. К счастью, продажные копы вас отпустили. Ограбление не удалось."); answer.Add("Вашу банду поймал Джокер. К счастью, пока его пинал Бетмен, вы сумели убежать и скрыться. Ограбление не удалось."); answer.Add("Вашу банду поймала Стрипирелла. К счастью. Ограбление не удалось, но вы остались довольны."); answer.Add("Уличные хулиганы отобрали рядом со школой весь общаг вашей банды. Вы написали заявление в полицию."); answer.Add("Во время ограбления вы встретили коммандера Шепарда. Ограбление удалось, но всю добычу пришлось отдать на борьбу со Жнецами."); answer.Add("Ваша банда на улице встретила старуху Шапокляк и крокодила Гену. Пока пенсионерка и рептилойд отвлекали ваше внимание, крыса Лариска украла весь ваш общаг."); answer.Add("В банке вы встрели белых ходоков. Со словами, Зима близко, ваш общаг забрал Король Ночи. Ограбление не удалось."); answer.Add("Пока вы грабили банк, наступил зомби апокалипсис. К счастью, помимо мозгов, зомби еще любят есть деньги. Вся добыча ушла на то, что бы отвлечь живых мертвецов."); answer.Add("По дороге в банк ваша банда решила вместо ограбления вложиться в перспективную молодую компанию МММ. Денег нет, но вы держитесь."); answer.Add("По дороге в банк ваша банда встретила цыганку. Ваша банда потеряла весь общаг, коня, две рубашки, магнитафон, портсигар финский и куртку из нейлона."); answer.Add("Ваша банда решила прибухнуть. Ограбление не удалось."); answer.Add("Ограбление прошло успешно, но в стране случился дефолт и ваша добыча теперь ничего не стоит."); answer.Add("Когда вы пришли в банк, оказалось, что до вас его уже ограбил Тревор. Может постримить ГТА5?"); answer.Add("Вы подскользнулись на банане, потеряли сознание, очнулись - гипс. А общага уже нет. Ограбление не удалось."); answer.Add("Вместо ограбления ваша банда решила пожертвовать общаг голодающим Африки."); answer.Add("Ограбление удалось, но у украденных денег выросли ложноножки, и они убежали."); answer.Add("Ваша банда спустила весь общаг в зале игровых автоматов. При попытке ограбить этот зал, вашу банду спустили из этого зала."); answer.Add("Вашу банду поймал Человек Паук. К счастью, он согласился вас отпустить, если вы сделаете репост стрима. Ограбление не удалось."); answer.Add("Ваша банда успешно ограбила банк, но неожиданно появился Супер Марио и скушал все монеты."); answer.Add("Ваша банда вскрыла хранилище банка, но вместо денег лежала записка с приветом от Джека Воробья. Капитана Джека Воробья."); answer.Add("Пацаны к успеху шли, не получилось, не фартануло. Ограбление не удалось."); Random rnd = new Random(); int rndValue = rnd.Next(answer.Count - 1); string hitText = ""; try { hitText = answer[rndValue]; } catch { RutonyBot.BotSay(site, "Что-то пошло не так как задумывал Кодераст"); } hitText = hitText.Replace("bandaName", bandaName); RutonyBot.BotSay(site, hitText); }
public void NewAlert(string site, string typeEvent, string subplan, string name, string text, float donate, string currency, int qty) { if (typeEvent == "donate") { RutonyBot.BotSay(site, name + " поддержал на " + donate.ToString() + currency); } if (typeEvent == "TwitchPoints") { RutonyBot.BotSay(site, name + " активировал награду за " + donate.ToString()); } }
public void RunScript(string site, string username, string text, string param) { string filename = ProgramProps.dir_scripts + @"\dragon.txt"; if (File.Exists(filename)) { RutonyBot.BotSay(site, "Дракон уже создан!"); return; } RutonyBotFunctions.FileAddString(filename, string.Format("{0}", int.Parse(param))); RutonyBot.BotSay(site, "Вы нашли логово дракона с его сокровищинцей! Бейте его всей толпой!"); }
public void RunScript(string site, string username, string text, string param) { string filename = ProgramProps.dir_scripts + @"\def_" + username + ".txt"; if (File.Exists(filename)) { RutonyBot.BotSay(site, username + " вы уже защищаетесь!!"); return; } RutonyBotFunctions.FileAddString(filename, string.Format("{0}", username)); RutonyBot.BotSay(site, username + " вы теперь защищены от воров(почти) Kappa"); }
public void RunScript(string site, string username, string text, string param) { string filename = ProgramProps.dir_scripts + @"\dragon.txt"; string dragonusers = ProgramProps.dir_scripts + @"\dragonusers.txt"; if (File.Exists(filename)) { RutonyBot.BotSay(site, "Дракон уже создан!"); return; } string[] arrString = param.Split(' '); if (arrString.Length != 3) { RutonyBot.BotSay(site, "Не хватает параметров!"); return; } Random rnd = new Random(); int randomDragon = rnd.Next(1, 4); int hp = int.Parse(arrString[randomDragon - 1]); RutonyBotFunctions.FileAddString(filename, string.Format("{0}", hp)); string[] dragons = { "Визариона", "Рейгаля", "Дрогона" }; RutonyBot.BotSay(site, string.Format("Вы нашли логово {0}! Бейте его всей толпой!", dragons[randomDragon - 1])); new Thread(() => { Thread.CurrentThread.IsBackground = true; Thread.Sleep(3600000); //Время дракона в милисекундах try { File.Delete(dragonusers); } catch { } try { File.Delete(filename); } catch { } RutonyBot.BotSay(site, "Вы не смогли убить дракона и он улетел!"); }).Start(); return; }
public void NewMessage(string site, string name, string text, bool system) { if (system) { return; } if (!(name == "Имя бота") && !(name == "Twitch") && !(name == "YouTube")) { if (site.ToLower() == "twitch") { RutonyBot.BotSay("youtube", "[" + name + "] " + text); } else if (site.ToLower() == "youtube") { RutonyBot.BotSay("twitch", "[" + name + "] " + text); } else { } } }
public void RunScript(string site, string username, string text, string param) { string filename = ProgramProps.dir_scripts + @"\dragon.txt"; string dragonusers = ProgramProps.dir_scripts + @"\dragonusers.txt"; string textsfile = ProgramProps.dir_scripts + @"\texts.json"; string[] filetexts = File.ReadAllLines(textsfile); CreditName names = JsonConvert.DeserializeObject <CreditName>(filetexts[0]); //RutonyBot.BotSay(site, names.mnpads[0] + " " + names.edpads[0]); if (!File.Exists(filename)) { RutonyBot.BotSay(site, "Дракон еще не появился! Попросите администратора об этом!"); return; } string[] hp = File.ReadAllLines(filename); int currenthp = Convert.ToInt32(hp[0]); RankControl.ChatterRank strlist = RankControl.ListChatters.Find(r => r.Nickname == username.Trim().ToLower()); if (strlist == null) { RutonyBot.BotSay(site, username + ", ошибка! Вашей записи нет в базе данных или она повреждена!"); return; } int str = strlist.RankOrder; Random rnd = new Random(); int rndstr = rnd.Next(1, 11); int krit = 1; switch (rndstr) { case 1: currenthp -= (str + 2) * 3; krit = 3; break; case 2: RutonyBot.BotSay(site, string.Format("{0} промахивается по дракону!", username)); break; case 3: RutonyBot.BotSay(site, string.Format("Дракон блокирует удар {0}!", username)); //RutonyBot.BotSay(site, "/timeout " + username + " 30"); break; case 4: currenthp += 5; RutonyBot.BotSay(site, string.Format("Дракон уклоняется от удара {0} и восставнавливает силы!(+5 хп)!", username)); try { File.Delete(filename); } catch { } RutonyBotFunctions.FileAddString(filename, string.Format("{0}", currenthp)); break; default: currenthp -= (str + 2); break; } if (rndstr > 1 && rndstr <= 4) { return; } RutonyBotFunctions.FileAddString(dragonusers, string.Format("{0} {1}", username, (str + 2) * krit)); if (currenthp > 0) { RutonyBot.BotSay(site, string.Format("{0} бьет дракона на {1} урона! У дракона осталось {2} здоровья! Поднажмите!", username, (str + 2) * krit, currenthp)); try { File.Delete(filename); } catch { } RutonyBotFunctions.FileAddString(filename, string.Format("{0}", currenthp)); } else { RutonyBot.BotSay(site, string.Format("{0} добивает дракона! Всем участники получают " + names.mnpads[0] + " из его сокровищницы!", username)); string[] listUsers = File.ReadAllLines(dragonusers); int countPlayers = RutonyBotFunctions.FileLength(dragonusers); for (int j = 0; j < countPlayers; j++) { string[] arrString = listUsers[j].Split(' '); RankControl.ChatterRank cr_win = RankControl.ListChatters.Find(r => r.Nickname == username.Trim().ToLower()); cr_win.CreditsQty += Convert.ToInt32(int.Parse(arrString[1]) * 0.5); } try { File.Delete(dragonusers); } catch { } try { File.Delete(filename); } catch { } } }
public void RunScript(string site, string username, string text, string param) { string filename = ProgramProps.dir_scripts + @"\dragon.txt"; string file = ProgramProps.dir_scripts + @"\dragonwarriors.json"; if (!File.Exists(filename)) { RutonyBot.BotSay(site, "Дракон еще не появился! Попросите администратора об этом!"); return; } string[] hp = File.ReadAllLines(filename); int currenthp = Convert.ToInt32(hp[0]); RankControl.ChatterRank strlist = RankControl.ListChatters.Find(r => r.Nickname == username.Trim().ToLower()); if (strlist == null) { RutonyBot.BotSay(site, username + ", ошибка! Вашей записи нет в базе данных или она повреждена!"); return; } int str = strlist.RankOrder; Random rnd = new Random(); int rndstr = rnd.Next(1, 11); int krit = 1; switch (rndstr) { case 1: currenthp -= (str + 2) * 3; krit = 3; break; case 2: RutonyBot.BotSay(site, string.Format("{0} промахивается по дракону!", username)); break; case 3: RutonyBot.BotSay(site, string.Format("Дракон блокирует удар {0}!", username)); //RutonyBot.BotSay(site, "/timeout " + username + " 30"); break; case 4: currenthp += 5; RutonyBot.BotSay(site, string.Format("Дракон уклоняется от удара {0} и восставнавливает силы!(+5 хп)!", username)); try { File.Delete(filename); } catch { } RutonyBotFunctions.FileAddString(filename, string.Format("{0}", currenthp)); break; default: currenthp -= (str + 2); break; } if (rndstr > 1 && rndstr <= 4) { return; } AddWarrior(username, (str + 2) * krit, site); if (currenthp > 0) { RutonyBot.BotSay(site, string.Format("{0} бьет дракона на {1} урона! У дракона осталось {2} здоровья! Поднажмите!", username, (str + 2) * krit, currenthp)); try { File.Delete(filename); } catch { } RutonyBotFunctions.FileAddString(filename, string.Format("{0}", currenthp)); } else { RutonyBot.BotSay(site, string.Format("{0} добивает дракона! Всем участники получают кредиты из его сокровищницы!", username)); RankControl.ChatterRank cr_lasthit = RankControl.ListChatters.Find(r => r.Nickname == username.Trim().ToLower()); cr_lasthit.CreditsQty += 50; Warriors players = GetListWarriors(); foreach (Warrior player in players.ListWarriors) { RankControl.ChatterRank cr_win = RankControl.ListChatters.Find(r => r.Nickname == player.name); cr_win.CreditsQty += Convert.ToInt32(player.damage); //RutonyBot.BotSay(site, player.name + " получил " + player.amount + " кредитов!"); } try { File.Delete(file); } catch { } try { File.Delete(filename); } catch { } } }
public void RunScript(string site, string username, string text, string param) { string filename = ProgramProps.dir_scripts + @"\steal_" + username + ".txt"; string[] arrString = text.Split(' '); if (arrString.Length != 2) { RutonyBot.BotSay(site, username + ", недостаточно параметров"); return; } RankControl.ChatterRank stealer = RankControl.ListChatters.Find(r => r.Nickname == username.Trim().ToLower()); if (stealer == null) { RutonyBot.BotSay(site, username + ", ошибка! Вашей записи нет в базе данных или она повреждена!"); return; } RankControl.ChatterRank vicit = RankControl.ListChatters.Find(r => r.Nickname == arrString[1].Trim().ToLower()); if (vicit == null) { RutonyBot.BotSay(site, username + ", ошибка! Чаттера " + arrString[1] + " не существует!"); return; } if (vicit.RankOrder == 0) { RutonyBot.BotSay(site, username + ", не воруй у новичков Kappa"); return; } if (File.Exists(filename)) { RutonyBot.BotSay(site, username + " вы уже крадете у кого-то!"); return; } RutonyBotFunctions.FileAddString(filename, string.Format("{0}", arrString[1])); RutonyBot.BotSay(site, username + " начинает подготовку к краже..."); new Thread(() => { Thread.CurrentThread.IsBackground = true; Thread.Sleep(60000); string[] file = File.ReadAllLines(filename); int cof = int.Parse(param) * (stealer.RankOrder - vicit.RankOrder); if (cof < 0) { cof = int.Parse(param) * (stealer.RankOrder + vicit.RankOrder); } Random winrnd = new Random(); int winrandom = winrnd.Next(0, 101); winrandom = winrandom + cof; string filenamedef = ProgramProps.dir_scripts + @"\def_" + arrString[1] + ".txt"; if (File.Exists(filenamedef)) { winrandom -= 25; } //RutonyBot.BotSay(site, "Шанс " + winrandom); if (winrandom > 70) { if (vicit.CreditsQty - winrandom > 10) { RutonyBot.BotSay(site, username + " кража произошла успешно!"); stealer.CreditsQty += winrandom; vicit.CreditsQty -= winrandom; } else { RutonyBot.BotSay(site, username + " у него нечего красть!"); } } else { RutonyBot.BotSay(site, username + " вам не удалось украсть золотые!"); } try { File.Delete(filename); } catch { } try { File.Delete(filenamedef); } catch { } }).Start(); return; }
public void RunScript(string site, string username, string text, string param) { string file = ProgramProps.dir_scripts + @"\robbers.json"; int credit; RankControl.ChatterRank cr = RankControl.ListChatters.Find(r => r.Nickname == username.Trim().ToLower()); if (cr == null) { RutonyBot.BotSay(site, username + ", ошибка! Вашей записи нет в базе данных или она повреждена!"); return; } if (!Int32.TryParse(text.Substring(text.IndexOf(" ") + 1), out credit)) { RutonyBot.BotSay(site, "Количество кредитов должно быть больше 0!"); return; } if (credit <= 0) { RutonyBot.BotSay(site, "Кредитов должно быть больше 0!"); return; } if (cr.CreditsQty < credit) { RutonyBot.BotSay(site, string.Format("У вас всего {0} кредитов!", cr.CreditsQty)); return; } cr.CreditsQty -= credit; if (!File.Exists(file)) { AddRobber(username, credit, site); new Thread(() => { Thread.CurrentThread.IsBackground = true; Thread.Sleep(60000); int sum = 0; Robbers players = GetListRobbers(); foreach (Robber player in players.ListRobbers) { sum += player.amount; } Random winrnd = new Random(); int winrandom = winrnd.Next(1, 100); int sumrandom = (sum / 10); if (sumrandom > 25) { sumrandom = 25; } if (winrandom + sumrandom > 80) { string messageSuccess = ""; foreach (Robber player in players.ListRobbers) { player.amount = player.amount * 2; RankControl.ChatterRank cr_win = RankControl.ListChatters.Find(r => r.Nickname == player.name); cr_win.CreditsQty += player.amount; messageSuccess += player.name + " получил " + player.amount + " кредитов! "; } RutonyBot.BotSay(site, "Ограбление прошло успешно! " + messageSuccess); } else { bool userBest = false; foreach (Robber player in players.ListRobbers) { if (player.name == "alexkwest" || player.name == "alexkwest craft") { userBest = true; RankControl.ChatterRank cr_win = RankControl.ListChatters.Find(r => r.Nickname == player.name); cr_win.CreditsQty += sum; RutonyBot.BotSay(site, player.name + " заложил свою банду. Обнёс общаг суммой: " + sum + " и свалил. Его подельники остались с носом."); } } if (!userBest) { Random randomBank = new Random(); int zeroCash = randomBank.Next(1, 100); if (zeroCash < 2) { string userBank = " "; foreach (Robber player in players.ListRobbers) { RankControl.ChatterRank cr_win = RankControl.ListChatters.Find(r => r.Nickname == player.name); cr_win.CreditsQty = 0; userBank += player.name + " "; } RutonyBot.BotSay(site, userBank + ", вас накрыл ОМОН и изъял все ваши грязные деньги."); } else { GetAnswer(site, "Примечание автора"); //RutonyBot.BotSay(site, "Ограбление не удалось, но грабителям удалось унести ноги."); } } } try { File.Delete(file); } catch { } }).Start(); return; } else { AddRobber(username, credit, site); } }
public void RunScript(string site, string username, string text, string param) { string file = ProgramProps.dir_scripts + @"\robbers.json"; int credit; RankControl.ChatterRank cr = RankControl.ListChatters.Find(r => r.Nickname == username.Trim().ToLower()); if (cr == null) { RutonyBot.BotSay(site, username + ", ошибка! Вашей записи нет в базе данных или она повреждена!"); return; } if (!Int32.TryParse(text.Substring(text.IndexOf(" ") + 1), out credit)) { RutonyBot.BotSay(site, "Количество кредитов должно быть больше 0!"); return; } if (credit <= 0) { RutonyBot.BotSay(site, "Кредитов должно быть больше 0!"); return; } if (cr.CreditsQty < credit) { RutonyBot.BotSay(site, string.Format("У вас всего {0} кредитов!", cr.CreditsQty)); return; } cr.CreditsQty -= credit; if (!File.Exists(file)) { AddRobber(username, credit, site); new Thread(() => { Thread.CurrentThread.IsBackground = true; Thread.Sleep(60000); int sum = 0; Robbers players = GetListRobbers(); foreach (Robber player in players.ListRobbers) { sum += player.amount; } Random winrnd = new Random(); int winrandom = winrnd.Next(1, 100); int sumrandom = (sum / 10); if (sumrandom > 25) { sumrandom = 25; } if (winrandom + sumrandom > 80) { RutonyBot.BotSay(site, "Ограбление прошло успешно!"); foreach (Robber player in players.ListRobbers) { player.amount = player.amount * 2; RankControl.ChatterRank cr_win = RankControl.ListChatters.Find(r => r.Nickname == player.name); cr_win.CreditsQty += player.amount; RutonyBot.BotSay(site, player.name + " получил " + player.amount + " кредитов!"); } } else { RutonyBot.BotSay(site, "Ограбление не удалось, но грабителям удалось унести ноги"); } try { File.Delete(file); } catch { } }).Start(); return; } else { AddRobber(username, credit, site); } }
public void RunScript(string site, string username, string text, string param) { string filename = ProgramProps.dir_scripts + @"deposit_" + username + ".txt"; string textsfile = ProgramProps.dir_scripts + @"\texts.json"; string[] filetexts = File.ReadAllLines(textsfile); CreditName names = JsonConvert.DeserializeObject <CreditName>(filetexts[0]); int credit; RankControl.ChatterRank cr = RankControl.ListChatters.Find(r => r.Nickname == username.Trim().ToLower()); if (cr == null) { RutonyBot.BotSay(site, username + ", ошибка! Вашей записи нет в базе данных или она повреждена!"); return; } string[] arrStringParam = param.Split(' '); if (File.Exists(filename)) { RutonyBot.BotSay(site, username + " вы уже сделали вклад!"); return; } if (arrStringParam.Length != 2) { RutonyBot.BotSay(site, "Не хватает параметров!"); return; } if (!Int32.TryParse(text.Substring(text.IndexOf(" ") + 1), out credit)) { RutonyBot.BotSay(site, "Количество " + names.mnpads[1] + " должно быть больше 0!"); return; } if (credit <= 0) { RutonyBot.BotSay(site, names.mnpads[1] + " должно быть больше 0!"); return; } if (credit > int.Parse(arrStringParam[1])) { RutonyBot.BotSay(site, names.mnpads[1] + " должно быть не больше " + int.Parse(arrStringParam[1]) + "!"); return; } if (cr.CreditsQty < credit) { RutonyBot.BotSay(site, string.Format("У вас всего {0} {1}!", cr.CreditsQty, names.mnpads[1])); return; } cr.CreditsQty -= credit; RutonyBot.BotSay(site, username + ", спасибо за вклад, жди процентов через " + int.Parse(arrStringParam[0]) + " секунд!"); RutonyBotFunctions.FileAddString(filename, username); new Thread(() => { Thread.CurrentThread.IsBackground = true; Thread.Sleep(int.Parse(arrStringParam[0]) * 1000); /*Random winrnd = new Random(); * int winrandom = winrnd.Next(1, 5); * * double cofint = winrandom*0.2; * * cr.CreditsQty += Convert.ToInt32(credit*(1+cofint));*/ credit = Convert.ToInt32(credit * 1.1); cr.CreditsQty += credit; RutonyBot.BotSay(site, username + ", вы получаете " + credit + " " + names.mnpads[1] + " за вклад!"); try { File.Delete(filename); } catch { } }).Start(); return; }
public void RunScript(string site, string username, string text, string param) { // !credits nickname 100 string[] arrString = text.Split(' '); if (arrString.Length != 3) { switch (site) { case "Goodgame": RutonyBot.GoodgameBot.Say(username + ", Не хватает агрументов!"); break; case "Twitch": RutonyBot.TwitchBot.Say(username + ", Не хватает агрументов!"); break; } return; } int qtyCredits = 0; try { qtyCredits = int.Parse(arrString[2]); } catch { switch (site) { case "goodgame": RutonyBot.GoodgameBot.Say(username + ", Это не кредиты!"); break; case "twitch": RutonyBot.TwitchBot.Say(username + ", Это не кредиты!"); break; } } RankControl.ChatterRank cr = RankControl.ListChatters.Find(r => r.Nickname == arrString[1].Trim().ToLower()); RankControl.ChatterRank crgiver = RankControl.ListChatters.Find(r => r.Nickname == username.Trim().ToLower()); if (crgiver.CreditsQty < qtyCredits) { RutonyBot.BotSay(site, username + " у вас нет столько кредитов"); return; } if (qtyCredits <= 0) { RutonyBot.BotSay(site, username + " кредитов должно быть больше 0"); return; } if (cr != null) { cr.CreditsQty += qtyCredits; crgiver.CreditsQty -= qtyCredits; switch (site) { case "goodgame": RutonyBot.GoodgameBot.Say(string.Format("{0}, {1} передал вам {2} кредитов и теперь у вас их {3}!", arrString[1], username, qtyCredits, cr.CreditsQty)); break; case "twitch": RutonyBot.TwitchBot.Say(string.Format("{0}, {1} передал вам {2} кредитов и теперь у вас их {3}!", arrString[1], username, qtyCredits, cr.CreditsQty)); break; } } }
public void RunScript(string site, string username, string text, string param) { int credit; int status = 0; RankControl.ChatterRank cr = RankControl.ListChatters.Find(r => r.Nickname == username.Trim().ToLower()); //TODO очень маловероятная ошибка, но вдруг? Механики работы чата пока не знаю, потому проверка пока пусть будет... if (cr == null) { RutonyBot.BotSay(site, username + ", ошибка! Вашей записи нет в базе данных или она повреждена!"); return; } string textsfile = ProgramProps.dir_scripts + @"\texts.json"; string[] filetexts = File.ReadAllLines(textsfile); CreditName names = JsonConvert.DeserializeObject <CreditName>(filetexts[0]); string[] arrString = text.Split(' '); if (arrString.Length != 3) { RutonyBot.BotSay(site, "Используйте !ставка (кол-во " + names.mnpads[1] + ") (красное/черное/ноль)"); return; } //int credit = 0; credit = int.Parse(arrString[1]); if (credit <= 0) { RutonyBot.BotSay(site, "Параметр должен быть положительным числом!"); return; } if (cr.CreditsQty < credit) { RutonyBot.BotSay(site, string.Format("У вас всего {0} {1}!", cr.CreditsQty, names.mnpads[1])); return; } cr.CreditsQty -= credit; string stavka = arrString[2].Trim().ToLower(); if (stavka != "красное" && stavka != "черное" && stavka != "ноль") { RutonyBot.BotSay(site, "Вам нужно указать, на что ставите (красное/черное/ноль)"); return; } Random rnd = new Random(); int randomShoot = rnd.Next(1, 40); if (randomShoot <= 18) { if (stavka == "красное") { status = 1; cr.CreditsQty += credit * 2; } } else if (randomShoot > 18 && randomShoot <= 38) { if (stavka == "черное") { status = 1; cr.CreditsQty += credit * 2; } } else { if (stavka == "ноль") { status = 2; cr.CreditsQty += credit * 5; } } RankControl.ChatterRank cr_change = RankControl.ListChatters.Find(r => r.Nickname == username.Trim().ToLower()); switch (status) { case 0: RutonyBot.BotSay(site, string.Format("Ставка не прошла! К сожалению {2} проиграл и потерял {1} {4}! Теперь у него {3} {4}", randomShoot, credit, username, cr_change.CreditsQty, names.mnpads[1])); break; case 1: RutonyBot.BotSay(site, string.Format("Хорошая ставка! {2} выигрывает и получает {1} {4}! Теперь у него {3} {4}", randomShoot, credit * 2, username, cr_change.CreditsQty, names.mnpads[1])); break; case 2: RutonyBot.BotSay(site, string.Format("Ставка в ноль прошла! {2} получает {1} {4}! Теперь у него {3} {4}", randomShoot, credit * 4, username, cr_change.CreditsQty, names.mnpads[1])); break; } }