Beispiel #1
0
        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 + " вы уже вложились в ограбление");
            }
        }
Beispiel #2
0
        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 NewMessageEx(string site, string name, string text, bool system, Dictionary <string, string> Params)
 {
     if (name == "rutony")
     {
         RutonyBot.BotSay(site, name + ", hello!");
     }
 }
        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 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);
        }
Beispiel #6
0
        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, "Вы нашли логово дракона с его сокровищинцей! Бейте его всей толпой!");
        }
Beispiel #7
0
        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");
        }
Beispiel #8
0
        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;
        }
Beispiel #9
0
        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
                {
                }
            }
        }
Beispiel #10
0
        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;
                }
            }
        }
Beispiel #11
0
        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;
        }
Beispiel #12
0
 public void InitParams(string param)
 {
     RutonyBot.SayToWindow("Test script connected");
 }
Beispiel #13
0
 public void NewMessage(string site, string name, string text, bool system)
 {
     RutonyBot.SayToWindow(string.Format("site={0}, name={1}, text={2}", site, name, text));
 }
Beispiel #14
0
        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);
            }
        }
Beispiel #15
0
        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;
            }
        }
Beispiel #16
0
 public void Closing()
 {
     RutonyBot.SayToWindow("Test script disconnected");
 }
Beispiel #17
0
        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 { }
            }
        }
Beispiel #18
0
        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 { }
            }
        }
Beispiel #19
0
 public void InitParams(string param)
 {
     RutonyBot.SayToWindow("Плагин общего чата включен");
 }
        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);
            }
        }
Beispiel #21
0
        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;
        }