Advertisement
_LINKI

OooldGame - HackGame C#

Dec 21st, 2019
393
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 339.63 KB | None | 0 0
  1. using System;
  2. using System.Text;
  3. using System.Windows.Forms;
  4. using System.Threading;
  5. using System.IO;
  6. using System.Xml;
  7.  
  8. namespace Hack_GAME
  9. {
  10.     class Program
  11.     {
  12.         #region var
  13.         public StartPrograms SP;
  14.  
  15.         Thread th_program;
  16.         Thread scriptTH;
  17.         Thread scriptTH2;
  18.         Thread ProverkaObmenTH;
  19.  
  20.         public string MessageObmen { get; set; }
  21.         public string[] FileObmen { get; set; }
  22.  
  23.         string[] ips = new string[10];
  24.         string CurrIP = "";
  25.         string ip = "127.0.0.1";
  26.         int currSavePos;
  27.         bool podskz_of_on = true;
  28.  
  29.         dostup publicDostup;
  30.         string[] currProgram;
  31.         string Name = "";
  32.  
  33.         bool iffer = false;
  34.         bool ifferOtvet;
  35.         string ScriptMessage = "yes";
  36.         string GlobalScriptActions;
  37.         string GlobalCommandScript;
  38.         bool ScriptOnOf = false;
  39.         string[] script = null;
  40.  
  41.         string input = "", comand = "", redir = "redir=";
  42.  
  43.         Array[] DATA = new Array[10];
  44.         Array[] files;
  45.         Array[] memDownload;
  46.         Array[] memFileProgram = new Array[100];
  47.  
  48.         Random rand = new Random();
  49.         int programsOtvet = 0;
  50.         string process = "";
  51.  
  52.         bool true_and_false = false;
  53.  
  54.         public enum dostup
  55.         {
  56.             admin, user, read, write, none
  57.         }
  58.         #endregion
  59.  
  60.         #region Точка входа
  61.         [STAThread]
  62.         static void Main(string[] args)
  63.         {
  64.             Program program = new Program();
  65.             program.Initialization();
  66.         }
  67.         #endregion
  68.         #region Инициализация
  69.         public void Initialization()
  70.         {
  71.             Console.TreatControlCAsInput = false;
  72.             Console.SetWindowSize(100, 40);
  73.             Console.Title = "HACK GAME";
  74.             Console.ForegroundColor = ConsoleColor.Green;
  75.  
  76.             #region ips
  77.             ips[0] = "100.100.10.10";
  78.             ips[1] = "10.10.1.1";
  79.             ips[2] = "1.2.3.4";
  80.             #endregion
  81.  
  82.             string otv = "0";
  83.             for (bool ex = false; ex == false; )
  84.             {
  85.                 Console.BackgroundColor = ConsoleColor.DarkGreen;
  86.                 Console.ForegroundColor = ConsoleColor.Green;
  87.                 Console.Write("                                           HACK GAME                                                ");
  88.                 Console.WriteLine();
  89.                 Console.BackgroundColor = ConsoleColor.Black;
  90.                 Console.WriteLine("1: Новая игра");
  91.                 Console.WriteLine("2: Загрузить игру");
  92.                 Console.WriteLine();
  93.                 Console.Write("Ввод: ");
  94.                 otv = Console.ReadLine();
  95.  
  96.                 Console.BackgroundColor = ConsoleColor.Black;
  97.                 Console.ForegroundColor = ConsoleColor.Gray;
  98.  
  99.                 if (otv == "1")
  100.                 {
  101.                     ex = true;
  102.                 }
  103.                 else
  104.                 {
  105.                     if (otv == "2")
  106.                     {
  107.                         if (LoadGame() == 1)
  108.                         {
  109.                             ex = true;
  110.                         }
  111.                         else
  112.                         {
  113.                             Console.Clear();
  114.                             otvetProc("ОШИБКА! НЕ ВЫБРАНО СОХРАНЕНИЕ!", false);
  115.                             continue;
  116.                         }
  117.                     }
  118.                     else
  119.                     {
  120.                         Console.Clear();
  121.                         otvetProc("ОШИБКА! Введите 1 или 2!", false);
  122.                     }
  123.                 }
  124.             }
  125.  
  126.             Console.Clear();
  127.             Prolog();
  128.         }
  129.         #endregion
  130.  
  131.         #region Пролог
  132.         public void Prolog()
  133.         {
  134.             if (currSavePos > 1)
  135.             {
  136.                 otvetProc("Добро пожаловать в систему " + Name + ", ваш IP - " + ip, true);
  137.             }
  138.  
  139.             const string alex = "Алекс";
  140.             const string fraim = "Фрейм";
  141.  
  142.             if (ip == "127.0.0.1")
  143.             {
  144.                 string ip1 = rand.Next(0, 256).ToString();
  145.                 string ip2 = rand.Next(0, 256).ToString();
  146.                 string ip3 = rand.Next(0, 256).ToString();
  147.                 string ip4 = rand.Next(0, 256).ToString();
  148.  
  149.                 ip = ip1 + "." + ip2 + "." + ip3 + "." + ip4;
  150.             }
  151.             #region SavePos 0
  152.             if (currSavePos == 0)
  153.             {
  154.                 memDownload = new Array[100];
  155.  
  156.                 dialog("Привет. Ты помнишь меня?", true, "Незнакомец");
  157.                 pers("Нет, а кто ты?", true, "Я");
  158.                 dialog("Я Алекс. Ты шутишь?", true, "Незнакомец");
  159.                 pers("Нет! Я серьёзно.", true, "Я");
  160.                 dialog("Ой! Я случайно тебя перепутал с моим другом ;D", true, alex);
  161.                 pers(";D", true, "Я");
  162.                 dialog("Как тебя зовут?", alex);
  163.                 #region NAME
  164.                 for (bool ex = false; ex == false; )
  165.                 {
  166.                     try
  167.                     {
  168.                         Console.BackgroundColor = ConsoleColor.DarkGreen;
  169.                         Console.ForegroundColor = ConsoleColor.Green;
  170.                         Name = CallInputUser();
  171.                         Boolean permen = true;
  172.  
  173.                         if (Name.Length > 8)
  174.                         {
  175.                             otvetProc("Максимальная длинна имени 8 символов!", false);
  176.                             continue;
  177.                         }
  178.                         if (Name.Length < 4)
  179.                         {
  180.                             otvetProc("Минимальная длинна имени 4 символа!", false);
  181.                             continue;
  182.                         }
  183.                         if (Name[0] == ' ')
  184.                         {
  185.                             otvetProc("Имя должно начинаться с буквы или цифры!", false);
  186.                             continue;
  187.                         }
  188.                         for (int currPos = 0; currPos < Name.Length; currPos++)
  189.                         {
  190.                             if (Name[currPos] == '/' || Name[currPos] == '\\')
  191.                             {
  192.                                 otvetProc("В имени нельзя использовать символ / и \\", false);
  193.                                 permen = false;
  194.                                 break;
  195.                             }
  196.                         }
  197.                         if (permen == false)
  198.                         {
  199.                             permen = true;
  200.                             continue;
  201.                         }
  202.                     }
  203.                     catch (Exception)
  204.                     {
  205.                         otvetProc("Недопустимое имя!", false);
  206.                         continue;
  207.                     }
  208.  
  209.                     ex = true;
  210.                 }
  211.                 #endregion
  212.                 dialog("Ну привет " + Name, true, alex);
  213.                 dialog("Хм.. А хочешь я тебя кое-чему научу?", true, alex);
  214.                 pers("Довай =)", true, Name);
  215.                 dialog("Скачай одну программку", true, alex);
  216.                 pers("Какую?", true, Name);
  217.                 dialog("Эту - \"Winlock\"", true, alex);
  218.                 pers("А что она делает?", true, Name);
  219.                 dialog("Очень крутая! Способна на всё! ПОПРОБУЙ!", true, alex);
  220.                 pers("А где её скачать?", true, Name);
  221.                 dialog("Ну ты даёшь! Введи /connect 100.100.10.10. Это величайший магазин приложений!", true, alex);
  222.                 pers("Хорошо, попробую", Name);
  223.  
  224.                 #region Zad_1
  225.                 for (bool final = false; final != true; )
  226.                 {
  227.                     cmd();
  228.                     foreach (string[] file in memDownload)
  229.                     {
  230.                         if (file != null)
  231.                         {
  232.                             if (file[0].ToString() + "." + file[1].ToString() == "winlock.exe")
  233.                             {
  234.                                 final = true;
  235.                             }
  236.                         }
  237.                     }
  238.                 }
  239.                 #endregion
  240.  
  241.                 dialog("Ну что скачал?", true, alex);
  242.                 pers("Да, а как её запустить?", true, Name);
  243.                 dialog("Ну ты и деревня!", alex);
  244.                 dialog("Введи команду - /exe 'имя программы'. В нашем случае введи - /exe winlock или /exe winlock.exe", alex);
  245.  
  246.                 for (bool final = false; final == false; )
  247.                 {
  248.                     cmd();
  249.  
  250.                     if (true_and_false == true)
  251.                     {
  252.                         final = true;
  253.                         true_and_false = false;
  254.                     }
  255.                 }
  256.  
  257.                 dialog("МОЛОДЕЦ! УАХАХАХАХ! ТЫ ПОПАЛСЯ!", true, alex);
  258.                 pers("ЭЙ! ЧТО ЭТО ТАКОЕ?!", true, Name);
  259.                 dialog("ЭТО ТВОЯ СМЕРТЬ! УАХАХАХХА!!", true, alex);
  260.                 pers("СКАЖИ ПАРОЛЬ ПОЖАЛУЙСТА!", true, Name);
  261.                 dialog("ЛАДНО ДЕРЖИ ПАРОЛЬ - 228", true, alex);
  262.                 pers("СЕЙЧАС..", true, Name);
  263.                 pers("НЕ РАБОТАЕТ!", true, Name);
  264.                 dialog("ОЙ! ПЕРЕПУТАЛ! УАХАХА!", true, alex);
  265.                 pers("СКАЖИ ПОЖАЛУЙСТА!!!!", true, Name);
  266.                 dialog("ЛАДНО С ТЕБЯ ХВАТИТ. ТЫ НЕ ИНТЕРЕСНЫЙ.", true, alex);
  267.                 pers("А ПАРОЛЬ?! СКАЖИ!!", Name);
  268.                 dialog("Ладно. Вот тебе подсказка - число дьявола", alex);
  269.  
  270.                 for (bool final = false; final == false; )
  271.                 {
  272.                     if (SP != null)
  273.                     {
  274.                         if (SP.Consolezapros() == 1)
  275.                         {
  276.                             final = true;
  277.                         }
  278.                     }
  279.                     else
  280.                     {
  281.                         final = true;
  282.                     }
  283.                 }
  284.  
  285.  
  286.                 currSavePos = 1;
  287.                 SaveGame();
  288.             }
  289.             #endregion
  290.  
  291.             #region SavePos 1
  292.             if (currSavePos == 1)
  293.             {
  294.                 Console.Clear();
  295.                 Console.WriteLine("/////////////////////////////////////HackOS rebooted////////////////////////////////////////////////");
  296.                 otvetProc("Сохранено!", true);
  297.                 Console.WriteLine();
  298.                 pers("Фух. Теперь я знаю, что никому нельзя доверять.", true);
  299.                 pers("Надо бы удалить со своего компьютера winlock...", true);
  300.                 pers("Как там команда то называется, чтобы в файловую систему попасть?...", true);
  301.                 pers("Хм. Я знаю, что мне поможет! Команда /help");
  302.  
  303.                 for (bool final = false; final == false; )
  304.                 {
  305.                     cmd();
  306.                     bool winlock = false;
  307.                     foreach (string[] file in memDownload)
  308.                     {
  309.                         if (file != null)
  310.                         {
  311.                             if (file[0] == "winlock")
  312.                             {
  313.                                 winlock = true;
  314.                             }
  315.                         }
  316.                     }
  317.                     if (winlock == false)
  318.                         final = true;
  319.                 }
  320.  
  321.                 Console.Clear();
  322.                 otvetProc("Консоль очищена", true);
  323.  
  324.                 pers("Теперь я в полной безопасности.", true, Name);
  325.                 dialog("Не совсем. Хаххах", true, "Незнакомец");
  326.                 pers("ЧТО?! КТО ТЫ?", true, Name);
  327.                 dialog("Я тот, кто тебя взломал. Зови меня Фрейм.", true, "Незнакомец");
  328.                 pers("Как ты меня взломал?", true, Name);
  329.                 dialog("У тебя самая уязвимая система которую я видел.", true, fraim);
  330.                 pers("А как сделать, чтобы была неуязвимой от взлома?", true, Name);
  331.                 dialog("ХАХХААХа. Никак.", true, fraim);
  332.                 pers("ЧТО?!", true, Name);
  333.                 dialog("Можно лишь сделать, чтобы взломать систему было труднее.", true, fraim);
  334.                 pers("Как?", true, Name);
  335.                 dialog("Для начала убери открытый доступ, а то все кто заходят получают admin права ;D", true, fraim);
  336.                 pers("Как это сделать?", true, Name);
  337.                 dialog("Зайди на свой шлюз (ПК). Введи команду /home, в появившемся окне введи запрос 2.", true, fraim);
  338.                 dialog("И поставь доступ на none - нет доступа (для других пользователей).", true, fraim);
  339.                 pers("ОК", Name);
  340.  
  341.                 for (bool final = false; final == false; )
  342.                 {
  343.                     cmd();
  344.                     if (publicDostup == dostup.none)
  345.                         final = true;
  346.                 }
  347.                 Console.Clear();
  348.                 otvetProc("Консоль очищена", true);
  349.                 Console.WriteLine();
  350.                 pers("Готово.", true, Name);
  351.                 dialog("Хорошо, а теперь ты можешь мне помочь в одном деле.", true, fraim);
  352.                 pers("В каком?", true, Name);
  353.                 dialog("Нужно помочь сделать DDOS атаку. Это просто.", true, fraim);
  354.                 pers("Ну ок помогу. Что делать то нужно?", true, Name);
  355.                 dialog("Сначало скачай программу для DDOS атак.", true, fraim);
  356.                 pers("Где я её скачаю?", true, Name);
  357.                 dialog("Наша группа хакеров называется - \"CRACKNET\" и я в ней состою", true, fraim);
  358.                 dialog("Скачай файл - ddoser.exe с нашего файлового сервера", true, fraim);
  359.                 dialog("IP - 10.10.1.1", true, fraim);
  360.                 pers("Хорошо.");
  361.  
  362.                 for (bool ex = false; ex == false; )
  363.                 {
  364.                     cmd();
  365.                     foreach (string[] file in memDownload)
  366.                     {
  367.                         if (file != null)
  368.                         {
  369.                             if (file[0] == "ddoser" && file[1] == "exe" && file[2] == "ddos")
  370.                             {
  371.                                 ex = true;
  372.                             }
  373.                         }
  374.                     }
  375.                 }
  376.                 Console.Clear();
  377.                 otvetProc("Консоль очищена.", true);
  378.                 currSavePos++;
  379.                 SaveGame();
  380.                 otvetProc("Сохранено!", true);
  381.                 Console.WriteLine();
  382.             }
  383.             #endregion
  384.  
  385.             #region SavePos 2
  386.             if (currSavePos == 2)
  387.             {
  388.                 pers("Скачал.", true, Name);
  389.                 dialog("Отлично", true, fraim);
  390.                 dialog("Теперь запускай. /exe ddoser или /exe ddoser.exe", true, fraim);
  391.                 dialog("Забыл сказать. Есть такая команда \"/exe\".", fraim);
  392.                 dialog("Если её ввести то выводяться все доступные программы на компьютере.", true, fraim);
  393.                 pers("Ок. Сейчас запущу.", Name);
  394.  
  395.                 for (bool final = false; final == false; )
  396.                 {
  397.                     if (true_and_false == false)
  398.                     {
  399.                         cmd();
  400.                     }
  401.                     if (SP != null)
  402.                     {
  403.                         if (SP.Consolezapros() == 1)
  404.                         {
  405.                             final = true;
  406.                         }
  407.                     }
  408.                 }
  409.  
  410.                 pers("Запустил, что дальше?", true, Name);
  411.                 dialog("Введи в строку IP этот ip адрес - 1.2.3.4 . Забавный ip ;D", fraim);
  412.                 dialog("И нажми кнопку ОК. Потом нужно подождать пока сервер упадёт.", fraim);
  413.  
  414.                 for (bool final = false; final == false; )
  415.                 {
  416.                     if (SP != null)
  417.                     {
  418.                         if (SP.Consolezapros() == 3)
  419.                         {
  420.                             final = true;
  421.                         }
  422.                     }
  423.                 }
  424.                 Console.Clear();
  425.                 otvetProc("Консоль очищена!", true);
  426.                 dialog("Молодец! Положил сервер. АХАХА.", true, fraim);
  427.                 pers("Вот это да! Как так я один сервер положил?", true, Name);
  428.                 dialog("АХАХАХАХАХАХ. Ты не один его ложил. Его в основном ложил мой БОТНЕТ ;D", true, fraim);
  429.                 pers(";D", true, Name);
  430.                 dialog("Хмм. Ты подойдёшь в мои ученики.", true, fraim);
  431.                 pers("Я?!", true, Name);
  432.                 dialog("Просто мне нужно передать кому-то все мои знания и разработки. Ты согласен?", true, fraim);
  433.                 pers("ДА! Надеюсь я справлюсь.", true, Name);
  434.  
  435.                 Console.WriteLine();
  436.                 Console.Clear();
  437.                 otvetProc("Консоль очищена!", true);
  438.                 otvetProc("Сохранено!", true);
  439.                 currSavePos++;
  440.                 SaveGame();
  441.             }
  442.             #endregion
  443.  
  444.             #region SavePos 3
  445.             if (currSavePos == 3)
  446.             {
  447.                 dialog("Для начала я тебя научу, как взламывать сервера SQL инъекцией.", true, fraim);
  448.                 pers("Интересно.", true, Name);
  449.                 dialog("У всех серверов есть база данных и в каждой есть уязвимость, где-то много, где-то мало", true, fraim);
  450.                 dialog("Чтобы найти уязвимость в базе данных, нужно перебирать возможные уязвимые запросы.", true, fraim);
  451.                 dialog("Например: запросы - % или &, чаще всего уязвимы!", true, fraim);
  452.                 dialog("Итак, чтобы взломать сервер с помощью SQL инъекции нужно:", true, fraim);
  453.                 Console.WriteLine();
  454.                 dialog("1 - Зайти на шлюз сервера.", true, fraim);
  455.                 dialog("2 - Перебирать запросы. Например - % или ? или ! или & или #. Все запросы есть на /help 4", true, fraim);
  456.                 dialog("3 - Найти уязвимый запрос и с помощью его получить доступ к файловой системе c правами - READ", true, fraim);
  457.                 Console.WriteLine();
  458.  
  459.                 dialog("Забыл тебе сказать! Чтобы не запоминать ip или что-то ещё в голове, запиши в текстовом файле.", true, fraim);
  460.                 dialog("Напиши команду - /note и откроется блокнот в который ты можешь записывать, что хочешь", true, fraim);
  461.                 dialog("Попробуй!", true, fraim);
  462.  
  463.                 pers("Ок", true, Name);
  464.  
  465.                 for (bool final = false; final == false; )
  466.                 {
  467.                     cmd();
  468.                     if (process == "Note")
  469.                     {
  470.                         final = true;
  471.                     }
  472.                 }
  473.  
  474.                 dialog("Хорошо. Там ты можешь записывать, что хочешь, сохранять, загружать .txt файлы", true, fraim);
  475.                 pers("Ок.", true, Name);
  476.  
  477.                 dialog("Для начала попробуй взломать ip - 1.2.3.4 ;D и скачать секретный файл к себе на компьютер ;D.", true, fraim);
  478.                 dialog("Если не понял, то внимательно прочти написанное мной выше!", true, fraim);
  479.  
  480.                 pers("Хорошо, попробую ;D", true, Name);
  481.  
  482.                 for (bool final = false; final == false; )
  483.                 {
  484.                     cmd();
  485.                     foreach (string[] file in memDownload)
  486.                     {
  487.                         if (file != null)
  488.                         {
  489.                             if (file[0] == "Unknown" && file[1] == "null")
  490.                             {
  491.                                 final = true;
  492.                                 break;
  493.                             }
  494.                         }
  495.                     }
  496.                 }
  497.                 Console.Clear();
  498.                 otvetProc("Консоль очищенна.", true);
  499.                 otvetProc("Сохранено!", true);
  500.                 currSavePos++;
  501.                 SaveGame();
  502.             }
  503.             #endregion
  504.  
  505.             #region SavePos 4
  506.             if (currSavePos == 4)
  507.             {
  508.                 pers("Скачал. Что дальше?", true, Name);
  509.                 dialog("Хорошо! Я удивлён! Я уже скачал с твоего компа этот файл ;D", true, fraim);
  510.                 dialog("ТАМ ЖЁСТКАЯ ИНФА. ТЕПЕРЬ У НАС НОВОЕ ЗАДАНИЕ! Нужно предотвратить катастрофу!", true, fraim);
  511.                 pers("ЧТО?! КАКУЮ КАТАСТРОФУ?!", true, Name);
  512.                 dialog("Ахахаххахаха. Я шучу. Для начала нужно расшифровать этот файл. ;D", true, fraim);
  513.                 pers("Ну ты и шутник! ;D", true, Name);
  514.                 dialog("Но расшифровкой я займусь сам.", true, fraim);
  515.                 dialog("Хммм. Думаю как-то странно переписыватся с тобой через твой компуктер ;D", true, fraim);
  516.                 dialog("Тебе нужно зайти по этому IP - 255.255.255.255 . Согласен, IP странный. Еле выбили ;D", true, fraim);
  517.                 dialog("По этому IP ты попадёшь в сервер заданий нашей группы хакеров - CRACKNET.", true, fraim);
  518.                 dialog("Отправляйся туда. Там тебя обучат!", true, fraim);
  519.                 dialog("А также там ты можешь взять задание и получить вознаграждение!", true, fraim);
  520.                 pers("ОГО! Я очень заинтересован!", true, Name);
  521.             }
  522.             #endregion
  523.  
  524.             #region SavePos <= 7
  525.             if (currSavePos <= 7)
  526.             {
  527.                 while (true)
  528.                 {
  529.                     if (currSavePos >= 8)
  530.                         break;
  531.                     else
  532.                         cmd();
  533.                 }
  534.             }
  535.             #endregion
  536.  
  537.             #region SavePos 8
  538.             if (currSavePos == 8)
  539.             {
  540.                 dialog("Привет моя сладенькая", true, fraim);
  541.                 dialog("Довай поиграем?", true, fraim);
  542.                 pers("ЧТО ЗА?!...", true, Name);
  543.                 dialog("ОЙ... Перепутал тебя с ....... другим человеком ;)", true, fraim);
  544.                 pers(";D", true, Name);
  545.                 pers("Ты меня обучать будешь?", true, Name);
  546.                 dialog("Конечно. Сейчас я через 5 минут прийду...", true, fraim);
  547.                 Console.WriteLine();
  548.                 Console.Write("                     ");
  549.                 otvetProc("30 минут спутся", false);
  550.                 Console.WriteLine();
  551.                 pers("ТЫ ГДЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕ?!", true, Name);
  552.                 pers("??????????????????????????????????????????????", true, Name);
  553.                 pers("-_-", true, Name);
  554.                 dialog("Всё я кончил свои дела", true, fraim);
  555.                 dialog("*закончил - минусы быстрого ввода ;D", true, fraim);
  556.                 pers("Ну, ну. Обучай меня", true, Name);
  557.                 dialog("Чему?", true, fraim);
  558.                 pers("---_---", true, Name);
  559.                 pers("СКРИПТИНГУ!", true, Name);
  560.                 dialog("Аааа.. Всё понял. ОК", true, fraim);
  561.                 pers("НАКОНЕЦТО!", true, Name);
  562.  
  563.                 Console.WriteLine();
  564.                 dialog("Приступим", true, fraim);
  565.                 dialog("Сначала я тебя научу команде - write", true, fraim);
  566.                 pers("Я её уже знаю!", true, Name);
  567.                 dialog("Эммм... Ок", true, fraim);
  568.                 Console.WriteLine();
  569.  
  570.                 dialog("Тогда я научу тебя использовать перехват комманд и перехват ввода запроса", true, fraim);
  571.                 dialog("Этот способ лёгкий и позволяет просто перехватить ввод", true, fraim);
  572.                 dialog("Тоесть вместо того, чтобы самому вводить в консоли - /help можно поручить это дело скрипту", true, fraim);
  573.                 dialog("Также поговорим про особенности (скриптового) языка LINKS - точки входа и выхода", true, fraim);
  574.                 dialog("Запускай Scriptor - /exe Scriptor", true, fraim);
  575.                 pers("Ок. Сейчас запущу", true, Name);
  576.                 for (bool final = false; final == false; )
  577.                 {
  578.                     cmd();
  579.                     if (MessageObmen != null)
  580.                     {
  581.                         if (MessageObmen == "Scriptor run")
  582.                         {
  583.                             break;
  584.                         }
  585.                     }
  586.                 }
  587.                 pers("Запустил", true, Name);
  588.                 dialog("Хорошо", true, fraim);
  589.                 dialog("Есть такая команда - cmd /(команда)", true, fraim);
  590.                 dialog("Это тоже самое, что ты вводишь в консоль, только, чтобы скрипт понимал, что нужно запустить консоль", false, fraim);
  591.                 dialog("-Нужно ввести cmd!", true, fraim);
  592.  
  593.                 Console.WriteLine();
  594.                 dialog("Тоесть вот пример скрипта:", true, fraim);
  595.                 dialog("cmd /help", true, fraim);
  596.                 dialog("Это понятно?", true, fraim);
  597.                 pers("Да", true, Name);
  598.                 Console.WriteLine();
  599.  
  600.                 dialog("И когда ты в скрипте пишешь команду - cmd, то открывается точка входа", true, fraim);
  601.                 dialog("А когда cmd закрывается, то точка входа закрывается", true, fraim);
  602.                 dialog("Тоесть - если написать скрипт - cmd /help, тогда если его выпонить", true, fraim);
  603.                 dialog("-То точка входа откроется, выполнится команда /help в консоли и точка входа закроется (и консоль тоже)", true, fraim);
  604.                 dialog("И скрипт выполнится", true, fraim);
  605.  
  606.                 Console.WriteLine();
  607.                 dialog("Попробуй написать этот скрипт (в Scriptor'е):", true, fraim);
  608.                 dialog("cmd /help", true, fraim);
  609.                 Console.WriteLine();
  610.  
  611.                 pers("Хорошо, попробую", true, Name);
  612.                 dialog("Жду 5 сек", false, fraim);
  613.                 Thread.Sleep(5000);
  614.                 dialog("Всё?", true, fraim);
  615.                 pers("Да", true, Name);
  616.                 dialog("Теперь назови свой скрипт и сохрани его!", true, fraim);
  617.                 dialog("И Scriptor пока не закрывай!", true, fraim);
  618.  
  619.                 Console.WriteLine();
  620.                 dialog("Жду 5 сек ;D", false, fraim);
  621.                 Thread.Sleep(5000);
  622.                 dialog("Всё?", true, fraim);
  623.                 pers("Да", true, Name);
  624.                 dialog("Хорошо. Теперь введи команду /script в консоль, чтобы вывести все скрипты, которые есть на твоём ПК", true, fraim);
  625.                 pers("Ок", true, Name);
  626.  
  627.                 Console.WriteLine();
  628.                 while (true)
  629.                 {
  630.                     cmd();
  631.                     if (input == "/script" || input == "/Script" || input == "/SCRIPT")
  632.                     {
  633.                         break;
  634.                     }
  635.                 }
  636.                 pers("Всё. Вывелись все скрипты", true, Name);
  637.                 dialog("Хорошо", true, fraim);
  638.                 dialog("Теперь запусти свой скрипт - /script \"Имя_скрипта\" - без кавычек ;)", true, fraim);
  639.  
  640.                 Console.WriteLine();
  641.                 while (true)
  642.                 {
  643.                     cmd();
  644.                     Thread.Sleep(100);
  645.                     try
  646.                     {
  647.                         if (input.Split(' ')[0] == "/help")
  648.                         {
  649.                             break;
  650.                         }
  651.                     }
  652.                     catch (Exception)
  653.                     {
  654.                         continue;
  655.                     }
  656.                 }
  657.                 Thread.Sleep(100);
  658.                 pers("Ухты! Скрипт вызвал команду /help", true, Name);
  659.                 dialog("Хорошо. Делаешь успехи!", true, fraim);
  660.                 dialog("С помощью - cmd /команда - можно выполнить ЛЮБЫЕ команды", true, fraim);
  661.                 dialog("Например - cmd /exe, cmd /clear, cmd /help, cmd /connect ip(Об этом в следующем уроке :) и другие команды)", true, fraim);
  662.                 dialog("И ещё есть фишка такая - можно вводить команды с Заглавной буквы или С КАПСОМ ;D", true, fraim);
  663.                 dialog("Вот так - Cmd /help или CMD /help или cmd /help - Хорошо, что автор языка LINKS позаботился о кодерах ;D", true, fraim);
  664.                 dialog("Вобщем пиши как тебе удобно ;). Увидемся на следующем уроке ;)", true, fraim);
  665.                 dialog("Кстати, Scriptor можешь закрыть ;)", true, fraim);
  666.  
  667.                 currSavePos++;
  668.                 Console.Clear();
  669.                 SaveGame();
  670.                 otvetProc("Консоль очищенна", true);
  671.                 otvetProc("Игра сохранена", true);
  672.             }
  673.             #endregion
  674.  
  675.             #region SavePos 9
  676.             if (currSavePos == 9)
  677.             {
  678.                 dialog("Запускай Scriptor - /exe Scriptor", true, fraim);
  679.                 pers("Ок. Сейчас запущу", true, Name);
  680.                 for (bool final = false; final == false; )
  681.                 {
  682.                     cmd();
  683.                     if (MessageObmen != null)
  684.                     {
  685.                         if (MessageObmen == "Scriptor run")
  686.                         {
  687.                             break;
  688.                         }
  689.                     }
  690.                 }
  691.                 pers("Запустил", true, Name);
  692.                 dialog("Хорошо", true, fraim);
  693.  
  694.                 dialog("Теперь я тебя научу подключатся к серверам и вводить авто запросы", true, fraim);
  695.                 pers("Интересно...", true, Name);
  696.                 dialog("Предупреждаю! Тебе придётся самому закрывать точку входа! Продумывай действие скрипта!", true, fraim);
  697.                 pers("Постараюсь понять ;)", true, Name);
  698.                 Console.WriteLine();
  699.                 dialog("Чтобы подключится к серверу используем нашу команду - cmd /connect ip", true, fraim);
  700.                 dialog("НО! Консольная команда - /connect ip - не закрывает точку входа!", true, fraim);
  701.                 dialog("Чтобы её закрыть нужно отключится от сервера", true, fraim);
  702.                 dialog("Для этого выучим новую команду - input Ввод - она работает только тогда, когда открыта точка входа!", true, fraim);
  703.                 dialog("Команда - input 0 - отправит запрос 0 на сервер", true, fraim);
  704.                 dialog("Тоесть вот такой срипт получился:", true, fraim);
  705.                 dialog("cmd /connect 255.255.255.255", false, fraim);
  706.                 dialog("input 0", false, fraim);
  707.                 dialog("Этот скрипт подключится к серверу и введёт запрос 0, тоесть отключится от сервера", true, fraim);
  708.                 dialog("И получается, чтобы закрыть точку входа комманды - cmd /connect ip - нужно отключится от сервера!", true, fraim);
  709.  
  710.                 Console.WriteLine();
  711.                 dialog("Теперь попробуй написать скрипт:", false, fraim);
  712.                 dialog("cmd /connect 255.255.255.255", false, fraim);
  713.                 dialog("input 0", false, fraim);
  714.                 Console.WriteLine();
  715.                 pers("Сейчас попробую", true, Name);
  716.  
  717.                 dialog("Жду 10 сек ;)", false, fraim);
  718.                 Thread.Sleep(10000);
  719.                 dialog("Написал?", true, fraim);
  720.                 pers("Да", true, Name);
  721.                 dialog("Теперь называй и сохраняй свой скрипт", true, fraim);
  722.                 dialog("Кстати. Если имя скрипта будет совпадать с существующем именем скрипта то скрипт перезапишется ;)", true, fraim);
  723.  
  724.                 Console.WriteLine();
  725.                 dialog("Жду 5 сек ;)", false, fraim);
  726.                 Thread.Sleep(5000);
  727.                 dialog("Всё?", true, fraim);
  728.                 pers("Да", true, Name);
  729.                 Console.WriteLine();
  730.  
  731.                 dialog("Хорошо теперь запускай свой скрипт (думаю ты знаешь как)", true, fraim);
  732.                 pers("Ок", true, Name);
  733.  
  734.                 Console.WriteLine();
  735.                 while (true)
  736.                 {
  737.                     cmd();
  738.                     try
  739.                     {
  740.                         if (input == "0")
  741.                         {
  742.                             break;
  743.                         }
  744.                     }
  745.                     catch (Exception)
  746.                     {
  747.                         continue;
  748.                     }
  749.                 }
  750.                 Thread.Sleep(100);
  751.                 Console.WriteLine();
  752.                 pers("Ух ты. Прикольно", true, Name);
  753.                 dialog("Это мы ещё до автоматической SQL инъекции не дошли ;D", true, fraim);
  754.                 dialog("Сейчас я тебя научу скачивать файлы с серверов (если доступ позволяет)", true, fraim);
  755.                 dialog("Нового ничего не скажу, но лишь покажу пример", true, fraim);
  756.                 dialog("Вобщем всё просто", true, fraim);
  757.                 Console.WriteLine();
  758.                 dialog("Тебе нужно сохранить(на свой ПК) файл - SaveMe.txt с сервера - IP - 255.255.255.254 - НА КОНЦЕ 4! ;D", true, fraim);
  759.                 dialog("Для этого нужно подключится к серверу (команду знаешь - пиши), войти в файловую систему(обычно запрос 1)", true, fraim);
  760.                 dialog("Потом, нужно сохранить файл - SaveMe.txt(запрос - save SaveMe.txt) для этого используй - input save Имя_файла", true, fraim);
  761.                 dialog("Потом, как мы знаем нужно отключится от сервера, НО мы находимся в файловой системе", true, fraim);
  762.                 dialog("И чтобы отключится от неё нужно ввести запрос - dc, тоесть в скрипте будет так - input dc", true, fraim);
  763.                 dialog("И последнее, что нужно сделать для того чтобы закрыть точку входа - запрос 0 тоесть в скрипте так - input 0", true, fraim);
  764.                 dialog("Всё! Точка входа закрыта! Теперь можно выполнять другие команды или ничего больше не писать", true, fraim);
  765.  
  766.                 Console.WriteLine();
  767.                 dialog("Пиши скрипт сам - жду 10 сек", false, fraim);
  768.                 pers("Попробую", false, Name);
  769.                 Thread.Sleep(10000);
  770.                 dialog("Всё?", true, fraim);
  771.                 pers("Да", true, Name);
  772.                 Console.WriteLine();
  773.  
  774.                 dialog("Теперь довай сверимся ;D", true, fraim);
  775.                 pers(";D", true, Name);
  776.  
  777.                 Console.WriteLine();
  778.                 dialog("Вот мой скрипт:", true, fraim);
  779.                 dialog("cmd /connect 255.255.255.254", false, fraim);
  780.                 dialog("input 1", false, fraim);
  781.                 dialog("input save SaveMe.txt", false, fraim);
  782.                 dialog("input dc", false, fraim);
  783.                 dialog("input 0", false, fraim);
  784.                 dialog("write 'Scrypt by - FRAIM'", false, fraim);
  785.  
  786.                 Console.WriteLine();
  787.                 dialog("Ну как тебе мой скрипт?", true, fraim);
  788.                 pers("Не плохо ;)", true, Name);
  789.                 dialog("Теперь называй и сохраняй скрипт!", true, fraim);
  790.                 dialog("Если всё хорошо, то скрипт успешно сохранится", true, fraim);
  791.  
  792.                 Console.WriteLine();
  793.                 dialog("Теперь запускай скрипт ;)", true, fraim);
  794.                 pers("Ок", true, Name);
  795.  
  796.                 Console.WriteLine();
  797.                 while (true)
  798.                 {
  799.                     cmd();
  800.                     try
  801.                     {
  802.                         if (SearchFileInMemory("SaveMe", "txt", memDownload) != null)
  803.                         {
  804.                             break;
  805.                         }
  806.                     }
  807.                     catch (Exception)
  808.                     {
  809.                         continue;
  810.                     }
  811.                 }
  812.                 Thread.Sleep(100);
  813.                 Console.WriteLine();
  814.                 pers("Всё! Круто.", true, Name);
  815.                 dialog("Ну как тебе скриптинг?", true, fraim);
  816.                 pers("Классная штука!", true, Name);
  817.                 dialog("Обучение продолжим позже", true, fraim);
  818.  
  819.                 currSavePos++;
  820.                 Console.Clear();
  821.                 SaveGame();
  822.                 otvetProc("Консоль очищенна", true);
  823.                 otvetProc("Игра сохранена", true);
  824.             }
  825.             #endregion
  826.  
  827.             #region SavePos 10
  828.             if (currSavePos == 10)
  829.             {
  830.                 dialog("Ты знаком с сетью - NetHackers?", true, fraim);
  831.                 pers("Слышал, но незнаю, как туда попасть ;)", true, Name);
  832.                 dialog("ЕЩЁ ОДИН УРОК ;D", true, fraim);
  833.                 pers(";)", true, Name);
  834.                 dialog("Для того, чтобы туда попасть нужно получить приглашение от лидера сети", true, fraim);
  835.                 pers("И каким образом я получу это приглашение?!", true, Name);
  836.                 dialog("Нужно пройти много вступительных заданий или ....", true, fraim);
  837.                 pers("Что или?", true, Name);
  838.                 dialog("Ахахахахаххахха. Впервые такое вижу....", true, fraim);
  839.                 pers("ЧТО?", true, Name);
  840.                 dialog("У сегоднешнего нового лидера - защита сервера очень низкая ;D", true, fraim);
  841.                 dialog("Ну, каждому участнику сети выделяется собственный сервер, а новичок лидер его ещё не защитил ;D", true, fraim);
  842.                 pers(";D Мы будем ломать этот сервер?", true, Name);
  843.                 dialog("Ну ты же не хочешь проходить испытания?", true, fraim);
  844.                 pers("Нет ;)", true, Name);
  845.  
  846.                 dialog("Тогда за дело!", true, fraim);
  847.                 dialog("Я делаю всё основное - получаю ip сервера, ложу proxy сервер ботнетом, отключаю FIREWALL", true, fraim);
  848.                 dialog("С тебя SQL инъекция ;D", true, fraim);
  849.                 dialog("Все файлы там мои, а приглашение я тебе отправлю", true, fraim);
  850.                 dialog("Сейчас нужно получить ip сервера - чуть-чуть СОЦИАЛЬНОЙ ИНЖЕНЕРИИ (СИ) и я тебе дам IP", true, fraim);
  851.                 dialog("Дальше я ложу proxy и отключаю FIREWALL, а дальше командую тебе, чтобы ты искал уязвимость", true, fraim);
  852.                 pers("Ок. Жду", true, Name);
  853.  
  854.                 Waiter(6, 1000);
  855.                 dialog("IP получил! Сейчас тебе не скажу - глупостей наделаешь ;)", true, fraim);
  856.                 pers(";)", true, Name);
  857.                 dialog("Ложу proxy ;)", true, fraim);
  858.                 pers("Ок. Жду....", true, Name);
  859.                 Waiter(6, 1000);
  860.                 dialog("Всё! Прокси положил!", true, fraim);
  861.                 pers("Довай IP!", true, Name);
  862.                 dialog("Подожди!", true, fraim);
  863.                 dialog("Теперь мне нужно обойти и отключить FIREWALL ;)", true, fraim);
  864.                 pers("-_-", true, Name);
  865.                 Waiter(10, 1000);
  866.                 dialog("FIREWALL отключил! Теперь дам ip и пойду отдыхать ;D", true, fraim);
  867.                 pers("Наконецто! О ЧУДО! ТЫ ТУТ!", true, Name);
  868.                 pers("Эммм... IP ДОВАЙ!", true, Name);
  869.                 dialog("Привет, продолжим сладко?", true, fraim);
  870.                 pers("Что зА??????!!!!", true, Name);
  871.                 dialog("ОЙ! Дамм... Опять не туда! Перепутал сообщения - не обращай внимания ;)", true, fraim);
  872.                 pers("Это ты с кем так общаешься?", true, Name);
  873.                 dialog("Это личное!", true, fraim);
  874.                 pers(";D IP довай", true, Name);
  875.                 dialog("Вот IP - 228.228.228.228", true, fraim);
  876.                 dialog("Напишешь что за уязвимость нашёл! (/help 4 - в помощь ;D)", true, fraim);
  877.  
  878.                 while (true)
  879.                 {
  880.                     cmd();
  881.                     dialog("Что за уязвимость (пример - ! или * и тд)?(если не нашёл, то пиши 0 ;D)", false, fraim);
  882.                     Console.ForegroundColor = ConsoleColor.DarkRed;
  883.                     Console.Write("Уязвимый запрос: ");
  884.                     string vuln = Console.ReadLine();
  885.                     Console.ForegroundColor = ConsoleColor.Gray;
  886.                     if (vuln != null)
  887.                     {
  888.                         if (vuln == "0")
  889.                         {
  890.                             dialog("Ищи быстрей! ;D", false, fraim);
  891.                             continue;
  892.                         }
  893.                         if (vuln == ")")
  894.                         {
  895.                             break;
  896.                         }
  897.                         else
  898.                         {
  899.                             dialog("Что-то не подходит. Ищи лучше!", false, fraim);
  900.                         }
  901.                     }
  902.                 }
  903.                 dialog("Хорошо. Сейчас отправлю приглашение ;)", true, fraim);
  904.                 currSavePos++;
  905.                 SaveGame();
  906.                 Console.Clear();
  907.                 otvetProc("Консоль очищенна", true);
  908.                 otvetProc("Игра сохранена", true);
  909.             }
  910.             #endregion
  911.  
  912.             #region SavePos 11
  913.             if (currSavePos == 11)
  914.             {
  915.                 dialog("Так, всё. Код приглашения - 666228666", true, fraim);
  916.                 dialog("Вот ip главного сервера NetHackers - 0.0.0.0", true, fraim);
  917.                 pers("Вот это IP! ;)", true, Name);
  918.                 dialog("Ага, подключайся и регистрируйся с помощью кода приглашения :)", true, fraim);
  919.                 dialog("Потом как только зарегистрируешься - запиши все данные в блокнот (ЧТОБЫ НЕ ЗАБЫТЬ!)", true, fraim);
  920.                 dialog("Если забудешь, то ВСЁ! - Не попадёшь туда больше ;)", true, fraim);
  921.                 dialog("Потом, когда всё сделаешь - войди в свой аккаунт и прийми мою заявку в друзья :)", true, fraim);
  922.                 dialog("Действуй! (Разговор продолжим там)", true, fraim);
  923.                 pers("Ок!", false, Name);
  924.  
  925.                 for (bool finich = false; finich == false; )
  926.                 {
  927.                     cmd();
  928.                 }
  929.             }
  930.             #endregion
  931.  
  932.             dialog("БЛАГОДАРЮ ВСЕХ! ЕСЛИ НАШЛИ КАКИЕ-то ОШИБКИ ТО ПИШИТЕ МНЕ В ВК!", true, "РАЗРАБОТЧИК");
  933.             dialog("МОЙ ВК - https://vk.com/xxx_xacker_xxx", true, "ССЫЛКА");
  934.             dialog("ЕЩЁ РАЗ СПАСИБО!", true, "РАЗРАБОТЧИК");
  935.             dialog("Тссс... Ждите обновление с историей и функционалом :D", true, "РАЗРАБОТЧИК");
  936.             dialog("0.1.1", true, "Версия игры");
  937.             Console.WriteLine();
  938.             Console.WriteLine();
  939.             Console.WriteLine();
  940.             pers("\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\CREATED BY LINKI////////////////////////////////////////////");
  941.             dialog("Можете побаловаться со скриптами - если, что есть - /help 5 ;D", true, "Разработчик");
  942.             while (true)
  943.             {
  944.                 cmd();
  945.             }
  946.         }
  947.         #endregion
  948.  
  949.         #region INTERNET
  950.  
  951.         //Шлюзы
  952.         public bool NET(string IP)
  953.         {
  954.             string zapros = "";
  955.  
  956.             #region Home
  957.             if (IP == ip)
  958.             {
  959.                 if (iffer == true)
  960.                     ifferOtvet = true;
  961.                 otvetProc("Подключено к ip - " + IP, true);
  962.                 for (bool ex = false; ex == false; )
  963.                 {
  964.                     if (ScriptOnOf == false)
  965.                     {
  966.                         sitesWrite("КОМПЬЮТЕР ПОЛЬЗОВАТЕЛЯ - " + Name, ConsoleColor.DarkGreen, ConsoleColor.Green);
  967.  
  968.                         Console.WriteLine();
  969.  
  970.                         randconsoleColor(true);
  971.                         Console.WriteLine("1: Файловая система");
  972.                         Console.WriteLine("2: Настройки");
  973.                         Console.WriteLine("0: Выход");
  974.  
  975.                         Console.BackgroundColor = ConsoleColor.Black;
  976.                         Console.ForegroundColor = ConsoleColor.Green;
  977.  
  978.                         Console.Write("Запрос:");
  979.  
  980.                         Console.ForegroundColor = ConsoleColor.DarkGreen;
  981.                     }
  982.                     zapros = CallInputUser();
  983.                     switch (zapros)
  984.                     {
  985.                         case "1":
  986.  
  987.                             if (iffer == true)
  988.                                 ifferOtvet = true;
  989.  
  990.                             if (ip == IP)
  991.                             {
  992.                                 fileSystem(IP, dostup.admin);
  993.                             }
  994.                             else
  995.                                 fileSystem(IP, publicDostup);
  996.                             break;
  997.  
  998.                         case "2":
  999.                             if (iffer == true)
  1000.                                 ifferOtvet = true;
  1001.                             publicDostup = options(dostup.admin);
  1002.                             break;
  1003.  
  1004.                         case "0":
  1005.                             if (iffer == true)
  1006.                                 ifferOtvet = true;
  1007.                             ex = true;
  1008.                             dialog("Отключено!", IP);
  1009.                             Console.WriteLine();
  1010.                             break;
  1011.  
  1012.                         default:
  1013.                             if (iffer == true)
  1014.                                 ifferOtvet = false;
  1015.                             otvetProc("НЕВЕРНЫЙ ЗАПРОС!", false);
  1016.                             break;
  1017.                     }
  1018.                 }
  1019.             }
  1020.             #endregion
  1021.  
  1022.             if (IP != ip)
  1023.             {
  1024.                 switch (IP)
  1025.                 {
  1026.                     #region 255.255.255.255
  1027.                     case "255.255.255.255":
  1028.  
  1029.                         if (iffer == true)
  1030.                             ifferOtvet = true;
  1031.                         otvetProc("Подключено к ip - " + IP, true);
  1032.                         for (bool ex = false; ex == false; )
  1033.                         {
  1034.                             if (ScriptOnOf == false)
  1035.                             {
  1036.                                 sitesWrite("ГЛАВНЫЙ СЕРВЕР CR4CKNET", ConsoleColor.DarkRed, ConsoleColor.DarkGreen);
  1037.  
  1038.                                 Console.WriteLine();
  1039.  
  1040.                                 randconsoleColor(true);
  1041.                                 Console.WriteLine("1: Файловая система");
  1042.                                 Console.WriteLine("2: Вход в чат");
  1043.                                 Console.WriteLine("3: Личная переписка");
  1044.                                 Console.WriteLine("0: Выход");
  1045.  
  1046.                                 Console.BackgroundColor = ConsoleColor.Black;
  1047.                                 Console.ForegroundColor = ConsoleColor.Green;
  1048.                                 Console.Write("Запрос: ");
  1049.  
  1050.                                 Console.ForegroundColor = ConsoleColor.DarkGreen;
  1051.                             }
  1052.                             zapros = CallInputUser();
  1053.  
  1054.                             switch (zapros)
  1055.                             {
  1056.                                 #region FileSys
  1057.                                 case "1":
  1058.                                     if (iffer == true)
  1059.                                         ifferOtvet = true;
  1060.                                     fileSystem(IP, dostup.read);
  1061.                                     break;
  1062.                                 #endregion
  1063.  
  1064.                                 #region Chat
  1065.                                 case "2":
  1066.  
  1067.                                     const string SaiRac = "Sa1RaC";
  1068.                                     const string Retro = "Retr0";
  1069.                                     bool zad = false;
  1070.  
  1071.                                     #region SavePos 4
  1072.                                     if (currSavePos == 4)
  1073.                                     {
  1074.                                         otvetProc("Аккаунт " + Name + " подключён к системе.", true);
  1075.                                         dialog("Ооо.. Новенький!", true, SaiRac, ConsoleColor.Blue);
  1076.                                         dialog("Добро пожаловать!", true, Retro);
  1077.                                         pers("Всем привет!", true, Name);
  1078.                                         dialog("Как тебя занясло сюда?", true, SaiRac, ConsoleColor.Blue);
  1079.                                         pers("Меня Фрэйм пригласил ;)", true, Name);
  1080.                                         dialog("Фрэйм?! Он пропал куда-то..", true, Retro);
  1081.                                         dialog("Это точно...", true, SaiRac, ConsoleColor.Blue);
  1082.                                         pers("ЧТО?! Он меня 5 минут назад пригласил", true, Name);
  1083.                                         dialog("Тебе значит повезло с ним поговорить ;D", true, SaiRac, ConsoleColor.Blue);
  1084.                                         dialog("Очень странно...", true, Retro);
  1085.                                         pers("Забавно ;)", true, Name);
  1086.                                         dialog("Ок... " + Name + " умеешь скрипты писать?", true, SaiRac, ConsoleColor.Blue);
  1087.                                         pers("Нет", true, Name);
  1088.                                         dialog("Не переживай. Я тебя научу.", true, SaiRac, ConsoleColor.Blue);
  1089.                                         pers("Хорошо :)", true, Name);
  1090.                                         dialog("Сначало скачай програмку Winlock", true, SaiRac, ConsoleColor.Blue);
  1091.                                         dialog(";D Да, да! Это чудо программка!", true, Retro);
  1092.                                         pers(";) Не, не, не. Мне эту хрень не надо!", true, Name);
  1093.                                         dialog("Ок. Ты прошёл вступительный тест! ;D", true, SaiRac, ConsoleColor.Blue);
  1094.                                         dialog("Молодец! :D", true, Retro);
  1095.                                         pers("Эммм.. Скрипты писать научишь?", true, Name);
  1096.                                         dialog("Ок. Скачай Winlock", true, SaiRac, ConsoleColor.Blue);
  1097.                                         dialog(";D", true, Retro);
  1098.                                         pers("ЧТО?! НЕ, НЕ, НЕ!", true, Name);
  1099.                                         dialog(";D Ты прошёл 2-ой тест ;)", true, SaiRac, ConsoleColor.Blue);
  1100.                                         pers(";D А скрипты писать научишь!?", true, Name);
  1101.                                         dialog("Ахахах.. ;D", true, Retro);
  1102.                                         dialog("Я сам не знаю ;D. Скрипты знает Retro ;)", true, SaiRac, ConsoleColor.Blue);
  1103.                                         pers("Ну ты и шутник...", true, Name);
  1104.                                         dialog(";) Скачай программку Scriptor.exe", true, Retro);
  1105.                                         dialog("На этом сервере(В файловой системе)", true, Retro);
  1106.                                         dialog("Потом возвращайся обратно ;)", true, SaiRac, ConsoleColor.Blue);
  1107.                                         pers("Ок", false, Name);
  1108.  
  1109.                                         currSavePos++;
  1110.                                         SaveGame();
  1111.                                         otvetProc("Сохранено.", true);
  1112.                                     }
  1113.                                     #endregion
  1114.  
  1115.                                     #region SavePos 5
  1116.                                     if (currSavePos == 5)
  1117.                                     {
  1118.                                         foreach (string[] targetFile in memDownload)
  1119.                                         {
  1120.                                             if (targetFile != null)
  1121.                                             {
  1122.                                                 if (targetFile[1] == "exe" && targetFile[2] == "Scriptor")
  1123.                                                 {
  1124.                                                     zad = true;
  1125.                                                 }
  1126.                                             }
  1127.                                         }
  1128.                                     }
  1129.                                     if (currSavePos == 5 && zad == true)
  1130.                                     {
  1131.                                         zad = false;
  1132.                                         pers("Скачал", true, Name);
  1133.                                         dialog("Ок.. Запускай.", true, Retro);
  1134.                                         dialog("0_0 Я тоже поучусь скриптингу 0_0", true, SaiRac, ConsoleColor.Blue);
  1135.                                         pers("Ок. Запускаю.", false, Name);
  1136.                                         for (bool final = false; final == false; )
  1137.                                         {
  1138.                                             cmd();
  1139.                                             Thread.Sleep(1000);
  1140.                                             if (SP != null)
  1141.                                             {
  1142.                                                 if (MessageObmen != null)
  1143.                                                 {
  1144.                                                     if (MessageObmen == "Scriptor run")
  1145.                                                     {
  1146.                                                         break;
  1147.                                                     }
  1148.                                                 }
  1149.                                             }
  1150.                                         }
  1151.                                         pers("Запустил, что дальше?", true, Name);
  1152.                                         dialog("Слушать", true, SaiRac, ConsoleColor.Blue);
  1153.                                         dialog(".", true, "", ConsoleColor.Green);
  1154.                                         dialog("..", true, "", ConsoleColor.Green);
  1155.                                         dialog("...", true, "", ConsoleColor.Green);
  1156.                                         dialog("Что дальше!?", true, SaiRac, ConsoleColor.Blue);
  1157.                                         dialog("Спалился, не строй из себя батю!", true, Retro);
  1158.                                         dialog("А сам то...Ну лан довай говори, что дальше?", true, SaiRac, ConsoleColor.Blue);
  1159.                                         pers("Слушать", true, Name);
  1160.                                         dialog("-_-", true, SaiRac, ConsoleColor.Blue);
  1161.                                         dialog("Дальше я буду обучать вас писать скрипты", true, Retro);
  1162.                                         dialog("Да ладна! -__-", true, SaiRac, ConsoleColor.Blue);
  1163.                                         pers("Где инфа?!!!!", true, Name);
  1164.                                         dialog("______________________________________________________________________", false, Retro);
  1165.                                         dialog("У скриптового языка (Links) есть особенность:", false, Retro);
  1166.                                         dialog("Точки входа и выхода", false, Retro);
  1167.                                         dialog("Но об этом позже", false, Retro);
  1168.                                         dialog("Есть такая команда - write", false, Retro);
  1169.                                         dialog("Напишите - write 1+1", true, Retro);
  1170.                                         dialog("Назовите свой файл как хотите и нажмите кнопку - Save", true, Retro);
  1171.                                         dialog("НЕЗАКРЫВАЙТЕ Scriptor! Он нам ещё пригодится!", true, Retro);
  1172.                                         dialog("Теперь введите команду - /script в консоль", true, Retro);
  1173.                                         while (true)
  1174.                                         {
  1175.                                             cmd();
  1176.                                             if (input == "/script" || input == "/Script" || input == "/SCRIPT")
  1177.                                             {
  1178.                                                 break;
  1179.                                             }
  1180.                                         }
  1181.                                         pers("У меня вывелись все скрипты (один ;))", true, Name);
  1182.                                         dialog("Тоже самое -_-", true, SaiRac, ConsoleColor.Blue);
  1183.                                         dialog("А теперь запустите скрипт командой - /script Имя_Скрипта в консоль", true, Retro);
  1184.                                         while (true)
  1185.                                         {
  1186.                                             cmd();
  1187.                                             try
  1188.                                             {
  1189.                                                 if (input.Split(' ')[0] == "/script" && input.Split(' ')[1] != null || input.Split(' ')[1] != "")
  1190.                                                 {
  1191.                                                     break;
  1192.                                                 }
  1193.                                             }
  1194.                                             catch (Exception)
  1195.                                             {
  1196.                                                 continue;
  1197.                                             }
  1198.                                         }
  1199.                                         pers("Ого! Мой скрипт сработал - вывелось - 1+1=2", true, Name);
  1200.                                         dialog("Эммм...Мне кажется у меня со шрифтом проблемки - арабские символы выводятся ;(", true, SaiRac, ConsoleColor.Blue);
  1201.                                         dialog("Так. Хорошо, что проблемки, мешаться не будешь", true, Retro);
  1202.                                         dialog("Злой дядя.", true, SaiRac, ConsoleColor.Blue);
  1203.                                         pers(";D", true, Name);
  1204.                                         dialog("Продолжим.", true, Retro);
  1205.                                         dialog("Теперь в Scriptor'е введи:", true, Retro);
  1206.                                         dialog("write 'Hello world' - одинарная ковычка - ' - означает, что выводится текст!", true, Retro);
  1207.                                         dialog("Сохрани и попробуй запустить скрипт!", true, Retro);
  1208.                                         while (true)
  1209.                                         {
  1210.                                             cmd();
  1211.                                             try
  1212.                                             {
  1213.                                                 if (input.Split(' ')[0] == "/script" && input.Split(' ')[1] != null || input.Split(' ')[1] != "")
  1214.                                                 {
  1215.                                                     break;
  1216.                                                 }
  1217.                                             }
  1218.                                             catch (Exception)
  1219.                                             {
  1220.                                                 continue;
  1221.                                             }
  1222.                                         }
  1223.                                         pers("Оооо. Текст вывелся.", true, Name);
  1224.                                         dialog("Хорошо. Продолжим.", true, Retro);
  1225.                                         dialog("Команды (в скрипте) отделяются строками!", true, Retro);
  1226.                                         dialog("Вот пример:", true, Retro);
  1227.                                         dialog("write 'Hello World'", true, Retro);
  1228.                                         dialog("write 1+1", true, Retro);
  1229.                                         dialog("Выведится:", true, Retro);
  1230.                                         dialog("Hello world", true, Retro);
  1231.                                         dialog("1+1=2", true, Retro);
  1232.                                         pers("Понятно", true, Name);
  1233.                                         dialog("Бл всё пропустил", true, SaiRac, ConsoleColor.Blue);
  1234.                                         dialog("Может не будешь мешать обучать новичка?!", true, Retro);
  1235.                                         dialog("Я спать", true, SaiRac, ConsoleColor.Blue);
  1236.                                         dialog("Сейчас, же - день!", true, Retro);
  1237.                                         dialog("Мне всё равно -_-", true, SaiRac, ConsoleColor.Blue);
  1238.                                         pers("0_0", true, Name);
  1239.                                         dialog("Мда.", true, Retro);
  1240.                                         dialog("Я сейчас занят, извини, потом продолжим", true, Retro);
  1241.                                         pers(";(", true, Name);
  1242.  
  1243.                                         Console.Clear();
  1244.                                         otvetProc("Консоль очищенна.", true);
  1245.                                         currSavePos++;
  1246.                                         SaveGame();
  1247.                                         otvetProc("Игра сохранена", true);
  1248.                                     }
  1249.                                     #endregion
  1250.  
  1251.                                     #region SavePos 6
  1252.                                     if (currSavePos == 6)
  1253.                                     {
  1254.                                         dialog("У меня есть задание для тебя.", true, Retro);
  1255.                                         pers("Ок", true, Name);
  1256.                                         dialog("Ты должен взломать комп одного моего друга и стырить файл - Secured.txt", true, Retro);
  1257.                                         dialog("Я думаю ты SQL инъекцией взломаешь(/help 4 - в помощь). У меня просто времени нет", true, Retro);
  1258.                                         pers("IP?", true, Name);
  1259.                                         dialog("Точно. Вот - 80.80.80.80", true, Retro);
  1260.                                         pers("Приступаю.", true, Name);
  1261.  
  1262.                                         for (bool final = false; final == false; )
  1263.                                         {
  1264.                                             cmd();
  1265.                                             foreach (string[] file in memDownload)
  1266.                                             {
  1267.                                                 if (file != null)
  1268.                                                 {
  1269.                                                     if (file[0] == "Secured" && file[1] == "txt")
  1270.                                                     {
  1271.                                                         final = true;
  1272.                                                         break;
  1273.                                                     }
  1274.                                                 }
  1275.                                             }
  1276.                                         }
  1277.  
  1278.                                         pers("Всё! Файл у меня!", true, Name);
  1279.                                         dialog("Хорошо", true, Retro);
  1280.                                         dialog("Там есть какой-нибудь пароль?", true, Retro);
  1281.                                         pers("Да, кажется есть", true, Name);
  1282.                                         dialog("Открой /note", true, Retro);
  1283.                                         pers("Хорошо", true, Name);
  1284.                                         while (process != "Note")
  1285.                                         {
  1286.                                             cmd();
  1287.                                         }
  1288.                                         pers("Запустил", true, Name);
  1289.                                         dialog("Теперь - (слева вверху будет выдвежная херня ;D) выбери тот файл который загрузил", true, Retro);
  1290.                                         dialog("И теперь скажи пароль", true, Retro);
  1291.                                         while (true)
  1292.                                         {
  1293.                                             Console.ForegroundColor = ConsoleColor.DarkGreen;
  1294.                                             Console.Write("Пароль: ");
  1295.                                             Console.ForegroundColor = ConsoleColor.Red;
  1296.                                             string passw = CallInputUser();
  1297.                                             Console.ForegroundColor = ConsoleColor.Gray;
  1298.                                             if (passw == "123456")
  1299.                                             {
  1300.                                                 break;
  1301.                                             }
  1302.                                             else
  1303.                                             {
  1304.                                                 dialog("Не подошёл", true, Retro);
  1305.                                             }
  1306.                                         }
  1307.                                         dialog("Подошёл!", true, Retro);
  1308.                                         pers("Эммм.. Зачем он тебе был нужен?", true, Name);
  1309.                                         dialog("Тебе об этом нельзя знать.", true, Retro);
  1310.                                         dialog("Увидемся. Пока.", true, Retro);
  1311.                                         pers("Хмм... Странно всё это..", true, Name);
  1312.  
  1313.                                         currSavePos++;
  1314.                                         SaveGame();
  1315.                                         Console.Clear();
  1316.                                         otvetProc("Консоль очищенна", true);
  1317.                                         otvetProc("Игра сохранена", true);
  1318.  
  1319.                                         dialog("Тсссс... Заходи в Личную переписку! Встретимся там", true, SaiRac, ConsoleColor.Blue);
  1320.                                         pers("Ок", true, Name);
  1321.                                     }
  1322.                                     #endregion
  1323.  
  1324.                                     #region SavePos 7
  1325.                                     if (currSavePos >= 7)
  1326.                                     {
  1327.                                         otvetProc("Никого нет в сети", false);
  1328.                                         prod();
  1329.                                         break;
  1330.                                     }
  1331.                                     #endregion
  1332.  
  1333.                                     break;
  1334.                                 #endregion
  1335.  
  1336.                                 #region Ls
  1337.                                 case "3":
  1338.  
  1339.                                     #region SavePos 7
  1340.                                     if (currSavePos == 7)
  1341.                                     {
  1342.                                         dialog("Привет", true, SaiRac, ConsoleColor.Blue);
  1343.                                         pers("Привет ;)", true, Name);
  1344.                                         dialog("Retr0 предатель...", true, SaiRac, ConsoleColor.Blue);
  1345.                                         pers("Что?! Почему?", true, Name);
  1346.                                         dialog("Он взломал мой аккаунт, который находился в глобальной сети хакеров (NetHackers)", true, SaiRac, ConsoleColor.Blue);
  1347.                                         pers("Эммм.. ЧТо?! Я понял... Я случайно ему помог...", true, Name);
  1348.                                         dialog("Что?! Вот такого про тебя я подумать не мог!", true, SaiRac, ConsoleColor.Blue);
  1349.                                         pers("Он попросил взломать чей-то комп, но я не знал чей он", true, Name);
  1350.                                         dialog("Очень странно...", true, SaiRac, ConsoleColor.Blue);
  1351.                                         dialog("Обычно Retr0 всё делает сам, а тут, что-то другое", true, SaiRac, ConsoleColor.Blue);
  1352.                                         dialog("Возможно - это был не он", true, SaiRac, ConsoleColor.Blue);
  1353.                                         pers("А что за глобальная сеть хакеров - NetHackers?", true, Name);
  1354.                                         dialog("Это такое место, где ты можешь хранить свои файлы(любые данные)", true, SaiRac, ConsoleColor.Blue);
  1355.                                         dialog("А также там можно выполнять задания и повышать свой рейтинг среди хакеров", true, SaiRac, ConsoleColor.Blue);
  1356.                                         dialog("У меня там были очень секретные данные и видимо кто-то слил эту информацию", true, SaiRac, ConsoleColor.Blue);
  1357.                                         dialog("И зная, что у меня есть эта информация - заказчик нанял какого-то хакера", true, SaiRac, ConsoleColor.Blue);
  1358.                                         pers("А может - это был Retr0?", true, Name);
  1359.                                         dialog("Возможно, но всю жизнь я знал его как человека, которому можно всё доверить", true, SaiRac, ConsoleColor.Blue);
  1360.                                         dialog("Поэтому я не думаю, что он мог это сделать", true, SaiRac, ConsoleColor.Blue);
  1361.  
  1362.                                         dialog("Стоп..", true, SaiRac, ConsoleColor.Blue);
  1363.                                         dialog("Только не это!", true, SaiRac, ConsoleColor.Blue);
  1364.                                         dialog("Какие-то хакеры взломали крупный банк с помощью моего эксплойта!", true, SaiRac, ConsoleColor.Blue);
  1365.                                         dialog("Он находился в глобальной сети хакеров (NetHackers) на моём аккаунте!!!", true, SaiRac, ConsoleColor.Blue);
  1366.                                         dialog("Теперь меня ищут!", true, SaiRac, ConsoleColor.Blue);
  1367.                                         dialog("Только не это!", true, SaiRac, ConsoleColor.Blue);
  1368.                                         pers("А, что такое эксплойт?", true, Name);
  1369.                                         dialog("Это самописный скрипт, который взламывает у сервера порт(уязвимый к эксплойту)", true, SaiRac, ConsoleColor.Blue);
  1370.                                         dialog("Я написал сообщение фрэйму. Теперь выходи с сервера. Он должен ответить тебе", true, SaiRac, ConsoleColor.Blue);
  1371.                                         dialog("Меня не будет долго, я буду скрываться", true, SaiRac, ConsoleColor.Blue);
  1372.                                         dialog("Надеюсь ещё увидемся...", true, SaiRac, ConsoleColor.Blue);
  1373.                                         pers("Пока", true, Name);
  1374.  
  1375.                                         currSavePos++;
  1376.                                         SaveGame();
  1377.                                         Console.Clear();
  1378.                                         otvetProc("Консоль очищенна", true);
  1379.                                         otvetProc("Игра сохранена", true);
  1380.                                         otvetProc("Отключено от - " + IP, false);
  1381.                                         return true;
  1382.                                     }
  1383.                                     #endregion
  1384.                                     else
  1385.                                     {
  1386.                                         dialog("У вас нет сообщений", true, "Система CRACKNET");
  1387.                                     }
  1388.  
  1389.                                     break;
  1390.                                 #endregion
  1391.  
  1392.                                 #region Exit
  1393.                                 case "0":
  1394.                                     if (iffer == true)
  1395.                                         ifferOtvet = true;
  1396.                                     ex = true;
  1397.                                     otvetProc(IP + ": Отключено", false);
  1398.                                     Console.WriteLine();
  1399.                                     break;
  1400.                                 #endregion
  1401.  
  1402.                                 default:
  1403.                                     if (iffer == true)
  1404.                                         ifferOtvet = false;
  1405.                                     otvetProc("НЕВЕРНЫЙ ЗАПРОС!", false);
  1406.                                     break;
  1407.                             }
  1408.                         }
  1409.                         break;
  1410.                     #endregion
  1411.  
  1412.                     #region 255.255.255.254
  1413.                     case "255.255.255.254":
  1414.  
  1415.                         if (iffer == true)
  1416.                             ifferOtvet = true;
  1417.                         otvetProc("Подключено к ip - " + IP, true);
  1418.                         for (bool ex = false; ex == false; )
  1419.                         {
  1420.                             if (ScriptOnOf == false)
  1421.                             {
  1422.                                 sitesWrite("ФАйЛоВыЙ СЕРВЕР CR4CKNET", ConsoleColor.DarkRed, ConsoleColor.Red);
  1423.  
  1424.                                 Console.WriteLine();
  1425.  
  1426.                                 randconsoleColor(true);
  1427.                                 Console.WriteLine("1: Файловая система");
  1428.                                 Console.WriteLine("0: Выход");
  1429.  
  1430.                                 Console.BackgroundColor = ConsoleColor.Black;
  1431.                                 Console.ForegroundColor = ConsoleColor.Green;
  1432.                                 Console.Write("Запрос: ");
  1433.  
  1434.                                 Console.ForegroundColor = ConsoleColor.DarkGreen;
  1435.                             }
  1436.                             zapros = CallInputUser();
  1437.  
  1438.                             switch (zapros)
  1439.                             {
  1440.                                 case "1":
  1441.                                     if (iffer == true)
  1442.                                         ifferOtvet = true;
  1443.                                     fileSystem(IP, dostup.write);
  1444.                                     break;
  1445.                                 case "0":
  1446.                                     if (iffer == true)
  1447.                                         ifferOtvet = true;
  1448.                                     ex = true;
  1449.                                     otvetProc(IP + ": Отключено", false);
  1450.                                     Console.WriteLine();
  1451.                                     break;
  1452.  
  1453.                                 default:
  1454.                                     if (iffer == true)
  1455.                                         ifferOtvet = false;
  1456.                                     otvetProc("НЕВЕРНЫЙ ЗАПРОС!", false);
  1457.                                     break;
  1458.                             }
  1459.                         }
  1460.                         break;
  1461.                     #endregion
  1462.  
  1463.                     #region 228.228.228.228
  1464.                     case "228.228.228.228":
  1465.  
  1466.                         if (iffer == true)
  1467.                             ifferOtvet = true;
  1468.                         otvetProc("Подключено к ip - " + IP, true);
  1469.                         for (bool ex = false; ex == false; )
  1470.                         {
  1471.                             if (ScriptOnOf == false)
  1472.                             {
  1473.                                 sitesWrite("СЕРВЕР Лидера 228 / СЕТЬ - NetHackers", ConsoleColor.Blue, ConsoleColor.DarkBlue);
  1474.  
  1475.                                 Console.WriteLine();
  1476.  
  1477.                                 randconsoleColor(true);
  1478.                                 Console.WriteLine("1: Файловая система");
  1479.                                 Console.WriteLine("0: Выход");
  1480.  
  1481.                                 Console.BackgroundColor = ConsoleColor.Black;
  1482.                                 Console.ForegroundColor = ConsoleColor.Green;
  1483.                                 Console.Write("Запрос: ");
  1484.  
  1485.                                 Console.ForegroundColor = ConsoleColor.DarkGreen;
  1486.                             }
  1487.                             zapros = CallInputUser();
  1488.                             switch (zapros)
  1489.                             {
  1490.                                 case "1":
  1491.                                     if (iffer == true)
  1492.                                         ifferOtvet = true;
  1493.                                     fileSystem("228.228.228.228", dostup.none);
  1494.                                     break;
  1495.  
  1496.                                 case "0":
  1497.                                     if (iffer == true)
  1498.                                         ifferOtvet = true;
  1499.                                     ex = true;
  1500.                                     otvetProc(IP + ": Отключено", false);
  1501.                                     Console.WriteLine();
  1502.                                     break;
  1503.  
  1504.                                 default:
  1505.                                     if (iffer == true)
  1506.                                         ifferOtvet = false;
  1507.                                     otvetProc("НЕВЕРНЫЙ ЗАПРОС!", false);
  1508.                                     break;
  1509.                             }
  1510.                         }
  1511.                         break;
  1512.                     #endregion
  1513.  
  1514.                     #region 100.100.10.10
  1515.                     case "100.100.10.10":
  1516.  
  1517.                         if (iffer == true)
  1518.                             ifferOtvet = true;
  1519.                         otvetProc("Подключено к ip - " + IP, true);
  1520.                         for (bool ex = false; ex == false; )
  1521.                         {
  1522.                             if (ScriptOnOf == false)
  1523.                             {
  1524.                                 sitesWrite("ПРИЛ0ЖЕНИЯ 0Т МАХРАДЖАБИКА", ConsoleColor.DarkMagenta, ConsoleColor.Magenta);
  1525.  
  1526.                                 Console.WriteLine();
  1527.  
  1528.                                 randconsoleColor(true);
  1529.                                 Console.WriteLine("1: Файловая система");
  1530.                                 Console.WriteLine("0: Выход");
  1531.  
  1532.                                 Console.BackgroundColor = ConsoleColor.Black;
  1533.                                 Console.ForegroundColor = ConsoleColor.Green;
  1534.                                 Console.Write("Запрос: ");
  1535.  
  1536.                                 Console.ForegroundColor = ConsoleColor.DarkGreen;
  1537.                             }
  1538.                             zapros = CallInputUser();
  1539.                             switch (zapros)
  1540.                             {
  1541.                                 case "1":
  1542.                                     if (iffer == true)
  1543.                                         ifferOtvet = true;
  1544.                                     fileSystem("100.100.10.10", dostup.read);
  1545.                                     break;
  1546.  
  1547.                                 case "0":
  1548.                                     if (iffer == true)
  1549.                                         ifferOtvet = true;
  1550.                                     ex = true;
  1551.                                     otvetProc(IP + ": Отключено", false);
  1552.                                     Console.WriteLine();
  1553.                                     break;
  1554.  
  1555.                                 default:
  1556.                                     if (iffer == true)
  1557.                                         ifferOtvet = false;
  1558.                                     otvetProc("НЕВЕРНЫЙ ЗАПРОС!", false);
  1559.                                     break;
  1560.                             }
  1561.                         }
  1562.                         break;
  1563.                     #endregion
  1564.  
  1565.                     #region 80.80.80.80
  1566.                     case "80.80.80.80":
  1567.  
  1568.                         if (iffer == true)
  1569.                             ifferOtvet = true;
  1570.                         otvetProc("Подключено к ip - " + IP, true);
  1571.                         for (bool ex = false; ex == false; )
  1572.                         {
  1573.                             if (ScriptOnOf == false)
  1574.                             {
  1575.                                 sitesWrite("Защищённый компьютер Sa1RaC", ConsoleColor.DarkBlue, ConsoleColor.Blue);
  1576.  
  1577.                                 Console.WriteLine();
  1578.  
  1579.                                 randconsoleColor(true);
  1580.                                 Console.WriteLine("1: Файловая система");
  1581.                                 Console.WriteLine("0: Выход");
  1582.  
  1583.                                 Console.BackgroundColor = ConsoleColor.Black;
  1584.                                 Console.ForegroundColor = ConsoleColor.Green;
  1585.                                 Console.Write("Запрос: ");
  1586.  
  1587.                                 Console.ForegroundColor = ConsoleColor.DarkGreen;
  1588.                             }
  1589.                             zapros = CallInputUser();
  1590.                             switch (zapros)
  1591.                             {
  1592.                                 case "1":
  1593.                                     if (iffer == true)
  1594.                                         ifferOtvet = true;
  1595.                                     fileSystem("80.80.80.80", dostup.none);
  1596.                                     break;
  1597.  
  1598.                                 case "0":
  1599.                                     if (iffer == true)
  1600.                                         ifferOtvet = true;
  1601.                                     ex = true;
  1602.                                     otvetProc(IP + ": Отключено", false);
  1603.                                     Console.WriteLine();
  1604.                                     break;
  1605.  
  1606.                                 default:
  1607.                                     if (iffer == true)
  1608.                                         ifferOtvet = false;
  1609.                                     otvetProc("НЕВЕРНЫЙ ЗАПРОС!", false);
  1610.                                     break;
  1611.                             }
  1612.                         }
  1613.                         break;
  1614.                     #endregion
  1615.  
  1616.                     #region 10.10.1.1
  1617.                     case "10.10.1.1":
  1618.  
  1619.                         if (iffer == true)
  1620.                             ifferOtvet = true;
  1621.                         otvetProc("Подключено к ip - " + IP, true);
  1622.                         for (bool ex = false; ex == false; )
  1623.                         {
  1624.                             if (ScriptOnOf == false)
  1625.                             {
  1626.                                 sitesWrite("Файловый сервер - CR4CKNET", ConsoleColor.DarkBlue, ConsoleColor.Blue);
  1627.  
  1628.                                 Console.WriteLine();
  1629.  
  1630.                                 randconsoleColor(true);
  1631.                                 Console.WriteLine("1: Файловая система");
  1632.                                 Console.WriteLine("0: Выход");
  1633.  
  1634.                                 Console.BackgroundColor = ConsoleColor.Black;
  1635.                                 Console.ForegroundColor = ConsoleColor.Green;
  1636.                                 Console.Write("Запрос: ");
  1637.  
  1638.                                 Console.ForegroundColor = ConsoleColor.DarkGreen;
  1639.                             }
  1640.                             zapros = CallInputUser();
  1641.                             switch (zapros)
  1642.                             {
  1643.                                 case "1":
  1644.                                     if (iffer == true)
  1645.                                         ifferOtvet = true;
  1646.                                     fileSystem("10.10.1.1", dostup.read);
  1647.                                     break;
  1648.  
  1649.                                 case "0":
  1650.                                     ex = true;
  1651.                                     if (iffer == true)
  1652.                                         ifferOtvet = true;
  1653.                                     otvetProc(IP + ": Отключено", false);
  1654.                                     Console.WriteLine();
  1655.                                     break;
  1656.  
  1657.                                 default:
  1658.                                     if (iffer == true)
  1659.                                         ifferOtvet = false;
  1660.                                     otvetProc("НЕВЕРНЫЙ ЗАПРОС!", false);
  1661.                                     break;
  1662.                             }
  1663.                         }
  1664.                         break;
  1665.                     #endregion
  1666.  
  1667.                     #region 1.2.3.4
  1668.                     case "1.2.3.4":
  1669.  
  1670.                         if (iffer == true)
  1671.                             ifferOtvet = true;
  1672.                         otvetProc("Подключено к ip - " + IP, true);
  1673.                         for (bool ex = false; ex == false; )
  1674.                         {
  1675.                             if (ScriptOnOf == false)
  1676.                             {
  1677.                                 sitesWrite("Файловый сервер - USA_BASE", ConsoleColor.DarkGray, ConsoleColor.Red);
  1678.  
  1679.                                 Console.WriteLine();
  1680.  
  1681.                                 randconsoleColor(true);
  1682.                                 Console.WriteLine("1: Файловая система");
  1683.                                 Console.WriteLine("0: Выход");
  1684.  
  1685.                                 Console.BackgroundColor = ConsoleColor.Black;
  1686.                                 Console.ForegroundColor = ConsoleColor.Green;
  1687.                                 Console.Write("Запрос: ");
  1688.  
  1689.                                 Console.ForegroundColor = ConsoleColor.DarkGreen;
  1690.                             }
  1691.                             zapros = CallInputUser();
  1692.                             switch (zapros)
  1693.                             {
  1694.                                 case "1":
  1695.                                     if (iffer == true)
  1696.                                         ifferOtvet = true;
  1697.                                     fileSystem("1.2.3.4", dostup.none);
  1698.                                     break;
  1699.  
  1700.                                 case "0":
  1701.                                     if (iffer == true)
  1702.                                         ifferOtvet = true;
  1703.                                     ex = true;
  1704.                                     otvetProc(IP + ": Отключено", false);
  1705.                                     Console.WriteLine();
  1706.                                     break;
  1707.  
  1708.                                 default:
  1709.                                     if (iffer == true)
  1710.                                         ifferOtvet = false;
  1711.                                     otvetProc("НЕВЕРНЫЙ ЗАПРОС!", false);
  1712.                                     break;
  1713.                             }
  1714.                         }
  1715.                         break;
  1716.                     #endregion
  1717.  
  1718.                     #region 0.0.0.1
  1719.                     case "0.0.0.1":
  1720.  
  1721.                         if (iffer == true)
  1722.                             ifferOtvet = true;
  1723.                         otvetProc("Подключено к ip - " + IP, true);
  1724.                        
  1725.                         bool Verefications = false;
  1726.                         Array[] files = FindServerFilesInSERVERDATA(DATA, "0.0.0.0");
  1727.  
  1728.                         string[] Accounts = (string[])files[1];
  1729.                         string[] Friends = (string[])files[2];
  1730.                         string[] ReQuest = (string[])files[3];
  1731.                         string[] Messages = (string[])files[4];
  1732.  
  1733.                         string CurrentAccount = "Unknown";
  1734.                         string CurrentFriends = "Unknown";
  1735.                         string CurrentReQuest = "Unknown";
  1736.                         string CurrentMessages = "Unknown";
  1737.  
  1738.                         for (bool ex = false; ex == false; )
  1739.                         {
  1740.                             #region Verefi
  1741.                             if (!Verefications)
  1742.                             {
  1743.                                 if (redir.Split('=')[1].Split('/')[0] == IP)
  1744.                                 {
  1745.                                     for (int l = 3; Verefications == false && l < Accounts.Length - 1; l++)
  1746.                                     {
  1747.                                         #region OK
  1748.                                         if (redir.Split('=')[2] == Accounts[l].Split(' ')[2])
  1749.                                         {
  1750.                                             redir = "redir=";
  1751.                                             Verefications = true;
  1752.                                             CurrentAccount = Accounts[l];
  1753.                                             #region Friends
  1754.                                             for (int i = 2; i < Friends.Length - 1; i++)
  1755.                                             {
  1756.                                                 if (Friends[i] != null)
  1757.                                                 {
  1758.                                                     if (Friends[i].Split('=')[0] == CurrentAccount.Split(' ')[0])
  1759.                                                     {
  1760.                                                         CurrentFriends = Friends[i];
  1761.                                                         break;
  1762.                                                     }
  1763.                                                 }
  1764.                                             }
  1765.                                             #endregion
  1766.                                             #region ReQuest
  1767.                                             for (int i = 2; i < ReQuest.Length - 1; i++)
  1768.                                             {
  1769.                                                 if (ReQuest[i] != null)
  1770.                                                 {
  1771.                                                     if (ReQuest[i].Split('=')[0] == CurrentAccount.Split(' ')[0])
  1772.                                                     {
  1773.                                                         CurrentReQuest = ReQuest[i];
  1774.                                                         break;
  1775.                                                     }
  1776.                                                 }
  1777.                                             }
  1778.                                             #endregion
  1779.                                             #region Messages
  1780.                                             for (int i = 2; i < Messages.Length - 1; i++)
  1781.                                             {
  1782.                                                 if (Messages[i] != null)
  1783.                                                 {
  1784.                                                     if (Messages[i].Split('=')[0] == CurrentAccount.Split(' ')[0])
  1785.                                                     {
  1786.                                                         CurrentMessages = Messages[i];
  1787.                                                         break;
  1788.                                                     }
  1789.                                                 }
  1790.                                             }
  1791.                                             #endregion
  1792.                                             otvetProc("Верефикация пройдена", true);
  1793.                                         }
  1794.                                         #endregion
  1795.                                     }
  1796.                                 }
  1797.                                 else
  1798.                                 {
  1799.                                     otvetProc("Верефикация не пройдена!", false);
  1800.                                     break;
  1801.                                 }
  1802.                             }
  1803.                             #endregion
  1804.  
  1805.                             if (Verefications)
  1806.                             {
  1807.                                 if (ScriptOnOf == false)
  1808.                                 {
  1809.                                     sitesWrite("HOME NODE NETH4CKERS", ConsoleColor.Green, ConsoleColor.DarkGreen);
  1810.  
  1811.                                     Console.WriteLine();
  1812.  
  1813.                                     Console.BackgroundColor = ConsoleColor.DarkGreen;
  1814.                                     Console.ForegroundColor = ConsoleColor.Green;
  1815.  
  1816.                                     Console.WriteLine("1: Свой файловый сервер");
  1817.                                     Console.WriteLine("2: Друзья");
  1818.                                     Console.WriteLine("3: Сообщения");
  1819.                                     Console.WriteLine("4: Организации");
  1820.                                     Console.WriteLine("5: Работа");
  1821.                                     Console.WriteLine("6: Информация");
  1822.                                     Console.WriteLine("0: Выход");
  1823.  
  1824.                                     Console.BackgroundColor = ConsoleColor.Black;
  1825.                                     Console.ForegroundColor = ConsoleColor.Green;
  1826.                                     Console.Write("Запрос: ");
  1827.                                 }
  1828.                                 Console.ForegroundColor = ConsoleColor.Blue;
  1829.                                 zapros = CallInputUser();
  1830.                                 Console.ForegroundColor = ConsoleColor.Green;
  1831.  
  1832.                                 switch (zapros)
  1833.                                 {
  1834.                                     #region 1 - FileServer
  1835.                                     case "1":
  1836.                                         if (iffer == true)
  1837.                                             ifferOtvet = true;
  1838.                                         for (bool finish = false; finish == false; )
  1839.                                         {
  1840.                                             Console.BackgroundColor = ConsoleColor.Black;
  1841.                                             Console.ForegroundColor = ConsoleColor.Green;
  1842.                                             Console.WriteLine();
  1843.                                             Console.WriteLine("--Меню управления сервером--");
  1844.                                             Console.WriteLine();
  1845.                                             Console.WriteLine("1 - Подключится к серверу");
  1846.                                             Console.WriteLine("0 - Назад");
  1847.                                             Console.WriteLine();
  1848.  
  1849.                                             Console.Write("Ввод: ");
  1850.                                             zapros = CallInputUser();
  1851.                                             switch (zapros)
  1852.                                             {
  1853.                                                 #region 1-Connect
  1854.                                                 case "1":
  1855.                                                     Waiter("Подключение к серверу", true, 3, 300);
  1856.                                                     fileSystem(IP, dostup.admin);
  1857.                                                     finish = true;
  1858.                                                     break;
  1859.                                                 #endregion
  1860.  
  1861.                                                 #region Exit
  1862.                                                 case "0":
  1863.                                                     finish = true;
  1864.                                                     break;
  1865.                                                 #endregion
  1866.                                                 default:
  1867.                                                     otvetProc("Неверный ввод!", false);
  1868.                                                     break;
  1869.                                             }
  1870.                                         }
  1871.                                         break;
  1872.                                     #endregion
  1873.                                     #region 2 - Friends
  1874.                                     case "2":
  1875.                                         if (iffer == true)
  1876.                                             ifferOtvet = true;
  1877.                                         for (bool finich = false; finich == false; )
  1878.                                         {
  1879.                                             Console.BackgroundColor = ConsoleColor.Black;
  1880.                                             Console.ForegroundColor = ConsoleColor.Green;
  1881.                                             Console.WriteLine();
  1882.                                             Console.WriteLine("Категория - Друзья");
  1883.                                             Console.WriteLine();
  1884.                                             Console.WriteLine("1 - Друзья({0})", CurrentFriends.Split('=')[2]);
  1885.                                             Console.WriteLine("2 - Заявки({0})", CurrentReQuest.Split('=')[2]);
  1886.                                             Console.WriteLine("0 - Назад");
  1887.                                             Console.WriteLine();
  1888.                                             Console.Write("Ввод: ");
  1889.                                             Console.ForegroundColor = ConsoleColor.Blue;
  1890.                                             zapros = CallInputUser();
  1891.                                             Console.ForegroundColor = ConsoleColor.Green;
  1892.                                             switch (zapros)
  1893.                                             {
  1894.                                                 #region Friends
  1895.                                                 case "1":
  1896.                                                     Console.WriteLine();
  1897.                                                     Console.WriteLine("--Друзья({0})--", CurrentFriends.Split('=')[2]);
  1898.                                                     Console.WriteLine();
  1899.                                                     string frs = CurrentFriends.Split('=')[3];
  1900.                                                     if (frs != "")
  1901.                                                     {
  1902.                                                         for (int i = 0; i < frs.Split(',').Length; i++)
  1903.                                                         {
  1904.                                                             if (frs.Split(',')[i] != "")
  1905.                                                                 Console.WriteLine(frs.Split(',')[i]);
  1906.                                                         }
  1907.                                                     }
  1908.                                                     else
  1909.                                                     {
  1910.                                                         Console.WriteLine("Пусто");
  1911.                                                     }
  1912.                                                     prod();
  1913.                                                     break;
  1914.                                                 #endregion
  1915.                                                 #region request
  1916.                                                 case "2":
  1917.                                                     for (bool finish = false; finich == false; )
  1918.                                                     {
  1919.                                                         Console.WriteLine();
  1920.                                                         Console.WriteLine("--Заявки({0})--", CurrentReQuest.Split('=')[2]);
  1921.                                                         Console.WriteLine();
  1922.                                                         string rqt = CurrentReQuest.Split('=')[3];
  1923.                                                         if (rqt != "")
  1924.                                                         {
  1925.                                                             for (int i = 0; i < rqt.Split(',').Length; i++)
  1926.                                                             {
  1927.                                                                 if (rqt.Split(',')[i] != "")
  1928.                                                                     Console.WriteLine((i + 1) + " - " + rqt.Split(',')[i]);
  1929.                                                             }
  1930.                                                             Console.BackgroundColor = ConsoleColor.Black;
  1931.                                                             Console.ForegroundColor = ConsoleColor.Yellow;
  1932.                                                             Console.WriteLine();
  1933.                                                             Console.WriteLine("Чтобы принять заявку - введите её номер");
  1934.                                                             Console.WriteLine("Чтобы выйти - введите 0");
  1935.                                                             Console.WriteLine();
  1936.                                                             Console.BackgroundColor = ConsoleColor.Black;
  1937.                                                             Console.ForegroundColor = ConsoleColor.Green;
  1938.  
  1939.                                                             try
  1940.                                                             {
  1941.                                                                 int zaprosINT = Convert.ToInt32(CallInputUser());
  1942.  
  1943.                                                                 if (zaprosINT == 0)
  1944.                                                                     break;
  1945.                                                                 if (zaprosINT - 1 <= rqt.Split(',').Length)
  1946.                                                                 {
  1947.                                                                     if (rqt.Split(',')[zaprosINT - 1] != "")
  1948.                                                                     {
  1949.                                                                         #region ReQuest DELETE
  1950.                                                                         for (int i = 2; i < ReQuest.Length - 1; i++)
  1951.                                                                         {
  1952.                                                                             if (ReQuest[i] != null)
  1953.                                                                             {
  1954.                                                                                 if (ReQuest[i].Split('=')[0] == Name)
  1955.                                                                                 {
  1956.                                                                                     files[3].SetValue(((string)files[3].GetValue(i)).Replace(((string)files[3].GetValue(i)).Split('=')[2], (Convert.ToInt32(((string)files[3].GetValue(i)).Split('=')[2]) - 1).ToString()), i);
  1957.                                                                                     files[3].SetValue(((string)files[3].GetValue(i)).Replace(rqt.Split(',')[zaprosINT - 1] + ",", ""), i);
  1958.                                                                                     ReQuest = (string[])files[3];
  1959.                                                                                     CurrentReQuest = ReQuest[i];
  1960.                                                                                     break;
  1961.                                                                                 }
  1962.                                                                             }
  1963.                                                                         }
  1964.                                                                         #endregion
  1965.                                                                         #region Friend ADD IN ACOUNT
  1966.                                                                         for (int i = 2; i < Friends.Length - 1; i++)
  1967.                                                                         {
  1968.                                                                             if (Friends[i] != null)
  1969.                                                                             {
  1970.                                                                                 if (Friends[i].Split('=')[0] == Name)
  1971.                                                                                 {
  1972.                                                                                     files[2].SetValue(((string)files[2].GetValue(i)).Replace(((string)files[2].GetValue(i)).Split('=')[2], (Convert.ToInt32(((string)files[2].GetValue(i)).Split('=')[2]) + 1).ToString()), i);
  1973.                                                                                     files[2].SetValue(files[2].GetValue(i) + rqt.Split(',')[zaprosINT - 1] + ",", i);
  1974.                                                                                     Friends = (string[])files[2];
  1975.                                                                                     CurrentFriends = Friends[i];
  1976.                                                                                     break;
  1977.                                                                                 }
  1978.                                                                             }
  1979.                                                                         }
  1980.                                                                         #endregion
  1981.                                                                         #region Friend ADD IN FRIEND ACCOUNT
  1982.                                                                         for (int i = 2; i < Friends.Length - 1; i++)
  1983.                                                                         {
  1984.                                                                             if (Friends[i] != null)
  1985.                                                                             {
  1986.                                                                                 if (Friends[i].Split('=')[0] == rqt.Split(',')[zaprosINT - 1])
  1987.                                                                                 {
  1988.                                                                                     files[2].SetValue(((string)files[2].GetValue(i)).Replace(((string)files[2].GetValue(i)).Split('=')[2], (Convert.ToInt32(((string)files[2].GetValue(i)).Split('=')[2]) + 1).ToString()), i);
  1989.                                                                                     files[2].SetValue(files[2].GetValue(i) + rqt.Split(',')[zaprosINT - 1] + ",", i);
  1990.                                                                                     Friends = (string[])files[2];
  1991.                                                                                     break;
  1992.                                                                                 }
  1993.                                                                             }
  1994.                                                                         }
  1995.                                                                         #endregion
  1996.  
  1997.                                                                         #region Missions
  1998.                                                                         #region Fraim
  1999.                                                                         if (rqt.Split(',')[zaprosINT - 1] == "Fraim")
  2000.                                                                         {
  2001.                                                                             for (int i = 2; i < Messages.Length - 1; i++)
  2002.                                                                             {
  2003.                                                                                 if (Messages[i] != null)
  2004.                                                                                 {
  2005.                                                                                     if (Messages[i].Split('=')[0] == Name)
  2006.                                                                                     {
  2007.                                                                                         files[4].SetValue(((string)files[4].GetValue(i)).Replace(((string)files[4].GetValue(i)).Split('=')[2], (Convert.ToInt32(((string)files[4].GetValue(i)).Split('=')[2]) + 1).ToString()), i);
  2008.                                                                                         files[4].SetValue(files[4].GetValue(i) + rqt.Split(',')[zaprosINT - 1] + ":Привет! Зарабатывай деньги! Покупай софт! Я с тобой свяжусь, как только у тебя будет больше репутации! Не переживай, я буду следить за тобой ;),", i);
  2009.                                                                                         Messages = (string[])files[4];
  2010.                                                                                         CurrentMessages = Messages[i];
  2011.                                                                                         break;
  2012.                                                                                     }
  2013.                                                                                 }
  2014.                                                                             }
  2015.                                                                         }
  2016.                                                                         #endregion
  2017.                                                                         #endregion
  2018.  
  2019.                                                                         DATA = UploadServerFilesInSERVERSDATA(DATA, files);
  2020.                                                                         otvetProc("Заявка принята", true, false);
  2021.                                                                         prod();
  2022.                                                                         break;
  2023.                                                                     }
  2024.                                                                 }
  2025.                                                                 else
  2026.                                                                 {
  2027.                                                                     otvetProc("Такой заявки не существует!", false);
  2028.                                                                 }
  2029.                                                             }
  2030.                                                             catch (Exception)
  2031.                                                             {
  2032.                                                                 otvetProc("Недопустимый ввод!", false);
  2033.                                                                 continue;
  2034.                                                             }
  2035.                                                         }
  2036.                                                         else
  2037.                                                         {
  2038.                                                             Console.WriteLine("Пусто");
  2039.                                                             prod();
  2040.                                                             break;
  2041.                                                         }
  2042.                                                     }
  2043.                                                     break;
  2044.                                                 #endregion
  2045.                                                 case "0":
  2046.                                                     finich = true;
  2047.                                                     break;
  2048.                                             }
  2049.                                         }
  2050.                                         break;
  2051.                                     #endregion
  2052.                                     #region 3 - Messages
  2053.                                     case "3":
  2054.                                         if (iffer == true)
  2055.                                             ifferOtvet = true;
  2056.                                         string msges = CurrentMessages.Split('=')[3];
  2057.                                         for (bool finich = false; finich == false; )
  2058.                                         {
  2059.                                             Console.BackgroundColor = ConsoleColor.Black;
  2060.                                             Console.ForegroundColor = ConsoleColor.Green;
  2061.                                             Console.WriteLine();
  2062.                                             Console.WriteLine("--Сообщения({0})--", CurrentMessages.Split('=')[2]);
  2063.                                             Console.WriteLine();
  2064.  
  2065.                                             if (msges != "")
  2066.                                             {
  2067.                                                 for (int i = 0; i < msges.Split(',').Length; i++)
  2068.                                                 {
  2069.                                                     if (msges.Split(',')[i] != "")
  2070.                                                         Console.WriteLine((i + 1) + "-" + msges.Split(',')[i]);
  2071.                                                 }
  2072.  
  2073.                                                 try
  2074.                                                 {
  2075.                                                     Console.WriteLine();
  2076.                                                     Console.WriteLine("Введите номер сообщения, чтобы открыть его");
  2077.                                                     Console.WriteLine("Чтобы выйти введите - 0");
  2078.                                                     Console.WriteLine();
  2079.                                                     Console.Write("Ввод: ");
  2080.                                                     Console.ForegroundColor = ConsoleColor.Blue;
  2081.                                                     zapros = CallInputUser();
  2082.                                                     int zaprosINT = Convert.ToInt32(zapros);
  2083.                                                     Console.ForegroundColor = ConsoleColor.Green;
  2084.  
  2085.                                                     if (zaprosINT == 0)
  2086.                                                         break;
  2087.                                                     if (zaprosINT - 1 <= msges.Split(',').Length)
  2088.                                                     {
  2089.                                                         if (msges.Split(',')[zaprosINT - 1] != "")
  2090.                                                         {
  2091.                                                             Console.WriteLine("Отправитель-" + msges.Split(',')[zaprosINT - 1].Split(':')[0]);
  2092.                                                             Console.WriteLine("Сообщение:\n" + msges.Split(',')[zaprosINT - 1].Split(':')[1]);
  2093.                                                             Console.WriteLine();
  2094.                                                             prod();
  2095.                                                             continue;
  2096.                                                         }
  2097.                                                     }
  2098.                                                     else
  2099.                                                     {
  2100.                                                         otvetProc("Такого сообщения не существует!", false);
  2101.                                                     }
  2102.                                                 }
  2103.                                                 catch (Exception)
  2104.                                                 {
  2105.                                                     otvetProc("Неверный ввод!", false);
  2106.                                                     continue;
  2107.                                                 }
  2108.                                             }
  2109.                                             else
  2110.                                             {
  2111.                                                 Console.WriteLine("Пусто");
  2112.                                                 prod();
  2113.                                                 break;
  2114.                                             }
  2115.                                         }
  2116.                                         break;
  2117.                                     #endregion
  2118.                                     #region 4 - Org
  2119.                                     case "4":
  2120.                                         if (iffer == true)
  2121.                                             ifferOtvet = true;
  2122.                                         break;
  2123.                                     #endregion
  2124.                                     #region 5 - JOB
  2125.                                     case "5":
  2126.                                         if (iffer == true)
  2127.                                             ifferOtvet = true;
  2128.                                         break;
  2129.                                     #endregion
  2130.                                     #region 6 - Informations
  2131.                                     case "6":
  2132.                                         if (iffer == true)
  2133.                                             ifferOtvet = true;
  2134.                                         otvetProc("Это твой аккаунт и ты в нём!\nИмя твоего аккаунта - " + Name + "\nПароль от аккаунта - ????" + "\nУ тебя есть файловый сервер!\nИ ты вроде хакер ;)", true, false);
  2135.                                         break;
  2136.                                     #endregion
  2137.                                     #region EXIT
  2138.                                     case "0":
  2139.                                         if (iffer == true)
  2140.                                             ifferOtvet = true;
  2141.                                         ex = true;
  2142.                                         otvetProc(IP + ": Отключено", false);
  2143.                                         Console.WriteLine();
  2144.                                         break;
  2145.                                     #endregion
  2146.                                     default:
  2147.                                         if (iffer == true)
  2148.                                             ifferOtvet = false;
  2149.                                         otvetProc("НЕВЕРНЫЙ ЗАПРОС!", false);
  2150.                                         break;
  2151.                                 }
  2152.                             }
  2153.                             else
  2154.                             {
  2155.                                 otvetProc("Верефикация не пройдена!", false);
  2156.                                 break;
  2157.                             }
  2158.                         }
  2159.                         break;
  2160.                     #endregion
  2161.  
  2162.                     #region 0.0.0.0
  2163.                     case "0.0.0.0":
  2164.  
  2165.                         if (iffer == true)
  2166.                             ifferOtvet = true;
  2167.                         otvetProc("Подключено к ip - " + IP, true);
  2168.  
  2169.                         Array[] Files = FindServerFilesInSERVERDATA(DATA, IP);
  2170.  
  2171.                         for (bool ex = false; ex == false; )
  2172.                         {
  2173.                             if (ScriptOnOf == false)
  2174.                             {
  2175.                                 sitesWrite("GENERAL NODE NETH4CKERS", ConsoleColor.Red, ConsoleColor.DarkRed);
  2176.  
  2177.                                 Console.WriteLine();
  2178.  
  2179.                                 Console.BackgroundColor = ConsoleColor.DarkRed;
  2180.                                 Console.ForegroundColor = ConsoleColor.Red;
  2181.  
  2182.                                 Console.WriteLine("1: Регистрация по коду приглашения");
  2183.                                 Console.WriteLine("2: Вход в аккаунт");
  2184.                                 Console.WriteLine("3: Информация");
  2185.                                 Console.WriteLine("0: Выход");
  2186.  
  2187.                                 Console.BackgroundColor = ConsoleColor.Black;
  2188.                                 Console.ForegroundColor = ConsoleColor.Green;
  2189.                                 Console.Write("Запрос: ");
  2190.  
  2191.                                 Console.ForegroundColor = ConsoleColor.DarkGreen;
  2192.                             }
  2193.                             zapros = CallInputUser();
  2194.  
  2195.                             switch (zapros)
  2196.                             {
  2197.                                 #region 1 - Register
  2198.                                 case "1":
  2199.                                     if (iffer == true)
  2200.                                         ifferOtvet = true;
  2201.                                     #region GENERAL
  2202.  
  2203.                                     if (Files != null)
  2204.                                     {
  2205.                                         if (((string)Files[1].GetValue(3)).Split(' ')[0] == Name)
  2206.                                         {
  2207.                                             otvetProc("System: Вы уже зарегистрированы в сети!", false, false);
  2208.                                             Waiter("System: Перенаправление на главный сервер", false, 3, 1000);
  2209.                                             Console.WriteLine();
  2210.                                             otvetProc("System: Перенаправлено на IP-" + IP, true);
  2211.                                             break;
  2212.                                         }
  2213.                                     }
  2214.                                     for (bool finich = false; finich == false; )
  2215.                                     {
  2216.                                         Console.ForegroundColor = ConsoleColor.Red;
  2217.                                         Console.Write("System: Введите код приглашения - ");
  2218.                                         if (CallInputUser() == "666228666")
  2219.                                         {
  2220.                                             otvetProc("System: Код приглашения принят", true);
  2221.                                             Console.WriteLine();
  2222.                                             #region Password
  2223.                                             for (bool ok = false; ok == false; )
  2224.                                             {
  2225.                                                 Console.ForegroundColor = ConsoleColor.Green;
  2226.                                                 Console.Write("System: Придумайте пароль - ");
  2227.  
  2228.                                                 string Password = CallInputUser();
  2229.                                                 if (Password.Length < 4)
  2230.                                                 {
  2231.                                                     otvetProc("System: Минимальное кол-во символов - 4!", false, false);
  2232.                                                     continue;
  2233.                                                 }
  2234.                                                 else
  2235.                                                     if (Password.Length > 12)
  2236.                                                     {
  2237.                                                         otvetProc("System: Максимальное кол-во символов - 12!", false, false);
  2238.                                                         continue;
  2239.                                                     }
  2240.                                                 otvetProc("System: Пароль подтверждён!", true);
  2241.                                                 Console.WriteLine();
  2242.                                                 otvetProc("System: Ваш пароль - " + Password, true, false);
  2243.                                                 prod();
  2244.                                                 otvetProc("System: Открыт Note, для записи пароля", true, false);
  2245.                                                 cmd("/note");
  2246.                                                 prod();
  2247.  
  2248.                                                 if (Files == null)
  2249.                                                 {
  2250.                                                     Files = new Array[5];
  2251.                                                     Files[0] = ServerFileIndexer(IP, dostup.none);
  2252.  
  2253.                                                     string[] UsersFile = CreateFile("Users", "txt", 10);
  2254.                                                     UsersFile[2] = "Users 0";
  2255.                                                     Files[1] = UsersFile;
  2256.  
  2257.                                                     string[] UserFriends = CreateFile("Friends", "txt", 10);
  2258.                                                     Files[2] = UserFriends;
  2259.  
  2260.                                                     string[] UserReQuest = CreateFile("ReQuest", "txt", 10);
  2261.                                                     Files[3] = UserReQuest;
  2262.  
  2263.                                                     string[] UserMessages = CreateFile("Messages", "txt", 10);
  2264.                                                     Files[4] = UserMessages;
  2265.                                                 }
  2266.                                                 #region Accounts
  2267.                                                 int CountUsers = Convert.ToInt32(((string)Files[1].GetValue(2)).Split(' ')[1]);
  2268.                                                 #region Fraim
  2269.                                                 Files[1].SetValue("Fraim  " + "666228666 " + GenerateHashCode(), CountUsers + 3);
  2270.                                                 CountUsers++;
  2271.                                                 #endregion
  2272.                                                 #region Player
  2273.                                                 Files[1].SetValue(Name + " " + Password + " " + GenerateHashCode(), CountUsers + 3);
  2274.                                                 CountUsers++;
  2275.                                                 #endregion
  2276.                                                 Files[1].SetValue("Users " + CountUsers.ToString(), 2);
  2277.                                                 #endregion
  2278.                                                 #region friends
  2279.                                                 for (int i = 2; i < Files[2].Length - 1; i++)
  2280.                                                 {
  2281.                                                     #region Player
  2282.                                                     if (Files[2].GetValue(i) == null)
  2283.                                                     {
  2284.                                                         Files[2].SetValue(Name + "=Friends=0=", i);
  2285.                                                         break;
  2286.                                                     }
  2287.                                                     #endregion
  2288.                                                     #region Fraim
  2289.                                                     if (Files[2].GetValue(i) == null)
  2290.                                                     {
  2291.                                                         Files[2].SetValue("Fraim=Friends=0=", i);
  2292.                                                         break;
  2293.                                                     }
  2294.                                                     #endregion
  2295.                                                 }
  2296.                                                 #endregion
  2297.                                                 #region ReQuest
  2298.                                                 for (int i = 2; i < Files[3].Length - 1; i++)
  2299.                                                 {
  2300.                                                     #region Player
  2301.                                                     if (Files[3].GetValue(i) == null)
  2302.                                                     {
  2303.                                                         Files[3].SetValue(Name + "=request=1=Fraim", i);
  2304.                                                         break;
  2305.                                                     }
  2306.                                                     #endregion
  2307.                                                     #region Fraim
  2308.                                                     if (Files[3].GetValue(i) == null)
  2309.                                                     {
  2310.                                                         Files[3].SetValue("Fraim=request=0=", i);
  2311.                                                         break;
  2312.                                                     }
  2313.                                                     #endregion
  2314.                                                 }
  2315.                                                 #endregion
  2316.                                                 #region Messages
  2317.                                                 for (int i = 2; i < Files[4].Length - 1; i++)
  2318.                                                 {
  2319.                                                     #region Player
  2320.                                                     if (Files[4].GetValue(i) == null)
  2321.                                                     {
  2322.                                                         Files[4].SetValue(Name + "=Messages=0=", i);
  2323.                                                         break;
  2324.                                                     }
  2325.                                                     #endregion
  2326.                                                     #region Fraim
  2327.                                                     if (Files[4].GetValue(i) == null)
  2328.                                                     {
  2329.                                                         Files[4].SetValue("Fraim=Messages=0=", i);
  2330.                                                         break;
  2331.                                                     }
  2332.                                                     #endregion
  2333.                                                 }
  2334.                                                 #endregion
  2335.  
  2336.                                                 UploadServerFilesInSERVERSDATA(DATA, Files);
  2337.  
  2338.                                                 otvetProc("System: Регистрация закончена", true);
  2339.                                                 Waiter("System: Перенаправление на главный сервер", true, 3, 1000);
  2340.                                                 otvetProc("System: Перенаправлено на IP-" + IP, true);
  2341.  
  2342.                                                 ok = true;
  2343.                                                 finich = true;
  2344.                                             }
  2345.                                             #endregion
  2346.                                         }
  2347.                                         else
  2348.                                         {
  2349.                                             otvetProc("Неверный код приглашения!", false);
  2350.                                             break;
  2351.                                         }
  2352.                                     }
  2353.                                     #endregion
  2354.                                     break;
  2355.                                 #endregion
  2356.                                 #region 2 - Login
  2357.                                 case "2":
  2358.                                     if (iffer == true)
  2359.                                         ifferOtvet = true;
  2360.                                     for (bool finish = false; finish == false; )
  2361.                                     {
  2362.                                         Waiter("System: Загрузка систем аутентификации", true, 3, 1000);
  2363.  
  2364.                                         otvetProc("System: Системы активированы", true, false);
  2365.                                         otvetProc("System: Включены системы защиты", true, false);
  2366.                                         otvetProc("System: Сеанс проверен", true, false);
  2367.                                         otvetProc("System: Все системы активированы", true, false);
  2368.                                         Waiter("System: Запуск сценария", true, 3, 300);
  2369.  
  2370.                                         otvetProc("System: Сценарий запущен", true, false);
  2371.                                         Console.WriteLine("");
  2372.                                         otvetProc("System: Добро пожаловать, в систему авторизации!", true, false);
  2373.  
  2374.                                         if (Files == null)
  2375.                                         {
  2376.                                             otvetProc("System: Вы не зарегистрированы в сети!", false, false);
  2377.                                             Waiter("System: Перенаправление на главный сервер", true, 3, 1000);
  2378.                                             otvetProc("System: Перенаправлено на IP-" + IP, true);
  2379.                                             break;
  2380.                                         }
  2381.  
  2382.                                         #region PassAndName
  2383.                                         for (bool ok = false; ok == false; )
  2384.                                         {
  2385.                                             Console.ForegroundColor = ConsoleColor.Green;
  2386.                                             Console.Write("System: Введите ваше имя - ");
  2387.                                             string name = CallInputUser();
  2388.  
  2389.                                             Console.Write("System: Введите пароль - ");
  2390.                                             string pass = CallInputUser();
  2391.  
  2392.                                             if (pass == "0" || pass == "exit")
  2393.                                             {
  2394.                                                 ok = true;
  2395.                                                 finish = true;
  2396.                                                 break;
  2397.                                             }
  2398.                                             for (int i = 2; i < Files[1].Length - 1; i++)
  2399.                                             {
  2400.                                                 if (Files[1].GetValue(i) != null)
  2401.                                                 {
  2402.                                                     if (((string)Files[1].GetValue(i)).Split(' ')[0] == name &&
  2403.                                                         ((string)Files[1].GetValue(i)).Split(' ')[1] == pass)
  2404.                                                     {
  2405.                                                         otvetProc("System: Пароль принят", true, false);
  2406.                                                         prod();
  2407.  
  2408.                                                         Waiter("System: Перенаправление в личный кабинет", true, 3, 1000);
  2409.                                                         otvetProc("System: Перенаправлено на IP-0.0.0.1", true);
  2410.                                                         redir = "redir=0.0.0.1/hash=" + ((string)Files[1].GetValue(i)).Split(' ')[2];
  2411.                                                         NET("0.0.0.1");
  2412.  
  2413.                                                         ok = true;
  2414.                                                         finish = true;
  2415.                                                         break;
  2416.                                                     }
  2417.                                                     else
  2418.                                                     {
  2419.                                                         if (i == Files[1].Length - 1)
  2420.                                                         {
  2421.                                                             otvetProc("System: Неверно введён пароль или имя!", false, false);
  2422.                                                             prod();
  2423.                                                             otvetProc("Введите 0 или exit в поле ввода пароля, чтобы выйти ;)", false, false);
  2424.                                                             prod();
  2425.                                                             break;
  2426.                                                         }
  2427.                                                     }
  2428.                                                 }
  2429.                                             }
  2430.                                         }
  2431.                                         #endregion
  2432.                                     }
  2433.                                     break;
  2434.                                 #endregion
  2435.                                 #region 3 - Informations
  2436.                                 case "3":
  2437.                                     if (iffer == true)
  2438.                                         ifferOtvet = true;
  2439.                                     Console.BackgroundColor = ConsoleColor.DarkYellow;
  2440.                                     Console.ForegroundColor = ConsoleColor.Yellow;
  2441.                                     Console.WriteLine();
  2442.                                     Console.WriteLine("Сеть - NetHackers, создана для хакеров");
  2443.                                     Console.WriteLine("Она, как социальная сеть");
  2444.                                     Console.WriteLine("Она, объединяет хакеров");
  2445.                                     Console.WriteLine("В ней, можно получать деньги за работу");
  2446.                                     Console.WriteLine("Она, предоставляет хакеру собственный анонимный сервер");
  2447.                                     Console.WriteLine("Тут, хакеры могут анонимно обмениваться сообщениями");
  2448.                                     Console.WriteLine("Тут, можно покупать программы");
  2449.                                     Console.WriteLine("ЭТО ИДЕАЛЬНОЕ МЕСТО ДЛЯ ХАКЕРОВ!");
  2450.                                     Console.WriteLine("Чтобы сюда попасть нужно пройти испытания");
  2451.                                     Console.WriteLine("Испытания должен выдавать текущий лидер");
  2452.                                     Console.WriteLine("Если вы прошли все испытания, который дал лидер");
  2453.                                     Console.WriteLine("Тогда лидер даст вам секретный код приглашения!");
  2454.                                     Console.WriteLine("И вы вступите в ряды NetHackers!");
  2455.                                     Console.WriteLine();
  2456.                                     prod();
  2457.                                     break;
  2458.                                 #endregion
  2459.                                 #region EXIT
  2460.                                 case "0":
  2461.                                     if (iffer == true)
  2462.                                         ifferOtvet = true;
  2463.                                     ex = true;
  2464.                                     otvetProc(IP + ": Отключено", false);
  2465.                                     Console.WriteLine();
  2466.                                     break;
  2467.                                 #endregion
  2468.                                 default:
  2469.                                     if (iffer == true)
  2470.                                         ifferOtvet = false;
  2471.                                     otvetProc("НЕВЕРНЫЙ ЗАПРОС!", false);
  2472.                                     break;
  2473.                             }
  2474.                         }
  2475.                         break;
  2476.                     #endregion
  2477.  
  2478.                     default:
  2479.                         if (iffer == true)
  2480.                             ifferOtvet = false;
  2481.                         otvetProc("IP адрес - " + IP + " не найден!", false);
  2482.                         return false;
  2483.                 }
  2484.             }
  2485.             return true;
  2486.         }
  2487.  
  2488.         //Файловые системы
  2489.         public bool fileSystem(string IP, dostup dostup)
  2490.         {
  2491.             #region Home
  2492.             if (IP == ip)
  2493.             {
  2494.                 FileSysWrite(IP, ConsoleColor.DarkGreen, ConsoleColor.Green);
  2495.                 files = memDownload;
  2496.                 fileSystemProc(dostup, IP);
  2497.                 memDownload = files;
  2498.             }
  2499.             #endregion
  2500.  
  2501.             switch (IP)
  2502.             {
  2503.                 #region 255.255.255.255
  2504.                 case "255.255.255.255":
  2505.                     files = FindServerFilesInSERVERDATA(DATA, IP);
  2506.                     if (files == null)
  2507.                     {
  2508.                         files = new Array[3];
  2509.                         files[0] = ServerFileIndexer(IP, dostup);
  2510.  
  2511.                         string[] Scriptor = CreateFile("Scriptor", "exe", 4);
  2512.                         Scriptor[2] = "Scriptor";
  2513.                         files[1] = Scriptor;
  2514.  
  2515.                         string[] FileTxt = CreateFile("Readme", "txt", 5);
  2516.                         FileTxt[2] = "Ты это читаешь?!";
  2517.                         FileTxt[3] = "Круто...";
  2518.                         files[2] = FileTxt;
  2519.                     }
  2520.                     FileSysWrite(IP, ConsoleColor.DarkMagenta, ConsoleColor.Magenta);
  2521.                     fileSystemProc(dostup, IP);
  2522.  
  2523.                     DATA = UploadServerFilesInSERVERSDATA(DATA, files);
  2524.                     break;
  2525.                 #endregion
  2526.  
  2527.                 #region 255.255.255.254
  2528.                 case "255.255.255.254":
  2529.                     files = FindServerFilesInSERVERDATA(DATA, IP);
  2530.                     if (files == null)
  2531.                     {
  2532.                         files = new Array[4];
  2533.                         files[0] = ServerFileIndexer(IP, dostup);
  2534.  
  2535.                         string[] Scriptor = CreateFile("Scriptor", "exe", 4);
  2536.                         Scriptor[2] = "Scriptor";
  2537.                         files[1] = Scriptor;
  2538.  
  2539.                         string[] FileTxt = CreateFile("Readme", "txt", 5);
  2540.                         FileTxt[2] = "Ты это читаешь?!";
  2541.                         FileTxt[3] = "Круто...";
  2542.                         files[2] = FileTxt;
  2543.  
  2544.                         string[] SaveMeFile = CreateFile("SaveMe", "txt", 6);
  2545.                         SaveMeFile[2] = "Ты меня сохранил! ОГО!";
  2546.                         SaveMeFile[3] = "Ну я запомнил твой ip - " + ip;
  2547.                         SaveMeFile[4] = ";D LOL KEK TRULYALYA ;D";
  2548.                         files[3] = SaveMeFile;
  2549.                     }
  2550.                     FileSysWrite(IP, ConsoleColor.DarkRed, ConsoleColor.Red);
  2551.                     fileSystemProc(dostup, IP);
  2552.  
  2553.                     DATA = UploadServerFilesInSERVERSDATA(DATA, files);
  2554.                     break;
  2555.                 #endregion
  2556.  
  2557.                 #region 228.228.228.228
  2558.                 case "228.228.228.228":
  2559.                     files = FindServerFilesInSERVERDATA(DATA, IP);
  2560.                     if (files == null)
  2561.                     {
  2562.                         files = new Array[2];
  2563.                         files[0] = ServerFileIndexer(IP, dostup);
  2564.  
  2565.                         string[] ChatRoom228 = CreateFile("ChatRoom228", "txt", 23);
  2566.                         ChatRoom228[2] = "Her: Привет мажёр!";
  2567.                         ChatRoom228[3] = "228: Эй ты, ты у меня в тюрьме сидеть будешь!";
  2568.                         ChatRoom228[4] = "Her: Ты тут своим баблом не тряси!";
  2569.                         ChatRoom228[5] = "228: Что хочу, то и делаю!";
  2570.                         ChatRoom228[6] = "Her: Ты думаешь крутой?! ДА?!";
  2571.                         ChatRoom228[7] = "228: В отличии от тебя я лучше";
  2572.                         ChatRoom228[8] = "228: Я в топе по рейтингу хакеров!";
  2573.                         ChatRoom228[9] = "Her: Я был лидером, а ты заплатил создателю сети!";
  2574.                         ChatRoom228[10] = "Her: И не умеешь ты ничего!";
  2575.                         ChatRoom228[11] = "Her: Для понтов купил лидерку!";
  2576.                         ChatRoom228[12] = "Her: Я тебя ломану! И оставлю уязвимость - )";
  2577.                         ChatRoom228[13] = "Her: Чтобы все хакеры могли взломать лидера!";
  2578.                         ChatRoom228[14] = "Her: Вот увидешь, так и будет!";
  2579.                         ChatRoom228[15] = "228: Да пошёл ты...";
  2580.                         ChatRoom228[16] = "Пользователь - 228 отключился";
  2581.                         ChatRoom228[17] = "Her: Поняли как надо... А теперь довайте его ломать!";
  2582.                         ChatRoom228[18] = "Retr0: ;D Погнали";
  2583.                         ChatRoom228[19] = "Sa1RaC: Го";
  2584.                         ChatRoom228[20] = "Her: Только уже в анонимный чат пойдём ;)";
  2585.                         ChatRoom228[21] = "Чат закрыт";
  2586.                         files[1] = ChatRoom228;
  2587.                     }
  2588.                     FileSysWrite(IP, ConsoleColor.DarkMagenta, ConsoleColor.Magenta);
  2589.                     fileSystemProc(dostup, IP);
  2590.  
  2591.                     DATA = UploadServerFilesInSERVERSDATA(DATA, files);
  2592.                     break;
  2593.                 #endregion
  2594.  
  2595.                 #region 100.100.10.10
  2596.                 case "100.100.10.10":
  2597.                     files = FindServerFilesInSERVERDATA(DATA, IP);
  2598.                     if (files == null)
  2599.                     {
  2600.                         files = new Array[2];
  2601.                         files[0] = ServerFileIndexer(IP, dostup);
  2602.  
  2603.                         string[] winlock = CreateFile("winlock", "exe", 5);
  2604.                         winlock[2] = "windows_lock";
  2605.                         winlock[3] = "666";
  2606.                         files[1] = winlock;
  2607.                     }
  2608.                     FileSysWrite(IP, ConsoleColor.DarkMagenta, ConsoleColor.Magenta);
  2609.                     fileSystemProc(dostup, IP);
  2610.  
  2611.                     DATA = UploadServerFilesInSERVERSDATA(DATA, files);
  2612.                     break;
  2613.                 #endregion
  2614.  
  2615.                 #region 80.80.80.80
  2616.                 case "80.80.80.80":
  2617.                     files = FindServerFilesInSERVERDATA(DATA, IP);
  2618.                     if (files == null)
  2619.                     {
  2620.                         files = new Array[2];
  2621.                         files[0] = ServerFileIndexer(IP, dostup);
  2622.  
  2623.                         string[] Secured = CreateFile("Secured", "txt", 13);
  2624.                         Secured[2] = "Мой пароль от игры Pokemon BOBO - 123456";
  2625.                         Secured[3] = "Это я так, чтобы запомнить";
  2626.                         Secured[4] = "И зачем я всё это пишу";
  2627.                         Secured[5] = "Сам с собой говорю...";
  2628.                         Secured[6] = "У меня самая защищённая система";
  2629.                         Secured[7] = "Я защищаю свой ПК по WIFI. Я про ХаКеР";
  2630.                         Secured[8] = "И этот пароль Retr0 точно не забрутит";
  2631.                         Secured[9] = "Я знаю, что он хочет взломать мой ПК";
  2632.                         Secured[10] = "Но у него это не выйдет и он не получит пароль!!!";
  2633.                         Secured[11] = "Я опять сам с собой разговариваю...";
  2634.                         Secured[12] = "Надо заканчивать..";
  2635.                         files[1] = Secured;
  2636.                     }
  2637.                     FileSysWrite(IP, ConsoleColor.DarkMagenta, ConsoleColor.Magenta);
  2638.                     fileSystemProc(dostup, IP);
  2639.  
  2640.                     DATA = UploadServerFilesInSERVERSDATA(DATA, files);
  2641.                     break;
  2642.                 #endregion
  2643.  
  2644.                 #region 10.10.1.1
  2645.                 case "10.10.1.1":
  2646.                     files = FindServerFilesInSERVERDATA(DATA, IP);
  2647.                     if (files == null)
  2648.                     {
  2649.                         files = new Array[2];
  2650.                         files[0] = ServerFileIndexer(IP, dostup);
  2651.  
  2652.                         string[] ddoser = CreateFile("ddoser", "exe", 4);
  2653.                         ddoser[2] = "ddos";
  2654.                         files[1] = ddoser;
  2655.                     }
  2656.                     FileSysWrite(IP, ConsoleColor.DarkGreen, ConsoleColor.Green);
  2657.                     fileSystemProc(dostup, IP);
  2658.  
  2659.                     DATA = UploadServerFilesInSERVERSDATA(DATA, files);
  2660.                     break;
  2661.                 #endregion
  2662.  
  2663.                 #region 1.2.3.4
  2664.                 case "1.2.3.4":
  2665.  
  2666.                     files = FindServerFilesInSERVERDATA(DATA, IP);
  2667.                     if (files == null)
  2668.                     {
  2669.                         files = new Array[3];
  2670.                         files[0] = ServerFileIndexer(IP, dostup);
  2671.  
  2672.                         files[1] = CreateFile("Unknown", "null", 3);
  2673.                     }
  2674.                     FileSysWrite(IP, ConsoleColor.DarkGreen, ConsoleColor.Green);
  2675.                     fileSystemProc(dostup, IP);
  2676.  
  2677.                     DATA = UploadServerFilesInSERVERSDATA(DATA, files);
  2678.                     break;
  2679.                 #endregion
  2680.  
  2681.                 #region 0.0.0.1
  2682.                 case "0.0.0.1":
  2683.                     files = FindServerFilesInSERVERDATA(DATA, IP);
  2684.                     if (files == null)
  2685.                     {
  2686.                         files = new Array[10];
  2687.                         files[0] = ServerFileIndexer(IP, Program.dostup.none);
  2688.  
  2689.                         string[] ReadmeFile = CreateFile("Readme", "txt", 9);
  2690.                         ReadmeFile[2] = "Этот файловый сервер ваш!";
  2691.                         ReadmeFile[3] = "Да, да!";
  2692.                         ReadmeFile[4] = "ТОЛЬКО ВАШ! (если конечно ваш аккаунт не взломают ;))";
  2693.                         ReadmeFile[5] = "Сейчас вы можете хранить только 10 файлов!";
  2694.                         ReadmeFile[6] = "Улучшайте ваш сервер, чтобы хранить больше файлов!";
  2695.                         ReadmeFile[7] = "-System";
  2696.  
  2697.                         files[1] = ReadmeFile;
  2698.                     }
  2699.                     FileSysWrite(IP, ConsoleColor.DarkRed, ConsoleColor.Red);
  2700.                     fileSystemProc(dostup, IP);
  2701.  
  2702.                     DATA = UploadServerFilesInSERVERSDATA(DATA, files);
  2703.                     break;
  2704.                 #endregion
  2705.  
  2706.                 #region 0.0.0.0
  2707.                 case "0.0.0.0":
  2708.                     files = FindServerFilesInSERVERDATA(DATA, IP);
  2709.                     if (files == null)
  2710.                     {
  2711.                         files = new Array[5];
  2712.                         files[0] = ServerFileIndexer(IP, dostup);
  2713.  
  2714.                         string[] UsersFile = CreateFile("Users", "txt", 10);
  2715.                         UsersFile[2] = "Users 0";
  2716.                         files[1] = UsersFile;
  2717.  
  2718.                         string[] UserFriends = CreateFile("Friends", "txt", 10);
  2719.                         files[2] = UserFriends;
  2720.  
  2721.                         string[] UserReQuest = CreateFile("ReQuest", "txt", 10);
  2722.                         files[3] = UserReQuest;
  2723.  
  2724.                         string[] UserMessages = CreateFile("Messages", "txt", 10);
  2725.                         files[4] = UserMessages;
  2726.                     }
  2727.                     FileSysWrite(IP, ConsoleColor.DarkRed, ConsoleColor.Red);
  2728.                     fileSystemProc(dostup, IP);
  2729.  
  2730.                     DATA = UploadServerFilesInSERVERSDATA(DATA, files);
  2731.                     break;
  2732.                 #endregion
  2733.  
  2734.                 default:
  2735.                     if (ip != IP)
  2736.                     {
  2737.                         if (iffer == true)
  2738.                             ifferOtvet = false;
  2739.                         otvetProc("ОШИБКА! ФАЙЛОВАЯ СИСТЕМА ДАННОГО IP АДРЕСА НЕДОСТУПНА!", false);
  2740.                         return false;
  2741.                     }
  2742.                     break;
  2743.             }
  2744.             return true;
  2745.         }
  2746.  
  2747.         //Пишет заголовок главного экрана шлюза
  2748.         public void sitesWrite(string siteName, ConsoleColor back_c, ConsoleColor fore_c)
  2749.         {
  2750.             Console.WriteLine();
  2751.             Console.Write("                        ");
  2752.             Console.BackgroundColor = back_c;
  2753.             Console.ForegroundColor = fore_c;
  2754.             Console.WriteLine(siteName);
  2755.             Console.BackgroundColor = ConsoleColor.Black;
  2756.             Console.ForegroundColor = ConsoleColor.Gray;
  2757.         }
  2758.  
  2759.         //Пишет заголовок главного экрана файловой системы
  2760.         public void FileSysWrite(string ip, ConsoleColor back_c, ConsoleColor fore_c)
  2761.         {
  2762.  
  2763.             if (ScriptOnOf == false)
  2764.             {
  2765.                 Waiter("Подключение к файловой системе...", true, 3, 1000);
  2766.  
  2767.                 Console.WriteLine();
  2768.                 Console.BackgroundColor = back_c;
  2769.                 Console.ForegroundColor = fore_c;
  2770.  
  2771.                 Console.Write("ФАЙЛОВАЯ СИСТЕМА IP - " + ip);
  2772.                 Console.BackgroundColor = ConsoleColor.Black;
  2773.                 Console.ForegroundColor = ConsoleColor.Gray;
  2774.             }
  2775.             else
  2776.             {
  2777.                 otvetProc("Подключено к файловой системе", true);
  2778.             }
  2779.         }
  2780.  
  2781.         //Команды запросов для файловых систем
  2782.         /// <summary>
  2783.         /// Процессы над файлами
  2784.         /// </summary>
  2785.         /// <param name="dostup">Уровень доступа</param>
  2786.         /// <param name="files">Массив файлов</param>
  2787.         public void fileSystemProc(dostup dostup, string IP)
  2788.         {
  2789.             string zapros = "";
  2790.             bool SQLED = false;
  2791.  
  2792.  
  2793.             if (ScriptOnOf == false)
  2794.             {
  2795.                 Podskaz(2);
  2796.             }
  2797.  
  2798.             for (bool ex = false; ex == false; )
  2799.             {
  2800.                 if (SQLED == true)
  2801.                 {
  2802.                     if (iffer == true)
  2803.                         ifferOtvet = true;
  2804.                     otvetProc("ДОСТУП READ ПОЛУЧЕН", true);
  2805.                     dostup = Program.dostup.read;
  2806.                     SQLED = false;
  2807.                 }
  2808.                 if (!ScriptOnOf)
  2809.                 {
  2810.                     Console.BackgroundColor = ConsoleColor.Black;
  2811.                     Console.ForegroundColor = ConsoleColor.Green;
  2812.                     Console.Write("\nЗапрос:");
  2813.  
  2814.                     Console.ForegroundColor = ConsoleColor.DarkGreen;
  2815.                     zapros = CallInputUser();
  2816.                     Console.ForegroundColor = ConsoleColor.Gray;
  2817.                 }
  2818.                 else
  2819.                 {
  2820.                     zapros = CallInputUser();
  2821.                 }
  2822.                 #region Injected
  2823.                 switch (zapros)
  2824.                 {
  2825.                     #region !
  2826.                     case "!":
  2827.                         switch (IP)
  2828.                         {
  2829.                             case "1.2.3.4":
  2830.                                 SQLED = true;
  2831.                                 break;
  2832.                         }
  2833.                         continue;
  2834.                     #endregion
  2835.                     #region @
  2836.                     case "@":
  2837.                         switch (IP)
  2838.                         {
  2839.                             case "1.2.3.4":
  2840.                                 SQLED = true;
  2841.                                 break;
  2842.                         }
  2843.                         continue;
  2844.                     #endregion
  2845.                     #region #
  2846.                     case "#":
  2847.                         switch (IP)
  2848.                         {
  2849.                             case "1.2.3.4":
  2850.                                 SQLED = true;
  2851.                                 break;
  2852.                         }
  2853.                         continue;
  2854.                     #endregion
  2855.                     #region $
  2856.                     case "$":
  2857.                         switch (IP)
  2858.                         {
  2859.                             case "1.2.3.4":
  2860.                                 SQLED = true;
  2861.                                 break;
  2862.                             case "80.80.80.80":
  2863.                                 SQLED = true;
  2864.                                 continue;
  2865.                         }
  2866.                         continue;
  2867.                     #endregion
  2868.                     #region %
  2869.                     case "%":
  2870.                         switch (IP)
  2871.                         {
  2872.                             case "1.2.3.4":
  2873.                                 SQLED = true;
  2874.                                 break;
  2875.                         }
  2876.                         continue;
  2877.                     #endregion
  2878.                     #region ^
  2879.                     case "^":
  2880.                         switch (IP)
  2881.                         {
  2882.                             case "1.2.3.4":
  2883.                                 SQLED = true;
  2884.                                 break;
  2885.                         }
  2886.                         continue;
  2887.                     #endregion
  2888.                     #region &
  2889.                     case "&":
  2890.                         switch (IP)
  2891.                         {
  2892.                             case "1.2.3.4":
  2893.                                 SQLED = true;
  2894.                                 break;
  2895.                         }
  2896.                         continue;
  2897.                     #endregion
  2898.                     #region ?
  2899.                     case "?":
  2900.                         switch (IP)
  2901.                         {
  2902.                             case "1.2.3.4":
  2903.                                 SQLED = true;
  2904.                                 break;
  2905.                         }
  2906.                         continue;
  2907.                     #endregion
  2908.                     #region *
  2909.                     case "*":
  2910.                         switch (IP)
  2911.                         {
  2912.                             case "1.2.3.4":
  2913.                                 SQLED = true;
  2914.                                 break;
  2915.                             case "80.80.80.80":
  2916.                                 SQLED = true;
  2917.                                 continue;
  2918.                         }
  2919.                         continue;
  2920.                     #endregion
  2921.                     #region (
  2922.                     case "(":
  2923.                         switch (IP)
  2924.                         {
  2925.                             case "1.2.3.4":
  2926.                                 SQLED = true;
  2927.                                 break;
  2928.                         }
  2929.                         continue;
  2930.                     #endregion
  2931.                     #region )
  2932.                     case ")":
  2933.                         switch (IP)
  2934.                         {
  2935.                             case "1.2.3.4":
  2936.                                 SQLED = true;
  2937.                                 break;
  2938.                             case "228.228.228.228":
  2939.                                 SQLED = true;
  2940.                                 break;
  2941.                         }
  2942.                         continue;
  2943.                     #endregion
  2944.                     #region -
  2945.                     case "-":
  2946.                         switch (IP)
  2947.                         {
  2948.                             case "1.2.3.4":
  2949.                                 SQLED = true;
  2950.                                 break;
  2951.                         }
  2952.                         continue;
  2953.                     #endregion
  2954.                     #region +
  2955.                     case "+":
  2956.                         switch (IP)
  2957.                         {
  2958.                             case "1.2.3.4":
  2959.                                 SQLED = true;
  2960.                                 break;
  2961.                             case "80.80.80.80":
  2962.                                 SQLED = true;
  2963.                                 continue;
  2964.                         }
  2965.                         continue;
  2966.                     #endregion
  2967.                     #region =
  2968.                     case "=":
  2969.                         switch (IP)
  2970.                         {
  2971.                             case "1.2.3.4":
  2972.                                 SQLED = true;
  2973.                                 break;
  2974.                             case "80.80.80.80":
  2975.                                 SQLED = true;
  2976.                                 continue;
  2977.                         }
  2978.                         continue;
  2979.                     #endregion
  2980.                 }
  2981.                 #endregion
  2982.  
  2983.                 try
  2984.                 {
  2985.                     #region comands
  2986.                     if (zapros != "")
  2987.                     {
  2988.                         if (zapros[0] == '/')
  2989.                         {
  2990.                             cmd(zapros);
  2991.                             continue;
  2992.                         }
  2993.                     }
  2994.                     #endregion
  2995.  
  2996.                     #region dc
  2997.                     if (zapros == "dc")
  2998.                     {
  2999.                         if (!ScriptOnOf)
  3000.                         {
  3001.                             otvetProc("Выход из файловой системы...", false);
  3002.                             Thread.Sleep(rand.Next(3000));
  3003.                         }
  3004.                         else
  3005.                         {
  3006.                             otvetProc("Отключено от файловой системы", false);
  3007.                         }
  3008.                         ex = true;
  3009.                         if (iffer == true)
  3010.                             ifferOtvet = true;
  3011.                         break;
  3012.                     }
  3013.                     #endregion
  3014.  
  3015.                     #region opera
  3016.                     if (dostup != Program.dostup.none)
  3017.                     {
  3018.                         #region Dostup Read
  3019.                         #region save
  3020.                         if (zapros.Split(' ')[0] == "save" && IP != ip)
  3021.                         {
  3022.                             int otvet = 0;
  3023.                             string FileNameAndExtension = "";
  3024.                             string memfileName = "";
  3025.                             foreach (string[] file in files)
  3026.                             {
  3027.                                 if (file != null)
  3028.                                 {
  3029.                                     if (zapros.Split(' ')[1] == file[0] || zapros.Split(' ')[1] == file[0] + "." + file[1])
  3030.                                     {
  3031.                                         for (int m = 0; m < memDownload.Length; m++)
  3032.                                         {
  3033.                                             if (memDownload[m] != null)
  3034.                                             {
  3035.                                                 if (memDownload[m].GetValue(0).ToString() == file[0] && memDownload[m].GetValue(1).ToString() == file[1])
  3036.                                                 {
  3037.                                                     otvet = 3;
  3038.                                                     break;
  3039.                                                 }
  3040.                                             }
  3041.                                             if (memDownload[m] == null)
  3042.                                             {
  3043.                                                 string[] newFile = new string[file.Length];
  3044.                                                 file.CopyTo(newFile, 0);
  3045.                                                 memDownload[m] = newFile;
  3046.  
  3047.                                                 otvet = 1;
  3048.                                                 FileNameAndExtension = memDownload[m].GetValue(0) + "." + memDownload[m].GetValue(1);
  3049.                                                 break;
  3050.                                             }
  3051.                                             if (m == memDownload.Length && otvet == 0)
  3052.                                             {
  3053.                                                 otvet = 2;
  3054.                                                 break;
  3055.                                             }
  3056.                                         }
  3057.                                     }
  3058.                                 }
  3059.                             }
  3060.                             if (otvet != 1 || otvet != 3 && iffer == true)
  3061.                                 ifferOtvet = false;
  3062.                             else
  3063.                                 ifferOtvet = true;
  3064.                             if (otvet == 1)
  3065.                             {
  3066.                                 otvetProc("Сохранение...", true);
  3067.                                 if (!ScriptOnOf)
  3068.                                     Thread.Sleep(rand.Next(5000));
  3069.                                 otvetProc("Файл - " + FileNameAndExtension + ", успешно сохранён!", true);
  3070.                             }
  3071.                             if (otvet == 2)
  3072.                             {
  3073.                                 otvetProc("Ошибка сохранения!", false);
  3074.                                 otvetProc("Нехватает памяти на вашем компьютере!", false);
  3075.                             }
  3076.                             if (otvet == 3)
  3077.                             {
  3078.                                 otvetProc("Файл с таким именем уже существует на вашем компьютере!", false);
  3079.                             }
  3080.                             if (otvet == 0)
  3081.                             {
  3082.                                 otvetProc("Неудача. Файл не найден!", false);
  3083.                             }
  3084.  
  3085.                             continue;
  3086.                         }
  3087.                         #endregion
  3088.  
  3089.                         #region dir
  3090.                         if (zapros == "dir")
  3091.                         {
  3092.                             int vsego = 0;
  3093.                             Console.WriteLine("Файлы:");
  3094.                             foreach (string[] file in files)
  3095.                             {
  3096.                                 if (IP != ip)
  3097.                                 {
  3098.                                     if (file != null && file[1] != "sys")
  3099.                                     {
  3100.                                         Console.WriteLine(file[0] + "." + file[1]);
  3101.                                         vsego++;
  3102.                                     }
  3103.                                 }
  3104.                                 else
  3105.                                 {
  3106.                                     if (file != null)
  3107.                                     {
  3108.                                         Console.WriteLine(file[0] + "." + file[1]);
  3109.                                         vsego++;
  3110.                                     }
  3111.                                 }
  3112.                             }
  3113.                             if (vsego == 0)
  3114.                             {
  3115.                                 Console.WriteLine("Пусто");
  3116.                             }
  3117.                             continue;
  3118.                         }
  3119.                         #endregion
  3120.                         #endregion
  3121.  
  3122.                         #region Dostup Write
  3123.                         if (dostup != Program.dostup.read)
  3124.                         {
  3125.                             #region rename
  3126.                             if (zapros.Split(' ')[0] == "Rename" ||
  3127.                                 zapros.Split(' ')[0] == "rename" ||
  3128.                                 zapros.Split(' ')[0] == "RENAME" &&
  3129.                                 zapros.Split(' ')[1] != "" &&
  3130.                                 zapros.Split(' ')[2] != "")
  3131.                             {
  3132.                                 try
  3133.                                 {
  3134.                                     bool ok = false;
  3135.  
  3136.                                     string s1 = zapros.Split(' ')[1];
  3137.                                     string s2 = zapros.Split(' ')[2];
  3138.                                     s2 = s2.Replace(".", "");
  3139.  
  3140.                                     #region Proverka s2
  3141.                                     switch (s2[0])
  3142.                                     {
  3143.                                         case '1':
  3144.                                             s2 = "file_" + s2;
  3145.                                             break;
  3146.                                         case '2':
  3147.                                             s2 = "file_" + s2;
  3148.                                             break;
  3149.                                         case '3':
  3150.                                             s2 = "file_" + s2;
  3151.                                             break;
  3152.                                         case '4':
  3153.                                             s2 = "file_" + s2;
  3154.                                             break;
  3155.                                         case '5':
  3156.                                             s2 = "file_" + s2;
  3157.                                             break;
  3158.                                         case '6':
  3159.                                             s2 = "file_" + s2;
  3160.                                             break;
  3161.                                         case '7':
  3162.                                             s2 = "file_" + s2;
  3163.                                             break;
  3164.                                         case '8':
  3165.                                             s2 = "file_" + s2;
  3166.                                             break;
  3167.                                         case '9':
  3168.                                             s2 = "file_" + s2;
  3169.                                             break;
  3170.                                         case '0':
  3171.                                             s2 = "file_" + s2;
  3172.                                             break;
  3173.                                     }
  3174.                                     #endregion
  3175.  
  3176.                                     for (int i = 0; i < files.Length; i++)
  3177.                                     {
  3178.                                         if (files[i] != null)
  3179.                                         {
  3180.                                             if (files[i].GetValue(0).ToString() == s1 ||
  3181.                                                 files[i].GetValue(0).ToString() + "." + files[i].GetValue(1).ToString() == s1)
  3182.                                             {
  3183.                                                 if (files[i].GetValue(0).ToString() != IP &&
  3184.                                                     files[i].GetValue(1).ToString() != "sys")
  3185.                                                 {
  3186.                                                     if (iffer == true)
  3187.                                                         ifferOtvet = true;
  3188.                                                     files[i].SetValue(s2, 0);
  3189.                                                     otvetProc("Файл - " + s1 + " - переименнован в - " + s2, true);
  3190.                                                     ok = true;
  3191.                                                     break;
  3192.                                                 }
  3193.                                                 else
  3194.                                                 {
  3195.                                                     if (dostup != Program.dostup.admin)
  3196.                                                     {
  3197.                                                         if (iffer == true)
  3198.                                                             ifferOtvet = false;
  3199.                                                         otvetProc("Файл защищён! Необходимые права - admin", false);
  3200.                                                         break;
  3201.                                                     }
  3202.                                                 }
  3203.                                             }
  3204.                                         }
  3205.                                     }
  3206.                                     if (!ok)
  3207.                                     {
  3208.                                         if (iffer == true)
  3209.                                             ifferOtvet = false;
  3210.                                         otvetProc("Файл - " + zapros.Split(' ')[1] + " - не найден!", false);
  3211.                                     }
  3212.                                 }
  3213.                                 catch (Exception)
  3214.                                 {
  3215.                                     if (iffer == true)
  3216.                                         ifferOtvet = false;
  3217.                                     otvetProc("Файл ну удалось переименновать!", false);
  3218.                                 }
  3219.                                 continue;
  3220.                             }
  3221.                             #endregion
  3222.  
  3223.                             #region Copy
  3224.                             if (zapros.Split(' ')[0] == "Copy" ||
  3225.                                 zapros.Split(' ')[0] == "copy" ||
  3226.                                 zapros.Split(' ')[0] == "COPY" &&
  3227.                                 zapros.Split(' ')[1] != "")
  3228.                             {
  3229.                                 Array[] newfiles = CopyFile(zapros.Split(' ')[1], files);
  3230.                                 if (newfiles != null)
  3231.                                 {
  3232.                                     if (iffer == true)
  3233.                                         ifferOtvet = true;
  3234.                                     files = newfiles;
  3235.                                 }
  3236.                                 else
  3237.                                 {
  3238.                                     if (iffer == true)
  3239.                                         ifferOtvet = false;
  3240.                                 }
  3241.                                 continue;
  3242.                             }
  3243.                             #endregion
  3244.  
  3245.                             #region rm
  3246.                             if (zapros.Split(' ')[0] == "rm")
  3247.                             {
  3248.                                 bool okey = false;
  3249.                                 for (int i = 0; i < files.Length; i++)
  3250.                                 {
  3251.                                     if (files[i] != null)
  3252.                                     {
  3253.                                         #region RM *
  3254.                                         if (zapros.Split(' ')[1] == "*")
  3255.                                         {
  3256.                                             if (files[i].GetValue(0).ToString() != IP &&
  3257.                                                 files[i].GetValue(1).ToString() != "sys")
  3258.                                             {
  3259.                                                 if (iffer == true)
  3260.                                                     ifferOtvet = true;
  3261.                                                 okey = true;
  3262.                                                 otvetProc("Файл -" + files[i].GetValue(0).ToString() + "." + files[i].GetValue(1).ToString() + " удалён!", true);
  3263.                                                 files[i] = null;
  3264.                                             }
  3265.                                             else
  3266.                                             {
  3267.                                                 if (iffer == true)
  3268.                                                     ifferOtvet = false;
  3269.                                                 otvetProc(files[i].GetValue(0).ToString() + "." + files[i].GetValue(1).ToString() + " - Этот файл невозможно удалить!", false);
  3270.                                             }
  3271.                                         }
  3272.                                         #endregion
  3273.                                         #region RM FILE
  3274.                                         else
  3275.                                         {
  3276.                                             if (zapros.Split(' ')[1] == files[i].GetValue(0).ToString() ||
  3277.                                                 zapros.Split(' ')[1] == files[i].GetValue(0).ToString() + "." + files[i].GetValue(1).ToString())
  3278.                                             {
  3279.                                                 if (files[i].GetValue(0).ToString() != IP &&
  3280.                                                 files[i].GetValue(1).ToString() != "sys")
  3281.                                                 {
  3282.                                                     if (iffer == true)
  3283.                                                         ifferOtvet = true;
  3284.                                                     okey = true;
  3285.                                                     otvetProc("Файл -" + files[i].GetValue(0).ToString() + "." + files[i].GetValue(1).ToString() + " удалён!", true);
  3286.                                                     files[i] = null;
  3287.                                                 }
  3288.                                                 else
  3289.                                                 {
  3290.                                                     if (iffer == true)
  3291.                                                         ifferOtvet = false;
  3292.                                                     otvetProc(files[i].GetValue(0).ToString() + "." + files[i].GetValue(1).ToString() + " - Этот файл невозможно удалить!", false);
  3293.                                                 }
  3294.                                             }
  3295.                                         }
  3296.                                         #endregion
  3297.                                     }
  3298.                                 }
  3299.                                 if (!okey)
  3300.                                 {
  3301.                                     if (iffer == true)
  3302.                                         ifferOtvet = false;
  3303.                                     otvetProc("Файл, который вы хотите удалить не найден или его не удалось удалить!", false);
  3304.                                 }
  3305.                                 continue;
  3306.                             }
  3307.                             #endregion
  3308.  
  3309.                             #region Upload
  3310.                             if (zapros.Split(' ')[0] == "UPLOAD" ||
  3311.                                 zapros.Split(' ')[0] == "Upload" ||
  3312.                                 zapros.Split(' ')[0] == "upload" &&
  3313.                                 zapros.Split(' ')[1] != "")
  3314.                             {
  3315.                                 if (ip != IP)
  3316.                                 {
  3317.                                     string zap1 = zapros.Split(' ')[0];
  3318.                                     string zap2 = zapros.Split(' ')[1];
  3319.                                     string zap3 = null;
  3320.  
  3321.                                     if (SearhCharCountInString(zap2, '.') != 0)
  3322.                                     {
  3323.                                         zap3 = zapros.Split('.')[1];
  3324.                                         zap2 = zap2.Replace("." + zap3, "");
  3325.                                     }
  3326.  
  3327.                                     string[] UploadedFile = SearchFileInMemory(zap2, zap3, memDownload);
  3328.                                     if (UploadedFile != null)
  3329.                                     {
  3330.                                         if (iffer == true)
  3331.                                             ifferOtvet = true;
  3332.                                         files = UploadINStore(files, UploadedFile);
  3333.                                         otvetProc("Файл - " + zapros.Replace(zap1 + " ", "") + " - загружен на сервер!", true);
  3334.                                     }
  3335.                                     else
  3336.                                     {
  3337.                                         if (iffer == true)
  3338.                                             ifferOtvet = false;
  3339.                                         otvetProc("Неудалось найти файл! Возможно вы ввели неправильно имя файла!", false);
  3340.                                     }
  3341.                                 }
  3342.                                 else
  3343.                                 {
  3344.                                     if (iffer == true)
  3345.                                         ifferOtvet = false;
  3346.                                     otvetProc("Нельзя загрузить файл на свой же компьютер!", false);
  3347.                                 }
  3348.                                 continue;
  3349.                             }
  3350.                             #endregion
  3351.                         }
  3352.                         else
  3353.                         {
  3354.                             if (iffer == true)
  3355.                                 ifferOtvet = false;
  3356.                             otvetProc("Нет доступа для выполнения этой операции!\nМинимально требуемый доступ - write", false);
  3357.                             continue;
  3358.                         }
  3359.                         #endregion
  3360.                     #endregion
  3361.  
  3362.                         if (iffer == true)
  3363.                             ifferOtvet = false;
  3364.                         otvetProc("НЕВЕРНЫЙ ЗАПРОС!", false);
  3365.                         continue;
  3366.                     }
  3367.                     else
  3368.                     {
  3369.                         if (iffer == true)
  3370.                             ifferOtvet = false;
  3371.                         dialog("НЕТ ДОСТУПА!");
  3372.                         continue;
  3373.                     }
  3374.                 }
  3375.                 catch (Exception)
  3376.                 {
  3377.                     if (iffer == true)
  3378.                         ifferOtvet = false;
  3379.                     otvetProc("ОШИБКА ЗАПРОСА!", false);
  3380.                     continue;
  3381.                 }
  3382.             }
  3383.         }
  3384.  
  3385.         //Опции
  3386.         public dostup options(dostup publicDostup)
  3387.         {
  3388.             string zapros = "";
  3389.  
  3390.             for (bool ex = false; ex == false; )
  3391.             {
  3392.                 if (ScriptOnOf == false)
  3393.                 {
  3394.                     Console.BackgroundColor = ConsoleColor.DarkGreen;
  3395.                     Console.ForegroundColor = ConsoleColor.Green;
  3396.                     Console.WriteLine("Настройки:");
  3397.                     Console.WriteLine();
  3398.                     Console.BackgroundColor = ConsoleColor.Black;
  3399.                     Console.WriteLine("1: Параметры доступа для всех пользователей");
  3400.                     if (podskz_of_on == true)
  3401.                     {
  3402.                         Console.WriteLine("2: Подсказки включены (2 - чтобы отключить)");
  3403.                     }
  3404.                     else
  3405.                     {
  3406.                         Console.WriteLine("2: Подсказки отключены (2 - чтобы включить)");
  3407.                     }
  3408.                     Console.WriteLine("3: Выход из настроек");
  3409.  
  3410.                     Console.Write("Ввод: ");
  3411.                 }
  3412.                 zapros = CallInputUser();
  3413.                 if (zapros != "" && zapros != " ")
  3414.                 {
  3415.                     switch (zapros)
  3416.                     {
  3417.                         #region 1 DOSTUP
  3418.                         case "1":
  3419.                             string vvod = "";
  3420.  
  3421.                             for (bool exit = false; exit == false; )
  3422.                             {
  3423.                                 if (ScriptOnOf == false)
  3424.                                 {
  3425.                                     Console.WriteLine();
  3426.                                     otvetProc("Параметры доступа для всех пользователей:", true);
  3427.                                     otvetProc("Текущий параметр - " + publicDostup.ToString(), true);
  3428.                                     Console.WriteLine();
  3429.                                     Console.ForegroundColor = ConsoleColor.Green;
  3430.                                     Console.WriteLine("1 - admin");
  3431.                                     Console.WriteLine("2 - user");
  3432.                                     Console.WriteLine("3 - read");
  3433.                                     Console.WriteLine("4 - write");
  3434.                                     Console.WriteLine("5 - none");
  3435.                                     Console.WriteLine();
  3436.                                     otvetProc("6 - Назад", true);
  3437.  
  3438.                                     Console.ForegroundColor = ConsoleColor.Green;
  3439.                                     Console.Write("Ввод: ");
  3440.  
  3441.                                     Console.BackgroundColor = ConsoleColor.Black;
  3442.                                     vvod = CallInputUser();
  3443.                                     Console.BackgroundColor = ConsoleColor.DarkGreen;
  3444.                                 }
  3445.                                 else
  3446.                                 {
  3447.                                     vvod = CallInputUser();
  3448.                                 }
  3449.                                 if (vvod != "" && vvod != " ")
  3450.                                 {
  3451.                                     switch (vvod)
  3452.                                     {
  3453.                                         case "1":
  3454.                                             Console.WriteLine();
  3455.                                             otvetProc("Параметры доступа изменены на права admin", true);
  3456.                                             exit = true;
  3457.                                             publicDostup = dostup.admin;
  3458.                                             break;
  3459.                                         case "2":
  3460.                                             Console.WriteLine();
  3461.                                             otvetProc("Параметры доступа изменены на права user", true);
  3462.                                             exit = true;
  3463.                                             publicDostup = dostup.user;
  3464.                                             break;
  3465.                                         case "3":
  3466.                                             Console.WriteLine();
  3467.                                             otvetProc("Параметры доступа изменены на права read", true);
  3468.                                             exit = true;
  3469.                                             publicDostup = dostup.read;
  3470.                                             break;
  3471.                                         case "4":
  3472.                                             Console.WriteLine();
  3473.                                             otvetProc("Параметры доступа изменены на права write", true);
  3474.                                             exit = true;
  3475.                                             publicDostup = dostup.write;
  3476.                                             break;
  3477.                                         case "5":
  3478.                                             Console.WriteLine();
  3479.                                             otvetProc("Параметры доступа изменены на права none - нет прав", true);
  3480.                                             exit = true;
  3481.                                             publicDostup = dostup.none;
  3482.                                             break;
  3483.  
  3484.                                         case "6":
  3485.                                             exit = true;
  3486.                                             ex = true;
  3487.                                             break;
  3488.                                     }
  3489.                                 }
  3490.                                 else
  3491.                                 {
  3492.                                     otvetProc("Неверно введён параметр!", false);
  3493.                                 }
  3494.                             }
  3495.                             break;
  3496.                         #endregion
  3497.  
  3498.                         #region 2 PODSKAZ
  3499.                         case "2":
  3500.                             podskz_of_on = podskz_of_on != true;
  3501.  
  3502.                             if (podskz_of_on == true)
  3503.                                 otvetProc("Подсказки включены!", true);
  3504.                             else
  3505.                                 otvetProc("Подсказки отключены!", true);
  3506.  
  3507.                             ex = true;
  3508.                             break;
  3509.                         #endregion
  3510.  
  3511.                         #region 3 exit
  3512.                         case "3":
  3513.                             ex = true;
  3514.                             break;
  3515.                         #endregion
  3516.                     }
  3517.                 }
  3518.                 else
  3519.                 {
  3520.                     otvetProc("ТАКОГО ПАРАМЕТРА НЕСУЩЕСТВУЕТ!", false);
  3521.                 }
  3522.             }
  3523.             return publicDostup;
  3524.         }
  3525.  
  3526.         #endregion
  3527.  
  3528.         #region CMD
  3529.         /// <summary>
  3530.         /// Командная строка
  3531.         /// </summary>
  3532.         /// <param name="script">false - режим скрипт отключён, true - режим скрипт включён</param>
  3533.         public void cmd()
  3534.         {
  3535.             if (ScriptOnOf == false)
  3536.             {
  3537.                 Podskaz(1);
  3538.  
  3539.                 Console.BackgroundColor = ConsoleColor.Black;
  3540.                 Console.ForegroundColor = ConsoleColor.Green;
  3541.                 Console.Write("КОМАНДА:");
  3542.  
  3543.                 Console.ForegroundColor = ConsoleColor.DarkGreen;
  3544.  
  3545.                 comand = CallInputUser();
  3546.                 Console.BackgroundColor = ConsoleColor.Black;
  3547.                 Console.ForegroundColor = ConsoleColor.Gray;
  3548.             }
  3549.             else
  3550.             {
  3551.                 comand = CallInputUser();
  3552.             }
  3553.  
  3554.             try
  3555.             {
  3556.                 if (comand != "" && comand != " " && comand != null)
  3557.                 {
  3558.                     if (comand[0] == '/')
  3559.                     {
  3560.                         comand = comand.Replace("/", "");
  3561.  
  3562.                         #region Script
  3563.                         if (comand.Split(' ')[0] == "Script" || comand.Split(' ')[0] == "script" || comand.Split(' ')[0] == "SCRIPT")
  3564.                         {
  3565.                             if (comand == "script" || comand == "Script" || comand == "SCRIPT")
  3566.                             {
  3567.                                 bool NotFoud = true;
  3568.  
  3569.                                 Console.WriteLine();
  3570.                                 Console.WriteLine("Скрипты: ");
  3571.                                 foreach (string[] Script in memDownload)
  3572.                                 {
  3573.                                     if (Script != null)
  3574.                                     {
  3575.                                         if (Script[1] == "script")
  3576.                                         {
  3577.                                             if (iffer == true)
  3578.                                                 ifferOtvet = true;
  3579.  
  3580.                                             NotFoud = false;
  3581.                                             Console.WriteLine(Script[0] + "." + Script[1]);
  3582.                                         }
  3583.                                     }
  3584.                                 }
  3585.                                 if (NotFoud == true)
  3586.                                 {
  3587.                                     Console.WriteLine("Пусто");
  3588.                                 }
  3589.                                 Console.WriteLine();
  3590.                             }
  3591.                             else
  3592.                             {
  3593.                                 if (ScriptSearhMemory(comand.Replace(comand.Split(' ')[0] + ' ', "")))
  3594.                                 {
  3595.                                     if (iffer == true)
  3596.                                         ifferOtvet = true;
  3597.  
  3598.                                     ScriptOnOf = true;
  3599.                                     scriptTH = new Thread(ScriptRUN);
  3600.                                     scriptTH.IsBackground = true;
  3601.                                     scriptTH.Start();
  3602.  
  3603.                                     while (ScriptOnOf == true)
  3604.                                     {
  3605.                                         Thread.Sleep(1000);
  3606.                                     }
  3607.  
  3608.                                     Thread.Sleep(1000);
  3609.                                 }
  3610.                             }
  3611.                             return;
  3612.                         }
  3613.                         #endregion
  3614.  
  3615.                         #region Note
  3616.                         if (comand == "note" || comand == "Note" || comand == "NOTE")
  3617.                         {
  3618.                             if (iffer == true)
  3619.                                 ifferOtvet = true;
  3620.  
  3621.                             process = "Note";
  3622.                             otvetProc("Программа Note запущена", true);
  3623.  
  3624.                             th_program = new Thread(NoteRun);
  3625.                             th_program.IsBackground = true;
  3626.                             th_program.Start();
  3627.  
  3628.                             return;
  3629.                         }
  3630.                         #endregion
  3631.  
  3632.                         #region Home
  3633.                         if (comand == "home")
  3634.                         {
  3635.                             NET(ip);
  3636.                             return;
  3637.                         }
  3638.                         #endregion
  3639.  
  3640.                         #region EXE
  3641.                         if (comand != "exe")
  3642.                         {
  3643.                             if (comand.Split(' ')[0] == "exe")
  3644.                             {
  3645.                                 foreach (string[] file in memDownload)
  3646.                                 {
  3647.                                     if (file != null)
  3648.                                     {
  3649.                                         if (file[1] == "exe")
  3650.                                         {
  3651.                                             if (file[0] == comand.Split(' ')[1] || file[0] + ".exe" == comand.Split(' ')[1])
  3652.                                             {
  3653.                                                 if (iffer == true)
  3654.                                                     ifferOtvet = true;
  3655.  
  3656.                                                 #region winlock
  3657.                                                 if (file[2] == "windows_lock")
  3658.                                                 {
  3659.                                                     otvetProc("Программа " + file[0] + " запущена", true);
  3660.  
  3661.                                                     currProgram = file;
  3662.  
  3663.                                                     th_program = new Thread(startPrograms);
  3664.                                                     th_program.IsBackground = true;
  3665.                                                     th_program.Start();
  3666.  
  3667.                                                     true_and_false = true;
  3668.  
  3669.                                                     if (currSavePos != 0)
  3670.                                                     {
  3671.                                                         Console.WriteLine();
  3672.                                                         otvetProc("ДОСТУП ЗАБЛОКИРОВАН!", false);
  3673.  
  3674.                                                         for (bool ex = false; ex == false; )
  3675.                                                         {
  3676.                                                             if (SP != null)
  3677.                                                             {
  3678.                                                                 if (SP.Consolezapros() == 1)
  3679.                                                                 {
  3680.                                                                     ex = true;
  3681.                                                                     Console.WriteLine();
  3682.                                                                     otvetProc("Доступ востановлен", true);
  3683.                                                                 }
  3684.                                                             }
  3685.                                                         }
  3686.                                                     }
  3687.                                                     return;
  3688.                                                 }
  3689.                                                 #endregion
  3690.  
  3691.                                                 #region ddoser
  3692.                                                 if (file[2] == "ddos")
  3693.                                                 {
  3694.                                                     otvetProc("Программа " + file[0] + " запущена", true);
  3695.  
  3696.                                                     currProgram = file;
  3697.  
  3698.                                                     th_program = new Thread(startPrograms);
  3699.                                                     th_program.IsBackground = true;
  3700.                                                     th_program.Start();
  3701.  
  3702.                                                     true_and_false = true;
  3703.                                                     return;
  3704.                                                 }
  3705.                                                 #endregion
  3706.  
  3707.                                                 #region Scriptor
  3708.                                                 if (file[2] == "Scriptor")
  3709.                                                 {
  3710.                                                     otvetProc("Программа " + file[0] + " запущена", true);
  3711.  
  3712.                                                     currProgram = file;
  3713.  
  3714.                                                     ProverkaObmenTH = new Thread(ProverkaObmen);
  3715.                                                     ProverkaObmenTH.IsBackground = true;
  3716.                                                     ProverkaObmenTH.Start();
  3717.  
  3718.                                                     th_program = new Thread(startPrograms);
  3719.                                                     th_program.IsBackground = true;
  3720.                                                     th_program.Start();
  3721.  
  3722.                                                     MessageObmen = file[2] + " run";
  3723.                                                     return;
  3724.                                                 }
  3725.                                                 #endregion
  3726.                                             }
  3727.                                         }
  3728.                                     }
  3729.                                 }
  3730.                                 if (currProgram == null)
  3731.                                 {
  3732.                                     if (iffer == true)
  3733.                                         ifferOtvet = false;
  3734.                                     otvetProc("Программа не найдена!", false);
  3735.                                     return;
  3736.                                 }
  3737.                             }
  3738.                         }
  3739.                         else
  3740.                         {
  3741.                             int vsego = 0;
  3742.                             Console.WriteLine();
  3743.                             Console.WriteLine("Программы: ");
  3744.                             foreach (string[] file in memDownload)
  3745.                             {
  3746.                                 if (file != null && file[1] == "exe")
  3747.                                 {
  3748.                                     Console.WriteLine(file[0] + "." + file[1]);
  3749.                                     vsego++;
  3750.                                 }
  3751.                             }
  3752.                             if (vsego == 0)
  3753.                             {
  3754.                                 if (iffer == true)
  3755.                                     ifferOtvet = false;
  3756.                                 Console.WriteLine("Пусто");
  3757.                                 return;
  3758.                             }
  3759.                             else
  3760.                             {
  3761.                                 if (iffer == true)
  3762.                                     ifferOtvet = true;
  3763.                                 Console.WriteLine();
  3764.                                 return;
  3765.                             }
  3766.                         }
  3767.                         #endregion
  3768.  
  3769.                         #region connect
  3770.                         if (comand.Split(' ')[0] == "connect" || comand.Split(' ')[0] == "Connect")
  3771.                         {
  3772.                             try
  3773.                             {
  3774.                                 if (comand.Split(' ')[1] == ip)
  3775.                                 {
  3776.                                     CurrIP = ip;
  3777.                                     NET(ip);
  3778.                                     CurrIP = "";
  3779.                                     return;
  3780.                                 }
  3781.                                 string IP = comand.Split(' ')[1];
  3782.                                 CurrIP = IP;
  3783.                                 NET(IP);
  3784.                                 CurrIP = "";
  3785.                                 return;
  3786.                             }
  3787.                             catch (Exception)
  3788.                             {
  3789.                                 otvetProc("Неверно введён ip адресс!", false);
  3790.                                 return;
  3791.                             }
  3792.                         }
  3793.                         #endregion
  3794.  
  3795.                         #region IP
  3796.                         if (comand == "ip" || comand == "IP" || comand == "Ip")
  3797.                         {
  3798.                             if (iffer == true)
  3799.                                 ifferOtvet = true;
  3800.                             otvetProc(ip, true);
  3801.                             return;
  3802.                         }
  3803.                         #endregion
  3804.  
  3805.                         #region help
  3806.                         if (comand == "help" || comand == "help 1" || comand == "help 2" ||
  3807.                             comand == "help 3" || comand == "help 4" || comand == "help 5")
  3808.                         {
  3809.                             if (iffer == true)
  3810.                                 ifferOtvet = true;
  3811.                             Help(comand);
  3812.                             return;
  3813.                         }
  3814.                         #endregion
  3815.  
  3816.                         #region clear
  3817.                         if (comand == "clear")
  3818.                         {
  3819.                             if (iffer == true)
  3820.                                 ifferOtvet = true;
  3821.                             Console.Clear();
  3822.                             otvetProc("Консоль очищенна", true);
  3823.                             return;
  3824.                         }
  3825.                         #endregion
  3826.  
  3827.                         #region SaveAndLoad
  3828.                         if (comand == "save")
  3829.                         {
  3830.                             if (iffer == true)
  3831.                                 ifferOtvet = true;
  3832.                             SaveGame();
  3833.                             otvetProc("Сохранено!", true);
  3834.                             return;
  3835.                         }
  3836.                         if (comand == "load")
  3837.                         {
  3838.                             if (LoadGame() != 1)
  3839.                             {
  3840.                                 if (iffer == true)
  3841.                                     ifferOtvet = true;
  3842.                                 otvetProc("Не выбран файл с сохранением!", false);
  3843.                             }
  3844.                             return;
  3845.                         }
  3846.                         #endregion
  3847.  
  3848.                         #region Exit
  3849.                         if (comand == "exit" || comand == "Exit" || comand == "EXIT")
  3850.                         {
  3851.                             if (iffer == true)
  3852.                                 ifferOtvet = true;
  3853.                             return;
  3854.                         }
  3855.                         #endregion
  3856.  
  3857.                         if (iffer == true)
  3858.                             ifferOtvet = false;
  3859.                         otvetProc("НЕВЕРНО ВВЕДЕНА КОМАНДА!", false);
  3860.                     }
  3861.                     else
  3862.                     {
  3863.                         if (iffer == true)
  3864.                             ifferOtvet = false;
  3865.                         otvetProc("НЕВЕРНО ВВЕДЕНА КОМАНДА!", false);
  3866.                     }
  3867.                 }
  3868.                 else
  3869.                 {
  3870.                     if (iffer == true)
  3871.                         ifferOtvet = false;
  3872.                     otvetProc("НЕВЕРНО ВВЕДЕНА КОМАНДА!", false);
  3873.                 }
  3874.             }
  3875.             catch (Exception)
  3876.             {
  3877.                 if (iffer == true)
  3878.                     ifferOtvet = false;
  3879.                 otvetProc("ОШИБКА ВВОДА! Исключение перехвачено!", false);
  3880.             }
  3881.             Console.ForegroundColor = ConsoleColor.Gray;
  3882.             Console.BackgroundColor = ConsoleColor.Black;
  3883.         }
  3884.         /// <summary>
  3885.         /// Командная строка на сервере
  3886.         /// </summary>
  3887.         /// <param name="incom">Запрос от сервера выполнить команду</param>
  3888.         public void cmd(string incom)
  3889.         {
  3890.             if (ScriptOnOf == false)
  3891.             {
  3892.                 Console.BackgroundColor = ConsoleColor.Black;
  3893.                 Console.ForegroundColor = ConsoleColor.Gray;
  3894.                 comand = incom;
  3895.             }
  3896.             else
  3897.             {
  3898.                 comand = CallInputUser(); ;
  3899.             }
  3900.             try
  3901.             {
  3902.                 if (comand != "" && comand != " " && comand != null)
  3903.                 {
  3904.                     if (comand[0] == '/')
  3905.                     {
  3906.                         comand = comand.Replace("/", "");
  3907.  
  3908.                         #region Script
  3909.                         if (comand.Split(' ')[0] == "Script" || comand.Split(' ')[0] == "script" || comand.Split(' ')[0] == "SCRIPT")
  3910.                         {
  3911.                             if (comand == "script" || comand == "Script" || comand == "SCRIPT")
  3912.                             {
  3913.                                 bool NotFoud = true;
  3914.  
  3915.                                 Console.WriteLine();
  3916.                                 Console.WriteLine("Скрипты: ");
  3917.                                 foreach (string[] Script in memDownload)
  3918.                                 {
  3919.                                     if (Script != null)
  3920.                                     {
  3921.                                         if (Script[1] == "script")
  3922.                                         {
  3923.                                             if (iffer == true)
  3924.                                                 ifferOtvet = true;
  3925.  
  3926.                                             NotFoud = false;
  3927.                                             Console.WriteLine(Script[0] + "." + Script[1]);
  3928.                                         }
  3929.                                     }
  3930.                                 }
  3931.                                 if (NotFoud == true)
  3932.                                 {
  3933.                                     Console.WriteLine("Пусто");
  3934.                                 }
  3935.                                 Console.WriteLine();
  3936.                             }
  3937.                             else
  3938.                             {
  3939.                                 if (ScriptSearhMemory(comand.Replace(comand.Split(' ')[0] + ' ', "")))
  3940.                                 {
  3941.                                     if (iffer == true)
  3942.                                         ifferOtvet = true;
  3943.  
  3944.                                     ScriptOnOf = true;
  3945.                                     scriptTH = new Thread(ScriptRUN);
  3946.                                     scriptTH.IsBackground = true;
  3947.                                     scriptTH.Start();
  3948.  
  3949.                                     while (ScriptOnOf == true)
  3950.                                     {
  3951.                                         Thread.Sleep(1000);
  3952.                                     }
  3953.  
  3954.                                     Thread.Sleep(1000);
  3955.                                 }
  3956.                             }
  3957.                             return;
  3958.                         }
  3959.                         #endregion
  3960.  
  3961.                         #region Note
  3962.                         if (comand == "note" || comand == "Note" || comand == "NOTE")
  3963.                         {
  3964.                             if (iffer == true)
  3965.                                 ifferOtvet = true;
  3966.  
  3967.                             process = "Note";
  3968.                             otvetProc("Программа Note запущена", true);
  3969.  
  3970.                             th_program = new Thread(NoteRun);
  3971.                             th_program.IsBackground = true;
  3972.                             th_program.Start();
  3973.  
  3974.                             return;
  3975.                         }
  3976.                         #endregion
  3977.  
  3978.                         #region IP
  3979.                         if (comand == "ip" || comand == "IP" || comand == "Ip")
  3980.                         {
  3981.                             if (iffer == true)
  3982.                                 ifferOtvet = true;
  3983.                             otvetProc(ip, true);
  3984.                             return;
  3985.                         }
  3986.                         #endregion
  3987.  
  3988.                         #region help
  3989.                         if (comand == "help" || comand == "help 1" || comand == "help 2" ||
  3990.                             comand == "help 3" || comand == "help 4")
  3991.                         {
  3992.                             if (iffer == true)
  3993.                                 ifferOtvet = true;
  3994.                             Help(comand);
  3995.                             return;
  3996.                         }
  3997.                         #endregion
  3998.  
  3999.                         #region clear
  4000.                         if (comand == "clear")
  4001.                         {
  4002.                             if (iffer == true)
  4003.                                 ifferOtvet = true;
  4004.                             Console.Clear();
  4005.                             otvetProc("Консоль очищенна", true);
  4006.                             return;
  4007.                         }
  4008.                         #endregion
  4009.  
  4010.                         if (iffer == true)
  4011.                             ifferOtvet = false;
  4012.                         otvetProc("НЕВЕРНО ВВЕДЕНА КОМАНДА!", false);
  4013.                     }
  4014.                     else
  4015.                     {
  4016.                         if (iffer == true)
  4017.                             ifferOtvet = false;
  4018.                         otvetProc("НЕВЕРНО ВВЕДЕНА КОМАНДА!", false);
  4019.                     }
  4020.                 }
  4021.                 else
  4022.                 {
  4023.                     if (iffer == true)
  4024.                         ifferOtvet = false;
  4025.                     otvetProc("НЕВЕРНО ВВЕДЕНА КОМАНДА!", false);
  4026.                 }
  4027.             }
  4028.             catch (Exception)
  4029.             {
  4030.                 if (iffer == true)
  4031.                     ifferOtvet = false;
  4032.                 otvetProc("ОШИБКА ВВОДА! Исключение перехвачено!", false);
  4033.             }
  4034.             Console.ForegroundColor = ConsoleColor.Gray;
  4035.             Console.BackgroundColor = ConsoleColor.Black;
  4036.         }
  4037.         #endregion
  4038.  
  4039.         #region Script
  4040.         public bool ScriptComander(string comand)
  4041.         {
  4042.             try
  4043.             {
  4044.                 GlobalScriptActions = comand.Split(' ')[0];
  4045.                 string ScriptComand = comand.Replace(comand.Split(' ')[0] + ' ', "");
  4046.  
  4047.                 #region WRITE
  4048.                 if (GlobalScriptActions == "WRITE" || GlobalScriptActions == "write" || GlobalScriptActions == "Write")
  4049.                 {
  4050.                     Console.ForegroundColor = ConsoleColor.Yellow;
  4051.                     #region STRING
  4052.                     if (ScriptComand[0] == '"' || ScriptComand[0] == '\'' && ScriptComand[ScriptComand.Length - 1] == '"' || ScriptComand[ScriptComand.Length - 1] == '\'')
  4053.                     {
  4054.                         ScriptComand = ScriptComand.Remove(0, 1);
  4055.                         ScriptComand = ScriptComand.Remove(ScriptComand.Length - 1, 1);
  4056.                         Console.WriteLine(ScriptComand);
  4057.                     }
  4058.                     #endregion
  4059.                     #region INT
  4060.                     else
  4061.                     {
  4062.                         try
  4063.                         {
  4064.                             ScriptComand = ScriptComand.Trim();
  4065.                             for (int currChar = 0; currChar < ScriptComand.Length; currChar++)
  4066.                             {
  4067.                                 if (ScriptComand[currChar] != ' ')
  4068.                                 {
  4069.                                     #region +
  4070.                                     if (ScriptComand[currChar] == '+')
  4071.                                     {
  4072.                                         int a = Convert.ToInt32(ScriptComand.Split('+')[0]);
  4073.                                         int b = Convert.ToInt32(ScriptComand.Split('+')[1]);
  4074.                                         Console.WriteLine(a + "+" + b + "=" + (a + b));
  4075.                                     }
  4076.                                     #endregion
  4077.                                     #region -
  4078.                                     if (ScriptComand[currChar] == '-')
  4079.                                     {
  4080.                                         int a = Convert.ToInt32(ScriptComand.Split('-')[0]);
  4081.                                         int b = Convert.ToInt32(ScriptComand.Split('-')[1]);
  4082.                                         Console.WriteLine(a + "-" + b + "=" + (a - b));
  4083.                                     }
  4084.                                     #endregion
  4085.                                     #region *
  4086.                                     if (ScriptComand[currChar] == '*')
  4087.                                     {
  4088.                                         int a = Convert.ToInt32(ScriptComand.Split('*')[0]);
  4089.                                         int b = Convert.ToInt32(ScriptComand.Split('*')[1]);
  4090.                                         Console.WriteLine(a + "*" + b + "=" + (a * b));
  4091.                                     }
  4092.                                     #endregion
  4093.                                     #region /
  4094.                                     if (ScriptComand[currChar] == '/' || ScriptComand[currChar] == ':')
  4095.                                     {
  4096.                                         if (ScriptComand[currChar] == ':')
  4097.                                         {
  4098.                                             ScriptComand = ScriptComand.Replace(":", "/");
  4099.                                         }
  4100.                                         int a = Convert.ToInt32(ScriptComand.Split('/')[0]);
  4101.                                         int b = Convert.ToInt32(ScriptComand.Split('/')[1]);
  4102.                                         Console.WriteLine(a + "/" + b + "=" + (a / b));
  4103.                                     }
  4104.                                     #endregion
  4105.                                 }
  4106.                             }
  4107.                         }
  4108.                         catch (Exception)
  4109.                         {
  4110.                             Console.WriteLine(ScriptComand);
  4111.                         }
  4112.                     }
  4113.                     #endregion
  4114.                     Console.ForegroundColor = ConsoleColor.Gray;
  4115.                     ScriptMessage = "yes";
  4116.                 }
  4117.                 #endregion
  4118.                 else
  4119.                 {
  4120.                     if (GlobalScriptActions == "CMD" || GlobalScriptActions == "Cmd" || GlobalScriptActions == "cmd")
  4121.                     {
  4122.                         otvetProc("Вызвана консоль", true);
  4123.                         GlobalCommandScript = ScriptComand;
  4124.  
  4125.                         scriptTH2 = new Thread(ScriptTH_2);
  4126.                         scriptTH2.IsBackground = true;
  4127.                         scriptTH2.Start();
  4128.                     }
  4129.                     if (GlobalScriptActions == "INPUT" || GlobalScriptActions == "Input" || GlobalScriptActions == "input")
  4130.                     {
  4131.                         otvetProc("Ввод - " + ScriptComand, true);
  4132.                         GlobalCommandScript = ScriptComand;
  4133.                     }
  4134.                     if (GlobalScriptActions == "SERVER" || GlobalScriptActions == "Server" || GlobalScriptActions == "server")
  4135.                     {
  4136.                         GlobalCommandScript = ScriptComand;
  4137.                     }
  4138.                 }
  4139.  
  4140.                 return true;
  4141.             }
  4142.             catch (Exception)
  4143.             {
  4144.                 return false;
  4145.             }
  4146.         }
  4147.         public bool ScriptComandSender(string[] script)
  4148.         {
  4149.             try
  4150.             {
  4151.                 for (int currLine = 2; currLine < script.Length - 1; currLine++)
  4152.                 {
  4153.                     #region null
  4154.                     if (script[currLine].Split(' ')[0] == "" ||
  4155.                         script[currLine].Split(' ')[0] == " " ||
  4156.                         script[currLine].Split(' ')[0] == null)
  4157.                     {
  4158.                         continue;
  4159.                     }
  4160.                     #endregion
  4161.  
  4162.                     #region IF
  4163.                     if (script[currLine].Split(' ')[0] == "IF" || script[currLine].Split(' ')[0] == "If" || script[currLine].Split(' ')[0] == "if")
  4164.                     {
  4165.                         int ifferEnd = currLine;
  4166.                         bool reverseIF = false;
  4167.  
  4168.                         string ScriptComand = script[currLine].Replace(script[currLine].Split(' ')[0] + " ", "");
  4169.                         if (ScriptComand[0] == '!')
  4170.                         {
  4171.                             reverseIF = true;
  4172.                             ScriptComand = ScriptComand.TrimStart('!');
  4173.                         }
  4174.                         ScriptComand = ScriptComand.TrimStart('(');
  4175.                         ScriptComand = ScriptComand.TrimEnd(')');
  4176.  
  4177.                         #region End Find
  4178.                         for (int i = currLine; i < script.Length - 1; i++)
  4179.                         {
  4180.                             if (script[i] == "End" || script[i] == "END" || script[i] == "end")
  4181.                             {
  4182.                                 ifferEnd = i;
  4183.                                 break;
  4184.                             }
  4185.                         }
  4186.                         #endregion
  4187.  
  4188.                         iffer = true;
  4189.                         ScriptMessage = "no";
  4190.                         Thread.Sleep(10);
  4191.                         ScriptComander(ScriptComand);
  4192.                         int c = 0;
  4193.                         while (ScriptMessage == "no")
  4194.                         {
  4195.                             Thread.Sleep(10);
  4196.                             c++;
  4197.                             if (c == 400)
  4198.                             {
  4199.                                 if (script[currLine].Split(' ')[0] == "input")
  4200.                                 {
  4201.                                     otvetProc("ОШИБКА ВВОДА! - Возможно вы не подключены к серверу!", false);
  4202.                                 }
  4203.                                 break;
  4204.                             }
  4205.                         }
  4206.                         #region REVERSE IF
  4207.                         if (reverseIF)
  4208.                         {
  4209.                             if (!ifferOtvet)
  4210.                             {
  4211.                                 otvetProc("Условие - " + "!(" + ScriptComand + ")" + " - выполнено!", true);
  4212.                                 iffer = false;
  4213.                                 ifferOtvet = false;
  4214.                                 reverseIF = false;
  4215.  
  4216.                                 string[] newScript = new string[((ifferEnd - currLine) - 1) + 3];
  4217.                                 newScript[0] = "newScript";
  4218.                                 newScript[1] = "script";
  4219.                                 newScript[newScript.Length - 1] = "end";
  4220.                                 for (int i = currLine + 1; i < ifferEnd; i++)
  4221.                                 {
  4222.                                     newScript[ifferEnd - currLine] = script[i];
  4223.                                 }
  4224.                                 ScriptMessage = "no";
  4225.                                 Thread.Sleep(10);
  4226.                                 ScriptComandSender(newScript);
  4227.                                 int rc = 0;
  4228.                                 while (ScriptMessage == "no")
  4229.                                 {
  4230.                                     Thread.Sleep(10);
  4231.                                     rc++;
  4232.                                     if (rc == 400)
  4233.                                     {
  4234.                                         if (script[currLine].Split(' ')[0] == "input")
  4235.                                         {
  4236.                                             otvetProc("ОШИБКА ВВОДА! - Возможно вы не подключены к серверу!", false);
  4237.                                         }
  4238.                                         break;
  4239.                                     }
  4240.                                 }
  4241.                             }
  4242.                             else
  4243.                             {
  4244.                                 otvetProc("Условие - " + "!(" + ScriptComand + ")" + " - не выполнено!", false);
  4245.                             }
  4246.                         }
  4247.                         else
  4248.                         #endregion
  4249.                             #region NORAML IF
  4250.                             if (ifferOtvet)
  4251.                             {
  4252.                                 otvetProc("Условие - " + ScriptComand + " - выполнено!", true);
  4253.                                 iffer = false;
  4254.                                 ifferOtvet = false;
  4255.  
  4256.                                 string[] newScript = new string[((ifferEnd - currLine) - 1) + 3];
  4257.                                 newScript[0] = "newScript";
  4258.                                 newScript[1] = "script";
  4259.                                 newScript[newScript.Length - 1] = "end";
  4260.                                 for (int i = currLine + 1; i < ifferEnd; i++)
  4261.                                 {
  4262.                                     newScript[ifferEnd - currLine] = script[i];
  4263.                                 }
  4264.                                 ScriptMessage = "no";
  4265.                                 Thread.Sleep(10);
  4266.                                 ScriptComandSender(newScript);
  4267.                                 int rc = 0;
  4268.                                 while (ScriptMessage == "no")
  4269.                                 {
  4270.                                     Thread.Sleep(10);
  4271.                                     rc++;
  4272.                                     if (rc == 400)
  4273.                                     {
  4274.                                         if (script[currLine].Split(' ')[0] == "input")
  4275.                                         {
  4276.                                             otvetProc("ОШИБКА ВВОДА! - Возможно вы не подключены к серверу!", false);
  4277.                                         }
  4278.                                         break;
  4279.                                     }
  4280.                                 }
  4281.                             }
  4282.                             else
  4283.                             {
  4284.                                 otvetProc("Условие - " + ScriptComand + " - не выполнено!", false);
  4285.                             }
  4286.                             #endregion
  4287.                         currLine = ifferEnd;
  4288.                         iffer = false;
  4289.                         ifferOtvet = false;
  4290.                         reverseIF = false;
  4291.                     }
  4292.                     #endregion
  4293.                     else
  4294.                     {
  4295.                         ScriptMessage = "no";
  4296.                         Thread.Sleep(10);
  4297.                         ScriptComander(script[currLine]);
  4298.                         int c = 0;
  4299.                         while (ScriptMessage == "no")
  4300.                         {
  4301.                             Thread.Sleep(10);
  4302.                             c++;
  4303.                             if (c == 400)
  4304.                             {
  4305.                                 if (script[currLine].Split(' ')[0] == "input")
  4306.                                 {
  4307.                                     otvetProc("ОШИБКА ВВОДА! - Возможно вы не подключены к серверу!", false);
  4308.                                 }
  4309.                                 break;
  4310.                             }
  4311.                         }
  4312.                     }
  4313.  
  4314.                 }
  4315.                 return true;
  4316.             }
  4317.             catch
  4318.             {
  4319.                 return false;
  4320.             }
  4321.         }
  4322.  
  4323.         public bool ScriptSearhMemory(string FileNameScript)
  4324.         {
  4325.             try
  4326.             {
  4327.                 #region Поиск Скрипта
  4328.                 foreach (string[] ScriptFile in memDownload)
  4329.                 {
  4330.                     if (ScriptFile != null)
  4331.                     {
  4332.                         if (ScriptFile[0] == FileNameScript && ScriptFile[1] == "script" ||
  4333.                             ScriptFile[0] + ".script" == FileNameScript && ScriptFile[1] == "script")
  4334.                         {
  4335.                             script = ScriptFile;
  4336.                             break;
  4337.                         }
  4338.                     }
  4339.                 }
  4340.                 if (script == null)
  4341.                 {
  4342.                     otvetProc("Скрипт не найден!", false);
  4343.                     return false;
  4344.                 }
  4345.                 else
  4346.                 {
  4347.                     Console.WriteLine();
  4348.                     otvetProc("Скрипт " + FileNameScript + " найден.", true);
  4349.                     return true;
  4350.                 }
  4351.                 #endregion
  4352.             }
  4353.             catch (Exception)
  4354.             {
  4355.                 otvetProc("Ошибка поиска скрипта!", false);
  4356.                 return false;
  4357.             }
  4358.         }
  4359.         public bool ScriptReader(string[] script, int mode)
  4360.         {
  4361.             ScriptOnOf = true;
  4362.             int EnterPointCount = 0;
  4363.             string ifferWait = "of";
  4364.             int ifferCurrLine = 0;
  4365.             try
  4366.             {
  4367.                 #region Считывание скрипта
  4368.                 for (int currLine = 2; currLine < script.Length - 1; currLine++)
  4369.                 {
  4370.                     if (script[currLine] != null)
  4371.                     {
  4372.                         #region CMD
  4373.                         if (script[currLine].Split(' ')[0] == "CMD" ||
  4374.                             script[currLine].Split(' ')[0] == "Cmd" ||
  4375.                             script[currLine].Split(' ')[0] == "cmd")
  4376.                         {
  4377.                             if (EnterPointCount == 0)
  4378.                             {
  4379.                                 EnterPointCount++;
  4380.  
  4381.                                 if (script[currLine].Split(' ')[1] == "0" ||
  4382.                                 script[currLine].Split(' ')[1] == "/help" ||
  4383.                                 script[currLine].Split(' ')[1] == "/help 1" ||
  4384.                                 script[currLine].Split(' ')[1] == "/help 2" ||
  4385.                                 script[currLine].Split(' ')[1] == "/help 3" ||
  4386.                                 script[currLine].Split(' ')[1] == "/help 4" ||
  4387.                                 script[currLine].Split(' ')[1] == "/ip" ||
  4388.                                 script[currLine].Split(' ')[1] == "/clear" ||
  4389.                                 script[currLine].Split(' ')[1] == "/note" ||
  4390.                                 script[currLine].Split(' ')[1] == "/Note" ||
  4391.                                 script[currLine].Split(' ')[1] == "/NOTE" ||
  4392.                                 script[currLine].Split(' ')[1] == "/script" ||
  4393.                                 script[currLine].Split(' ')[1] == "/Script" ||
  4394.                                 script[currLine].Split(' ')[1] == "/SCRIPT" ||
  4395.                                 script[currLine].Split(' ')[1] == "/exit" ||
  4396.                                 script[currLine].Split(' ')[1] == "/exe" ||
  4397.                                 script[currLine].Split(' ')[1] == "/save" ||
  4398.                                 script[currLine].Split(' ')[1] == "/load")
  4399.                                 {
  4400.                                     EnterPointCount--;
  4401.                                 }
  4402.  
  4403.                                 continue;
  4404.                             }
  4405.                             else
  4406.                             {
  4407.                                 if (mode == 0)
  4408.                                 {
  4409.                                     otvetProc("У вас незакрытая точка входа! Вместо cmd используйте input!\nПример скрипта:\ncmd /help -- Выведется help и cmd закроется\ncmd /home -- cmd не закроется, а потребеут ввода\ninput 0 -- Отключение от сервера и cmd закроется\ncmd /clear -- очистит консоль и закроет cmd\nПродумывайте свой скрипт на перёд!", false);
  4410.                                 }
  4411.                                 else
  4412.                                 {
  4413.                                     MessageBox.Show("У вас незакрытая точка входа! Вместо cmd используйте input!\nПример скрипта:\ncmd /help -- Выведется help и cmd закроется\ncmd /home -- cmd не закроется, а потребеут ввода\ninput 0 -- Отключение от сервера и cmd закроется\ncmd /clear -- очистит консоль и закроет cmd\nПродумывайте свой скрипт на перёд!", "Script Reader");
  4414.                                 }
  4415.                             }
  4416.                         }
  4417.                         #endregion
  4418.  
  4419.                         #region INPUT
  4420.                         if (script[currLine].Split(' ')[0] == "INPUT" ||
  4421.                             script[currLine].Split(' ')[0] == "Input" ||
  4422.                             script[currLine].Split(' ')[0] == "input")
  4423.                         {
  4424.                             if (EnterPointCount > 0)
  4425.                             {
  4426.                                 if (script[currLine].Split(' ')[1] == "0" ||
  4427.                                 script[currLine].Split(' ')[1] == "/help" ||
  4428.                                 script[currLine].Split(' ')[1] == "/help 1" ||
  4429.                                 script[currLine].Split(' ')[1] == "/help 2" ||
  4430.                                 script[currLine].Split(' ')[1] == "/help 3" ||
  4431.                                 script[currLine].Split(' ')[1] == "/help 4" ||
  4432.                                 script[currLine].Split(' ')[1] == "/ip" ||
  4433.                                 script[currLine].Split(' ')[1] == "/clear" ||
  4434.                                 script[currLine].Split(' ')[1] == "/note" ||
  4435.                                 script[currLine].Split(' ')[1] == "/Note" ||
  4436.                                 script[currLine].Split(' ')[1] == "/NOTE" ||
  4437.                                 script[currLine].Split(' ')[1] == "/script" ||
  4438.                                 script[currLine].Split(' ')[1] == "/Script" ||
  4439.                                 script[currLine].Split(' ')[1] == "/SCRIPT" ||
  4440.                                 script[currLine].Split(' ')[1] == "/exit" ||
  4441.                                 script[currLine].Split(' ')[1] == "/exe" ||
  4442.                                 script[currLine].Split(' ')[1] == "/save" ||
  4443.                                 script[currLine].Split(' ')[1] == "/load")
  4444.                                 {
  4445.                                     EnterPointCount--;
  4446.                                 }
  4447.                                 continue;
  4448.                             }
  4449.                             else
  4450.                             {
  4451.                                 if (mode == 0)
  4452.                                 {
  4453.                                     otvetProc("При использовании input в скрипте должна быть точка входа - cmd!\nПример скрипта:\ncmd /home\ninput 0", false);
  4454.                                 }
  4455.                                 else
  4456.                                 {
  4457.                                     MessageBox.Show("При использовании input в скрипте должна быть точка входа - cmd!\nПример скрипта:\ncmd /home\ninput 0", "Script Reader");
  4458.                                 }
  4459.                             }
  4460.                         }
  4461.                         #endregion
  4462.  
  4463.                         #region SERVER
  4464.                         if (script[currLine].Split(' ')[0] == "SERVER" ||
  4465.                             script[currLine].Split(' ')[0] == "server" ||
  4466.                             script[currLine].Split(' ')[0] == "Server")
  4467.                         {
  4468.                             continue;
  4469.                         }
  4470.                         #endregion
  4471.  
  4472.                         #region WRITER
  4473.                         if (script[currLine].Split(' ')[0] == "WRITE" ||
  4474.                             script[currLine].Split(' ')[0] == "Write" ||
  4475.                             script[currLine].Split(' ')[0] == "write")
  4476.                         {
  4477.                             continue;
  4478.                         }
  4479.                         #endregion
  4480.  
  4481.                         #region null
  4482.                         if (script[currLine].Split(' ')[0] == "" ||
  4483.                             script[currLine].Split(' ')[0] == " " ||
  4484.                             script[currLine].Split(' ')[0] == null ||
  4485.                             script[currLine].Split(' ')[0] == "END" ||
  4486.                             script[currLine].Split(' ')[0] == "End" ||
  4487.                             script[currLine].Split(' ')[0] == "end")
  4488.                         {
  4489.                             continue;
  4490.                         }
  4491.                         #endregion
  4492.  
  4493.                         #region IF
  4494.                         if (script[currLine].Split(' ')[0] == "IF" ||
  4495.                             script[currLine].Split(' ')[0] == "If" ||
  4496.                             script[currLine].Split(' ')[0] == "if")
  4497.                         {
  4498.                             if (ifferWait == "of")
  4499.                             {
  4500.                                 ifferCurrLine = currLine;
  4501.                                 currLine++;
  4502.                                 string okey = "";
  4503.                                 string uslovie = script[ifferCurrLine].Replace(script[ifferCurrLine].Split(' ')[0] + " ", "");
  4504.                                 uslovie = uslovie.TrimStart('!');
  4505.                                 uslovie = uslovie.TrimStart('(');
  4506.                                 uslovie = uslovie.TrimEnd(')');
  4507.                                 int ifferEndCurLine = ifferCurrLine++;
  4508.                                 try
  4509.                                 {
  4510.                                     #region EndFind
  4511.                                     while (currLine < script.Length - 1)
  4512.                                     {
  4513.                                         #region END
  4514.                                         if (script[currLine] == "END" ||
  4515.                                             script[currLine] == "End" ||
  4516.                                             script[currLine] == "end")
  4517.                                         {
  4518.                                             ifferEndCurLine = currLine;
  4519.                                             okey += "ok";
  4520.                                             break;
  4521.                                         }
  4522.                                         #endregion
  4523.                                         currLine++;
  4524.                                     }
  4525.                                     #endregion
  4526.  
  4527.                                     currLine = ifferCurrLine;
  4528.  
  4529.                                     #region UslovieCorrect
  4530.                                     if (true)
  4531.                                     {
  4532.                                         #region CMD
  4533.                                         if (uslovie.Split(' ')[0] == "CMD" ||
  4534.                                             uslovie.Split(' ')[0] == "Cmd" ||
  4535.                                             uslovie.Split(' ')[0] == "cmd")
  4536.                                         {
  4537.                                             if (EnterPointCount == 0)
  4538.                                             {
  4539.                                                 if (script[currLine].Split(' ')[1] == "0" ||
  4540.                                                 script[currLine].Split(' ')[1] == "/help" ||
  4541.                                                 script[currLine].Split(' ')[1] == "/help 1" ||
  4542.                                                 script[currLine].Split(' ')[1] == "/help 2" ||
  4543.                                                 script[currLine].Split(' ')[1] == "/help 3" ||
  4544.                                                 script[currLine].Split(' ')[1] == "/help 4" ||
  4545.                                                 script[currLine].Split(' ')[1] == "/ip" ||
  4546.                                                 script[currLine].Split(' ')[1] == "/clear" ||
  4547.                                                 script[currLine].Split(' ')[1] == "/note" ||
  4548.                                                 script[currLine].Split(' ')[1] == "/Note" ||
  4549.                                                 script[currLine].Split(' ')[1] == "/NOTE" ||
  4550.                                                 script[currLine].Split(' ')[1] == "/script" ||
  4551.                                                 script[currLine].Split(' ')[1] == "/Script" ||
  4552.                                                 script[currLine].Split(' ')[1] == "/SCRIPT" ||
  4553.                                                 script[currLine].Split(' ')[1] == "/exit" ||
  4554.                                                 script[currLine].Split(' ')[1] == "/exe" ||
  4555.                                                 script[currLine].Split(' ')[1] == "/save" ||
  4556.                                                 script[currLine].Split(' ')[1] == "/load")
  4557.                                                 {
  4558.                                                     EnterPointCount--;
  4559.                                                     okey += "ok";
  4560.                                                 }
  4561.                                                 else
  4562.                                                 {
  4563.                                                     if (mode == 0)
  4564.                                                     {
  4565.                                                         otvetProc("Ошибка условия! Условие не может быть точкой входа!!!", false);
  4566.                                                     }
  4567.                                                     else
  4568.                                                     {
  4569.                                                         MessageBox.Show("Ошибка условия! Условие не может быть точкой входа!!!", "Script Reader");
  4570.                                                     }
  4571.                                                 }
  4572.                                             }
  4573.                                             else
  4574.                                             {
  4575.                                                 if (mode == 0)
  4576.                                                 {
  4577.                                                     otvetProc("У вас незакрытая точка входа! Вместо cmd используйте input!\nПример скрипта:\ncmd /help -- Выведется help и cmd закроется\ncmd /home -- cmd не закроется, а потребеут ввода\ninput 0 -- Отключение от сервера и cmd закроется\ncmd /clear -- очистит консоль и закроет cmd\nПродумывайте свой скрипт на перёд!", false);
  4578.                                                 }
  4579.                                                 else
  4580.                                                 {
  4581.                                                     MessageBox.Show("У вас незакрытая точка входа! Вместо cmd используйте input!\nПример скрипта:\ncmd /help -- Выведется help и cmd закроется\ncmd /home -- cmd не закроется, а потребеут ввода\ninput 0 -- Отключение от сервера и cmd закроется\ncmd /clear -- очистит консоль и закроет cmd\nПродумывайте свой скрипт на перёд!", "Script Reader");
  4582.                                                 }
  4583.                                             }
  4584.                                         }
  4585.                                         #endregion
  4586.                                         #region INPUT
  4587.                                         if (uslovie.Split(' ')[0] == "INPUT" ||
  4588.                                             uslovie.Split(' ')[0] == "Input" ||
  4589.                                             uslovie.Split(' ')[0] == "input")
  4590.                                         {
  4591.                                             if (EnterPointCount > 0)
  4592.                                             {
  4593.                                                 if (script[currLine].Split(' ')[1] == "0" ||
  4594.                                                 script[currLine].Split(' ')[1] == "/help" ||
  4595.                                                 script[currLine].Split(' ')[1] == "/help 1" ||
  4596.                                                 script[currLine].Split(' ')[1] == "/help 2" ||
  4597.                                                 script[currLine].Split(' ')[1] == "/help 3" ||
  4598.                                                 script[currLine].Split(' ')[1] == "/help 4" ||
  4599.                                                 script[currLine].Split(' ')[1] == "/ip" ||
  4600.                                                 script[currLine].Split(' ')[1] == "/clear" ||
  4601.                                                 script[currLine].Split(' ')[1] == "/note" ||
  4602.                                                 script[currLine].Split(' ')[1] == "/Note" ||
  4603.                                                 script[currLine].Split(' ')[1] == "/NOTE" ||
  4604.                                                 script[currLine].Split(' ')[1] == "/script" ||
  4605.                                                 script[currLine].Split(' ')[1] == "/Script" ||
  4606.                                                 script[currLine].Split(' ')[1] == "/SCRIPT" ||
  4607.                                                 script[currLine].Split(' ')[1] == "/exit" ||
  4608.                                                 script[currLine].Split(' ')[1] == "/exe" ||
  4609.                                                 script[currLine].Split(' ')[1] == "/save" ||
  4610.                                                 script[currLine].Split(' ')[1] == "/load")
  4611.                                                 {
  4612.                                                     EnterPointCount--;
  4613.                                                 }
  4614.                                                 okey += "ok";
  4615.                                             }
  4616.                                             else
  4617.                                             {
  4618.                                                 if (mode == 0)
  4619.                                                 {
  4620.                                                     otvetProc("При использовании input в скрипте должна быть точка входа - cmd!\nПример скрипта:\ncmd /home\ninput 0", false);
  4621.                                                 }
  4622.                                                 else
  4623.                                                 {
  4624.                                                     MessageBox.Show("При использовании input в скрипте должна быть точка входа - cmd!\nПример скрипта:\ncmd /home\ninput 0", "Script Reader");
  4625.                                                 }
  4626.                                             }
  4627.                                         }
  4628.                                         #endregion
  4629.                                         #region SERVER
  4630.                                         if (uslovie.Split(' ')[0] == "SERVER" ||
  4631.                                             uslovie.Split(' ')[0] == "server" ||
  4632.                                             uslovie.Split(' ')[0] == "Server")
  4633.                                         {
  4634.                                             okey += "ok";
  4635.                                         }
  4636.                                         #endregion
  4637.                                     }
  4638.                                     #endregion
  4639.  
  4640.                                     #region CommandCorrect
  4641.                                     while (currLine != ifferEndCurLine)
  4642.                                     {
  4643.                                         #region null
  4644.                                         if (script[currLine].Split(' ')[0] == "" ||
  4645.                                             script[currLine].Split(' ')[0] == " " ||
  4646.                                             script[currLine].Split(' ')[0] == null)
  4647.                                         {
  4648.                                             continue;
  4649.                                         }
  4650.                                         #endregion
  4651.                                         #region CMD
  4652.                                         if (script[currLine].Split(' ')[0] == "CMD" ||
  4653.                                             script[currLine].Split(' ')[0] == "Cmd" ||
  4654.                                             script[currLine].Split(' ')[0] == "cmd")
  4655.                                         {
  4656.                                             okey += "ok";
  4657.                                             break;
  4658.                                         }
  4659.                                         #endregion
  4660.                                         #region INPUT
  4661.                                         if (script[currLine].Split(' ')[0] == "INPUT" ||
  4662.                                             script[currLine].Split(' ')[0] == "Input" ||
  4663.                                             script[currLine].Split(' ')[0] == "input")
  4664.                                         {
  4665.                                             okey += "ok";
  4666.                                             break;
  4667.                                         }
  4668.                                         #endregion
  4669.                                         #region WRITE
  4670.                                         if (script[currLine].Split(' ')[0] == "WRITE" ||
  4671.                                             script[currLine].Split(' ')[0] == "Write" ||
  4672.                                             script[currLine].Split(' ')[0] == "write")
  4673.                                         {
  4674.                                             okey += "ok";
  4675.                                             break;
  4676.                                         }
  4677.                                         #endregion
  4678.                                         #region SERVER
  4679.                                         if (script[currLine].Split(' ')[0] == "SERVER" ||
  4680.                                             script[currLine].Split(' ')[0] == "server" ||
  4681.                                             script[currLine].Split(' ')[0] == "Server")
  4682.                                         {
  4683.                                             okey += "ok";
  4684.                                             break;
  4685.                                         }
  4686.                                         #endregion
  4687.                                         currLine++;
  4688.                                     }
  4689.                                     #endregion
  4690.  
  4691.                                     currLine = ifferCurrLine;
  4692.                                 }
  4693.                                 catch (Exception)
  4694.                                 {
  4695.                                     currLine = ifferCurrLine;
  4696.                                 }
  4697.                                 if (okey != "okokok")
  4698.                                 {
  4699.                                     if (mode == 0)
  4700.                                     {
  4701.                                         otvetProc("Ошибка условий!\nВы неправильно задали условие или действие!\nПожалуйста проверьте свой скрипт на наличие ошибок!\nПример скрипта:\ncmd /home           //Подключимся к своему ПК\nif (input 1)      //Если сервер примит запрос(не даст ошибки)\ninput dir    //То введём dir\ninput dc     //Отключимся от файловой системы\ninput 0       //Введём 0 (отключимся от сервера)\nwrite 'Скрипт завершён'     //Выводит сообщение на консоль\nend       //Завершает условие(Обязательно нужно писать в конце условия!)", false);
  4702.                                     }
  4703.                                     else
  4704.                                     {
  4705.                                         MessageBox.Show("Ошибка условий!\nВы неправильно задали условие или действие!\nПожалуйста проверьте свой скрипт на наличие ошибок!\nПример скрипта:\ncmd /home           //Подключимся к своему ПК\nif (input 1)      //Если сервер примит запрос(не даст ошибки)\ninput dir    //То введём dir\ninput dc     //Отключимся от файловой системы\ninput 0       //Введём 0 (отключимся от сервера)\nwrite 'Скрипт завершён'     //Выводит сообщение на консоль\nend       //Завершает условие(Обязательно нужно писать в конце условия!)", "Script Reader");
  4706.                                     }
  4707.                                 }
  4708.                                 else
  4709.                                 {
  4710.                                     continue;
  4711.                                 }
  4712.                             }
  4713.                             else
  4714.                             {
  4715.                                 if (mode == 0)
  4716.                                 {
  4717.                                     otvetProc("Ошибка условий! Нельзя вызвать условие в условиях!", false);
  4718.                                 }
  4719.                                 else
  4720.                                 {
  4721.                                     MessageBox.Show("Ошибка условий! Нельзя вызвать условие в условиях!", "Script Reader");
  4722.                                 }
  4723.                             }
  4724.                         }
  4725.                         #endregion
  4726.  
  4727.                         if (mode == 0)
  4728.                         {
  4729.                             otvetProc("В строке " + currLine + ", обнаружена ошибка!", false);
  4730.                         }
  4731.                         else
  4732.                         {
  4733.                             MessageBox.Show("В строке " + (currLine - 1) + ", обнаружена ошибка!", "Script Reader");
  4734.                         }
  4735.                         return false;
  4736.                     }
  4737.                 }
  4738.                 #endregion
  4739.  
  4740.                 if (mode == 0)
  4741.                 {
  4742.                     otvetProc("Скрипт " + script[0] + " прочитан успешно!", true);
  4743.                 }
  4744.                 else
  4745.                 {
  4746.                     MessageBox.Show("Скрипт " + script[0] + " прочитан успешно!", "Script Reader");
  4747.                 }
  4748.                 return true;
  4749.             }
  4750.             catch (Exception)
  4751.             {
  4752.                 if (mode == 0)
  4753.                 {
  4754.                     otvetProc("Ошибка в чтении скрипта!", false);
  4755.                 }
  4756.                 else
  4757.                 {
  4758.                     MessageBox.Show("Ошибка в чтении скрипта!", "Script Reader");
  4759.                 }
  4760.                 return false;
  4761.             }
  4762.         }
  4763.  
  4764.         public void ScriptRUN()
  4765.         {
  4766.             if (ScriptReader(script, 0))
  4767.             {
  4768.                 ScriptOnOf = true;
  4769.  
  4770.                 if (ScriptComandSender(script))
  4771.                 {
  4772.                     Thread.Sleep(1000);
  4773.                     otvetProc("Скрипт " + script[0] + " выполнен успешно!", true);
  4774.                     Console.WriteLine();
  4775.  
  4776.                     ScriptOnOf = false;
  4777.                     script = null;
  4778.  
  4779.                     scriptTH.Suspend();
  4780.                 }
  4781.                 else
  4782.                 {
  4783.                     otvetProc("Ошибка выполнения скрипта!", false);
  4784.                     Console.WriteLine();
  4785.  
  4786.                     ScriptOnOf = false;
  4787.                     script = null;
  4788.  
  4789.                     scriptTH.Suspend();
  4790.                 }
  4791.             }
  4792.             else
  4793.             {
  4794.                 ScriptOnOf = false;
  4795.                 script = null;
  4796.  
  4797.                 scriptTH.Suspend();
  4798.             }
  4799.         }
  4800.  
  4801.         public void ScriptTH_2()
  4802.         {
  4803.             if (GlobalScriptActions == "Cmd" || GlobalScriptActions == "CMD" || GlobalScriptActions == "cmd")
  4804.             {
  4805.                 cmd();
  4806.             }
  4807.         }
  4808.         #endregion
  4809.  
  4810.         #region SaveAndLoadGame
  4811.         public void SaveGame()
  4812.         {
  4813.             #region XML SAVE
  4814.             XmlTextWriter xmlWriter = new XmlTextWriter("Save_" + Name, Encoding.Unicode);
  4815.             xmlWriter.Formatting = Formatting.Indented;
  4816.             xmlWriter.WriteStartDocument();
  4817.             xmlWriter.WriteStartElement("SAVE_HACKGAME");
  4818.  
  4819.  
  4820.             #region Global_Data
  4821.             xmlWriter.WriteStartElement("Global_Data");
  4822.  
  4823.             xmlWriter.WriteStartAttribute("SavePos");
  4824.             xmlWriter.WriteValue(currSavePos);
  4825.             xmlWriter.WriteEndAttribute();
  4826.  
  4827.             xmlWriter.WriteStartAttribute("Name");
  4828.             xmlWriter.WriteValue(Name);
  4829.             xmlWriter.WriteEndAttribute();
  4830.  
  4831.             xmlWriter.WriteStartAttribute("IP");
  4832.             xmlWriter.WriteValue(ip);
  4833.             xmlWriter.WriteEndAttribute();
  4834.  
  4835.             xmlWriter.WriteStartAttribute("DostupLocal");
  4836.             xmlWriter.WriteValue(publicDostup.ToString());
  4837.             xmlWriter.WriteEndAttribute();
  4838.  
  4839.             xmlWriter.WriteStartAttribute("Podskaz");
  4840.             xmlWriter.WriteValue(podskz_of_on);
  4841.             xmlWriter.WriteEndAttribute();
  4842.  
  4843.             xmlWriter.WriteEndElement();
  4844.             #endregion
  4845.  
  4846.             #region MEMORY
  4847.             xmlWriter.WriteStartElement("Memory");
  4848.  
  4849.             xmlWriter.WriteStartAttribute("Memory_Lenght");
  4850.             xmlWriter.WriteValue(memDownload.Length);
  4851.             xmlWriter.WriteEndAttribute();
  4852.  
  4853.             #region Files
  4854.             xmlWriter.WriteStartElement("Files");
  4855.  
  4856.             foreach (string[] File in memDownload)
  4857.             {
  4858.                 if (File != null)
  4859.                 {
  4860.                     xmlWriter.WriteStartElement("FILE_" + File[0]);
  4861.                     for (int currLine = 0; currLine < File.Length; currLine++)
  4862.                     {
  4863.                         if (File[currLine] != null)
  4864.                         {
  4865.                             xmlWriter.WriteStartAttribute("s" + currLine.ToString());
  4866.                             xmlWriter.WriteValue(File[currLine]);
  4867.                             xmlWriter.WriteEndAttribute();
  4868.                         }
  4869.                     }
  4870.                     xmlWriter.WriteEndElement();
  4871.                 }
  4872.             }
  4873.             xmlWriter.WriteEndElement();
  4874.             #endregion
  4875.  
  4876.             xmlWriter.WriteEndElement();
  4877.             #endregion
  4878.  
  4879.             #region SERVERS
  4880.             xmlWriter.WriteStartElement("SERVERS");
  4881.             xmlWriter.WriteStartElement("DATA");
  4882.  
  4883.             foreach (Array[] SERVER in DATA)
  4884.             {
  4885.                 if (SERVER != null)
  4886.                 {
  4887.                     xmlWriter.WriteStartElement("SERVER_" + SERVER[0].GetValue(0).ToString());
  4888.                     foreach (string[] FILE in SERVER)
  4889.                     {
  4890.                         if (FILE != null)
  4891.                         {
  4892.                             #region FILES
  4893.                             xmlWriter.WriteStartElement("FILE_" + FILE[0]);
  4894.                             for (int currLine = 0; currLine < FILE.Length; currLine++)
  4895.                             {
  4896.                                 if (FILE[currLine] != null)
  4897.                                 {
  4898.                                     xmlWriter.WriteStartAttribute("s" + currLine.ToString());
  4899.                                     xmlWriter.WriteValue(FILE[currLine]);
  4900.                                     xmlWriter.WriteEndAttribute();
  4901.                                 }
  4902.                             }
  4903.                             xmlWriter.WriteEndElement();
  4904.                             #endregion
  4905.                         }
  4906.                     }
  4907.                     xmlWriter.WriteEndElement();
  4908.                 }
  4909.             }
  4910.             xmlWriter.WriteEndElement();
  4911.             xmlWriter.WriteEndElement();
  4912.             #endregion
  4913.  
  4914.             xmlWriter.WriteEndElement();
  4915.             xmlWriter.WriteEndDocument();
  4916.             xmlWriter.Close();
  4917.             #endregion
  4918.  
  4919.             #region OLD SAVE
  4920.             /*
  4921.              * OLD VERSION SAVE:
  4922.             string[] savefile = new string[100];
  4923.             savefile[0] = currSavePos.ToString();
  4924.             savefile[1] = ip;
  4925.             savefile[2] = name;
  4926.             savefile[3] = memDownload.Length.ToString();
  4927.             savefile[4] = podskz_of_on.ToString();
  4928.             savefile[5] = publicDostup.ToString();
  4929.  
  4930.             foreach (string[] files in memDownload)
  4931.             {
  4932.                 if (files != null)
  4933.                 {
  4934.                     for (int i = 0; i < files.Length; i++)
  4935.                     {
  4936.                         savefile[i + 6] = files[i];
  4937.                     }
  4938.                 }
  4939.             }
  4940.  
  4941.             File.WriteAllLines(Directory.GetCurrentDirectory() + "/SaveGame_" + name + ".save", savefile);
  4942.             */
  4943.             #endregion
  4944.         }
  4945.         public int LoadGame()
  4946.         {
  4947.             #region XML LOAD_SAVE
  4948.             OpenFileDialog ofd = new OpenFileDialog();
  4949.             ofd.Title = "Выберите файл с сохранением";
  4950.             ofd.InitialDirectory = Directory.GetCurrentDirectory();
  4951.             ofd.ShowDialog();
  4952.  
  4953.             try
  4954.             {
  4955.                 if (ofd.FileName != null)
  4956.                 {
  4957.                     try
  4958.                     {
  4959.                         XmlDocument xDoc = new XmlDocument();
  4960.                         xDoc.Load(ofd.FileName);
  4961.  
  4962.                         foreach (XmlNode GLOBALnode in xDoc.ChildNodes)
  4963.                         {
  4964.                             if (GLOBALnode.Name == "SAVE_HACKGAME")
  4965.                             {
  4966.                                 foreach (XmlNode Globalnode in GLOBALnode.ChildNodes)
  4967.                                 {
  4968.                                     #region Global_Data
  4969.                                     if (Globalnode.Name == "Global_Data")
  4970.                                     {
  4971.                                         foreach (XmlAttribute Atribut in Globalnode.Attributes)
  4972.                                         {
  4973.                                             switch (Atribut.Name)
  4974.                                             {
  4975.                                                 case "SavePos":
  4976.                                                     currSavePos = Convert.ToInt32(Atribut.Value);
  4977.                                                     break;
  4978.                                                 case "Name":
  4979.                                                     Name = Atribut.Value;
  4980.                                                     break;
  4981.                                                 case "IP":
  4982.                                                     ip = Atribut.Value;
  4983.                                                     break;
  4984.                                                 case "DostupLocal":
  4985.                                                     publicDostup = StringToDostup(Atribut.Value);
  4986.                                                     break;
  4987.                                                 case "Podskaz":
  4988.                                                     if (Atribut.Value == "false")
  4989.                                                     {
  4990.                                                         podskz_of_on = false;
  4991.                                                     }
  4992.                                                     else
  4993.                                                     {
  4994.                                                         podskz_of_on = true;
  4995.                                                     }
  4996.                                                     break;
  4997.                                             }
  4998.                                         }
  4999.                                     }
  5000.                                     #endregion
  5001.  
  5002.                                     #region Memory
  5003.                                     if (Globalnode.Name == "Memory")
  5004.                                     {
  5005.                                         foreach (XmlAttribute Atribute in Globalnode.Attributes)
  5006.                                         {
  5007.                                             if (Atribute.Name == "Memory_Lenght")
  5008.                                             {
  5009.                                                 memDownload = new Array[Convert.ToInt32(Atribute.Value)];
  5010.                                             }
  5011.                                         }
  5012.  
  5013.                                         foreach (XmlNode Global_Memory_node in Globalnode.ChildNodes)
  5014.                                         {
  5015.                                             #region Files
  5016.                                             if (Global_Memory_node.Name == "Files")
  5017.                                             {
  5018.                                                 foreach (XmlNode FileNode in Global_Memory_node.ChildNodes)
  5019.                                                 {
  5020.                                                     string[] file = CreateFile(FileNode.Attributes[0].Value, FileNode.Attributes[1].Value, FileNode.Attributes.Count);
  5021.  
  5022.                                                     for (int i = 2; i < FileNode.Attributes.Count; i++)
  5023.                                                     {
  5024.                                                         file[i] = FileNode.Attributes[i].Value;
  5025.                                                     }
  5026.  
  5027.                                                     memDownload = UploadINStore(memDownload, file);
  5028.                                                 }
  5029.                                             }
  5030.                                             #endregion
  5031.                                         }
  5032.                                     }
  5033.                                     #endregion
  5034.  
  5035.                                     #region SERVERS
  5036.                                     if (Globalnode.Name == "SERVERS")
  5037.                                     {
  5038.                                         foreach (XmlNode Global_ServersNode in Globalnode.ChildNodes)
  5039.                                         {
  5040.                                             #region DATA
  5041.                                             if (Global_ServersNode.Name == "DATA")
  5042.                                             {
  5043.  
  5044.                                                 foreach (XmlNode ServerNode in Global_ServersNode.ChildNodes)
  5045.                                                 {
  5046.                                                     Array[] SERVER_FILES = new Array[ServerNode.ChildNodes.Count];
  5047.                                                     foreach (XmlNode FilesNode in ServerNode)
  5048.                                                     {
  5049.                                                         string[] file = CreateFile(FilesNode.Attributes[0].Value, FilesNode.Attributes[1].Value, FilesNode.Attributes.Count);
  5050.  
  5051.                                                         for (int i = 2; i < FilesNode.Attributes.Count; i++)
  5052.                                                         {
  5053.                                                             file[i] = FilesNode.Attributes[i].Value;
  5054.                                                         }
  5055.  
  5056.                                                         SERVER_FILES = UploadINStore(SERVER_FILES, file);
  5057.                                                     }
  5058.                                                     DATA = UploadServerFilesInSERVERSDATA(DATA, SERVER_FILES);
  5059.                                                 }
  5060.                                             }
  5061.                                             #endregion
  5062.                                         }
  5063.                                     }
  5064.                                     #endregion
  5065.                                 }
  5066.                             }
  5067.                         }
  5068.                         return 1;
  5069.                     }
  5070.                     catch (Exception)
  5071.                     {
  5072.                         otvetProc("Ошибка загрузки! Возможно файл сохранения повреждён!", false);
  5073.                         return 0;
  5074.                     }
  5075.                 }
  5076.                 else
  5077.                 {
  5078.                     otvetProc("Вы не выбрали сохранение!", false);
  5079.                     return 0;
  5080.                 }
  5081.             }
  5082.             catch (Exception)
  5083.             {
  5084.                 otvetProc("Ошибка загрузки!", false);
  5085.                 return 0;
  5086.             }
  5087.             #endregion
  5088.  
  5089.             #region XML LOAD_SAVE(OLD XML)
  5090.             /*
  5091.             OpenFileDialog ofd = new OpenFileDialog();
  5092.             ofd.Title = "Выберите файл с сохранением";
  5093.             ofd.InitialDirectory = Directory.GetCurrentDirectory();
  5094.             ofd.ShowDialog();
  5095.  
  5096.             try
  5097.             {
  5098.                 if (ofd.FileName != null)
  5099.                 {
  5100.                     try
  5101.                     {
  5102.                         XmlTextReader xmlReader = new XmlTextReader(ofd.FileName);
  5103.                         xmlReader.WhitespaceHandling = WhitespaceHandling.None;
  5104.                         int Memory_Lenght;
  5105.  
  5106.                         while (xmlReader.Read())
  5107.                         {
  5108.                             switch (xmlReader.Name)
  5109.                             {
  5110.                                 #region Global_Data
  5111.                                 case "Global_Data":
  5112.                                     currSavePos = Convert.ToInt32(xmlReader.GetAttribute("SavePos"));
  5113.                                     Name = xmlReader.GetAttribute("Name");
  5114.                                     ip = xmlReader.GetAttribute("IP");
  5115.                                     switch (xmlReader.GetAttribute("DostupLocal"))
  5116.                                     {
  5117.                                         case "admin":
  5118.                                             publicDostup = dostup.admin;
  5119.                                             break;
  5120.                                         case "user":
  5121.                                             publicDostup = dostup.user;
  5122.                                             break;
  5123.                                         case "read":
  5124.                                             publicDostup = dostup.read;
  5125.                                             break;
  5126.                                         case "write":
  5127.                                             publicDostup = dostup.write;
  5128.                                             break;
  5129.                                         case "none":
  5130.                                             publicDostup = dostup.none;
  5131.                                             break;
  5132.                                     }
  5133.                                     if (xmlReader.GetAttribute("Podskaz") == "false")
  5134.                                     {
  5135.                                         podskz_of_on = false;
  5136.                                     }
  5137.                                     else
  5138.                                     {
  5139.                                         podskz_of_on = true;
  5140.                                     }
  5141.  
  5142.                                     break;
  5143.                                 #endregion
  5144.  
  5145.                                 #region Memory
  5146.                                 case "Memory":
  5147.                                     Memory_Lenght = Convert.ToInt32(xmlReader.GetAttribute("Memory_Lenght"));
  5148.                                     memDownload = new Array[Memory_Lenght];
  5149.                                     break;
  5150.                                 #endregion
  5151.  
  5152.                                 #region Files
  5153.                                 case "Files":
  5154.                                     try
  5155.                                     {
  5156.                                         while (xmlReader.Read())
  5157.                                         {
  5158.                                             if (xmlReader.AttributeCount != 0)
  5159.                                             {
  5160.                                                 string[] file = new string[xmlReader.AttributeCount];
  5161.                                                 for (int i = 0; i < xmlReader.AttributeCount; i++)
  5162.                                                 {
  5163.                                                     file[i] = xmlReader.GetAttribute(i);
  5164.                                                 }
  5165.                                                 if (file != null)
  5166.                                                 {
  5167.                                                     for (int i = 0; i < memDownload.Length; i++)
  5168.                                                     {
  5169.                                                         if (memDownload[i] == null)
  5170.                                                         {
  5171.                                                             memDownload[i] = file;
  5172.                                                             break;
  5173.                                                         }
  5174.                                                     }
  5175.                                                 }
  5176.                                             }
  5177.                                             else
  5178.                                             {
  5179.                                                 break;
  5180.                                             }
  5181.                                         }
  5182.                                     }
  5183.                                     catch (Exception)
  5184.                                     {
  5185.                                         otvetProc("Ошибка в чтении памяти из сохранения!", false);
  5186.                                         return 0;
  5187.                                     }
  5188.                                     break;
  5189.                                 #endregion
  5190.  
  5191.                                 #region DATA
  5192.                                 case "DATA":
  5193.                                     try
  5194.                                     {
  5195.                                         while (xmlReader.Read())
  5196.                                         {
  5197.                                             if (!xmlReader.IsEmptyElement)
  5198.                                             {
  5199.                                                 Array[] FILES = new Array[100];
  5200.                                                 while (xmlReader.Read())
  5201.                                                 {
  5202.                                                     if (xmlReader.AttributeCount != 0)
  5203.                                                     {
  5204.                                                         string[] file = new string[xmlReader.AttributeCount];
  5205.                                                         for (int i = 0; i < xmlReader.AttributeCount; i++)
  5206.                                                         {
  5207.                                                             file[i] = xmlReader.GetAttribute(i);
  5208.                                                         }
  5209.                                                         if (file != null)
  5210.                                                         {
  5211.                                                             for (int i = 0; i < FILES.Length; i++)
  5212.                                                             {
  5213.                                                                 if (FILES[i] == null)
  5214.                                                                 {
  5215.                                                                     FILES[i] = file;
  5216.                                                                     break;
  5217.                                                                 }
  5218.                                                             }
  5219.                                                         }
  5220.                                                     }
  5221.                                                     else
  5222.                                                     {
  5223.                                                         break;
  5224.                                                     }
  5225.  
  5226.                                                 }
  5227.                                                 int counter = 0;
  5228.                                                 for (int i = 0; i < FILES.Length; i++)
  5229.                                                 {
  5230.                                                     if (FILES[i] != null)
  5231.                                                     {
  5232.                                                         counter++;
  5233.                                                     }
  5234.                                                 }
  5235.                                                 Array[] Files = new Array[counter];
  5236.                                                 FILES.CopyTo(Files, 0);
  5237.                                                 DATA = UploadServerFilesInSERVERSDATA(DATA, Files);
  5238.                                             }
  5239.                                             else
  5240.                                             {
  5241.                                                 break;
  5242.                                             }
  5243.                                         }
  5244.                                     }
  5245.                                     catch
  5246.                                     {
  5247.                                         otvetProc("Ошибка загрузки данных серверов из сохранения", false);
  5248.                                     }
  5249.                                     break;
  5250.                                 #endregion
  5251.                             }
  5252.                         }
  5253.                         xmlReader.Close();
  5254.                         return 1;
  5255.                     }
  5256.                     catch (Exception)
  5257.                     {
  5258.                         otvetProc("Ошибка загрузки! Возможно файл сохранения повреждён!", false);
  5259.                         return 0;
  5260.                     }
  5261.                 }
  5262.                 else
  5263.                 {
  5264.                     otvetProc("Вы не выбрали сохранение!", false);
  5265.                     return 0;
  5266.                 }
  5267.             }
  5268.             catch (Exception)
  5269.             {
  5270.                 otvetProc("Ошибка загрузки!", false);
  5271.                 return 0;
  5272.             }
  5273.             */
  5274.             #endregion
  5275.  
  5276.             #region OLD LOAD_SAVE
  5277.             /*
  5278.             try
  5279.             {
  5280.                 OpenFileDialog ofd = new OpenFileDialog();
  5281.                 ofd.Title = "Выберите файл с сохранением";
  5282.                 ofd.InitialDirectory = Directory.GetCurrentDirectory();
  5283.                 ofd.ShowDialog();
  5284.  
  5285.                 string[] loadfile = File.ReadAllLines(ofd.FileName);
  5286.  
  5287.                 if (loadfile == null)
  5288.                 {
  5289.                     return 0;
  5290.                 }
  5291.                 else
  5292.                 {
  5293.                     currSavePos = Convert.ToInt32(loadfile[0]);
  5294.                     ip = loadfile[1];
  5295.                     Name = loadfile[2];
  5296.                     memDownload = new Array[Convert.ToInt32(loadfile[3])];
  5297.                     if (loadfile[4] == "False")
  5298.                     {
  5299.                         podskz_of_on = false;
  5300.                     }
  5301.                     else
  5302.                     {
  5303.                         podskz_of_on = true;
  5304.                     }
  5305.                     if (loadfile[5] != null)
  5306.                     {
  5307.                         switch (loadfile[5])
  5308.                         {
  5309.                             case "admin":
  5310.                                 publicDostup = dostup.admin;
  5311.                                 break;
  5312.                             case "user":
  5313.                                 publicDostup = dostup.user;
  5314.                                 break;
  5315.                             case "read":
  5316.                                 publicDostup = dostup.read;
  5317.                                 break;
  5318.                             case "write":
  5319.                                 publicDostup = dostup.write;
  5320.                                 break;
  5321.                             case "none":
  5322.                                 publicDostup = dostup.none;
  5323.                                 break;
  5324.                         }
  5325.                     }
  5326.  
  5327.                     string[] file;
  5328.  
  5329.                     for (int i = 6; i < loadfile.Length; i++)
  5330.                     {
  5331.                         if (loadfile[i] == "txt" || loadfile[i] == "exe" || loadfile[i] == "script")
  5332.                         {
  5333.                             file = new string[10];
  5334.                             for (int l = 0; l < file.Length; l++)
  5335.                             {
  5336.                                 file[l] = loadfile[l + i - 1];
  5337.  
  5338.                                 if (loadfile[l + i - 1] == "end")
  5339.                                 {
  5340.                                     for (int files = 0; files < memDownload.Length; files++)
  5341.                                     {
  5342.                                         if (memDownload[files] != file)
  5343.                                         {
  5344.                                             if (memDownload[files] == null)
  5345.                                             {
  5346.                                                 memDownload[files] = file;
  5347.                                                 break;
  5348.                                             }
  5349.                                         }
  5350.                                     }
  5351.                                     break;
  5352.                                 }
  5353.                             }
  5354.                         }
  5355.                     }
  5356.                     return 1;
  5357.                 }
  5358.             }
  5359.             catch
  5360.             {
  5361.                 otvetProc("ОШИБКА ЗАГРУЗКИ!", false);
  5362.                 return 0;
  5363.             }
  5364.              */
  5365.             #endregion
  5366.         }
  5367.         #endregion
  5368.         #region HELP
  5369.         public void Help(string comand)
  5370.         {
  5371.             bool ok = false;
  5372.             if (comand == "help" || comand == "help 1")
  5373.             {
  5374.                 Console.BackgroundColor = ConsoleColor.DarkYellow;
  5375.                 Console.ForegroundColor = ConsoleColor.Yellow;
  5376.                 Console.WriteLine();
  5377.                 Console.WriteLine("/help - основная помощь");
  5378.                 Console.WriteLine("/help 2 - помощь в запросах на файловые системы");
  5379.                 Console.WriteLine("/help 3 - Помощь в параметрах доступа");
  5380.                 Console.WriteLine("/help 4 - Уязвимые запросы");
  5381.                 Console.WriteLine("/help 5 - Помощь в Скриптах");
  5382.                 Console.WriteLine("/clear - очистить консоль");
  5383.                 Console.WriteLine("/note - Блокнот для записи данных");
  5384.                 Console.WriteLine("/connect 'ip' - подключение к удалённому шлюзу");
  5385.                 Console.WriteLine("/exe 'программа' - запуск программы");
  5386.                 Console.WriteLine("/ip - узнать свой ip адрес");
  5387.                 Console.WriteLine("/home - Просмотр локального сервера (ВАШ ПК)");
  5388.                 Console.WriteLine("/save - сохранение игры (ТЕСТОВАЯ КОМАНДА!)");
  5389.                 Console.WriteLine("/load - загрузка игры (ТЕСТОВАЯ КОМАНДА!)");
  5390.                 Console.WriteLine();
  5391.                 Console.BackgroundColor = ConsoleColor.Black;
  5392.                 Console.ForegroundColor = ConsoleColor.Gray;
  5393.                 ok = true;
  5394.             }
  5395.             if (comand == "help 2")
  5396.             {
  5397.                 podskz_of_on = true;
  5398.                 Podskaz(2);
  5399.                 podskz_of_on = false;
  5400.                 ok = true;
  5401.             }
  5402.             if (comand == "help 3")
  5403.             {
  5404.                 podskz_of_on = true;
  5405.                 Podskaz(3);
  5406.                 podskz_of_on = false;
  5407.                 ok = true;
  5408.             }
  5409.             if (comand == "help 4")
  5410.             {
  5411.                 podskz_of_on = true;
  5412.                 Podskaz(4);
  5413.                 podskz_of_on = false;
  5414.                 ok = true;
  5415.             }
  5416.             if (comand == "help 5")
  5417.             {
  5418.                 podskz_of_on = true;
  5419.                 Podskaz(5);
  5420.                 podskz_of_on = false;
  5421.                 ok = true;
  5422.             }
  5423.             if (ok == true)
  5424.             {
  5425.                 ok = false;
  5426.                 return;
  5427.             }
  5428.         }
  5429.         #endregion
  5430.         #region Подсказки
  5431.         /// <summary>
  5432.         /// Подсказки
  5433.         /// </summary>
  5434.         /// <param name="num">1 - подсказка о /, 2 - подскаска о запросах в файловых системах, 3 - о доступе, 4 - о уязвимых запросах</param>
  5435.         public void Podskaz(int num)
  5436.         {
  5437.             switch (num)
  5438.             {
  5439.                 case 5:
  5440.                     Console.ForegroundColor = ConsoleColor.Yellow;
  5441.                     Console.BackgroundColor = ConsoleColor.DarkYellow;
  5442.                     Console.WriteLine();
  5443.                     Console.WriteLine("Помощь по скриптам:");
  5444.                     Console.WriteLine("Чтобы писать скрипты нужно иметь программу Scriptor");
  5445.                     Console.WriteLine("Если она у вас имеется, то запустите её - /exe Scriptor");
  5446.                     Console.WriteLine("Дальше вам нужно написать скрипт");
  5447.                     Console.WriteLine("Команды:");
  5448.                     Console.WriteLine("Команда - write 'TEXT' - выводит сообщение (Обязательно в одинарных кавычках!)");
  5449.                     Console.WriteLine("Команда - write 1+1 - выводит арефметический ответ");
  5450.                     Console.WriteLine("Команда - cmd /'консольная команда' - выполняет консольную команду");
  5451.                     Console.WriteLine("Команда - input 'TEXT' - вводит (TEXT) в строку запроса - (выполняется при открытой точке входа)");
  5452.                     Console.WriteLine("Условия:");
  5453.                     Console.WriteLine("if (input 0) - условие (если сервер успешно принял запрос(0), тогда выполняются команды)");
  5454.                     Console.WriteLine("write 'Выход выполнен' - команды которые выполняются если условие выполнено");
  5455.                     Console.WriteLine("end - закрывает if");
  5456.                     Console.WriteLine("Обратное условие:");
  5457.                     Console.WriteLine("if !(input 0) - условие (если сервер успешно принял запрос(0), тогда команды не выполняются)");
  5458.                     Console.WriteLine("write 'Выход выполнен' - команды которые выполняются если условие не выполнено");
  5459.                     Console.WriteLine("end - закрывает if");
  5460.                     Console.WriteLine();
  5461.                     Console.ForegroundColor = ConsoleColor.Gray;
  5462.                     Console.BackgroundColor = ConsoleColor.Black;
  5463.                     break;
  5464.  
  5465.                 case 4:
  5466.                     Console.ForegroundColor = ConsoleColor.Yellow;
  5467.                     Console.BackgroundColor = ConsoleColor.DarkYellow;
  5468.                     Console.WriteLine();
  5469.                     Console.WriteLine("Все запросы, которые часто уязвимы:");
  5470.                     Console.WriteLine("! @ # $ % ^ & * ( ) _ - + =");
  5471.                     Console.WriteLine();
  5472.                     Console.ForegroundColor = ConsoleColor.Gray;
  5473.                     Console.BackgroundColor = ConsoleColor.Black;
  5474.                     break;
  5475.  
  5476.                 case 3:
  5477.                     Console.ForegroundColor = ConsoleColor.Yellow;
  5478.                     Console.BackgroundColor = ConsoleColor.DarkYellow;
  5479.                     Console.WriteLine();
  5480.                     Console.WriteLine("Права доступа - admin - может изменять настройки и имеет доступ ко всему.");
  5481.                     Console.WriteLine("Права доступа - user - имеет доступ к файлам, не имеет доступ к системным файлам.");
  5482.                     Console.WriteLine("Права доступа - read - имеют доступ сохранять или просматривать файл (не системный)");
  5483.                     Console.WriteLine("Права доступа - write - имеют доступ записывать, создавать файлы (редко используемые)");
  5484.                     Console.WriteLine("Права доступа - none - нет доступа к файловой системе.");
  5485.                     Console.WriteLine();
  5486.                     Console.ForegroundColor = ConsoleColor.Gray;
  5487.                     Console.BackgroundColor = ConsoleColor.Black;
  5488.                     break;
  5489.  
  5490.                 case 2:
  5491.                     if (podskz_of_on == true)
  5492.                     {
  5493.                         Console.ForegroundColor = ConsoleColor.Yellow;
  5494.                         Console.BackgroundColor = ConsoleColor.DarkYellow;
  5495.                         Console.WriteLine();
  5496.                         Console.WriteLine("Используйте запрос \"dir\" для того, чтобы посмотреть какие файлы находяться в файловой системе.");
  5497.                         Console.WriteLine("Используйте запрос \"rm \"Имя файла\" для того, чтобы удалить файл в текущей дериктории.");
  5498.                         Console.WriteLine("Используйте запрос \"rm *\" для того, чтобы удалить все файлы в текущей дериктории.");
  5499.                         Console.WriteLine("Используйте запрос \"dc\", чтобы отключиться от файловой системы.");
  5500.                         Console.WriteLine("Используйте запрос \"save 'Имя файла'\", чтобы загрузить файл себе на компьютер.");
  5501.                         Console.WriteLine("Используйте запрос \"copy 'Имя файла'\", чтобы сделать копию файла.");
  5502.                         Console.WriteLine("Используйте запрос \"upload 'Имя файла'\", чтобы загрузить на сервер файл");
  5503.                         Console.WriteLine("Используйте запрос \"rename 'Имя файла' 'Новое имя файла'\", чтобы переименновать файл.");
  5504.                         Console.WriteLine("В ЗАПРОСАХ МОЖНО УКАЗЫВАТЬ КОМАНДЫ! НАПРИМЕР - '/help' или '/note' - но не все!.");
  5505.                         Console.WriteLine();
  5506.                         Console.ForegroundColor = ConsoleColor.Gray;
  5507.                         Console.BackgroundColor = ConsoleColor.Black;
  5508.                     }
  5509.                     break;
  5510.  
  5511.                 case 1:
  5512.                     if (podskz_of_on == true)
  5513.                     {
  5514.                         Console.WriteLine();
  5515.                         Console.ForegroundColor = ConsoleColor.Yellow;
  5516.                         Console.BackgroundColor = ConsoleColor.DarkYellow;
  5517.                         Console.WriteLine("Подсказка: Команды начинаются со знака \"/\"");
  5518.                         Console.ForegroundColor = ConsoleColor.Gray;
  5519.                         Console.BackgroundColor = ConsoleColor.Black;
  5520.                     }
  5521.                     break;
  5522.  
  5523.             }
  5524.         }
  5525.         #endregion
  5526.         #region Свой разговор
  5527.         /// <summary>
  5528.         /// Твой разговор
  5529.         /// </summary>
  5530.         /// <param name="s">Текст</param>
  5531.         /// <param name="otv">true - ожидание ввода</param>
  5532.         /// <param name="name">Имя писавшего</param>
  5533.         public void pers(string s, bool otv, string name)
  5534.         {
  5535.             Console.ForegroundColor = ConsoleColor.Green;
  5536.             Console.BackgroundColor = ConsoleColor.Black;
  5537.             Console.Write(name + ":");
  5538.             Console.ForegroundColor = ConsoleColor.Green;
  5539.             Console.BackgroundColor = ConsoleColor.DarkGreen;
  5540.             SlowVvod(s);
  5541.             Console.ForegroundColor = ConsoleColor.Gray;
  5542.             Console.BackgroundColor = ConsoleColor.Black;
  5543.             if (otv == true)
  5544.                 prod();
  5545.         }
  5546.         /// <summary>
  5547.         /// Твой разговор
  5548.         /// </summary>
  5549.         /// <param name="s">Текст</param>
  5550.         /// <param name="name">Имя писавшего</param>
  5551.         public void pers(string s, string name)
  5552.         {
  5553.             Console.ForegroundColor = ConsoleColor.Green;
  5554.             Console.BackgroundColor = ConsoleColor.Black;
  5555.             Console.Write(name + ":");
  5556.             Console.ForegroundColor = ConsoleColor.Green;
  5557.             Console.BackgroundColor = ConsoleColor.DarkGreen;
  5558.             SlowVvod(s);
  5559.             Console.ForegroundColor = ConsoleColor.Gray;
  5560.             Console.BackgroundColor = ConsoleColor.Black;
  5561.         }
  5562.         /// <summary>
  5563.         /// Твой разговор
  5564.         /// </summary>
  5565.         /// <param name="s">Текст</param>
  5566.         /// <param name="otv">true - ожидание ввода</param>
  5567.         public void pers(string s, bool otv)
  5568.         {
  5569.             Console.ForegroundColor = ConsoleColor.Green;
  5570.             Console.BackgroundColor = ConsoleColor.DarkGreen;
  5571.             SlowVvod(s);
  5572.             Console.ForegroundColor = ConsoleColor.Gray;
  5573.             Console.BackgroundColor = ConsoleColor.Black;
  5574.             if (otv == true)
  5575.                 prod();
  5576.         }
  5577.         /// <summary>
  5578.         /// Твой разговор
  5579.         /// </summary>
  5580.         /// <param name="s">Текст</param>
  5581.         public void pers(string s)
  5582.         {
  5583.             Console.ForegroundColor = ConsoleColor.Green;
  5584.             Console.BackgroundColor = ConsoleColor.DarkGreen;
  5585.             SlowVvod(s);
  5586.             Console.ForegroundColor = ConsoleColor.Gray;
  5587.             Console.BackgroundColor = ConsoleColor.Black;
  5588.         }
  5589.         #endregion
  5590.         #region Чужой разговор
  5591.         /// <summary>
  5592.         /// Диалог
  5593.         /// </summary>
  5594.         /// <param name="s">Текст</param>
  5595.         /// <param name="otv">true - ожидание ввода</param>
  5596.         /// <param name="name">Имя того кто писал диалог</param>
  5597.         public void dialog(string s, bool otv, string name, ConsoleColor color)
  5598.         {
  5599.             Console.ForegroundColor = color;
  5600.             Console.BackgroundColor = ConsoleColor.Black;
  5601.             Console.Write(name + ":");
  5602.             Console.ForegroundColor = color;
  5603.             switch (color)
  5604.             {
  5605.                 case ConsoleColor.Blue:
  5606.                     Console.BackgroundColor = ConsoleColor.DarkBlue;
  5607.                     break;
  5608.                 case ConsoleColor.Cyan:
  5609.                     Console.BackgroundColor = ConsoleColor.Cyan;
  5610.                     break;
  5611.                 case ConsoleColor.Gray:
  5612.                     Console.BackgroundColor = ConsoleColor.DarkGray;
  5613.                     break;
  5614.                 case ConsoleColor.Green:
  5615.                     Console.BackgroundColor = ConsoleColor.DarkGreen;
  5616.                     break;
  5617.                 case ConsoleColor.Magenta:
  5618.                     Console.BackgroundColor = ConsoleColor.DarkMagenta;
  5619.                     break;
  5620.                 case ConsoleColor.Red:
  5621.                     Console.BackgroundColor = ConsoleColor.DarkRed;
  5622.                     break;
  5623.                 case ConsoleColor.Yellow:
  5624.                     Console.BackgroundColor = ConsoleColor.DarkYellow;
  5625.                     break;
  5626.             }
  5627.             SlowVvod(s);
  5628.             Console.ForegroundColor = ConsoleColor.Gray;
  5629.             Console.BackgroundColor = ConsoleColor.Black;
  5630.             if (otv == true)
  5631.                 prod();
  5632.         }
  5633.         /// <summary>
  5634.         /// Диалог
  5635.         /// </summary>
  5636.         /// <param name="s">Текст</param>
  5637.         /// <param name="otv">true - ожидание ввода</param>
  5638.         /// <param name="name">Имя того кто писал диалог</param>
  5639.         public void dialog(string s, bool otv, string name)
  5640.         {
  5641.             Console.ForegroundColor = ConsoleColor.Red;
  5642.             Console.BackgroundColor = ConsoleColor.Black;
  5643.             Console.Write(name + ":");
  5644.             Console.ForegroundColor = ConsoleColor.Red;
  5645.             Console.BackgroundColor = ConsoleColor.DarkRed;
  5646.             SlowVvod(s);
  5647.             Console.ForegroundColor = ConsoleColor.Gray;
  5648.             Console.BackgroundColor = ConsoleColor.Black;
  5649.             if (otv == true)
  5650.                 prod();
  5651.         }
  5652.         /// <summary>
  5653.         /// Диалог
  5654.         /// </summary>
  5655.         /// <param name="s">Текст</param>
  5656.         /// <param name="name">Имя того кто писал диалог</param>
  5657.         public void dialog(string s, string name)
  5658.         {
  5659.             Console.ForegroundColor = ConsoleColor.Red;
  5660.             Console.BackgroundColor = ConsoleColor.Black;
  5661.             Console.Write(name + ":");
  5662.             Console.ForegroundColor = ConsoleColor.Red;
  5663.             Console.BackgroundColor = ConsoleColor.DarkRed;
  5664.             SlowVvod(s);
  5665.             Console.ForegroundColor = ConsoleColor.Gray;
  5666.             Console.BackgroundColor = ConsoleColor.Black;
  5667.         }
  5668.         /// <summary>
  5669.         /// Диалог
  5670.         /// </summary>
  5671.         /// <param name="s">Текст</param>
  5672.         /// <param name="otv">true - ожидание ввода</param>
  5673.         public void dialog(string s, bool otv)
  5674.         {
  5675.             Console.ForegroundColor = ConsoleColor.Red;
  5676.             Console.BackgroundColor = ConsoleColor.DarkRed;
  5677.             if (ScriptOnOf)
  5678.                 Console.WriteLine(s);
  5679.             else
  5680.                 SlowVvod(s);
  5681.             Console.ForegroundColor = ConsoleColor.Gray;
  5682.             Console.BackgroundColor = ConsoleColor.Black;
  5683.             if (otv == true)
  5684.                 prod();
  5685.         }
  5686.         /// <summary>
  5687.         /// Диалог
  5688.         /// </summary>
  5689.         /// <param name="s">Текст</param>
  5690.         public void dialog(string s)
  5691.         {
  5692.             Console.ForegroundColor = ConsoleColor.Red;
  5693.             Console.BackgroundColor = ConsoleColor.DarkRed;
  5694.             if (ScriptOnOf)
  5695.                 Console.WriteLine(s);
  5696.             else
  5697.                 SlowVvod(s);
  5698.             Console.ForegroundColor = ConsoleColor.Gray;
  5699.             Console.BackgroundColor = ConsoleColor.Black;
  5700.         }
  5701.         #endregion
  5702.         #region Ожидание
  5703.         public void SlowVvod(string s)
  5704.         {
  5705.             if (!ScriptOnOf)
  5706.             {
  5707.                 foreach (char ch in s)
  5708.                 {
  5709.                     Console.Write(ch);
  5710.                     Thread.Sleep(30);
  5711.                 }
  5712.                 Console.WriteLine();
  5713.             }
  5714.             else
  5715.             {
  5716.                 Console.WriteLine(s);
  5717.             }
  5718.         }
  5719.         #region Continue
  5720.         public void prod()
  5721.         {
  5722.             if (!ScriptOnOf)
  5723.             {
  5724.                 Console.ForegroundColor = ConsoleColor.Yellow;
  5725.                 Console.BackgroundColor = ConsoleColor.DarkYellow;
  5726.                 Console.Write("Нажмите для ввода");
  5727.                 Console.ReadKey(true);
  5728.                 Console.ForegroundColor = ConsoleColor.Gray;
  5729.                 Console.BackgroundColor = ConsoleColor.Black;
  5730.  
  5731.                 Console.SetCursorPosition(0, Console.CursorTop);
  5732.                 do
  5733.                 {
  5734.                     Console.Write("                                                                                                ");
  5735.                     Console.CursorLeft++;
  5736.                 } while (Console.CursorLeft == 1);
  5737.                 Console.SetCursorPosition(0, Console.CursorTop);
  5738.             }
  5739.         }
  5740.         public void prod(string text)
  5741.         {
  5742.             if (!ScriptOnOf)
  5743.             {
  5744.                 Console.ForegroundColor = ConsoleColor.Yellow;
  5745.                 Console.BackgroundColor = ConsoleColor.DarkYellow;
  5746.                 Console.Write(text);
  5747.                 Console.ReadKey(true);
  5748.                 Console.ForegroundColor = ConsoleColor.Gray;
  5749.                 Console.BackgroundColor = ConsoleColor.Black;
  5750.  
  5751.                 Console.SetCursorPosition(0, Console.CursorTop);
  5752.                 do
  5753.                 {
  5754.                     Console.Write("                                                                                                ");
  5755.                     Console.CursorLeft++;
  5756.                 } while (Console.CursorLeft == 1);
  5757.                 Console.SetCursorPosition(0, Console.CursorTop);
  5758.             }
  5759.         }
  5760.         public void prod(ConsoleColor textColor)
  5761.         {
  5762.             if (!ScriptOnOf)
  5763.             {
  5764.                 Console.ForegroundColor = textColor;
  5765.                 Console.BackgroundColor = ConsoleColor.Black;
  5766.                 Console.Write("Нажмите для ввода");
  5767.                 Console.ReadKey(true);
  5768.                 Console.ForegroundColor = ConsoleColor.Gray;
  5769.                 Console.BackgroundColor = ConsoleColor.Black;
  5770.  
  5771.                 Console.SetCursorPosition(0, Console.CursorTop);
  5772.                 do
  5773.                 {
  5774.                     Console.Write("                                                                                                ");
  5775.                     Console.CursorLeft++;
  5776.                 } while (Console.CursorLeft == 1);
  5777.                 Console.SetCursorPosition(0, Console.CursorTop);
  5778.             }
  5779.         }
  5780.         public void prod(string text, ConsoleColor textColor)
  5781.         {
  5782.             if (!ScriptOnOf)
  5783.             {
  5784.                 Console.ForegroundColor = textColor;
  5785.                 Console.BackgroundColor = ConsoleColor.Black;
  5786.                 Console.Write(text);
  5787.                 Console.ReadKey(true);
  5788.                 Console.ForegroundColor = ConsoleColor.Gray;
  5789.                 Console.BackgroundColor = ConsoleColor.Black;
  5790.  
  5791.                 Console.SetCursorPosition(0, Console.CursorTop);
  5792.                 do
  5793.                 {
  5794.                     Console.Write("                                                                                                ");
  5795.                     Console.CursorLeft++;
  5796.                 } while (Console.CursorLeft == 1);
  5797.                 Console.SetCursorPosition(0, Console.CursorTop);
  5798.             }
  5799.         }
  5800.         public void prod(ConsoleColor textColor, ConsoleColor backColor)
  5801.         {
  5802.             if (!ScriptOnOf)
  5803.             {
  5804.                 Console.ForegroundColor = textColor;
  5805.                 Console.BackgroundColor = backColor;
  5806.                 Console.Write("Нажмите для ввода");
  5807.                 Console.ReadKey(true);
  5808.                 Console.ForegroundColor = ConsoleColor.Gray;
  5809.                 Console.BackgroundColor = ConsoleColor.Black;
  5810.  
  5811.                 Console.SetCursorPosition(0, Console.CursorTop);
  5812.                 do
  5813.                 {
  5814.                     Console.Write("                                                                                                ");
  5815.                     Console.CursorLeft++;
  5816.                 } while (Console.CursorLeft == 1);
  5817.                 Console.SetCursorPosition(0, Console.CursorTop);
  5818.             }
  5819.         }
  5820.         public void prod(string text, ConsoleColor textColor, ConsoleColor backColor)
  5821.         {
  5822.             if (!ScriptOnOf)
  5823.             {
  5824.                 Console.ForegroundColor = textColor;
  5825.                 Console.BackgroundColor = backColor;
  5826.                 Console.Write(text);
  5827.                 Console.ReadKey(true);
  5828.                 Console.ForegroundColor = ConsoleColor.Gray;
  5829.                 Console.BackgroundColor = ConsoleColor.Black;
  5830.  
  5831.                 Console.SetCursorPosition(0, Console.CursorTop);
  5832.                 do
  5833.                 {
  5834.                     Console.Write("                                                                                                ");
  5835.                     Console.CursorLeft++;
  5836.                 } while (Console.CursorLeft == 1);
  5837.                 Console.SetCursorPosition(0, Console.CursorTop);
  5838.             }
  5839.         }
  5840.         #endregion
  5841.         #region Waiter
  5842.         public void Waiter(int count, int time)
  5843.         {
  5844.             if (!ScriptOnOf)
  5845.             {
  5846.                 Console.ForegroundColor = ConsoleColor.Red;
  5847.                 Console.Write("Ожидание");
  5848.                 Thread.Sleep(time);
  5849.                 for (int j = 0, i = 0; i <= count; i++)
  5850.                 {
  5851.                     if (j == 3)
  5852.                     {
  5853.                         j = 0;
  5854.                         Console.CursorLeft -= 3;
  5855.                         Console.Write("   ");
  5856.                         Console.CursorLeft -= 3;
  5857.                     }
  5858.                     else
  5859.                     {
  5860.                         Console.Write(".");
  5861.                         j++;
  5862.                         Thread.Sleep(time);
  5863.                     }
  5864.                 }
  5865.                 Console.CursorLeft = 0;
  5866.                 Console.Write("                                                                                                ");
  5867.                 Console.CursorLeft = 0;
  5868.                 Console.ForegroundColor = ConsoleColor.Gray;
  5869.             }
  5870.         }
  5871.         public void Waiter(bool green_true, int count, int time)
  5872.         {
  5873.             if (!ScriptOnOf)
  5874.             {
  5875.                 if (green_true)
  5876.                     Console.ForegroundColor = ConsoleColor.Green;
  5877.                 else
  5878.                     Console.ForegroundColor = ConsoleColor.Red;
  5879.  
  5880.                 Console.Write("Ожидание");
  5881.                 Thread.Sleep(time);
  5882.                 for (int j = 0, i = 0; i <= count; i++)
  5883.                 {
  5884.                     if (j == 3)
  5885.                     {
  5886.                         j = 0;
  5887.                         Console.CursorLeft -= 3;
  5888.                         Console.Write("   ");
  5889.                         Console.CursorLeft -= 3;
  5890.                     }
  5891.                     else
  5892.                     {
  5893.                         Console.Write(".");
  5894.                         j++;
  5895.                         Thread.Sleep(time);
  5896.                     }
  5897.                 }
  5898.                 Console.CursorLeft = 0;
  5899.                 Console.Write("                                                                                                ");
  5900.                 Console.CursorLeft = 0;
  5901.                 Console.ForegroundColor = ConsoleColor.Gray;
  5902.             }
  5903.         }
  5904.         public void Waiter(string text, int count, int time)
  5905.         {
  5906.             if (!ScriptOnOf)
  5907.             {
  5908.                 Console.ForegroundColor = ConsoleColor.Red;
  5909.                 Console.Write(text);
  5910.                 Thread.Sleep(time);
  5911.                 for (int j = 0, i = 0; i <= count; i++)
  5912.                 {
  5913.                     if (j == 3)
  5914.                     {
  5915.                         j = 0;
  5916.                         Console.CursorLeft -= 3;
  5917.                         Console.Write("   ");
  5918.                         Console.CursorLeft -= 3;
  5919.                     }
  5920.                     else
  5921.                     {
  5922.                         Console.Write(".");
  5923.                         j++;
  5924.                         Thread.Sleep(time);
  5925.                     }
  5926.                 }
  5927.                 Console.CursorLeft = 0;
  5928.                 Console.Write("                                                                                                ");
  5929.                 Console.CursorLeft = 0;
  5930.                 Console.ForegroundColor = ConsoleColor.Gray;
  5931.             }
  5932.         }
  5933.         public void Waiter(string text, bool green_true, int count, int time)
  5934.         {
  5935.             if (!ScriptOnOf)
  5936.             {
  5937.                 if (green_true)
  5938.                     Console.ForegroundColor = ConsoleColor.Green;
  5939.                 else
  5940.                     Console.ForegroundColor = ConsoleColor.Red;
  5941.  
  5942.                 Console.Write(text);
  5943.                 Thread.Sleep(time);
  5944.                 for (int j = 0, i = 0; i <= count; i++)
  5945.                 {
  5946.                     if (j == 3)
  5947.                     {
  5948.                         j = 0;
  5949.                         Console.CursorLeft -= 3;
  5950.                         Console.Write("   ");
  5951.                         Console.CursorLeft -= 3;
  5952.                     }
  5953.                     else
  5954.                     {
  5955.                         Console.Write(".");
  5956.                         j++;
  5957.                         Thread.Sleep(time);
  5958.                     }
  5959.                 }
  5960.                 Console.CursorLeft = 0;
  5961.                 Console.Write("                                                                                                ");
  5962.                 Console.CursorLeft = 0;
  5963.                 Console.ForegroundColor = ConsoleColor.Gray;
  5964.             }
  5965.         }
  5966.         #endregion
  5967.         #endregion
  5968.         #region INPUT
  5969.         public string CallInputUser()
  5970.         {
  5971.             if (ScriptOnOf == false)
  5972.             {
  5973.                 input = Console.ReadLine();
  5974.             }
  5975.             else
  5976.                 if (ScriptOnOf == true)
  5977.                 {
  5978.                     Thread.Sleep(100);
  5979.                     input = GlobalCommandScript;
  5980.                     int c = 0;
  5981.                     while (ScriptMessage == "yes")
  5982.                     {
  5983.                         Thread.Sleep(100);
  5984.                         c++;
  5985.                         if (c == 400)
  5986.                             break;
  5987.                     }
  5988.                     ScriptMessage = "yes";
  5989.                 }
  5990.  
  5991.             return input;
  5992.         }
  5993.         #endregion
  5994.         #region Ответ от операций
  5995.         /// <summary>
  5996.         /// Ответ о успешном завершении или о ошибке
  5997.         /// </summary>
  5998.         /// <param name="s">Сообщение выводимое в консоль</param>
  5999.         /// <param name="ok">Если false, тогда ошибка, если true, тогда положительный результат</param>
  6000.         public void otvetProc(string s, bool ok)
  6001.         {
  6002.             Thread.Sleep(10);
  6003.             if (ok == false)
  6004.             {
  6005.                 Console.BackgroundColor = ConsoleColor.DarkRed;
  6006.                 Console.ForegroundColor = ConsoleColor.Red;
  6007.                 SlowVvod(s);
  6008.                 Console.ResetColor();
  6009.             }
  6010.             else
  6011.             {
  6012.                 Console.BackgroundColor = ConsoleColor.DarkGreen;
  6013.                 Console.ForegroundColor = ConsoleColor.Green;
  6014.                 SlowVvod(s);
  6015.                 Console.ResetColor();
  6016.             }
  6017.         }
  6018.         /// <summary>
  6019.         /// Ответ о успешном завершении или о ошибке
  6020.         /// </summary>
  6021.         /// <param name="s">Сообщение выводимое в консоль</param>
  6022.         /// <param name="ok">Если false, тогда ошибка, если true, тогда положительный результат</param>
  6023.         /// <param name="nule">Если false, тогда без фона, есди true, тогда с фоном</param>
  6024.         public void otvetProc(string s, bool ok, bool backOn)
  6025.         {
  6026.             Thread.Sleep(10);
  6027.             if (ok == false)
  6028.             {
  6029.                 if (backOn)
  6030.                     Console.BackgroundColor = ConsoleColor.DarkRed;
  6031.  
  6032.                 Console.ForegroundColor = ConsoleColor.Red;
  6033.                 SlowVvod(s);
  6034.                 Console.ResetColor();
  6035.             }
  6036.             else
  6037.             {
  6038.                 if (backOn)
  6039.                     Console.BackgroundColor = ConsoleColor.DarkGreen;
  6040.  
  6041.                 Console.ForegroundColor = ConsoleColor.Green;
  6042.                 SlowVvod(s);
  6043.                 Console.ResetColor();
  6044.             }
  6045.         }
  6046.         #endregion
  6047.         #region Случайный цвет
  6048.         public void randconsoleColor(bool background)
  6049.         {
  6050.             do
  6051.             {
  6052.                 if (background == true)
  6053.                 {
  6054.                     switch (rand.Next(0, 7))
  6055.                     {
  6056.                         case 0:
  6057.                             Console.BackgroundColor = ConsoleColor.DarkBlue;
  6058.                             break;
  6059.  
  6060.                         case 1:
  6061.                             Console.BackgroundColor = ConsoleColor.DarkCyan;
  6062.                             break;
  6063.  
  6064.                         case 2:
  6065.                             Console.BackgroundColor = ConsoleColor.DarkGray;
  6066.                             break;
  6067.  
  6068.                         case 3:
  6069.                             Console.BackgroundColor = ConsoleColor.DarkGreen;
  6070.                             break;
  6071.  
  6072.                         case 4:
  6073.                             Console.BackgroundColor = ConsoleColor.DarkMagenta;
  6074.                             break;
  6075.  
  6076.                         case 5:
  6077.                             Console.BackgroundColor = ConsoleColor.DarkRed;
  6078.                             break;
  6079.  
  6080.                         case 6:
  6081.                             Console.BackgroundColor = ConsoleColor.DarkYellow;
  6082.                             break;
  6083.  
  6084.                         default:
  6085.                             Console.BackgroundColor = ConsoleColor.Black;
  6086.                             break;
  6087.                     }
  6088.                 }
  6089.  
  6090.                 switch (rand.Next(0, 8))
  6091.                 {
  6092.                     case 0:
  6093.                         Console.ForegroundColor = ConsoleColor.Blue;
  6094.                         break;
  6095.  
  6096.                     case 1:
  6097.                         Console.ForegroundColor = ConsoleColor.Cyan;
  6098.                         break;
  6099.  
  6100.                     case 2:
  6101.                         Console.ForegroundColor = ConsoleColor.Gray;
  6102.                         break;
  6103.  
  6104.                     case 3:
  6105.                         Console.ForegroundColor = ConsoleColor.Green;
  6106.                         break;
  6107.  
  6108.                     case 4:
  6109.                         Console.ForegroundColor = ConsoleColor.Magenta;
  6110.                         break;
  6111.  
  6112.                     case 5:
  6113.                         Console.ForegroundColor = ConsoleColor.Red;
  6114.                         break;
  6115.  
  6116.                     case 6:
  6117.                         Console.ForegroundColor = ConsoleColor.White;
  6118.                         break;
  6119.  
  6120.                     case 7:
  6121.                         Console.ForegroundColor = ConsoleColor.Yellow;
  6122.                         break;
  6123.  
  6124.                     default:
  6125.                         Console.ForegroundColor = ConsoleColor.Black;
  6126.                         break;
  6127.                 }
  6128.             } while (Console.BackgroundColor == Console.ForegroundColor);
  6129.         }
  6130.         #endregion
  6131.         #region Programs
  6132.         public string GenerateHashCode()
  6133.         {
  6134.             string HashCode = "";
  6135.             char[] abc = new char[]
  6136.             { 'q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p',
  6137.               'a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l',
  6138.               'z', 'x', 'c', 'v', 'b', 'n', 'm'
  6139.             };
  6140.             for (int i = 0; i < 16; i++)
  6141.             {
  6142.                 string c = abc[rand.Next(0, abc.Length)].ToString();
  6143.                 if (rand.Next(0, 2) == 1)
  6144.                     c = c.ToUpper();
  6145.                 HashCode += c;
  6146.             }
  6147.             return HashCode;
  6148.         }
  6149.         public string GenerateHashCode(int lenght)
  6150.         {
  6151.             string HashCode = "";
  6152.             char[] abc = new char[]
  6153.             { 'q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p',
  6154.               'a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l',
  6155.               'z', 'x', 'c', 'v', 'b', 'n', 'm'
  6156.             };
  6157.             for (int i = 0; i < lenght; i++)
  6158.             {
  6159.                 string c = abc[rand.Next(0, abc.Length)].ToString();
  6160.                 if (rand.Next(0, 2) == 1)
  6161.                     c = c.ToUpper();
  6162.                 HashCode += c;
  6163.             }
  6164.             return HashCode;
  6165.         }
  6166.  
  6167.         /// <summary>
  6168.         /// Возвращает созданный файл
  6169.         /// </summary>
  6170.         /// <param name="s0">Имя файла</param>
  6171.         /// <param name="s1">Расширение</param>
  6172.         /// <param name="CountElements">Кол-во элементов в файле(строк)</param>
  6173.         /// <returns></returns>
  6174.         public string[] CreateFile(string s0, string s1, int CountElements)
  6175.         {
  6176.             if (CountElements >= 3)
  6177.             {
  6178.                 string[] file = new string[CountElements];
  6179.                 file[0] = s0;
  6180.                 file[1] = s1;
  6181.                 file[file.Length - 1] = "end";
  6182.                 return file;
  6183.             }
  6184.             return null;
  6185.         }
  6186.         /// <summary>
  6187.         /// Сохраняет массив сервера в массив серверов и возвращает массив серверов
  6188.         /// </summary>
  6189.         /// <param name="DATA">Массив серверов</param>
  6190.         /// <param name="files">Массив сервера</param>
  6191.         /// <returns></returns>
  6192.         public Array[] UploadServerFilesInSERVERSDATA(Array[] DATA, Array[] files)
  6193.         {
  6194.             for (int i = 0; i < DATA.Length; i++)
  6195.             {
  6196.                 Array[] FILES = (Array[])DATA[i];
  6197.                 if (FILES != null)
  6198.                 {
  6199.                     if (FILES[0].GetValue(0) == files[0].GetValue(0))
  6200.                     {
  6201.                         DATA[i] = files;
  6202.                         break;
  6203.                     }
  6204.                 }
  6205.                 else
  6206.                 {
  6207.                     DATA[i] = files;
  6208.                     break;
  6209.                 }
  6210.             }
  6211.             return DATA;
  6212.         }
  6213.         /// <summary>
  6214.         /// Получает массив файлов из массива серверов - фильтруя по IP адресу массив серверов
  6215.         /// </summary>
  6216.         /// <param name="DATA">Массив серверов</param>
  6217.         /// <param name="IP">IP адрес нужного сервера</param>
  6218.         /// <returns></returns>
  6219.         public Array[] FindServerFilesInSERVERDATA(Array[] DATA, string IP)
  6220.         {
  6221.             foreach (Array[] FILES in DATA)
  6222.             {
  6223.                 if (FILES != null)
  6224.                 {
  6225.                     foreach (string[] file in FILES)
  6226.                     {
  6227.                         if (file != null)
  6228.                         {
  6229.                             if (file[0] == IP && file[1] == "sys")
  6230.                             {
  6231.                                 return FILES;
  6232.                             }
  6233.                         }
  6234.                     }
  6235.                 }
  6236.             }
  6237.             return null;
  6238.         }
  6239.         /// <summary>
  6240.         /// Возвращает системный файл с настройками сервера
  6241.         /// </summary>
  6242.         /// <param name="IP">IP адрес сервера</param>
  6243.         /// <param name="Dostup">Доступ к серверу по умолчанию</param>
  6244.         /// <returns></returns>
  6245.         public string[] ServerFileIndexer(string IP, dostup Dostup)
  6246.         {
  6247.             string[] ServerFile = new string[3]
  6248.             {
  6249.                 IP,
  6250.                 "sys",
  6251.                 DostupToString(Dostup),
  6252.             };
  6253.             return ServerFile;
  6254.         }
  6255.         /// <summary>
  6256.         /// Возвращает переведённое перечисление dostup в тип string
  6257.         /// </summary>
  6258.         /// <param name="Dostup">Значение типа dostup</param>
  6259.         /// <returns></returns>
  6260.         public string DostupToString(dostup Dostup)
  6261.         {
  6262.             string dostup = "none";
  6263.             switch (Dostup)
  6264.             {
  6265.                 case Program.dostup.admin:
  6266.                     dostup = "admin";
  6267.                     break;
  6268.                 case Program.dostup.user:
  6269.                     dostup = "user";
  6270.                     break;
  6271.                 case Program.dostup.write:
  6272.                     dostup = "write";
  6273.                     break;
  6274.                 case Program.dostup.read:
  6275.                     dostup = "read";
  6276.                     break;
  6277.                 case Program.dostup.none:
  6278.                     dostup = "none";
  6279.                     break;
  6280.             }
  6281.             return dostup;
  6282.         }
  6283.         /// <summary>
  6284.         /// Возвращает переведённое перечисление string в тип dostup
  6285.         /// </summary>
  6286.         /// <param name="Dostup">Значение типа string</param>
  6287.         /// <returns></returns>
  6288.         public dostup StringToDostup(string Dostup)
  6289.         {
  6290.             dostup dostup = Program.dostup.none;
  6291.             switch (Dostup)
  6292.             {
  6293.                 case "admin":
  6294.                     dostup = Program.dostup.admin;
  6295.                     break;
  6296.                 case "user":
  6297.                     dostup = Program.dostup.user;
  6298.                     break;
  6299.                 case "write":
  6300.                     dostup = Program.dostup.write;
  6301.                     break;
  6302.                 case "read":
  6303.                     dostup = Program.dostup.read;
  6304.                     break;
  6305.             }
  6306.             return dostup;
  6307.         }
  6308.         /// <summary>
  6309.         /// Возвращает значение int - число символа char в строке
  6310.         /// </summary>
  6311.         /// <param name="s">Строка в который нужно найти символ(количество символа)</param>
  6312.         /// <param name="ch">Символ который нужно найти(количество символа в строке)</param>
  6313.         /// <returns></returns>
  6314.         public int SearhCharCountInString(string s, char ch)
  6315.         {
  6316.             int count = 0;
  6317.             foreach (char c in s)
  6318.             {
  6319.                 if (c == ch)
  6320.                 {
  6321.                     count++;
  6322.                 }
  6323.             }
  6324.             return count;
  6325.         }
  6326.         /// <summary>
  6327.         /// Возвращает файл который необходимо найти в массиве файлов
  6328.         /// </summary>
  6329.         /// <param name="filename">Имя файла</param>
  6330.         /// <param name="expand">Расширение файла</param>
  6331.         /// <param name="mem">Массив файлов(память)</param>
  6332.         /// <returns></returns>
  6333.         public string[] SearchFileInMemory(string filename, string expand, Array[] mem)
  6334.         {
  6335.             try
  6336.             {
  6337.                 foreach (string[] file in mem)
  6338.                 {
  6339.                     if (file != null)
  6340.                     {
  6341.                         if (expand != null)
  6342.                         {
  6343.                             if (file[0] == filename && file[1] == expand)
  6344.                             {
  6345.                                 return file;
  6346.                             }
  6347.                         }
  6348.                         else
  6349.                         {
  6350.                             if (file[0] == filename)
  6351.                             {
  6352.                                 return file;
  6353.                             }
  6354.                         }
  6355.                     }
  6356.                 }
  6357.                 return null;
  6358.             }
  6359.             catch (Exception)
  6360.             {
  6361.                 return null;
  6362.             }
  6363.         }
  6364.         /// <summary>
  6365.         /// Копирует файл который находится в массиве файлов и возвращает массив файлов с скопированным файлом
  6366.         /// </summary>
  6367.         /// <param name="fileName">Имя файла(.расширение - необезательно)</param>
  6368.         /// <param name="mem">Массив файлов(память)</param>
  6369.         /// <returns></returns>
  6370.         public Array[] CopyFile(string fileName, Array[] mem)
  6371.         {
  6372.             string[] fileCopy = new string[100];
  6373.             string[] newFileCopy = null;
  6374.             string ok = "0";
  6375.             int Counter = 1;
  6376.             bool raschir = true;
  6377.             try
  6378.             {
  6379.                 #region FindFile
  6380.                 for (int i = 0; i < mem.Length; i++)
  6381.                 {
  6382.                     if (mem[i] != null)
  6383.                     {
  6384.                         if (mem[i].GetValue(0).ToString() == fileName)
  6385.                         {
  6386.                             fileCopy = (string[])mem[i];
  6387.                             ok = "1";
  6388.                             break;
  6389.                         }
  6390.                         if (raschir == true)
  6391.                         {
  6392.                             try
  6393.                             {
  6394.                                 if (fileName.Split('.') != null)
  6395.                                 {
  6396.                                     if (mem[i].GetValue(0).ToString() + "." + fileName.Split('.')[1] == fileName)
  6397.                                     {
  6398.                                         fileCopy = (string[])mem[i];
  6399.                                         ok = "1";
  6400.                                         break;
  6401.                                     }
  6402.                                 }
  6403.                             }
  6404.                             catch (Exception)
  6405.                             {
  6406.                                 raschir = false;
  6407.                                 continue;
  6408.                             }
  6409.                         }
  6410.                     }
  6411.                 }
  6412.                 #endregion
  6413.  
  6414.                 if (ok == "0")
  6415.                 {
  6416.                     otvetProc("Файл не найден!", false);
  6417.                     return null;
  6418.                 }
  6419.                 if (fileCopy != null)
  6420.                 {
  6421.                     int s = 0;
  6422.                     for (int i = 0; i < fileCopy.Length; i++)
  6423.                     {
  6424.                         if (fileCopy[i] != null)
  6425.                         {
  6426.                             s++;
  6427.                         }
  6428.                     }
  6429.                     newFileCopy = new string[s];
  6430.                     for (int i = 0; i < s; i++)
  6431.                     {
  6432.                         newFileCopy[i] = fileCopy[i];
  6433.                     }
  6434.                     fileCopy = null;
  6435.  
  6436.                     newFileCopy[0] += "_" + Counter.ToString();
  6437.                     ok += "1";
  6438.                 }
  6439.                 if (ok == "11")
  6440.                 {
  6441.                     for (int i = 0; i < mem.Length; i++)
  6442.                     {
  6443.                         if (mem[i] != null)
  6444.                         {
  6445.                             if (mem[i].GetValue(0).ToString() == newFileCopy[0] && mem[i].GetValue(1).ToString() == newFileCopy[1])
  6446.                             {
  6447.                                 newFileCopy[0] = newFileCopy[0].Replace("_" + Counter.ToString(), "_" + (Counter + 1).ToString());
  6448.                                 Counter++;
  6449.                             }
  6450.                         }
  6451.                     }
  6452.                     for (int i = 0; i < mem.Length; i++)
  6453.                     {
  6454.                         if (mem[i] == null)
  6455.                         {
  6456.                             mem[i] = newFileCopy;
  6457.                             ok += "1";
  6458.                             break;
  6459.                         }
  6460.                     }
  6461.                     if (ok == "111")
  6462.                     {
  6463.                         otvetProc("Файл - " + fileName + ", успешно скопирован!", true);
  6464.                         return mem;
  6465.                     }
  6466.                 }
  6467.                 else
  6468.                 {
  6469.                     otvetProc("Ошибка при копировании файла", false);
  6470.                 }
  6471.             }
  6472.             catch (Exception)
  6473.             {
  6474.                 otvetProc("Ошибка при копировании файла", false);
  6475.             }
  6476.  
  6477.             return null;
  6478.         }
  6479.         /// <summary>
  6480.         /// Кладёт файл в массив файлов и возвращает этот массив файлов
  6481.         /// </summary>
  6482.         /// <param name="store">Массив файлов(память)</param>
  6483.         /// <param name="file">Файл который нужно положить в массив файлов</param>
  6484.         /// <returns></returns>
  6485.         public Array[] UploadINStore(Array[] store, String[] file)
  6486.         {
  6487.             for (int curCellMem = 0; curCellMem < store.Length; curCellMem++)
  6488.             {
  6489.                 if (store[curCellMem] != null)
  6490.                 {
  6491.                     if (store[curCellMem].GetValue(0).ToString() == file[0] &&
  6492.                         store[curCellMem].GetValue(1).ToString() == file[1])
  6493.                     {
  6494.                         store[curCellMem] = file;
  6495.  
  6496.                         return store;
  6497.                     }
  6498.                 }
  6499.                 else
  6500.                 {
  6501.                     store[curCellMem] = file;
  6502.  
  6503.                     return store;
  6504.                 }
  6505.                 if (curCellMem == (store.Length - 1))
  6506.                 {
  6507.                     Array[] Store = new Array[store.Length + 1];
  6508.                     store.CopyTo(Store, 0);
  6509.                     Store[curCellMem + 1] = file;
  6510.  
  6511.                     return Store;
  6512.                 }
  6513.             }
  6514.             return store;
  6515.         }
  6516.  
  6517.         public void ProverkaObmen()
  6518.         {
  6519.             while (true)
  6520.             {
  6521.                 if (SP != null)
  6522.                 {
  6523.                     while (SP != null)
  6524.                     {
  6525.                         try
  6526.                         {
  6527.                             #region File Obmen
  6528.                             if (SP.FileObmen != null)
  6529.                             {
  6530.                                 if (FileObmen != null)
  6531.                                 {
  6532.                                     if (SP.FileObmen != FileObmen)
  6533.                                     {
  6534.                                         FileObmen = SP.FileObmen;
  6535.                                         UploadINStore(memDownload, FileObmen);
  6536.                                         continue;
  6537.                                     }
  6538.                                 }
  6539.                                 else
  6540.                                 {
  6541.                                     FileObmen = SP.FileObmen;
  6542.                                     UploadINStore(memDownload, FileObmen);
  6543.                                     continue;
  6544.                                 }
  6545.                             }
  6546.                             #endregion
  6547.                             #region Message Obmen
  6548.                             if (SP.MessageObmen != null)
  6549.                             {
  6550.                                 if (MessageObmen != null)
  6551.                                 {
  6552.                                     if (SP.MessageObmen != MessageObmen)
  6553.                                     {
  6554.                                         MessageObmen = SP.MessageObmen;
  6555.                                         continue;
  6556.                                     }
  6557.                                 }
  6558.                                 else
  6559.                                 {
  6560.                                     MessageObmen = SP.MessageObmen;
  6561.                                     continue;
  6562.                                 }
  6563.                             }
  6564.                             #endregion
  6565.                         }
  6566.                         catch (Exception)
  6567.                         {
  6568.                             break;
  6569.                         }
  6570.                     }
  6571.                     ProverkaObmenTH.Abort();
  6572.                 }
  6573.             }
  6574.         }
  6575.  
  6576.         public void NoteRun()
  6577.         {
  6578.             ProverkaObmenTH = new Thread(ProverkaObmen);
  6579.             ProverkaObmenTH.IsBackground = true;
  6580.             ProverkaObmenTH.Start();
  6581.  
  6582.             SP = new StartPrograms(memDownload);
  6583.             Application.Run(SP);
  6584.         }
  6585.         public void startPrograms()
  6586.         {
  6587.             process = currProgram[0];
  6588.             SP = new StartPrograms(currProgram, memDownload, ips);
  6589.             Application.Run(SP);
  6590.             SP = null;
  6591.             th_program.Abort();
  6592.         }
  6593.         public void otvetPrograms(int otvet)
  6594.         {
  6595.             programsOtvet = otvet;
  6596.         }
  6597.         public int zaprosPrograms()
  6598.         {
  6599.             return programsOtvet;
  6600.         }
  6601.         public string[] zaprosIpPrograms()
  6602.         {
  6603.             return ips;
  6604.         }
  6605.         #endregion
  6606.     }
  6607. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement