private void button6_Click(object sender, EventArgs e) { listBox1.Items.Clear(); listBox1.Items.Add("Старый пид" + "\t" + "Новый пид" + "\t" + "Именованая константа"); listBox1.Items.Add("________________________________________________________________________"); FilesItemInfo fItemInfo = new FilesItemInfo("\\scripts\\_itempid.fos", NewItemPidPath.Text); for (int i = 0; i < fItemInfo.arrayItemNames.Length; i++) { listBox1.Items.Add("|\t" + fItemInfo.arrayOldPidNumbers[i] + "\t|\t" + fItemInfo.arrayNewPidNumbers[i] + "\t| " + fItemInfo.arrayItemNames[i]); } }
private void reservedConstToolStripMenuItem_Click(object sender, EventArgs e) { listBox1.Items.Clear(); listBox1.Items.Add("---------------------------------------"); listBox1.Items.Add("Прверка отсутствия зарезерированых значений констант"); listBox1.Items.Add("Новый файл прототипов"); bool isFail = false; FilesItemInfo filesItemInfo = new FilesItemInfo("temp", NewItemPidPath.Text); foreach (string str in filesItemInfo.arrayNewPidNumbers) { int pid = Convert.ToInt32(str); if (pid == 41 || (pid >= 1000 && pid <= 1100) || pid == 2049 || pid == 2067 || pid == 2141 || pid == 3852 || pid == 3853 || pid == 4012 || (pid >= 4016 && pid <= 4023) || (pid >= 4031 && pid <= 4046) || pid == 5621 || pid == 5622) { isFail = true; listBox1.Items.Add("Данный номер константы зарезервирован. Его нельзя использовать: " + str); } } listBox1.Items.Add("Старый файл прототипов"); foreach (string str in filesItemInfo.arrayOldPidNumbers) { int pid = Convert.ToInt32(str); if (pid == 41 || (pid >= 1000 && pid <= 1100) || pid == 2049 || pid == 2067 || pid == 2141 || pid == 3852 || pid == 3853 || pid == 4012 || (pid >= 4016 && pid <= 4023) || (pid >= 4031 && pid <= 4046) || pid == 5621 || pid == 5622) { isFail = true; listBox1.Items.Add("Данный номер константы зарезервирован. Его нельзя использовать: " + str); } } if (isFail) { listBox1.Items.Add("Убедитесь что ваши новые номера прототипов не имеют и на заменяют значения:"); listBox1.Items.Add("1000-1100, 2049, 2067, 2141, 3852, 3853, 4012, 4016-4023, 4031-4046, 5621, 5622"); listBox1.Items.Add("Данные прототипы зарезервированы для триггеров, энтайров, сеток выхода, рукопашных ударов и т. п."); } }
private void CheckAll_Click(object sender, EventArgs e) { listBox1.Items.Clear(); List <int> num = new List <int>(); reservedConstToolStripMenuItem_Click(sender, e); listBox1.Items.Add("Проверка дублей номеров прототипов"); FilesItemInfo filesItemInfo = new FilesItemInfo("temp", NewItemPidPath.Text); for (int j = 0; j < filesItemInfo.arrayNewPidNumbers.Length; j++) { for (int i = 0; i < filesItemInfo.arrayNewPidNumbers.Length; i++) { if (filesItemInfo.arrayNewPidNumbers[i] == filesItemInfo.arrayNewPidNumbers[j] && i > j) { if (filesItemInfo.arrayItemNames[i] == filesItemInfo.arrayItemNames[j]) { if (num.Contains(j)) { continue; } num.Add(j); num.Add(i); listBox1.Items.Add("Ошибка! Найден дубль именованых констант: " + filesItemInfo.arrayItemNames[i] + " и " + filesItemInfo.arrayItemNames[j]); continue; } listBox1.Items.Add("Ошибка! Совпадения номеров прототипов для " + filesItemInfo.arrayItemNames[i] + " и " + filesItemInfo.arrayItemNames[j]); } } } listBox1.Items.Add("---------------------------------------"); listBox1.Items.Add("Проверка соответствий новых и старых именованых констант"); listBox1.Items.Add(""); bool isFail = false; for (int j = 0; j < filesItemInfo.arrayOldPidNumbers.Length; j++) { if (filesItemInfo.arrayOldPidNumbers[j] == "-1") { listBox1.Items.Add("Ошибка! Именованая константа: " + filesItemInfo.arrayItemNames[j] + " отсутствует в старом файле именованых коснтант."); listBox1.Items.Add("Убедитесь что такая константа есть в стром файле прототипов и написана без ошибок, иначе её не с чем будет сравнивать."); isFail = true; } } if (!isFail) { listBox1.Items.Add("Ошибок не найдено."); } if (checkedTextFile("russ")) { listBox1.Items.Add("Ошибок не найдено"); } if (checkedTextFile("engl")) { listBox1.Items.Add("Ошибок не найдено"); } checkedProtoFile("armor.fopro"); checkedProtoFile("weapon.fopro"); checkedProtoFile("ammo.fopro"); checkedProtoFile("drug.fopro"); checkedProtoFile("key.fopro"); checkedProtoFile("misc.fopro"); checkedProtoFile("car.fopro"); checkedProtoFile("container.fopro"); checkedProtoFile("door.fopro"); checkedProtoFile("grid.fopro"); checkedProtoFile("wall.fopro"); checkedProtoFile("generic.fopro"); // Запис знайдених рядків StreamWriter file = new StreamWriter(new FileStream("log.txt", FileMode.OpenOrCreate), Encoding.Default); foreach (string str in listBox1.Items) { file.WriteLine(str); } file.Close(); listBox1.Items.Add("Отчет сохранен в log.txt"); }