コード例 #1
0
        /////////////////////////////////////////////////////////////////////////////
        // 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();
        }
コード例 #2
0
        /////////////////////////////////////////////////////////////////////////////
        // 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");
        }