Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using MySql.Data.MySqlClient;
- using System;
- using System.IO;
- using System.Text;
- namespace CharSectionsAdder
- {
- class Program
- {
- public static int iCpt;
- static string strLines;
- static string strUserChoice;
- static string strMySqlDb = "mysql.conf";
- const string strTexFiles = @"texfiles.txt";
- const string strCharFiles = @"charfiles.txt";
- public static MySqlConnection myConnection = new MySqlConnection(File.ReadAllText(strMySqlDb, Encoding.UTF8));
- public static MySqlCommand myCmd;
- static void Main(string[] args)
- {
- if (File.ReadAllBytes(strMySqlDb).Length <= 0)
- {
- Console.WriteLine("Erreur, fichier MySql incomplet.");
- Console.ReadKey();
- }
- Console.WriteLine("Bienvenue sur le programme CharSectionsAdder\n" +
- "Ce logiciel a pour but d'automatiser l'ajout de textures et de peau dans World of Warcraft.. \nIl possède deux fonctions :\n " +
- "\n- chrsections : Ajoute les peaux présentes dans le fichier charfiles.txt" +
- "\n- texfiledata : Fait la liaison entre une entrée FileDataID et une texture.");
- Console.Write("\nFaites votre choix : ");
- strUserChoice = Console.ReadLine();
- try
- {
- switch (strUserChoice)
- {
- case "chrsections":
- DoCharSections();
- break;
- case "texfiledata":
- DoTextureFileData();
- break;
- default:
- Console.ForegroundColor = ConsoleColor.Red;
- Console.WriteLine("Fonction : {0} non-existente.", strUserChoice);
- break;
- }
- Console.ReadKey();
- }
- catch (Exception ex)
- {
- Console.ForegroundColor = ConsoleColor.Red;
- Console.WriteLine("Une erreur est survenue !!\n\n" +
- "{0}", ex);
- Console.ReadKey();
- }
- }
- static void DoCharSections()
- {
- myCmd = myConnection.CreateCommand();
- // basic flag
- int DKFlags = 5;
- int NormalFlags = 1;
- myConnection.Open();
- using (StreamReader cFiles = new StreamReader(strCharFiles))
- {
- Console.WriteLine("[CharSections] - Ajout de la ligne n° : {0}", iCpt);
- while ((strLines = cFiles.ReadLine()) != null)
- {
- string[] strField = strLines.Split(',');
- myCmd.Parameters.Clear();
- // MaxID
- Int32 MaxID = 0;
- Byte FacesMaxID = 0;
- Byte SkinMaxID = 0;
- #region MaxID
- myCmd.CommandText = "SELECT MAX(id) FROM charsections";
- MaxID = (Int32)myCmd.ExecuteScalar();
- myCmd.CommandText = "SELECT MAX(VariationIndex) FROM charsections WHERE RaceID ='" + strField[0] + "' AND SexID ='" + strField[1] + "' AND BaseSection = 6";
- FacesMaxID += (byte)myCmd.ExecuteScalar();
- // Get MaxID
- myCmd.CommandText = "SELECT MAX(ColorIndex) FROM charsections WHERE RaceID ='" + strField[0] + "' AND SexID ='" + strField[1] + "' AND BaseSection = 5";
- SkinMaxID = (byte)myCmd.ExecuteScalar();
- #endregion
- #region SkinAdd
- // Skin Functions
- // Add Skin
- Console.WriteLine("[CharSections] - Ajout de la peau avec le Linked FID {0}", strField[2]);
- myCmd.CommandText = "INSERT INTO charsections (ID, RaceID, SexID, BaseSection, ColorIndex, Flags, MaterialResourcesID_1) VALUES (@ID, @RaceID, @SexID, @BaseSection, @ColorIndex, @Flags, @MaterialResourcesID_1)";
- myCmd.Parameters.AddWithValue("@ID", ++MaxID);
- myCmd.Parameters.AddWithValue("@RaceID", Convert.ToByte(strField[0]));
- myCmd.Parameters.AddWithValue("@SexID", Convert.ToByte(strField[1]));
- myCmd.Parameters.AddWithValue("@BaseSection", 5 /*HD Flag*/);
- myCmd.Parameters.AddWithValue("@ColorIndex", ++SkinMaxID);
- myCmd.Parameters.AddWithValue("@Flags", 19 /*Playable Skin*/);
- myCmd.Parameters.AddWithValue("@MaterialResourcesID_1", Convert.ToInt32(strField[2]));
- myCmd.ExecuteNonQuery();
- #endregion
- #region FacesAdd
- // Faces Functions
- Console.WriteLine("[CharSections] - Ajout des visages..." +
- "\nTotal des visages : {0}\n" +
- "Visage DK : {1}", FacesMaxID + 1, (FacesMaxID +1) / 2);
- for (int i = 0; i < FacesMaxID + 1 /*0-X*/ ; i++)
- {
- myCmd.Parameters.Clear();
- myCmd.CommandText = "INSERT into charsections (ID, RaceID, SexID, BaseSection, VariationIndex, ColorIndex, Flags) VALUES (@ID, @RaceID, @SexID, @BaseSection, @VariationIndex, @ColorIndex, @Flags)";
- myCmd.Parameters.AddWithValue("@ID", ++MaxID);
- myCmd.Parameters.AddWithValue("@RaceID", Convert.ToByte(strField[0]));
- myCmd.Parameters.AddWithValue("@SexID", Convert.ToByte(strField[1]));
- myCmd.Parameters.AddWithValue("@BaseSection", 6 /*HD Flag*/);
- myCmd.Parameters.AddWithValue("@VariationIndex", i);
- myCmd.Parameters.AddWithValue("@ColorIndex", SkinMaxID);
- myCmd.Parameters.AddWithValue("@Flags", NormalFlags /* Normal Faces*/);
- if (i >= (FacesMaxID + 1) / 2)
- {
- myCmd.Parameters.Clear();
- myCmd.Parameters.AddWithValue("@ID", ++MaxID);
- myCmd.Parameters.AddWithValue("@RaceID", Convert.ToByte(strField[0]));
- myCmd.Parameters.AddWithValue("@SexID", Convert.ToByte(strField[1]));
- myCmd.Parameters.AddWithValue("@BaseSection", 6 /*HD Flag*/);
- myCmd.Parameters.AddWithValue("@VariationIndex", i);
- myCmd.Parameters.AddWithValue("@ColorIndex", SkinMaxID);
- myCmd.Parameters.AddWithValue("@Flags", DKFlags /* DK Faces*/);
- }
- myCmd.ExecuteNonQuery();
- }
- myCmd.Parameters.Clear();
- Console.WriteLine("{0} visages ajoutées avec succès avec le LinkedFID {1} ! ", FacesMaxID, strField[2]);
- #endregion
- #region NakedAdd
- // Naked Functions
- myCmd.CommandText = "INSERT INTO charsections (ID, RaceID, SexID, BaseSection, ColorIndex, Flags) VALUES (@ID, @RaceID, @SexID, @BaseSection, @ColorIndex, @Flags)";
- myCmd.Parameters.AddWithValue("@ID", ++MaxID);
- myCmd.Parameters.AddWithValue("@RaceID", Convert.ToByte(strField[0]));
- myCmd.Parameters.AddWithValue("@SexID", Convert.ToByte(strField[1]));
- myCmd.Parameters.AddWithValue("@BaseSection", 9 /*Naked Flag*/);
- myCmd.Parameters.AddWithValue("@ColorIndex", SkinMaxID);
- myCmd.Parameters.AddWithValue("@Flags", 19 /*Playable Skin*/);
- myCmd.ExecuteNonQuery();
- ++iCpt;
- #endregion
- }
- Console.Clear();
- Console.ForegroundColor = ConsoleColor.Green;
- Console.WriteLine("{0} peau(x) ajoutées avec succès !", iCpt);
- }
- }
- static void DoTextureFileData()
- {
- iCpt = 0;
- myConnection.Open();
- using (StreamReader tFiles = new StreamReader(strTexFiles))
- {
- Console.WriteLine("[TextureFileData] - Ajout de la ligne n° : {0}", iCpt);
- while ((strLines = tFiles.ReadLine()) != null)
- {
- string[] strField = strLines.Split(',');
- myCmd = myConnection.CreateCommand();
- myCmd.CommandText = "INSERT INTO texturefiledata (FileDataID, UsageType, MaterialResourcesID, RelationShipData) VALUES (@FileDataID, @UsageType, @MaterialResourcesID, @RelationShipData)";
- myCmd.Parameters.AddWithValue("@FileDataID", Convert.ToInt32(strField[0]));
- myCmd.Parameters.AddWithValue("@UsageType", Convert.ToInt32(strField[1]));
- myCmd.Parameters.AddWithValue("@MaterialResourcesID", Convert.ToInt32(strField[2]));
- myCmd.Parameters.AddWithValue("@RelationShipData", Convert.ToUInt32(strField[3]));
- myCmd.ExecuteNonQuery();
- iCpt++;
- }
- Console.Clear();
- Console.ForegroundColor = ConsoleColor.Green;
- Console.WriteLine("Ajout terminé ! {0} entrée(s) ajoutée(s) dans la base de donnée.", iCpt);
- myConnection.Close();
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement