elitepvpers

elitepvpers (https://www.elitepvpers.com/forum/)
-   CO2 PServer Guides & Releases (https://www.elitepvpers.com/forum/co2-pserver-guides-releases/)
-   -   [Release] RB Guard (https://www.elitepvpers.com/forum/co2-pserver-guides-releases/177649-release-rb-guard.html)

bisiol 10/21/2008 16:38

[Release] RB Guard
 
As i promissed yesterday, i have to relase my RB Guard code:bandit:

Guard attack players, and give exp to user when he atack mob. I have based on PowerSource.

Ok lets begin

Start with Character.cs

Find:

Code:

        public SingleMob MobTarget = null;
Abowe add:

Code:

        public SingleMob Guard = null;
Find:

Code:

                    if (SkillAttributes[0] == 7)
                    {

Bellow add:

Code:

                        if (SkillId == 4000 && Stamina >= 100)
                        {
                            if (Guard == null)
                            {
                                if (SkillLvl == 0)
                                   
                                    Mobs.NewRBGuard(Convert.ToInt16(MyClient.MyChar.LocX), Convert.ToInt16(MyClient.MyChar.LocY), Convert.ToInt16(MyClient.MyChar.LocMap), MyClient.MyChar.UID, 0);
                                if (SkillLvl == 1)
                                    Mobs.NewRBGuard(Convert.ToInt16(MyClient.MyChar.LocX), Convert.ToInt16(MyClient.MyChar.LocY), Convert.ToInt16(MyClient.MyChar.LocMap), MyClient.MyChar.UID, 1);
                                if (SkillLvl == 2)
                                    Mobs.NewRBGuard(Convert.ToInt16(MyClient.MyChar.LocX), Convert.ToInt16(MyClient.MyChar.LocY), Convert.ToInt16(MyClient.MyChar.LocMap), MyClient.MyChar.UID, 2);
                                if (SkillLvl == 3)
                                    Mobs.NewRBGuard(Convert.ToInt16(MyClient.MyChar.LocX), Convert.ToInt16(MyClient.MyChar.LocY), Convert.ToInt16(MyClient.MyChar.LocMap), MyClient.MyChar.UID, 3);
                             
                            }
                            else
                            {
                                Guard.Dissappear();

                                if (SkillLvl == 0)
                                    Mobs.NewRBGuard(Convert.ToInt16(MyClient.MyChar.LocX), Convert.ToInt16(MyClient.MyChar.LocY), Convert.ToInt16(MyClient.MyChar.LocMap), MyClient.MyChar.UID, 0);
                                if (SkillLvl == 1)
                                    Mobs.NewRBGuard(Convert.ToInt16(MyClient.MyChar.LocX), Convert.ToInt16(MyClient.MyChar.LocY), Convert.ToInt16(MyClient.MyChar.LocMap), MyClient.MyChar.UID, 1);
                                if (SkillLvl == 2)
                                    Mobs.NewRBGuard(Convert.ToInt16(MyClient.MyChar.LocX), Convert.ToInt16(MyClient.MyChar.LocY), Convert.ToInt16(MyClient.MyChar.LocMap), MyClient.MyChar.UID, 2);
                                if (SkillLvl == 3)
                                    Mobs.NewRBGuard(Convert.ToInt16(MyClient.MyChar.LocX), Convert.ToInt16(MyClient.MyChar.LocY), Convert.ToInt16(MyClient.MyChar.LocMap), MyClient.MyChar.UID, 3);
                            }
                            Stamina = 0;
;
                            MyClient.SendPacket(General.MyPackets.Vital(UID, 9, Stamina));
                        }


search for:

Code:

        public void AddSkillExp(short Type, uint Amount)
        {
            Ready = false;
            Amount *= ExternalDatabase.ProfExpRate;

and bellow add:

Code:

if (Type == 4000) Amount = 1;


Next part is in Entities.cs

Search for:

Code:

SingleMob Mob = new SingleMob(spawn_x, spawn_y, Convert.ToInt16(ThisSpawn[7]), uint.Parse(ThisMob[3]), uint.Parse(ThisMob[3]), short.Parse(ThisMob[6]), short.Parse(ThisMob[7]), UID, ThisMob[2], int.Parse(ThisMob[1]), short.Parse(ThisMob[4]), (byte)General.Rand.Next(8), byte.Parse(ThisMob[5]));
replace it with:

Code:

SingleMob Mob = new SingleMob(spawn_x, spawn_y, Convert.ToInt16(ThisSpawn[7]), uint.Parse(ThisMob[3]), uint.Parse(ThisMob[3]), short.Parse(ThisMob[6]), short.Parse(ThisMob[7]), UID, ThisMob[2], int.Parse(ThisMob[1]), short.Parse(ThisMob[4]), (byte)General.Rand.Next(8), byte.Parse(ThisMob[5]),0,true);
Search for:

Code:

                ExternalDatabase.Mobs = null;
                ExternalDatabase.MobSpawns = null;
                General.WriteLine("Spawned " + MobsSpawned + " mobs.");
            }
            catch (Exception Exc) { General.WriteLine(Convert.ToString(Exc)); }
        }

and bellow add:

Code:

        public static void NewRBGuard(short x, short y, short map, uint owner,short glvl)
        {
            try
            {
                uint UID = (uint)General.Rand.Next(400000, 500000);
                while (AllMobs.Contains(UID))
                {
                    UID = (uint)General.Rand.Next(400000, 500000);
                }
                int gms=0;
                uint ghp=0;
                short gat=0, glv=0;
                string gna="";
                if (glvl == 0)
                {
                    ghp = 10000;
                    gat = 300;
                    gna = "IronGuard";
                    gms = 920;
                    glv = 60;
                }
                else if (glvl == 1)
                {
                    ghp = 20000;
                    gat = 600;
                    gna = "CopperGuard";
                    gms = 920;
                    glv = 90;
                }
                else if (glvl == 2)
                {
                    ghp = 34895;
                    gat = 900;
                    gna = "SilverGuard";
                    gms = 920;
                    glv = 110;
                }
                else
                {
                    ghp = 60000;
                    gat = 1300;
                    gna = "GoldGuard";
                    gms = 920;
                    glv = 120;
                }
                SingleMob Mob = new SingleMob(x, y, map, ghp, ghp, 150, gat, UID, gna, gms, glv, (byte)General.Rand.Next(8), 7, owner, false);
                AllMobs.Add(UID, Mob);
                Other.Charowner(owner).Guard = Mob;
                World.SpawnMobForPlayers(Mob, true);
               
            }
            catch (Exception Exc) { General.WriteLine(Convert.ToString(Exc)); }
        }
    }

search for:
Code:

        DateTime LastTargetting;
        DateTime LastMove;
        public DateTime Death;
        bool Revive = false;

abbowe add:
Code:

        DateTime LastAtack;
Now search for:
Code:

        public Timer MyTimer = new Timer();
        Character Target = null;

replace it with that:

Code:

        public Timer MyTimer = new Timer();
       
        Character Target = null;
        SingleMob Target2 = null;
        public uint owner = 0;
        Character owner2 = null;
        public bool frev = true;

Search:

Code:

        public SingleMob(short x, short y, short map, uint maxhp, uint curhp, short minatk, short maxatk, uint uid, string name, int mech, short lvl, byte pos, byte Type)
        {
            PosX = x;
            PosY = y;
            Map = map;
            MaxHP = maxhp;
            CurHP = curhp;
            MinAtk = minatk;
            MaxAtk = maxatk;
            UID = uid;
            Name = name;
            Mech = mech;
            Level = lvl;
            Pos = pos;
            XStart = PosX;
            YStart = PosY;
            Alive = true;
            if (Type == 2)
                BossMob = true;
            MType = Type;


            PrevX = PosX;
            PrevY = PosY;

            MyTimer.Interval = 500;
            MyTimer.Elapsed += new ElapsedEventHandler(TimerElapsed);
            MyTimer.Start();
        }

replace it with:

Code:

        public SingleMob(short x, short y, short map, uint maxhp, uint curhp, short minatk, short maxatk, uint uid, string name, int mech, short lvl, byte pos, byte Type, uint owner, bool Alive)
        {
            PosX = x;
            PosY = y;
            Map = map;
            MaxHP = maxhp;
            CurHP = curhp;
            MinAtk = minatk;
            MaxAtk = maxatk;
            UID = uid;
            Name = name;
            Mech = mech;
            Level = lvl;
            Pos = pos;
            XStart = PosX;
            YStart = PosY;
            Alive = true;
            frev = true;
            if (Type == 2)
                BossMob = true;
            MType = Type;
            if (owner != 0)
                owner2 = Other.Charowner(owner);
            PrevX = PosX;
            PrevY = PosY;
            if (MType==7)
            MyTimer.Interval = 100;
            else
            MyTimer.Interval = 500;
            MyTimer.Elapsed += new ElapsedEventHandler(TimerElapsed);
            MyTimer.Start();
        }

Search:

Code:

        public void TimerElapsed(object source, ElapsedEventArgs e)
and replace whole void with:
Code:

        public void TimerElapsed(object source, ElapsedEventArgs e)
        {
            if (MType == 7)
            {
               
                    GetTarget();
            }
            else
            {
                if (DateTime.Now > LastTargetting.AddMilliseconds(2000))
                    GetTarget();
            }
            if (Target != null)
                if (Target.MyClient == null || !Target.MyClient.There || !Target.Alive || !Alive || Target.LocMap != Map)
                    Target = null;

            if (Target != null)
                if (MType != 1 && MType != 4 && MType != 5 && MType != 6)
                    if (Target.Flying)
                        Target = null;

            if (MType == 7)
            {
                if (Target != null)
                GuardMove(3);
                else if (Target2 != null)
                    GuardMove(2);
                else
                    GuardMove(1);
            }
            else
            {
                if (Target != null)
                    Move();
            }

            if (!Alive)
            {
                if (Revive == false)
                {
                    if (DateTime.Now > Death.AddMilliseconds(3000))
                        Dissappear();
                }
                else
                {
                    if (MType == 2)
                    {
                        if (Map == 1015)
                        {
                            if (DateTime.Now > Death.AddMilliseconds(60000))
                                ReSpawn();
                        }
                        if (Map != 1015)
                        {
                            if (DateTime.Now > Death.AddMilliseconds(600000))
                                ReSpawn();
                        }
                    }
                    if (MType == 0)
                    {
                        if (DateTime.Now > Death.AddMilliseconds(10000))
                            ReSpawn();
                    }
                    if (MType == 1)
                    {
                        if (DateTime.Now > Death.AddMilliseconds(10000))
                            ReSpawn();
                    }
                    if (MType == 4)
                    {
                        if (DateTime.Now > Death.AddMilliseconds(10000))
                            ReSpawn();
                    }
                    if (MType == 3)
                    {
                        if (DateTime.Now > Death.AddMilliseconds(10000))
                            ReSpawn();

                    }
                    if (MType == 5)
                    {
                        if (DateTime.Now > Death.AddMilliseconds(10000))
                            ReSpawn();
                    }
                    if (MType == 6)
                    {
                        if (DateTime.Now > Death.AddMilliseconds(10000))
                            ReSpawn();
                    }
                    if (MType == 7)
                    {
                        if (DateTime.Now > Death.AddMilliseconds(100))
                            ReSpawn();
                    }
                }
            }
        }

Same thing with:

Code:

        public void GetTarget()
        {
            LastTargetting = DateTime.Now;
            if (MType != 1&&MType !=7)
                Target = Other.CharNearest((uint)PosX, (uint)PosY, (uint)Map, false);
            else if (MType == 1)
                Target = Other.CharNearest((uint)PosX, (uint)PosY, (uint)Map, true);
            else if (MType == 7)
            {
                if (owner2.MobTarget != null || owner2.PTarget != null)
                {
                    if (owner2.MobTarget != null)
                    {
                        Target2 = owner2.MobTarget;
                        Target = null;
                    }
                    if (owner2.PTarget != null)
                    {
                        Target = owner2.PTarget;
                        Target2 = null;
                    }
                }
                else
                {
                    Target = Target;
                    Target2 = Target2;
                }
            }
        }

Search:
Code:

public void Move()
Abowe add:

Code:

        public void GuardMove(short opc)
        {
            if (Alive)
            {
                if (owner2 != null && owner2.Alive && owner2.MyClient.Online&&Map==owner2.LocMap)
                {
                    if (DateTime.Now > LastMove.AddMilliseconds(500))
                    {

                        if (MyMath.PointDistance(PosX, PosY, owner2.LocX, owner2.LocY) <= 25)
                        {
                            //Created by Bisiol
                            if (opc == 1)
                            {
                                if ((MyMath.PointDistance(PosX, PosY, owner2.LocX, owner2.LocY) >= 2) && (MyMath.PointDistance(PosX, PosY, owner2.LocX, owner2.LocY) <= 25))
                                {
                                    byte ToDir = (byte)(7 - (Math.Floor(MyMath.PointDirecton(PosX, PosY, owner2.LocX, owner2.LocY) / 45 % 8)) - 1 % 8);


                                    ToDir = (byte)((int)ToDir % 8);
                                    short AddX = 0;
                                    short AddY = 0;
                                    if (ToDir == 255)
                                        ToDir = 7;
                                    Pos = ToDir;

                                    switch (ToDir)
                                    {
                                        case 0:
                                            {
                                                AddY = 1;
                                                break;
                                            }
                                        case 1:
                                            {
                                                AddX = -1;
                                                AddY = 1;
                                                break;
                                            }
                                        case 2:
                                            {
                                                AddX = -1;
                                                break;
                                            }
                                        case 3:
                                            {
                                                AddX = -1;
                                                AddY = -1;
                                                break;
                                            }
                                        case 4:
                                            {
                                                AddY = -1;
                                                break;
                                            }
                                        case 5:
                                            {
                                                AddX = 1;
                                                AddY = -1;
                                                break;
                                            }
                                        case 6:
                                            {
                                                AddX = 1;
                                                break;
                                            }
                                        case 7:
                                            {
                                                AddY = 1;
                                                AddX = 1;
                                                break;
                                            }
                                    }

                                    PrevX = PosX;
                                    PrevY = PosY;
                                    PosX += AddX;
                                    PosY += AddY;
                                    World.MobMoves(this, ToDir);
                                    World.SpawnMobForPlayers(this, true);
                                    PrevX = PosX;
                                    PrevY = PosY;
                                    PosX += AddX;
                                    PosY += AddY;
                                    World.MobMoves(this, ToDir);
                                    World.SpawnMobForPlayers(this, true);


                                }
                                else if (MyMath.PointDistance(PosX, PosY, owner2.LocX, owner2.LocY) < 2)
                                { }
                            }
                            else if (opc == 2)
                            {

                                if (DateTime.Now > LastAtack.AddMilliseconds(1000))
                                {
                                    if (MyMath.PointDistance(PosX, PosY, Target2.PosX, Target2.PosY) <= 10)
                                    {
                                        LastMove = DateTime.Now;

                                        int DMG = Convert.ToInt32(MaxAtk);

                                        if (DMG < 1)
                                            DMG = 1;

                                     
                                        uint GEXP=0;
                                        if (DMG<=Target2.CurHP)
                                            GEXP=(uint)DMG;
                                        else if(DMG>Target2.CurHP)
                                            GEXP=Target2.CurHP;
                                        Target2.GetDamage((uint)DMG);
                                        if (Target2.MType != 1 && Target2.MType != 7)
                                        { owner2.AddExp(GEXP,true); }
                                        foreach (DictionaryEntry DE in World.AllChars)
                                        {
                                            Character Charr = (Character)DE.Value;

                                            if (Charr.MyClient.Online)
                                                if (MyMath.CanSeeBig(PosX, PosY, Charr.LocX, Charr.LocY))
                                                {
                                                    Charr.MyClient.SendPacket(General.MyPackets.MobSkillUse2(this, Target2, (uint)DMG, 1002, 1));
                                                }
                                        }
                                        if (Target2.CurHP <= 0)
                                            Target2 = null;
                                        LastAtack = DateTime.Now;
                                    }
                                    else if ((MyMath.PointDistance(PosX, PosY, Target2.PosX, Target2.PosY) >= 11) && (MyMath.PointDistance(PosX, PosY, Target2.PosX, Target2.PosY) <= 25))
                                    {
                                        byte ToDir = (byte)(7 - (Math.Floor(MyMath.PointDirecton(PosX, PosY, Target2.PosX, Target2.PosY) / 45 % 8)) - 1 % 8);



                                        ToDir = (byte)((int)ToDir % 8);
                                        short AddX = 0;
                                        short AddY = 0;
                                        if (ToDir == 255)
                                            ToDir = 7;
                                        Pos = ToDir;

                                        switch (ToDir)
                                        {
                                            case 0:
                                                {
                                                    AddY = 1;
                                                    break;
                                                }
                                            case 1:
                                                {
                                                    AddX = -1;
                                                    AddY = 1;
                                                    break;
                                                }
                                            case 2:
                                                {
                                                    AddX = -1;
                                                    break;
                                                }
                                            case 3:
                                                {
                                                    AddX = -1;
                                                    AddY = -1;
                                                    break;
                                                }
                                            case 4:
                                                {
                                                    AddY = -1;
                                                    break;
                                                }
                                            case 5:
                                                {
                                                    AddX = 1;
                                                    AddY = -1;
                                                    break;
                                                }
                                            case 6:
                                                {
                                                    AddX = 1;
                                                    break;
                                                }
                                            case 7:
                                                {
                                                    AddY = 1;
                                                    AddX = 1;
                                                    break;
                                                }
                                        }

                                        PrevX = PosX;
                                        PrevY = PosY;
                                        PosX += AddX;
                                        PosY += AddY;
                                        World.MobMoves(this, ToDir);
                                        World.SpawnMobForPlayers(this, true);
                                        PrevX = PosX;
                                        PrevY = PosY;
                                        PosX += AddX;
                                        PosY += AddY;
                                        World.MobMoves(this, ToDir);
                                        World.SpawnMobForPlayers(this, true);


                                    }


                                }
                            }
                            else if (opc == 3)
                            {

                                if (DateTime.Now > LastAtack.AddMilliseconds(1000))
                                {
                                    if (MyMath.PointDistance(PosX, PosY, Target.LocX, Target.LocY) <= 10)
                                    {
                                        int DMG = MaxAtk - (int)Target.MDefense;
                                        if (DMG < 1)
                                            DMG = 1;

                                        if (Target.GetHitDie((uint)DMG))
                                        {
                                            if (MType == 7)
                                            {
                                                World.MobAttacksCharSkill(this, Target, (uint)DMG, 1002, 1);

                                            }

                                        }
                                        else
                                        {
                                            if (MType == 7)
                                                World.MobAttacksCharSkill(this, Target, (uint)DMG, 1002, 1);
                                        }
                                        if (Target.CurHP <= 0)
                                            Target = null;
                                        LastAtack = DateTime.Now;
                                    }
                                    else if ((MyMath.PointDistance(PosX, PosY, Target.LocX, Target.LocY) >= 11) && (MyMath.PointDistance(PosX, PosY, Target.LocX, Target.LocY) <= 25))
                                    {
                                        byte ToDir = (byte)(7 - (Math.Floor(MyMath.PointDirecton(PosX, PosY, Target.LocX, Target.LocY) / 45 % 8)) - 1 % 8);



                                        ToDir = (byte)((int)ToDir % 8);
                                        short AddX = 0;
                                        short AddY = 0;
                                        if (ToDir == 255)
                                            ToDir = 7;
                                        Pos = ToDir;

                                        switch (ToDir)
                                        {
                                            case 0:
                                                {
                                                    AddY = 1;
                                                    break;
                                                }
                                            case 1:
                                                {
                                                    AddX = -1;
                                                    AddY = 1;
                                                    break;
                                                }
                                            case 2:
                                                {
                                                    AddX = -1;
                                                    break;
                                                }
                                            case 3:
                                                {
                                                    AddX = -1;
                                                    AddY = -1;
                                                    break;
                                                }
                                            case 4:
                                                {
                                                    AddY = -1;
                                                    break;
                                                }
                                            case 5:
                                                {
                                                    AddX = 1;
                                                    AddY = -1;
                                                    break;
                                                }
                                            case 6:
                                                {
                                                    AddX = 1;
                                                    break;
                                                }
                                            case 7:
                                                {
                                                    AddY = 1;
                                                    AddX = 1;
                                                    break;
                                                }
                                        }

                                        PrevX = PosX;
                                        PrevY = PosY;
                                        PosX += AddX;
                                        PosY += AddY;
                                        World.MobMoves(this, ToDir);
                                        World.SpawnMobForPlayers(this, true);
                                        PrevX = PosX;
                                        PrevY = PosY;
                                        PosX += AddX;
                                        PosY += AddY;
                                        World.MobMoves(this, ToDir);
                                        World.SpawnMobForPlayers(this, true);


                                    }


                                }
                            }
                         
                        }
                        else
                        {
                            Gjump();
                            World.SpawnMobForPlayers(this, true);
                            Target = null;
                            Target2 = null;
                        }

                        LastMove = DateTime.Now;
                    }
                }
                else
                    Dissappear();
            }
        }

Find and replace:

Code:

        public void Dissappear()
        {
            World.RemoveEntity(this);
            Revive = true;
        }

with that:

Code:

        public void Dissappear()
        {
            if (MType == 7&&frev==false)
            {               
                World.RemoveEntity(this);
                Mobs.AllMobs.Remove(this);
                Alive = false;
            }
            else if (MType == 7 && frev == true)
            {
                World.RemoveEntity(this);
                Revive = true;
                frev = false;
            }
            else
            {
                World.RemoveEntity(this);
                Revive = true;
            }
        }

find:

Code:

        public void ReSpawn()
        {
            CurHP = MaxHP;
            Alive = true;
            PosX = XStart;
            PosY = YStart;
            PrevX = PosX;
            PrevY = PosY;
            World.MobReSpawn(this);
            Revive = false;
        }

bellow add:

Code:

        public void Gjump()
        {
            PosX = (short)owner2.LocX;
            PosY = (short)owner2.LocY;           
            PrevX = PosX;
            PrevY = PosY;
            World.GuardReSpawn(this);
        }

Next: Database.cs(External one)

find:

Code:

    public static void DefineSkills()
    {

bellow add:

Code:

        SkillAttributes[4000] = new ushort[4][];
        SkillAttributes[4000][0] = new ushort[6] { 7, 0, 0, 0, 100, 0 };
        SkillAttributes[4000][1] = new ushort[6] { 7, 0, 0, 0, 100, 0 };
        SkillAttributes[4000][2] = new ushort[6] { 7, 0, 0, 0, 100, 0 };
        SkillAttributes[4000][3] = new ushort[6] { 7, 0, 0, 0, 100, 0 };
        SkillsDone.Add(4000, 3);

search:

Code:

    public static uint NeededSkillExp(short SkillId, byte Level)
    {

bellow add:

Code:

        if (SkillId == 4000)
        {
            if (Level == 0)
                return 100;
            if (Level == 1)
                return 300;
            if (Level == 2)
                return 500;
            else return 0;
        }

Next Other.cs:
search for:

Code:

public static bool CharExist(string Needle, string HayStack)
abowe add:

Code:

        public static Character Charowner(uint uid)
        {
            try
            {
               
                Character ownerchar = null;
                foreach (DictionaryEntry DE in World.AllChars)
                {
                    Character Charr = (Character)DE.Value;
                    if (uid == Charr.UID)
                   
                                ownerchar = Charr;
                               
                           

                }
                return ownerchar;
            }
            catch (Exception Exc) { General.WriteLine(Exc.ToString()); return null; }
        }

Next Packets.cs:
search for:

Code:

        public byte[] SkillUse(Character Charr, Hashtable Targets, Hashtable PTargets, Hashtable NPCTargets, short AimX, short AimY, short SkillId, byte SkillLvl, byte Switch, uint OneTarget, uint TargetDMG)
        {

abowe add:

Code:

        public byte[] MobSkillUse2(SingleMob Mob, SingleMob Attacked, uint DMG, ushort SkillId, byte SkillLevel)
        {
            ushort PacketType = 1105;
            byte[] Packet = new byte[32];

            fixed (byte* p = Packet)
            {
                *((ushort*)p) = (ushort)Packet.Length;
                *((ushort*)(p + 2)) = (ushort)PacketType;
                *((uint*)(p + 4)) = (uint)Mob.UID;
                *((ushort*)(p + 8)) = (ushort)Attacked.PosX;
                *((ushort*)(p + 10)) = (ushort)Attacked.PosY;
                *((ushort*)(p + 12)) = (ushort)SkillId;
                *((ushort*)(p + 14)) = (ushort)SkillLevel;
                *(p + 16) = 1;
                *((uint*)(p + 20)) = (uint)Attacked.UID;
                *((uint*)(p + 24)) = (uint)DMG;
            }
            return Packet;
        }

Next World.cs:
search:

Code:

public static void MobDissappear(SingleMob Mob)
abowe add:

Code:

        public static void GuardReSpawn(SingleMob Mob)
        {
            lock (AllChars)
            {
                foreach (DictionaryEntry DE in AllChars)
                {
                    Character Charr = (Character)DE.Value;

                    if (Charr.MyClient.Online)
                        if (Mob.Map == Charr.LocMap)
                            if (MyMath.CanSee(Mob.PosX, Mob.PosY, Charr.LocX, Charr.LocY))
                            {
                                Charr.MyClient.SendPacket(General.MyPackets.SpawnMob(Mob));
                            }
                }
            }
        }

I hope it will be usefull for someone:)
BTW post your comments positive or negative.
Bisiol


Edit1 I forget something:P
That fragment is for block you from attacking your guard

In Client.cs
search:
Code:

                            else if (Target > 400000 && Target < 500000)
                            {
                                SingleMob TargetMob = (SingleMob)Mobs.AllMobs[Target];

                                MyChar.MobTarget = null;

                                if (TargetMob != null)
                                {
                                    MyChar.AtkType = (byte)AttackType;
                                    MyChar.MobTarget = TargetMob;
                                }
                            }

and replace it with:
Code:

                            else if (Target > 400000 && Target < 500000)
                            {
                                if (MyChar.Guard != null)
                                {
                                    if (Target != MyChar.Guard.UID)
                                    {
                                        SingleMob TargetMob = (SingleMob)Mobs.AllMobs[Target];

                                        MyChar.MobTarget = null;

                                        if (TargetMob != null)
                                        {
                                            MyChar.AtkType = (byte)AttackType;
                                            MyChar.MobTarget = TargetMob;
                                        }

                                    }
                                }
                                else
                                {
                                    SingleMob TargetMob = (SingleMob)Mobs.AllMobs[Target];

                                    MyChar.MobTarget = null;

                                    if (TargetMob != null)
                                    {
                                        MyChar.AtkType = (byte)AttackType;
                                        MyChar.MobTarget = TargetMob;
                                    }


                                }
                            }

And BlueName stuffs:
Character.cs:
search(4 times) for :
Code:

if (PKMode == 0 || Mob.MType != 1)
and replace all with:
Code:

if (PKMode == 0 || Mob.MType != 1 && Mob.MType != 7)
search (3 times):
Code:

PKMode == 0 || Target.MType != 1
and replace all with:
Code:

PKMode == 0 || Target.MType != 1 && Target.MType != 7
search(3 times):
Code:

Target.MType == 1
and replace all :
Code:

Target.MType == 1 || Target.MType == 7
search(4 times):
Code:

Mob.MType == 1
replace all with:
Code:

Mob.MType == 1||Mob.MType == 7
Search(2 times):
Code:

MobTarget.MType == 1
replace with:
Code:

MobTarget.MType == 1 || MobTarget.MType == 7

XxArcherMasterxX 10/21/2008 16:40

Nice Release m8, can i add it to my [All-In-1] Thread?

bisiol 10/21/2008 16:41

Quote:

Originally Posted by XxArcherMasterxX (Post 1545501)
Nice Release m8, can i add it to my [All-In-1] Thread?

Sure why not

!DeX! 10/21/2008 16:43

WOw Great Job Guys

$HaDoW 10/21/2008 16:49

OMFG IF THIS WORKS THEN I"M FUCKING HAPPY :D

Kiyono 10/21/2008 16:53

Thanks

//edit lol got around 200 errors xD so i reversed everything...

Eternal46 10/21/2008 16:56

great :D

$HaDoW 10/21/2008 17:22

IT WORKS !!!

bisiol 10/21/2008 17:30

Quote:

Originally Posted by Djago160 (Post 1545551)
Thanks

//edit lol got around 200 errors xD so i reversed everything...

so whats that errors and what source u use?

jaker63 10/21/2008 17:41

Help
 
Im Getting alot of errors can u add me to msn and then we will talk from there email is [Only registered and activated users can see links. Click Here To Register...] and im useing ShadowCo source

randomnoob 10/21/2008 17:45

1 Attachment(s)
i use the shadowco source and this are the errors i get, the other people who use shadowco prob get the same errors.

note: error 1, 2 and 3 are the same as 4 till 8.

edit: fixed 9 XD.

bisiol 10/21/2008 18:27

i think most of problems are here:

public static void SpawnAllMobs()
and
public static void NewRBGuard(short x, short y, short map, uint owner,short glvl)

that must be under Mobs class

like this:
Code:

    public class Mobs
    {
        public static Hashtable AllMobs = new Hashtable();

        public static void SpawnAllMobs()
        {
            try
            {
                int MobsSpawned = 0;
                int MobSpawnsToSpawn = ExternalDatabase.MobSpawns.Length;

                for (int j = 0; j < MobSpawnsToSpawn; j++)
                {
                    uint[] ThisSpawn = ExternalDatabase.MobSpawns[j];
                    string[] ThisMob = null;

                    foreach (string[] FindId in ExternalDatabase.Mobs)
                    {
                        if (FindId[0] == Convert.ToString(ThisSpawn[1]))
                        {
                            ThisMob = FindId;
                        }
                    }

                    for (int n = 0; n < Convert.ToInt32(ThisSpawn[2]); n++)
                    {
                        uint UID = (uint)General.Rand.Next(400000, 500000);
                        short spawn_x = (short)General.Rand.Next((ushort)Math.Min(ThisSpawn[3], ThisSpawn[5]), (ushort)Math.Max(ThisSpawn[3], ThisSpawn[5]));
                        short spawn_y = (short)General.Rand.Next((ushort)Math.Min(ThisSpawn[4], ThisSpawn[6]), (ushort)Math.Max(ThisSpawn[4], ThisSpawn[6]));
                        while (AllMobs.Contains(UID))
                        {
                            UID = (uint)General.Rand.Next(400000, 500000);
                        }
                        SingleMob Mob = new SingleMob(spawn_x, spawn_y, Convert.ToInt16(ThisSpawn[7]), uint.Parse(ThisMob[3]), uint.Parse(ThisMob[3]), short.Parse(ThisMob[6]), short.Parse(ThisMob[7]), UID, ThisMob[2], int.Parse(ThisMob[1]), short.Parse(ThisMob[4]), (byte)General.Rand.Next(8), byte.Parse(ThisMob[5]),0,true);


                        AllMobs.Add(UID, Mob);

                        MobsSpawned++; ;
                    }
                }
                ExternalDatabase.Mobs = null;
                ExternalDatabase.MobSpawns = null;
                General.WriteLine("Spawned " + MobsSpawned + " mobs.");
            }
            catch (Exception Exc) { General.WriteLine(Convert.ToString(Exc)); }
        }
        public static void NewRBGuard(short x, short y, short map, uint owner,short glvl)
        {
            try
            {
                uint UID = (uint)General.Rand.Next(400000, 500000);
                while (AllMobs.Contains(UID))
                {
                    UID = (uint)General.Rand.Next(400000, 500000);
                }
                int gms=0;
                uint ghp=0;
                short gat=0, glv=0;
                string gna="";
                if (glvl == 0)
                {
                    ghp = 10000;
                    gat = 300;
                    gna = "IronGuard";
                    gms = 920;
                    glv = 60;
                }
                else if (glvl == 1)
                {
                    ghp = 20000;
                    gat = 600;
                    gna = "CopperGuard";
                    gms = 920;
                    glv = 90;
                }
                else if (glvl == 2)
                {
                    ghp = 34895;
                    gat = 900;
                    gna = "SilverGuard";
                    gms = 920;
                    glv = 110;

                }
                else
                {
                    ghp = 60000;
                    gat = 1300;
                    gna = "GoldGuard";
                    gms = 920;
                    glv = 120;

                }
                SingleMob Mob = new SingleMob(x, y, map, ghp, ghp, 150, gat, UID, gna, gms, glv, (byte)General.Rand.Next(8), 7, owner, false);
                AllMobs.Add(UID, Mob);
                Other.Charowner(owner).Guard = Mob;
                World.SpawnMobForPlayers(Mob, true);
               
            }
            catch (Exception Exc) { General.WriteLine(Convert.ToString(Exc)); }
        }
    }

so be sure u did it in right way

µ~Xero~µ 10/21/2008 18:42

Muhahahaha Thx a lot

pauldexter 10/21/2008 18:50

wow, nice release man, i got an warning here:
Code:

                        Target = Target;
                        Target2 = Target2;

is it important? i think no, it just same like 1 = 1

i remove this line.
Code:

                else
                {
                    Target = Target;
                    Target2 = Target2;
                }

this the the error description.
Code:

Assignment made to same variable; did you mean to assign something else?
but it works properly, with some bug, hehe, guard hit the dead monster over and over again, and guard can hit their own self.

bisiol 10/21/2008 19:04

Quote:

Originally Posted by pauldexter (Post 1545904)
wow, nice release man, i got an warning here:
Code:

                        Target = Target;
                        Target2 = Target2;

is it important? i think no, it just same like 1 = 1

i remove this line.
Code:

                else
                {
                    Target = Target;
                    Target2 = Target2;
                }

this the the error description.
Code:

Assignment made to same variable; did you mean to assign something else?
but it works properly, with some bug, hehe, guard hit the dead monster over and over again.

right.
i just forget to delete it

i forget add some stufs with bluename and block you from attack your own guard so i added it to my post

!DeX! 10/21/2008 19:18

i jz need ur msn add me there [Only registered and activated users can see links. Click Here To Register...]

Kiyono 10/21/2008 19:18

i get errors about things like MyMath not in current context "Other was not found in current context...

pauldexter 10/21/2008 19:25

Hmm, can someone explain me this error?
[Only registered and activated users can see links. Click Here To Register...]

can't find:
if (PKMode == 0 || Mob.MType != 1)
PKMode == 0 || Target.MType != 1
Target.MType == 1
Mob.MType == 1

randomnoob 10/21/2008 19:26

Quote:

Originally Posted by bisiol (Post 1545820)
i think most of problems are here:

public static void SpawnAllMobs()
and
public static void NewRBGuard(short x, short y, short map, uint owner,short glvl)

that must be under Mobs class

like this:
Code:

    public class Mobs
    {
        public static Hashtable AllMobs = new Hashtable();

        public static void SpawnAllMobs()
        {
            try
            {
                int MobsSpawned = 0;
                int MobSpawnsToSpawn = ExternalDatabase.MobSpawns.Length;

                for (int j = 0; j < MobSpawnsToSpawn; j++)
                {
                    uint[] ThisSpawn = ExternalDatabase.MobSpawns[j];
                    string[] ThisMob = null;

                    foreach (string[] FindId in ExternalDatabase.Mobs)
                    {
                        if (FindId[0] == Convert.ToString(ThisSpawn[1]))
                        {
                            ThisMob = FindId;
                        }
                    }

                    for (int n = 0; n < Convert.ToInt32(ThisSpawn[2]); n++)
                    {
                        uint UID = (uint)General.Rand.Next(400000, 500000);
                        short spawn_x = (short)General.Rand.Next((ushort)Math.Min(ThisSpawn[3], ThisSpawn[5]), (ushort)Math.Max(ThisSpawn[3], ThisSpawn[5]));
                        short spawn_y = (short)General.Rand.Next((ushort)Math.Min(ThisSpawn[4], ThisSpawn[6]), (ushort)Math.Max(ThisSpawn[4], ThisSpawn[6]));
                        while (AllMobs.Contains(UID))
                        {
                            UID = (uint)General.Rand.Next(400000, 500000);
                        }
                        SingleMob Mob = new SingleMob(spawn_x, spawn_y, Convert.ToInt16(ThisSpawn[7]), uint.Parse(ThisMob[3]), uint.Parse(ThisMob[3]), short.Parse(ThisMob[6]), short.Parse(ThisMob[7]), UID, ThisMob[2], int.Parse(ThisMob[1]), short.Parse(ThisMob[4]), (byte)General.Rand.Next(8), byte.Parse(ThisMob[5]),0,true);


                        AllMobs.Add(UID, Mob);

                        MobsSpawned++; ;
                    }
                }
                ExternalDatabase.Mobs = null;
                ExternalDatabase.MobSpawns = null;
                General.WriteLine("Spawned " + MobsSpawned + " mobs.");
            }
            catch (Exception Exc) { General.WriteLine(Convert.ToString(Exc)); }
        }
        public static void NewRBGuard(short x, short y, short map, uint owner,short glvl)
        {
            try
            {
                uint UID = (uint)General.Rand.Next(400000, 500000);
                while (AllMobs.Contains(UID))
                {
                    UID = (uint)General.Rand.Next(400000, 500000);
                }
                int gms=0;
                uint ghp=0;
                short gat=0, glv=0;
                string gna="";
                if (glvl == 0)
                {
                    ghp = 10000;
                    gat = 300;
                    gna = "IronGuard";
                    gms = 920;
                    glv = 60;
                }
                else if (glvl == 1)
                {
                    ghp = 20000;
                    gat = 600;
                    gna = "CopperGuard";
                    gms = 920;
                    glv = 90;
                }
                else if (glvl == 2)
                {
                    ghp = 34895;
                    gat = 900;
                    gna = "SilverGuard";
                    gms = 920;
                    glv = 110;

                }
                else
                {
                    ghp = 60000;
                    gat = 1300;
                    gna = "GoldGuard";
                    gms = 920;
                    glv = 120;

                }
                SingleMob Mob = new SingleMob(x, y, map, ghp, ghp, 150, gat, UID, gna, gms, glv, (byte)General.Rand.Next(8), 7, owner, false);
                AllMobs.Add(UID, Mob);
                Other.Charowner(owner).Guard = Mob;
                World.SpawnMobForPlayers(Mob, true);
               
            }
            catch (Exception Exc) { General.WriteLine(Convert.ToString(Exc)); }
        }
    }

so be sure u did it in right way

i have it excactly the same o.O
except that external db is just DataBase because shadowco doesnt have an external db.

and every part that has the word void in it has it ._.

bisiol 10/21/2008 19:40

Quote:

Originally Posted by randomnoob (Post 1545727)
i use the shadowco source and this are the errors i get, the other people who use shadowco prob get the same errors.

note: error 1, 2 and 3 are the same as 4 till 8.

edit: fixed 9 XD.

i found 1 error on that screen u posted:
here:
Code:

            MyTimer.Start();
        }
        }
        public void TimerElapsed(object source, ElapsedEventArgs e)
        {
            if (MType == 7)
            {

u have 1} more
it should look like that:

Code:

            MyTimer.Start();
        }

        public void TimerElapsed(object source, ElapsedEventArgs e)
        {
            if (MType == 7)
            {


jaker63 10/21/2008 19:43

Help
 
I have this done

Code:

        public SingleMob(short x, short y, short map, uint maxhp, uint curhp, short minatk, short maxatk, uint uid, string name, int mech, short lvl, byte pos, byte Type, uint owner, bool Alive)
        {
            PosX = x;
            PosY = y;
            Map = map;
            MaxHP = maxhp;
            CurHP = curhp;
            MinAtk = minatk;
            MaxAtk = maxatk;
            UID = uid;
            Name = name;
            Mech = mech;
            Level = lvl;
            Pos = pos;
            XStart = PosX;
            YStart = PosY;
            Alive = true;
            frev = true;
            if (Type == 2)
                BossMob = true;
            MType = Type;
            if (owner != 0)
                owner2 = Other.Charowner(owner);
            PrevX = PosX;
            PrevY = PosY;
            if (MType == 7)
                MyTimer.Interval = 100;
            else
                MyTimer.Interval = 500;
            MyTimer.Elapsed += new ElapsedEventHandler(TimerElapsed);
            MyTimer.Start();
        }

and the
Code:

                owner2 = Other.Charowner(owner);
part has an error how do i fix?

randomnoob 10/21/2008 19:46

1 Attachment(s)
Quote:

Originally Posted by bisiol (Post 1546046)
i found 1 error on that screen u posted:
here:
Code:

            MyTimer.Start();
        }
        }
        public void TimerElapsed(object source, ElapsedEventArgs e)
        {
            if (MType == 7)
            {

u have 1} more
it should look like that:

Code:

            MyTimer.Start();
        }

        public void TimerElapsed(object source, ElapsedEventArgs e)
        {
            if (MType == 7)
            {


ah damn.
i always screw up with the { and }'s >_>
that fixes all the void errors, now i got this:

jaker63 10/21/2008 20:06

1 min
 
1 min i gotta restart computer

bisiol 10/21/2008 20:09

Quote:

Originally Posted by randomnoob (Post 1546071)
ah damn.
i always screw up with the { and }'s >_>
that fixes all the void errors, now i got this:

Hmmm its look like u have something wrong with name of character class. What is name in your character class in Caracter.cs?

pauldexter 10/21/2008 20:12

can't find in character.cs:
if (PKMode == 0 || Mob.MType != 1)
PKMode == 0 || Target.MType != 1
Target.MType == 1
Mob.MType == 1

randomnoob 10/21/2008 20:19

Quote:

Originally Posted by bisiol (Post 1546159)
Hmmm its look like u have something wrong with name of character class. What is name in your character class in Caracter.cs?

no idea what you just meant, but since you wanted charclass, i'll just post everything under class character.

Code:

namespace COServer_Project
{
    public class Character
    {
        public Client MyClient;

        public uint LuckTime = 0;
        public DateTime PrayCasted = DateTime.Now;
        public ushort PrayX = 0;
        public ushort PrayY = 0;
        public bool CastingPray = false;
        public bool Praying = false;
        public bool CanPray = false;

        public uint UID = 0;
        public ushort Model = 0;
        public ushort Avatar = 0;
        public ushort RealModel = 0;
        public ushort RealAvatar = 0;
        public bool Alive = true;
        public uint SkillExpNull = 0;
        public byte Stamina = 0;
        public bool Vending = false;

        public string Name = "";
        public string PackedInventory = "";
        public string PackedEquips = "";
        public string PackedSkills = "";
        public string PackedProfs = "";
        public string PackedWHs = "";
        public string PackedFriends = "";
        public string PackedEnemies = "";
        public bool Attacking = false;

        public byte Level = 0;
        public byte Job = 0;

        public byte Action = 100;
        public byte Direction = 3;
        public byte PKMode = 0;

        public byte RBCount = 0;
        public ulong Exp = 0;
        public uint WHSilvers = 0;
        public uint Silvers = 0;
        public uint CPs = 0;
        public ushort PKPoints = 0;
        public uint VP = 0;

        public ushort Str = 0;
        public ushort Agi = 0;
        public ushort Vit = 0;
        public ushort Spi = 0;
        public ushort StatP = 0;
        public ushort MaxHP = 0;
        public ushort CurHP = 0;
        public ushort Hair = 0;
        public ushort ShowHair = 0;
        public ushort LocX = 0;
        public ushort LocY = 0;
        public ushort LocMap = 0;
        public ushort PrevX = 0;
        public ushort PrevY = 0;
        public ushort RealAgi = 0;
        public double AddAtkPc = 1;
        public double AddMAtkPc = 1;
        public double AddExpPc = 1;
        public double AddProfPc = 1;

        public ushort Defense = 0;
        public uint MDefense = 0;
        public double MinAtk = 0;
        public double MaxAtk = 0;
        public double MAtk = 0;
        public byte Dodge = 0;

        public ushort PrevMap = 0;

        public Hashtable Skills = new Hashtable();
        public Hashtable Skill_Exps = new Hashtable();
        public Hashtable Profs = new Hashtable();
        public Hashtable Prof_Exps = new Hashtable();
        public Hashtable Friends = new Hashtable();
        public Hashtable Enemies = new Hashtable();

        public string[] Equips = new string[10];
        public string[] Inventory = new string[42];
        public string[] TCWH = new string[20];
        public string[] PCWH = new string[20];
        public string[] BIWH = new string[20];
        public string[] ACWH = new string[20];
        public string[] DCWH = new string[20];
        public string[] MAWH = new string[40];

        public uint[] Equips_UIDs = new uint[10];
        public uint[] Inventory_UIDs = new uint[41];
        public uint[][] WHIDs = new uint[6][];

        public byte ItemsInInventory = 0;
        public byte AddedSkills = 0;
        public byte TCWHCount = 0;
        public byte PCWHCount = 0;
        public byte BIWHCount = 0;
        public byte ACWHCount = 0;
        public byte DCWHCount = 0;
        public byte MAWHCount = 0;

        public SingleMob MobTarget = null;
        public SingleMob Guard = null;
        public Character PTarget = null;
        public SingleNPC TGTarget = null;
        public byte AtkType = 0;
        public ushort Potency = 0;
        public ushort SkillLooping = 0;
        public ushort SkillLoopingX = 0;
        public ushort SkillLoopingY = 0;
        public uint SkillLoopingTarget = 0;
        public bool BlueName = false;
        public bool Poisoned = false;
        public bool TeamLeader = false;
        public bool SMOn = false;
        public bool Invisible = false;
        public bool CycloneOn = false;
        public bool XpList = false;
        public byte XpCircle = 0;
        public ArrayList Team = new ArrayList(4);
        public Character MyTeamLeader = null;
        public byte PlayersInTeam = 0;
        public byte TeamCount = 0;
        public bool JoinForbidden = false;
        public bool Trading = false;
        public uint TradingWith = 0;
        public ArrayList MyTradeSide = new ArrayList(20);
        public uint TradingSilvers = 0;
        public uint TradingCPs = 0;
        public bool TradeOK = false;
        public byte MyTradeSideCount = 0;
        public bool Flying = false;

        public bool StigBuff = false;
        public bool AccuracyBuff = false;
        public bool ShieldBuff = false;
        public double ExtraXP = 0;
        public bool AccuracyOn = false;


        public uint TargetUID = 0;
        public uint RequestFriendWith = 0;

        public uint GuildDonation = 0;
        public ushort GuildID = 0;
        public byte GuildPosition = 0;

        public Guild MyGuild;
        public DateTime LastAttack;
        public DateTime LastXPC;
        public DateTime Death;
        public DateTime LastSave;
        public DateTime XPActivated;
        public DateTime GotBlueName;
        public DateTime LostPKP;
        public DateTime LastSwing = DateTime.Now;
        public DateTime AccuracyActivated = DateTime.Now;
        public DateTime LastTargetting = DateTime.Now;
        public DateTime LastGWList = DateTime.Now;
        public DateTime FlyActivated = DateTime.Now;
        public DateTime Stigged = DateTime.Now;
        public byte FlyType = 0;
        bool DeathSent = false;
        public bool Mining;
        public byte StigLevel = 0;

        public System.Timers.Timer TheTimer = new System.Timers.Timer();
        public string QuestMob = "";
        public uint QuestKO = 0;


Kiyono 10/21/2008 20:53

ow nvm i had some "}" on the wrong places lol
but got it working now and it's cool ^^

$HaDoW 10/21/2008 21:21

wtf :D using this guide I made everything working in 3 min :D and you guys still get fucking errors ?
this guy made a great thing ! only problem that he missed some shit :P
but he fixed it right away :D

randomnoob 10/21/2008 21:29

Quote:

Originally Posted by $HaDoW (Post 1546399)
wtf :D using this guide I made everything working in 3 min :D and you guys still get fucking errors ?
this guy made a great thing ! only problem that he missed some shit :P
but he fixed it right away :D

i bet you used a non-edited source -.-?

µ~Xero~µ 10/21/2008 21:34

Agreed :)

It wrecked my Brand New Spawn Command... :(

But not i cant summon....

Lets try on UltimateCo Source now...

keving15 10/21/2008 21:43

Thats why i code the most in my server myself.
I can be sure that it works problem free :)

tao4229 10/21/2008 22:25

Quote:

Originally Posted by keving15 (Post 1546465)
Thats why i code the most in my server myself.
I can be sure that it works problem free :)

Problem-free doesn't mean it's efficient.

_Emme_ 10/21/2008 22:29

The only way keving made it problem-free, is by not adding it / leaving it blank. haha

tao4229 10/21/2008 22:32

Quote:

Originally Posted by emildayan1 (Post 1546566)
The only way keving made it problem-free, is by not adding it / leaving it blank. haha

Lawlz :o

My server had RB guards working, haven't checked it in a while though(I'm letting Imitation code/run the server... Uh oh D:). Mine are not copied from here if you see them >_> They actually jump >_>(Thanks ntl3fty + Infamous).

lostsolder05 10/21/2008 22:42

Quote:

Originally Posted by tao4229 (Post 1546577)
Lawlz :o

My server had RB guards working, haven't checked it in a while though(I'm letting Imitation code/run the server... Uh oh D:). Mine are not copied from here if you see them >_> They actually jump >_>(Thanks ntl3fty + Infamous).

lold from what ive assumed alltho not tested yet in order 2 make them jump ud just send the jump packet as the guards uid? correct me if i'm wrong :P

anywayz gj (Y)

tao4229 10/21/2008 22:43

Quote:

Originally Posted by lostsolder05 (Post 1546596)
lold from what ive assumed alltho not tested yet in order 2 make them jump ud just send the jump packet as the guards uid? correct me if i'm wrong :P

anywayz gj (Y)

Yeah, Infamous told ntl3fty who told me it's the same, but LOTF doesn't have a packet for jumping like pre-made, so I just wrote one out.

_Emme_ 10/21/2008 22:43

lotf didnt even have jump packet coded correctly,or i might be wrong

*edit:
That was wierd,me and tao posted the EXACT same time :P

lostsolder05 10/21/2008 22:46

ahk, well still easy enough =x

tao4229 10/21/2008 22:48

Quote:

Originally Posted by lostsolder05 (Post 1546607)
ahk, well still easy enough =x

I mean, if I did it, it can't be that hard.

lostsolder05 10/21/2008 22:49

Quote:

Originally Posted by tao4229 (Post 1546611)
I mean, if I did it, it can't be that hard.

lolz, u should add me 2 msn sometime :P

[Only registered and activated users can see links. Click Here To Register...]


All times are GMT +2. The time now is 19:52.

Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.