fix for invalid jump 5165? (maybe solution)

09/13/2010 09:22 dowhatuwant#1
I was checking alot about the invalid jump thing.
When it keeps spam u invalid jump.
I saw it was when NPC's aint spawning on ur screen, then u just have to walk/run to the area with the npc's wich aint spawning.

Can it be because NPC maybe spawn before your character?

So the solution could be to move NPCspawning before Character spawning?

Original spawn:
Code:
public static void Spawns(Character C, bool Check)
        {
            try
            {
                COPacket CSpawn = Packets.SpawnEntity(C);
                foreach (Character CC in H_Chars.Values)
                {
                    if (CC != C && CC.Loc.Map == C.Loc.Map && MyMath.InBox(C.Loc.X, C.Loc.Y, CC.Loc.X, CC.Loc.Y, 17) && !MyMath.InBox(C.Loc.PreviousX, C.Loc.PreviousY, CC.Loc.X, CC.Loc.Y, 17) || !Check)
                    {
                        C.MyClient.AddSend(Packets.SpawnEntity(CC));
                        if (CC.MyGuild != null)
                            C.MyClient.AddSend(Packets.String(CC.MyGuild.GuildID, (byte)StringType.GuildName, CC.MyGuild.GuildName));

                        CC.MyClient.AddSend(CSpawn);
                        if (C.MyGuild != null)
                            CC.MyClient.AddSend(Packets.String(C.MyGuild.GuildID, (byte)StringType.GuildName, C.MyGuild.GuildName));
                    }
                }
                Hashtable MapMobs = (Hashtable)H_Mobs[C.Loc.Map];
                if (MapMobs != null)
                {
                    foreach (Mob M in MapMobs.Values)
                        if (M.Alive && MyMath.InBox(C.Loc.X, C.Loc.Y, M.Loc.X, M.Loc.Y, 16) && (!MyMath.InBox(C.Loc.PreviousX, C.Loc.PreviousY, M.Loc.X, M.Loc.Y, 16) || !Check))
                            C.MyClient.AddSend(Packets.SpawnEntity(M));
                }
                Hashtable MapItems = (Hashtable)H_Items[C.Loc.Map];
                if (MapItems != null)
                {
                    foreach (DroppedItem DI in MapItems.Values)
                        if (MyMath.InBox(C.Loc.X, C.Loc.Y, DI.Loc.X, DI.Loc.Y, 14) && (!MyMath.InBox(C.Loc.PreviousX, C.Loc.PreviousY, DI.Loc.X, DI.Loc.Y, 14) || !Check))
                            C.MyClient.AddSend(Packets.ItemDrop(DI));
                }
                foreach (NPC N in H_NPCs.Values)
                    if (N.Loc.Map == C.Loc.Map && MyMath.InBox(C.Loc.X, C.Loc.Y, N.Loc.X, N.Loc.Y, 14) && (!MyMath.InBox(C.Loc.PreviousX, C.Loc.PreviousY, N.Loc.X, N.Loc.Y, 14) || !Check))
                    {
                        if (N.MaxHP == 0)
                            C.MyClient.AddSend(Packets.SpawnNPC(N));
                        else
                            C.MyClient.AddSend(Packets.SpawnNPCWithHP(N));
                    }

                foreach (Features.PersonalShops.Shop S in H_PShops.Values)
                    if (S.NPCInfo.Loc.Map == C.Loc.Map && MyMath.InBox(C.Loc.X, C.Loc.Y, S.NPCInfo.Loc.X, S.NPCInfo.Loc.Y, 14) && (!MyMath.InBox(C.Loc.PreviousX, C.Loc.PreviousY, S.NPCInfo.Loc.X, S.NPCInfo.Loc.Y, 14) || !Check))
                    {
                        C.MyClient.AddSend(Packets.SpawnNamedNPC(S.NPCInfo, S.Name));
                        if (S.Hawk != "")
                            C.MyClient.AddSend(Packets.ChatMessage(26514, S.Owner.Name, "ALL", S.Hawk, 2104, 0));
                    }
                foreach (Companion Cmp in H_Companions.Values)
                    if (Cmp.Loc.Map == C.Loc.Map && MyMath.InBox(C.Loc.X, C.Loc.Y, Cmp.Loc.X, Cmp.Loc.Y, 16) && (!MyMath.InBox(C.Loc.PreviousX, C.Loc.PreviousY, Cmp.Loc.X, Cmp.Loc.Y, 16) || !Check))
                        C.MyClient.AddSend(Packets.SpawnEntity(Cmp));
                Features.GuildWars.ThePole.Spawn(C, Check);
                Features.GuildWars.TheLeftGate.Spawn(C, Check);
                Features.GuildWars.TheRightGate.Spawn(C, Check);
            }
            catch { }
        }
