Ejemplo n.º 1
0
 public override string ќбработать—троку(—трока строка, bool статусна¤—трока)
 {
     строка.ѕерекрасить("с севера", 0x0A);
     строка.ѕерекрасить("с юга", 0x0A);
     строка.ѕерекрасить("с запада", 0x0A);
     строка.ѕерекрасить("с востока", 0x0A);
     строка.ѕерекрасить("сверху", 0x0A);
     строка.ѕерекрасить("снизу", 0x0A);
     строка.«аменить("поплелись", "направили свой путь");
     строка.«аменить("¬ас", "¬ј—", 0x0B);
     Match match;
     string значение = строка.ToString();
     match = Regex.Match(значение, @"^ѕадежи : (\w+)/\w+/\w+/\w+/\w+/\w+$");
     if (match.Success && ѕеременные.»м¤ == "")
     {
         Ёлемент¬ывода.ƒобавить(строка);
         ѕеременные.»м¤ = match.Result("$1");
         Ёлемент¬ывода.ќткрыть∆урнал(ѕеременные.»м¤, true);
         return null;
     }
     if (значение.StartsWith("* ¬ св¤зи с проблемами перевода"))
     {
         Ёлемент¬ывода.ƒобавить(строка);
         return ";кто¤";
     }
     if (значение.StartsWith("ѕересоедин¤емс¤") || значение.StartsWith("¬аша душа вновь вернулась в тело"))
     {
         Ёлемент¬ывода.ƒобавить(строка);
         return "кто¤";
     }
     match = Regex.Match(значение, @"^\S+ сказал.? ¬ам : '.*'$");
     if (match.Success)
     {
         Ёлемент¬ывода.ƒобавить(строка);
          онструктор.√лавноеќкно.Ёлемент¬ывода.¬ывести(строка);
         return null;
     }
     match = Regex.Match(значение, @"\[.+:.+\] >$");
     if (match.Success && статусна¤—трока)
     {
         Ёлемент¬ывода.ƒобавить(строка);
         if (!вЅою)
         {
             вЅою = true;
             return "автоуклонение";
         }
         return null;
     }
     match = Regex.Match(значение, @">$");
     if (match.Success && статусна¤—трока)
     {
         Ёлемент¬ывода.ƒобавить(строка);
         if (вЅою)
             вЅою = false;
         return null;
     }
     if (значение == "   „его ¬аша душа желает ?" && статусна¤—трока) // при гибели персонажа
     {
         Ёлемент¬ывода.ƒобавить(строка);
         if (вЅою)
             вЅою = false;
         return null;
     }
     if (значение.StartsWith("### ") && статусна¤—трока) // при подключении и отключении
     {
         Ёлемент¬ывода.ƒобавить(строка);
         if (вЅою)
             вЅою = false;
         if (значение == "### —оединение утер¤но." || значение == "### —оединение разорвано пользователем.")
         {
             ѕеременные.»м¤ = "";
             Ёлемент¬ывода.«акрыть∆урнал();
             return null;
         }
         return null;
     }
     match = Regex.Match(значение, @"^### (¬ерси¤ MCCP| оэффициент сжати¤): (.+)\.");
     if (match.Success)
     {
         Ёлемент¬ывода.ƒобавить(строка);
         return match.Result("эмо : $1 = $2");
     }
     if (значение == "### —жатие отсутствует.")
     {
         Ёлемент¬ывода.ƒобавить(строка);
         return "эмо : —жатие отсутствует";
     }
     if (значение == "ћинул час.")
     {
         Ёлемент¬ывода.ƒобавить(new —трока("----- ћ»Ќ”Ћ „ј— -----", 0x09));
         return "петь;ик";
     }
     if (значение.StartsWith("Ћед¤ной щит"))
         return null;
     if (значение.StartsWith("¬оздушный щит"))
         return null;
     if (значение.StartsWith("¬ам лучше встать"))
     {
         строка.ѕерекрасить(0x9F);
         Ёлемент¬ывода.ƒобавить(строка);
         return null;
     }
     return base.ќбработать—троку(строка, статусна¤—трока);
 }
Ejemplo n.º 2
0
    public override string ќбработать—троку(—трока строка, bool статусна¤—трока)
    {
        строка.ѕерекрасить("с севера", 0x0A);
        строка.ѕерекрасить("с юга", 0x0A);
        строка.ѕерекрасить("с запада", 0x0A);
        строка.ѕерекрасить("с востока", 0x0A);
        строка.ѕерекрасить("сверху", 0x0A);
        строка.ѕерекрасить("снизу", 0x0A);
        строка.«аменить("поплелись", "направили свой путь");
        строка.«аменить("¬ас", "¬ј—", 0x0B);
        Match  match;
        string значение = строка.ToString();

        match = Regex.Match(значение, @"^ѕадежи : (\w+)/\w+/\w+/\w+/\w+/\w+$");
        if (match.Success && ѕеременные.»м¤ == "")
        {
            Ёлемент¬ывода.ƒобавить(строка);
            ѕеременные.»м¤ = match.Result("$1");
            Ёлемент¬ывода.ќткрыть∆урнал(ѕеременные.»м¤, true);
            return(null);
        }
        if (значение.StartsWith("* ¬ св¤зи с проблемами перевода"))
        {
            Ёлемент¬ывода.ƒобавить(строка);
            return(";кто¤");
        }
        if (значение.StartsWith("ѕересоедин¤емс¤") || значение.StartsWith("¬аша душа вновь вернулась в тело"))
        {
            Ёлемент¬ывода.ƒобавить(строка);
            return("кто¤");
        }
        match = Regex.Match(значение, @"^\S+ сказал.? ¬ам : '.*'$");
        if (match.Success)
        {
            Ёлемент¬ывода.ƒобавить(строка);
             онструктор.√лавноеќкно.Ёлемент¬ывода.¬ывести(строка);
            return(null);
        }
        match = Regex.Match(значение, @"\[.+:.+\] >$");
        if (match.Success && статусна¤—трока)
        {
            Ёлемент¬ывода.ƒобавить(строка);
            if (!вЅою)
            {
                вЅою = true;
                return("автоуклонение");
            }
            return(null);
        }
        match = Regex.Match(значение, @">$");
        if (match.Success && статусна¤—трока)
        {
            Ёлемент¬ывода.ƒобавить(строка);
            if (вЅою)
            {
                вЅою = false;
            }
            return(null);
        }
        if (значение == "   „его ¬аша душа желает ?" && статусна¤—трока)         // при гибели персонажа
        {
            Ёлемент¬ывода.ƒобавить(строка);
            if (вЅою)
            {
                вЅою = false;
            }
            return(null);
        }
        if (значение.StartsWith("### ") && статусна¤—трока)         // при подключении и отключении
        {
            Ёлемент¬ывода.ƒобавить(строка);
            if (вЅою)
            {
                вЅою = false;
            }
            if (значение == "### —оединение утер¤но." || значение == "### —оединение разорвано пользователем.")
            {
                ѕеременные.»м¤ = "";
                Ёлемент¬ывода.«акрыть∆урнал();
                return(null);
            }
            return(null);
        }
        match = Regex.Match(значение, @"^### (¬ерси¤ MCCP| оэффициент сжати¤): (.+)\.");
        if (match.Success)
        {
            Ёлемент¬ывода.ƒобавить(строка);
            return(match.Result("эмо : $1 = $2"));
        }
        if (значение == "### —жатие отсутствует.")
        {
            Ёлемент¬ывода.ƒобавить(строка);
            return("эмо : —жатие отсутствует");
        }
        if (значение == "ћинул час.")
        {
            Ёлемент¬ывода.ƒобавить(new —трока("----- ћ»Ќ”Ћ „ј— -----", 0x09));
            return("петь;ик");
        }
        if (значение.StartsWith("Ћед¤ной щит"))
        {
            return(null);
        }
        if (значение.StartsWith("¬оздушный щит"))
        {
            return(null);
        }
        if (значение.StartsWith("¬ам лучше встать"))
        {
            строка.ѕерекрасить(0x9F);
            Ёлемент¬ывода.ƒобавить(строка);
            return(null);
        }
        return(base.ќбработать—троку(строка, статусна¤—трока));
    }