コード例 #1
0
        public void AddWarrior(string username, int vklad, string site)
        {
            string   file    = ProgramProps.dir_scripts + @"\dragonwarriors.json";
            Warriors players = GetListWarriors();

            Warrior thiswarrior = players.ListWarriors.Find(r => r.name == username.Trim().ToLower());

            if (thiswarrior == null)
            {
                players.ListWarriors.Add(new Warrior()
                {
                    name = username.Trim().ToLower(), damage = vklad
                });
                thiswarrior = players.ListWarriors.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
            {
                thiswarrior.damage += vklad;

                try {
                    File.Delete(file);
                } catch { }

                string serialized = JsonConvert.SerializeObject(players);
                RutonyBotFunctions.FileAddString(file, serialized);
            }
        }
コード例 #2
0
        public Warriors GetListWarriors()
        {
            string file = ProgramProps.dir_scripts + @"\dragonwarriors.json";

            Warriors players = new Warriors();

            if (File.Exists(file))
            {
                string[] filetexts = File.ReadAllLines(file);

                players = JsonConvert.DeserializeObject <Warriors>(filetexts[0]);
            }

            return(players);
        }
コード例 #3
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 { }
            }
        }