Spawn switch
Code:
public static void Spawns(Character C, bool Check)
        {
            try
            {
                COPacket CSpawn = Packets.SpawnEntity(C);
                foreach (NPC N in H_NPCs.Values)
                    if (N.Loc.Map == C.Loc.Map && MyMath.InBox(C.Loc.X, C.Loc.Y, N.Loc.X, N.Loc.Y, 14) && (!MyMath.InBox(C.Loc.PreviousX, C.Loc.PreviousY, N.Loc.X, N.Loc.Y, 14) || !Check))
                    {
                        if (N.MaxHP == 0)
                            C.MyClient.AddSend(Packets.SpawnNPC(N));
                        else
                            C.MyClient.AddSend(Packets.SpawnNPCWithHP(N));
                    }
                foreach (Character CC in H_Chars.Values)
                {
                    if (CC != C && CC.Loc.Map == C.Loc.Map && MyMath.InBox(C.Loc.X, C.Loc.Y, CC.Loc.X, CC.Loc.Y, 17) && !MyMath.InBox(C.Loc.PreviousX, C.Loc.PreviousY, CC.Loc.X, CC.Loc.Y, 17) || !Check)
                    {
                        C.MyClient.AddSend(Packets.SpawnEntity(CC));
                        if (CC.MyGuild != null)
                            C.MyClient.AddSend(Packets.String(CC.MyGuild.GuildID, (byte)StringType.GuildName, CC.MyGuild.GuildName));

                        CC.MyClient.AddSend(CSpawn);
                        if (C.MyGuild != null)
                            CC.MyClient.AddSend(Packets.String(C.MyGuild.GuildID, (byte)StringType.GuildName, C.MyGuild.GuildName));
                    }
                }
                Hashtable MapMobs = (Hashtable)H_Mobs[C.Loc.Map];
                if (MapMobs != null)
                {
                    foreach (Mob M in MapMobs.Values)
                        if (M.Alive && MyMath.InBox(C.Loc.X, C.Loc.Y, M.Loc.X, M.Loc.Y, 16) && (!MyMath.InBox(C.Loc.PreviousX, C.Loc.PreviousY, M.Loc.X, M.Loc.Y, 16) || !Check))
                            C.MyClient.AddSend(Packets.SpawnEntity(M));
                }
                Hashtable MapItems = (Hashtable)H_Items[C.Loc.Map];
                if (MapItems != null)
                {
                    foreach (DroppedItem DI in MapItems.Values)
                        if (MyMath.InBox(C.Loc.X, C.Loc.Y, DI.Loc.X, DI.Loc.Y, 14) && (!MyMath.InBox(C.Loc.PreviousX, C.Loc.PreviousY, DI.Loc.X, DI.Loc.Y, 14) || !Check))
                            C.MyClient.AddSend(Packets.ItemDrop(DI));
                }

                foreach (Features.PersonalShops.Shop S in H_PShops.Values)
                    if (S.NPCInfo.Loc.Map == C.Loc.Map && MyMath.InBox(C.Loc.X, C.Loc.Y, S.NPCInfo.Loc.X, S.NPCInfo.Loc.Y, 14) && (!MyMath.InBox(C.Loc.PreviousX, C.Loc.PreviousY, S.NPCInfo.Loc.X, S.NPCInfo.Loc.Y, 14) || !Check))
                    {
                        C.MyClient.AddSend(Packets.SpawnNamedNPC(S.NPCInfo, S.Name));
                        if (S.Hawk != "")
                            C.MyClient.AddSend(Packets.ChatMessage(26514, S.Owner.Name, "ALL", S.Hawk, 2104, 0));
                    }
                foreach (Companion Cmp in H_Companions.Values)
                    if (Cmp.Loc.Map == C.Loc.Map && MyMath.InBox(C.Loc.X, C.Loc.Y, Cmp.Loc.X, Cmp.Loc.Y, 16) && (!MyMath.InBox(C.Loc.PreviousX, C.Loc.PreviousY, Cmp.Loc.X, Cmp.Loc.Y, 16) || !Check))
                        C.MyClient.AddSend(Packets.SpawnEntity(Cmp));
                Features.GuildWars.ThePole.Spawn(C, Check);
                Features.GuildWars.TheLeftGate.Spawn(C, Check);
                Features.GuildWars.TheRightGate.Spawn(C, Check);
            }
            catch { }
        }
09/20/2010 20:58 FrontBoy#2
#request close there is a thread what works fine for me to fix the invalid jump PS: Search a little bit.
09/20/2010 23:01 Fish*#3
this is not a request douche.
this is the posibble fix.
ur fix is probably the one to remove it.

and u can request close on my thread.
09/22/2010 19:22 FrontBoy#4
douche i sayed #request close because i request to close the thread huh douche...
09/22/2010 21:31 Fish*#5
u will request a close for no reason, damn dude u fail.

:facepalm: x10000 was too lazy to search for it on google.

u serious made my day