///////////////////////////////////////////////////////////////////////////// // Teleports ///////////////////////////////////////////////////////////////////////////// public static void TeleportBuilding() { TxtFile.ReadFromFile(@"\data\teleportbuilding.txt", '\t'); string s = null; for (int l = 0; l <= TxtFile.amountLine - 1; l++) { s = TxtFile.lines[l].ToString(); TxtFile.commands = s.Split('\t'); if (!(short.Parse(TxtFile.commands[41]) == 0)) { WorldMgr.Monsters o = new WorldMgr.Monsters(); int ID = Convert.ToInt32(TxtFile.commands[1]); short AREA = short.Parse(TxtFile.commands[41]); float x = Convert.ToSingle(TxtFile.commands[43]); float z = Convert.ToSingle(TxtFile.commands[44]); float y = Convert.ToSingle(TxtFile.commands[45]); o.Ids = new GenerateUniqueID(GenerateUniqueID.IDS.Object); o.UniqueID = o.Ids.GetUniqueID; objectdata os = new objectdata(); os.Name = TxtFile.commands[2]; Manager.ObjectBase[ID] = os; o.ID = ID; o.area = AREA; o.xSec = Convert.ToByte((AREA).ToString("X4").Substring(2, 2), 16); o.ySec = Convert.ToByte((AREA).ToString("X4").Substring(0, 2), 16); o.x = Formule.gamex(x,o.xSec); o.z = z; o.y = Formule.gamey(y, o.ySec); o.HP = 0x000000C0; o.LocalType = 3; Helpers.Manager.Objects.Add(o); } } Console.WriteLine("[INFO] Loaded " + TxtFile.amountLine + " teleport buildings"); TeleportData(); }
///////////////////////////////////////////////////////////////////////////// // Objects ///////////////////////////////////////////////////////////////////////////// public static void ObjectDataBase(string path) { TxtFile.ReadFromFile(path, '\t'); string s = null; int count = TxtFile.amountLine; for (int l = 0; l <= TxtFile.amountLine - 1; l++) { s = TxtFile.lines[l].ToString(); TxtFile.commands = s.Split('\t'); int ID = Convert.ToInt32(TxtFile.commands[1]); objectdata o = new objectdata(); o.ID = ID; o.Name = TxtFile.commands[2]; o.Level = Convert.ToByte(TxtFile.commands[57]); o.Exp = Convert.ToInt32(TxtFile.commands[79]); o.HP = Convert.ToInt32(TxtFile.commands[59]); o.Type = Convert.ToByte(TxtFile.commands[11]); o.ObjectType = Convert.ToByte(TxtFile.commands[15]); o.PhyDef = Convert.ToInt32(TxtFile.commands[71]); o.MagDef = Convert.ToInt32(TxtFile.commands[72]); o.HitRatio = Convert.ToInt32(TxtFile.commands[75]); o.ParryRatio = Convert.ToInt32(TxtFile.commands[77]); o.Agresif = Convert.ToByte(TxtFile.commands[93]); o.Skill = new int[500]; o.Speed1 = Convert.ToInt32(TxtFile.commands[46]); o.Speed2 = Convert.ToInt32(TxtFile.commands[47]); o.SpeedWalk = Convert.ToInt32(TxtFile.commands[46]); o.SpeedRun = Convert.ToInt32(TxtFile.commands[47]); o.SpeedZerk = Convert.ToInt32(TxtFile.commands[48]); if (o.Name.Contains("CHAR_CH")) o.Race = 0; if (o.Name.Contains("CHAR_EU")) o.Race = 1; if (o.Name.Contains("THIEF_NPC") || o.Name.Contains("HUNTER_NPC")) o.Type = 4; o.Agresif = 1; for (byte sk = 0; sk <= 8; sk++) { if (Convert.ToInt32(TxtFile.commands[83 + sk]) != 0 && Manager.SkillBase[Convert.ToInt32(TxtFile.commands[83 + sk])].MagPer != 0) { o.Skill[o.amountSkill] = Convert.ToInt32(TxtFile.commands[83 + sk]); o.amountSkill++; } } Manager.ObjectBase[ID] = o; } Console.WriteLine("[INFO] Loaded " + TxtFile.amountLine + " objects"); }