Advertisement
Guest User

Untitled

a guest
Jun 21st, 2017
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 27.36 KB | None | 0 0
  1. using System;
  2. using MySql.Data.MySqlClient;
  3. using System.Collections.Generic;
  4. using System.IO;
  5.  
  6. namespace MySqlTableCompare
  7. {
  8. public static class Program
  9. {
  10. const string connectionInfo = ("host=127.0.0.1;" + "port = '3306';" + "database='world';" + "UserName='root';" + "Password='mangos'");
  11. public static StreamWriter Log = new StreamWriter("sql_log.txt", true);
  12. public static MySqlCommand fcommand;
  13. public static MySqlCommand scommand;
  14. public static int error_count = 0;
  15. public static int index = 0;
  16. public static string table = "table not exist";
  17. public static MySqlConnection connect = new MySqlConnection(connectionInfo);
  18.  
  19. public static List<CreatureTemplate1> CreatureTemplates1 = new List<CreatureTemplate1>();
  20. public static List<CreatureTemplate2> CreatureTemplates2 = new List<CreatureTemplate2>();
  21. public static List<GameobjectTemplate1> GameobjectTemplates1 = new List<GameobjectTemplate1>();
  22. public static List<GameobjectTemplate2> GameobjectTemplates2 = new List<GameobjectTemplate2>();
  23.  
  24. static void Main(string[] args)
  25. {
  26. Console.Title = "Table compare";
  27. Console.ForegroundColor = ConsoleColor.Yellow;
  28. Console.WriteLine(DateTime.Now.ToString("[HH:mm:ss]") + "Programm is open!");
  29. ToLog("Programm is open!");
  30.  
  31. if (!TryCon())
  32. return;
  33.  
  34. Console.ForegroundColor = ConsoleColor.Cyan;
  35. Console.WriteLine("Choose variante:");
  36. Console.WriteLine("---" + "1 - Get creature_template structure and compare it");
  37. Console.WriteLine("---" + "2 - Get gameobject_template structure and compare it");
  38. Console.WriteLine("---" + "3 - Get item_template structure and compare it");
  39. Console.WriteLine("---" + "4 - Get quest_template structure and compare it");
  40. string variant = Console.ReadLine();
  41.  
  42. Console.ForegroundColor = ConsoleColor.Green;
  43. switch (variant)
  44. {
  45. case "1":
  46. table = "creature";
  47. //Clear();
  48. Console.WriteLine("Get creature_template struct...");
  49. ToLog("Get creature_template struct...");
  50. CreatureTemplateStructur();
  51. Console.WriteLine("Compare...");
  52. ToLog("Compare...");
  53. CompareCreatureTemplate();
  54. break;
  55. case "2":
  56. table = "gameobject";
  57. //Clear();
  58. Console.WriteLine("Get gameobject_template struct...");
  59. ToLog("Get gameobject_template struct...");
  60. GameObjectStructure();
  61. Console.WriteLine("Compare...");
  62. ToLog("Compare...");
  63. CompareGameobjectTemplate();
  64. break;
  65. case "3":
  66. case "4":
  67. Console.WriteLine("Not finished yet!");
  68. ToLog("Not finished yet");
  69. break;
  70. }
  71. Console.Read();
  72. }
  73.  
  74. public static void ToLog(string text)
  75. {
  76. Log.WriteLine(DateTime.Now.ToString("[HH:mm:ss]") + text); Log.Flush();
  77. }
  78.  
  79. public static uint ToUInt32(this object val)
  80. {
  81. uint num;
  82. uint.TryParse(val.ToString(), out num);
  83. return num;
  84. }
  85.  
  86. public static float ToFloat(this object val)
  87. {
  88. float num;
  89. float.TryParse(val.ToString(), out num);
  90. return num;
  91. }
  92.  
  93. public static void Clear()
  94. {
  95. CreatureTemplates1.Clear();
  96. CreatureTemplates2.Clear();
  97. GameobjectTemplates1.Clear();
  98. GameobjectTemplates2.Clear();
  99. }
  100.  
  101. public static void CreatureTemplateStructur()
  102. {
  103. connect.Close();
  104. connect.Open();
  105.  
  106. string fSelect = "SELECT * FROM world.creature_template WHERE entry IN(SELECT entry FROM world.creature_template1) ORDER BY entry ASC";
  107. string sSelect = "SELECT * FROM world.creature_template1 SORT ORDER BY entry ASC"; //верное
  108. fcommand = new MySqlCommand(fSelect, connect);
  109. scommand = new MySqlCommand(sSelect, connect);
  110.  
  111. using (var fDBstructur = fcommand.ExecuteReader()) //creature_template
  112. {
  113. while(fDBstructur.Read())
  114. {
  115. CreatureTemplate1 CreatureTemplate = new CreatureTemplate1();
  116.  
  117. CreatureTemplate.ID = fDBstructur[0].ToUInt32();
  118. CreatureTemplate.KillCredit[0] = fDBstructur[4].ToUInt32(); //kill credit 1,2
  119. CreatureTemplate.KillCredit[1] = fDBstructur[5].ToUInt32();
  120. CreatureTemplate.ModelID[0] = fDBstructur[6].ToUInt32(); //modelid1 id 1-4
  121. CreatureTemplate.ModelID[1] = fDBstructur[7].ToUInt32();
  122. CreatureTemplate.ModelID[2] = fDBstructur[8].ToUInt32();
  123. CreatureTemplate.ModelID[3] = fDBstructur[9].ToUInt32();
  124. CreatureTemplate.IconName = fDBstructur[12].ToString();
  125. CreatureTemplate.Rank = fDBstructur[23].ToUInt32(); //rank
  126. CreatureTemplate.Family = fDBstructur[34].ToUInt32(); //family
  127. CreatureTemplate.Type = fDBstructur[42].ToUInt32(); //type
  128. CreatureTemplate.TypeFlag = fDBstructur[43].ToUInt32();//type flag
  129. CreatureTemplate.HealthMod = fDBstructur[68].ToFloat(); //health mod
  130. CreatureTemplate.ManaMod = fDBstructur[69].ToFloat(); //power(mana) mod
  131. CreatureTemplate.RacialLeader = fDBstructur[71].ToUInt32(); //racial leader
  132. CreatureTemplate.QuestItem[0] = fDBstructur[72].ToUInt32(); //quest item 1-6
  133. CreatureTemplate.QuestItem[1] = fDBstructur[73].ToUInt32();
  134. CreatureTemplate.QuestItem[2] = fDBstructur[74].ToUInt32();
  135. CreatureTemplate.QuestItem[3] = fDBstructur[75].ToUInt32();
  136. CreatureTemplate.QuestItem[4] = fDBstructur[76].ToUInt32();
  137. CreatureTemplate.QuestItem[5] = fDBstructur[77].ToUInt32();
  138. CreatureTemplate.MovementID = fDBstructur[78].ToUInt32();
  139.  
  140. CreatureTemplates1.Add(CreatureTemplate);
  141. }
  142. }
  143. using (var sDBstructur = scommand.ExecuteReader()) //cache_creature_template
  144. {
  145. while(sDBstructur.Read())
  146. {
  147. CreatureTemplate2 CreatureCacheTemplate = new CreatureTemplate2();
  148.  
  149. CreatureCacheTemplate.ID = sDBstructur[1].ToUInt32();
  150. //CreatureCacheTemplate.Name[0] = sDBstructur[3].ToString(); //For future locale compare
  151. //CreatureCacheTemplate.Name[1] = sDBstructur[4].ToString();
  152. //CreatureCacheTemplate.Name[2] = sDBstructur[5].ToString();
  153. //CreatureCacheTemplate.Name[3] = sDBstructur[6].ToString();
  154. //CreatureCacheTemplate.SubName = sDBstructur[7].ToString(); //For future locale compare
  155. CreatureCacheTemplate.IconName = sDBstructur[8].ToString();
  156. CreatureCacheTemplate.TypeFlag = sDBstructur[9].ToUInt32();//type flag
  157. CreatureCacheTemplate.Type = sDBstructur[10].ToUInt32(); //type
  158. CreatureCacheTemplate.Family = sDBstructur[11].ToUInt32(); //family
  159. CreatureCacheTemplate.Rank = sDBstructur[12].ToUInt32(); //rank
  160. CreatureCacheTemplate.KillCredit[0] = sDBstructur[13].ToUInt32(); //kill credit 1,2
  161. CreatureCacheTemplate.KillCredit[1] = sDBstructur[14].ToUInt32();
  162. CreatureCacheTemplate.ModelID[0] = sDBstructur[15].ToUInt32(); //A
  163. CreatureCacheTemplate.ModelID[1] = sDBstructur[16].ToUInt32(); //A2
  164. CreatureCacheTemplate.ModelID[2] = sDBstructur[17].ToUInt32(); //H
  165. CreatureCacheTemplate.ModelID[3] = sDBstructur[18].ToUInt32(); //H2
  166. CreatureCacheTemplate.HealthMod = sDBstructur[19].ToFloat(); //health mod
  167. CreatureCacheTemplate.ManaMod = sDBstructur[20].ToFloat(); //power(mana) mod
  168. CreatureCacheTemplate.RacialLeader = sDBstructur[21].ToUInt32(); //racial leader
  169. CreatureCacheTemplate.QuestItem[0] = sDBstructur[22].ToUInt32(); //quest item 1-6
  170. CreatureCacheTemplate.QuestItem[1] = sDBstructur[23].ToUInt32();
  171. CreatureCacheTemplate.QuestItem[2] = sDBstructur[24].ToUInt32();
  172. CreatureCacheTemplate.QuestItem[3] = sDBstructur[25].ToUInt32();
  173. CreatureCacheTemplate.QuestItem[4] = sDBstructur[26].ToUInt32();
  174. CreatureCacheTemplate.QuestItem[5] = sDBstructur[27].ToUInt32();
  175. CreatureCacheTemplate.MovementID = sDBstructur[28].ToUInt32(); //movement id
  176.  
  177. CreatureTemplates2.Add(CreatureCacheTemplate);
  178. }
  179. }
  180. }
  181.  
  182. public static void GameObjectStructure()
  183. {
  184. connect.Close();
  185. connect.Open();
  186.  
  187. string fSelect = "SELECT * FROM world.gameobject_template WHERE entry IN(SELECT entry FROM world.gameobject_template1) ORDER BY entry ASC";
  188. string sSelect = "SELECT * FROM world.gameobject_template1 SORT ORDER BY entry ASC"; //верное
  189. fcommand = new MySqlCommand(fSelect, connect);
  190. scommand = new MySqlCommand(sSelect, connect);
  191.  
  192. using (var fDBstructur = fcommand.ExecuteReader()) //gameobject_template
  193. {
  194. while (fDBstructur.Read())
  195. {
  196. GameobjectTemplate1 GameobjectTemplate = new GameobjectTemplate1();
  197.  
  198. GameobjectTemplate.ID = fDBstructur[0].ToUInt32();
  199. GameobjectTemplate.Type = fDBstructur[1].ToUInt32();
  200. GameobjectTemplate.DisplayId = fDBstructur[2].ToUInt32();
  201. //GameobjectTemplate.Name = fDBstructur[3].ToString(); //For future locale compare
  202. GameobjectTemplate.IconName = fDBstructur[4].ToString();
  203. GameobjectTemplate.CastBar = fDBstructur[5].ToString();
  204. GameobjectTemplate.Size = fDBstructur[9].ToFloat();
  205. GameobjectTemplate.QuestItem[0] = fDBstructur[10].ToUInt32();
  206. GameobjectTemplate.QuestItem[1] = fDBstructur[11].ToUInt32();
  207. GameobjectTemplate.QuestItem[2] = fDBstructur[12].ToUInt32();
  208. GameobjectTemplate.QuestItem[3] = fDBstructur[13].ToUInt32();
  209. GameobjectTemplate.QuestItem[4] = fDBstructur[14].ToUInt32();
  210. GameobjectTemplate.QuestItem[5] = fDBstructur[15].ToUInt32();
  211. GameobjectTemplate.Data[0] = fDBstructur[16].ToUInt32();
  212. GameobjectTemplate.Data[1] = fDBstructur[17].ToUInt32();
  213. GameobjectTemplate.Data[2] = fDBstructur[18].ToUInt32();
  214. GameobjectTemplate.Data[3] = fDBstructur[19].ToUInt32();
  215. GameobjectTemplate.Data[4] = fDBstructur[20].ToUInt32();
  216. GameobjectTemplate.Data[5] = fDBstructur[21].ToUInt32();
  217. GameobjectTemplate.Data[6] = fDBstructur[22].ToUInt32();
  218. GameobjectTemplate.Data[7] = fDBstructur[23].ToUInt32();
  219. GameobjectTemplate.Data[8] = fDBstructur[24].ToUInt32();
  220. GameobjectTemplate.Data[9] = fDBstructur[25].ToUInt32();
  221. GameobjectTemplate.Data[10] = fDBstructur[26].ToUInt32();
  222. GameobjectTemplate.Data[11] = fDBstructur[27].ToUInt32();
  223. GameobjectTemplate.Data[12] = fDBstructur[28].ToUInt32();
  224. GameobjectTemplate.Data[13] = fDBstructur[29].ToUInt32();
  225. GameobjectTemplate.Data[14] = fDBstructur[30].ToUInt32();
  226. GameobjectTemplate.Data[15] = fDBstructur[31].ToUInt32();
  227. GameobjectTemplate.Data[16] = fDBstructur[32].ToUInt32();
  228. GameobjectTemplate.Data[17] = fDBstructur[33].ToUInt32();
  229. GameobjectTemplate.Data[18] = fDBstructur[34].ToUInt32();
  230. GameobjectTemplate.Data[19] = fDBstructur[35].ToUInt32();
  231. GameobjectTemplate.Data[20] = fDBstructur[36].ToUInt32();
  232. GameobjectTemplate.Data[21] = fDBstructur[37].ToUInt32();
  233. GameobjectTemplate.Data[22] = fDBstructur[38].ToUInt32();
  234. GameobjectTemplate.Data[23] = fDBstructur[39].ToUInt32();
  235.  
  236. GameobjectTemplates1.Add(GameobjectTemplate);
  237. }
  238. }
  239. using (var sDBstructur = scommand.ExecuteReader()) //cache_gameobject_template
  240. {
  241. while (sDBstructur.Read())
  242. {
  243. GameobjectTemplate2 GameobjectCacheTemplate = new GameobjectTemplate2();
  244.  
  245. GameobjectCacheTemplate.ID = sDBstructur[1].ToUInt32();
  246. GameobjectCacheTemplate.Type = sDBstructur[3].ToUInt32();
  247. GameobjectCacheTemplate.DisplayId = sDBstructur[4].ToUInt32();
  248. //GameobjectCacheTemplate.Name[0] = sDBstructur[5].ToString(); //For future locale compare
  249. //GameobjectCacheTemplate.Name[1] = sDBstructur[6].ToString();
  250. //GameobjectCacheTemplate.Name[2] = sDBstructur[7].ToString();
  251. //GameobjectCacheTemplate.Name[3] = sDBstructur[8].ToString();
  252. GameobjectCacheTemplate.IconName = sDBstructur[9].ToString();
  253. GameobjectCacheTemplate.CastBar = sDBstructur[10].ToString();
  254. //GameobjectCacheTemplate.Name[4] = sDBstructur[11].ToString();
  255. GameobjectCacheTemplate.Data[0] = sDBstructur[12].ToUInt32();
  256. GameobjectCacheTemplate.Data[1] = sDBstructur[13].ToUInt32();
  257. GameobjectCacheTemplate.Data[2] = sDBstructur[14].ToUInt32();
  258. GameobjectCacheTemplate.Data[3] = sDBstructur[15].ToUInt32();
  259. GameobjectCacheTemplate.Data[4] = sDBstructur[16].ToUInt32();
  260. GameobjectCacheTemplate.Data[5] = sDBstructur[17].ToUInt32();
  261. GameobjectCacheTemplate.Data[6] = sDBstructur[18].ToUInt32();
  262. GameobjectCacheTemplate.Data[7] = sDBstructur[19].ToUInt32();
  263. GameobjectCacheTemplate.Data[8] = sDBstructur[20].ToUInt32();
  264. GameobjectCacheTemplate.Data[9] = sDBstructur[21].ToUInt32();
  265. GameobjectCacheTemplate.Data[10] = sDBstructur[22].ToUInt32();
  266. GameobjectCacheTemplate.Data[11] = sDBstructur[23].ToUInt32();
  267. GameobjectCacheTemplate.Data[12] = sDBstructur[24].ToUInt32();
  268. GameobjectCacheTemplate.Data[13] = sDBstructur[25].ToUInt32();
  269. GameobjectCacheTemplate.Data[14] = sDBstructur[26].ToUInt32();
  270. GameobjectCacheTemplate.Data[15] = sDBstructur[27].ToUInt32();
  271. GameobjectCacheTemplate.Data[16] = sDBstructur[28].ToUInt32();
  272. GameobjectCacheTemplate.Data[17] = sDBstructur[29].ToUInt32();
  273. GameobjectCacheTemplate.Data[18] = sDBstructur[30].ToUInt32();
  274. GameobjectCacheTemplate.Data[19] = sDBstructur[31].ToUInt32();
  275. GameobjectCacheTemplate.Data[20] = sDBstructur[32].ToUInt32();
  276. GameobjectCacheTemplate.Data[21] = sDBstructur[33].ToUInt32();
  277. GameobjectCacheTemplate.Data[22] = sDBstructur[34].ToUInt32();
  278. GameobjectCacheTemplate.Data[23] = sDBstructur[35].ToUInt32();
  279. GameobjectCacheTemplate.Size = sDBstructur[36].ToFloat();
  280. GameobjectCacheTemplate.QuestItem[0] = sDBstructur[37].ToUInt32();
  281. GameobjectCacheTemplate.QuestItem[1] = sDBstructur[38].ToUInt32();
  282. GameobjectCacheTemplate.QuestItem[2] = sDBstructur[39].ToUInt32();
  283. GameobjectCacheTemplate.QuestItem[3] = sDBstructur[40].ToUInt32();
  284. GameobjectCacheTemplate.QuestItem[4] = sDBstructur[41].ToUInt32();
  285. GameobjectCacheTemplate.QuestItem[5] = sDBstructur[42].ToUInt32();
  286.  
  287. GameobjectTemplates2.Add(GameobjectCacheTemplate);
  288. }
  289. }
  290. }
  291.  
  292. public static void CompareCreatureTemplate()
  293. {
  294. int m = 0;
  295. int q = 0;
  296. index = CreatureTemplates1.Count;
  297. for (int i = 0; i < index; ++i)
  298. {
  299. if(!Equals(CreatureTemplates1[i].IconName, CreatureTemplates2[i].IconName))
  300. sSqlLog("IconName", CreatureTemplates2[i].IconName, CreatureTemplates2[i].ID);
  301. if (!Equals(CreatureTemplates1[i].TypeFlag, CreatureTemplates2[i].TypeFlag))
  302. SqlLog("type_flag", CreatureTemplates2[i].TypeFlag, CreatureTemplates2[i].ID);
  303. if (!Equals(CreatureTemplates1[i].Type, CreatureTemplates2[i].Type))
  304. SqlLog("type", CreatureTemplates2[i].Type, CreatureTemplates2[i].ID);
  305. if (!Equals(CreatureTemplates1[i].Family, CreatureTemplates2[i].Family))
  306. SqlLog("family", CreatureTemplates2[i].Family, CreatureTemplates2[i].ID);
  307. if (!Equals(CreatureTemplates1[i].Rank, CreatureTemplates2[i].Rank))
  308. SqlLog("rank", CreatureTemplates2[i].Rank, CreatureTemplates2[i].ID);
  309. if (!Equals(CreatureTemplates1[i].KillCredit[0], CreatureTemplates2[i].KillCredit[0]))
  310. SqlLog("KillCredit1", CreatureTemplates2[i].KillCredit[0], CreatureTemplates2[i].ID);
  311. if (!Equals(CreatureTemplates1[i].KillCredit[1], CreatureTemplates2[i].KillCredit[1]))
  312. SqlLog("KillCredit2", CreatureTemplates2[i].KillCredit[1], CreatureTemplates2[i].ID);
  313.  
  314. for (m = 0; m < 3; ++m)
  315. {
  316. string ModelID = "modelid1";
  317. switch (m)
  318. {
  319. case 0: ModelID = "modelid1"; break;
  320. case 1: ModelID = "modelid2"; break;
  321. case 2: ModelID = "modelid3"; break;
  322. }
  323. if (!Equals(CreatureTemplates1[i].ModelID[m], CreatureTemplates2[i].ModelID[m]))
  324. SqlLog(ModelID, CreatureTemplates2[i].ModelID[m], CreatureTemplates2[i].ID);
  325. }
  326. if (!Equals(CreatureTemplates1[i].HealthMod, CreatureTemplates2[i].HealthMod))
  327. SqlLog("Health_Mod", CreatureTemplates2[i].HealthMod, CreatureTemplates2[i].ID);
  328. if(!Equals(CreatureTemplates1[i].ManaMod, CreatureTemplates2[i].ManaMod))
  329. SqlLog("Mana_mod", CreatureTemplates2[i].ManaMod, CreatureTemplates2[i].ID);
  330. if (CreatureTemplates1[i].RacialLeader != CreatureTemplates2[i].RacialLeader)
  331. SqlLog("RacialLeader", CreatureTemplates2[i].RacialLeader, CreatureTemplates2[i].ID);
  332.  
  333. for (q = 0; q < 6; q++)
  334. {
  335. string QuestItem = "questItem1";
  336. switch (q)
  337. {
  338. case 0: QuestItem = "questItem1"; break;
  339. case 1: QuestItem = "questItem2"; break;
  340. case 2: QuestItem = "questItem3"; break;
  341. case 3: QuestItem = "questItem4"; break;
  342. case 4: QuestItem = "questItem5"; break;
  343. case 5: QuestItem = "questItem6"; break;
  344. }
  345. if (!Equals(CreatureTemplates1[i].QuestItem[q], CreatureTemplates2[i].QuestItem[q]))
  346. SqlLog(QuestItem, CreatureTemplates2[i].QuestItem[q], CreatureTemplates2[i].ID);
  347. }
  348. if (!Equals(CreatureTemplates1[i].MovementID, CreatureTemplates2[i].MovementID))
  349. SqlLog("MovementID", CreatureTemplates2[i].MovementID, CreatureTemplates2[i].ID);
  350.  
  351. if (i == index - 1)
  352. Statistics();
  353. }
  354. }
  355.  
  356. public static void CompareGameobjectTemplate()
  357. {
  358. int q = 0;
  359. int d = 0;
  360. index = GameobjectTemplates1.Count;
  361. for (int i = 0; i < index; ++i)
  362. {
  363. if (!Equals(GameobjectTemplates1[i].Type, GameobjectTemplates2[i].Type))
  364. SqlLog("Type", GameobjectTemplates2[i].Type, GameobjectTemplates2[i].ID);
  365. if (!Equals(GameobjectTemplates1[i].DisplayId, GameobjectTemplates2[i].DisplayId))
  366. SqlLog("DisplayId", GameobjectTemplates2[i].DisplayId, GameobjectTemplates2[i].ID);
  367. if (!Equals(GameobjectTemplates1[i].IconName, GameobjectTemplates2[i].IconName))
  368. sSqlLog("IconName", GameobjectTemplates2[i].IconName, GameobjectTemplates2[i].ID);
  369. if (!Equals(GameobjectTemplates1[i].CastBar, GameobjectTemplates2[i].CastBar))
  370. sSqlLog("castbarcaption", GameobjectTemplates2[i].CastBar, GameobjectTemplates2[i].ID);
  371. if (!Equals(GameobjectTemplates1[i].Size, GameobjectTemplates2[i].Size))
  372. SqlLog("Size", GameobjectTemplates2[i].Size, GameobjectTemplates2[i].ID);
  373.  
  374. for (q = 0; q < 6; ++q)
  375. {
  376. string QuestItem = "questItem1";
  377. switch (q)
  378. {
  379. case 0: QuestItem = "questItem1"; break;
  380. case 1: QuestItem = "questItem2"; break;
  381. case 2: QuestItem = "questItem3"; break;
  382. case 3: QuestItem = "questItem4"; break;
  383. case 4: QuestItem = "questItem5"; break;
  384. case 5: QuestItem = "questItem6"; break;
  385. }
  386. if (!Equals(GameobjectTemplates1[i].QuestItem[q], GameobjectTemplates2[i].QuestItem[q]))
  387. SqlLog(QuestItem, GameobjectTemplates2[i].QuestItem[q], GameobjectTemplates2[i].ID);
  388. }
  389. for (d = 0; d < 24; ++d)
  390. {
  391. string tData = "data0";
  392. switch (d)
  393. {
  394. case 0: tData = "data0"; break;
  395. case 1: tData = "data1"; break;
  396. case 2: tData = "data2"; break;
  397. case 3: tData = "data3"; break;
  398. case 4: tData = "data4"; break;
  399. case 5: tData = "data5"; break;
  400. case 6: tData = "data6"; break;
  401. case 7: tData = "data7"; break;
  402. case 8: tData = "data8"; break;
  403. case 9: tData = "data9"; break;
  404. case 10: tData = "data10"; break;
  405. case 11: tData = "data11"; break;
  406. case 12: tData = "data12"; break;
  407. case 13: tData = "data13"; break;
  408. case 14: tData = "data14"; break;
  409. case 15: tData = "data15"; break;
  410. case 16: tData = "data16"; break;
  411. case 17: tData = "data17"; break;
  412. case 18: tData = "data18"; break;
  413. case 19: tData = "data19"; break;
  414. case 20: tData = "data20"; break;
  415. case 21: tData = "data21"; break;
  416. case 22: tData = "data22"; break;
  417. case 23: tData = "data23"; break;
  418. }
  419. if (!Equals(GameobjectTemplates1[i].Data[d], GameobjectTemplates2[i].Data[d]))
  420. SqlLog(tData, GameobjectTemplates2[i].Data[d], GameobjectTemplates2[i].ID);
  421. }
  422. if (i == index - 1)
  423. Statistics();
  424. }
  425. }
  426.  
  427. public static void Statistics()
  428. {
  429. Console.WriteLine("==========||=============================================||");
  430. Console.WriteLine("Statistics|| Templates || Bad templates ||table name ||");
  431. Console.WriteLine("==========||{0} | {1} | {2} ", index, error_count, table);
  432. Console.WriteLine("==========||=============================================||");
  433. Console.Read();
  434. }
  435.  
  436. public static void SqlLog(string field_name, double value, uint entry)
  437. {
  438. switch (table)
  439. {
  440. case "creature":
  441. Console.WriteLine("UPDATE creature_template SET {0} = {1} WHERE entry = {2};", field_name, value, entry);
  442. Log.WriteLine("UPDATE creature_template SET {0} = {1} WHERE entry = {2};", field_name, value, entry); Log.Flush();
  443. ++error_count;
  444. break;
  445. case "gameobject":
  446. Console.WriteLine("UPDATE gameobject_template SET {0} = {1} WHERE entry = {2};", field_name, value, entry);
  447. Log.WriteLine("UPDATE gameobject_template SET {0} = {1} WHERE entry = {2};", field_name, value, entry); Log.Flush();
  448. ++error_count;
  449. break;
  450. }
  451. }
  452. public static void sSqlLog(string field_name, string value, uint entry)
  453. {
  454. switch (table)
  455. {
  456. case "creature":
  457. Console.WriteLine("UPDATE creature_template SET {0} = '{1}' WHERE entry = {2};", field_name, value, entry);
  458. Log.WriteLine("UPDATE creature_template SET {0} = '{1}' WHERE entry = {2};", field_name, value, entry); Log.Flush();
  459. ++error_count;
  460. break;
  461. case "gameobject":
  462. Console.WriteLine("UPDATE gameobject_template SET {0} = '{1}' WHERE entry = {2};", field_name, value, entry);
  463. Log.WriteLine("UPDATE gameobject_template SET {0} = '{1}' WHERE entry = {2};", field_name, value, entry); Log.Flush();
  464. ++error_count;
  465. break;
  466. }
  467. }
  468.  
  469. public static bool TryCon()
  470. {
  471. try
  472. {
  473. MySqlConnection connect = new MySqlConnection(connectionInfo);
  474. connect.Open();
  475. connect.Close();
  476.  
  477. return true;
  478. }
  479. catch
  480. {
  481. Console.ForegroundColor = ConsoleColor.Red;
  482. Console.WriteLine(DateTime.Now.ToString("[HH:mm:ss]") + "Check your MySQL server");
  483. ToLog("MySQL Server is not running");
  484.  
  485. return false;
  486. }
  487. }
  488. }
  489. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement