[PROBLEM] With Jump

08/10/2009 02:59 Jay1029#16
If you click another coordinate while your still in the previous jump it does that. That could be another reason.
08/10/2009 03:02 Pete1990#17
even when u fully land and jump again it does that:D
08/10/2009 03:21 andyd123#18
A video would probably help.
08/10/2009 04:46 Pete1990#19
Here is a short vid on what its doing
08/10/2009 06:29 andyd123#20
As I mentioned before, you're spawning a player again to a client which has already seen that player; this merely means you need to determine which clients have already seen the person jumping and which client's have not.
08/10/2009 09:42 tanelipe#21
Actually... if it was about the spawn packet it would look like they're teleporting, it wouldn't cut off the jump animation. :P Are you calling something like SetLocation ? I noticed that you turn the same way after each jump.

If you could show these functions here, maybe we could figure what's causing it.
Quote:
World.SpawnMeToOthers(MyChar, true);
World.SpawnOthersToMe(MyChar, true);

World.PlayerMoves(MyChar, Data);
08/10/2009 15:55 Pete1990#22
Quote:
Originally Posted by tanelipe View Post
Actually... if it was about the spawn packet it would look like they're teleporting, it wouldn't cut off the jump animation. :P Are you calling something like SetLocation ? I noticed that you turn the same way after each jump.

If you could show these functions here, maybe we could figure what's causing it.
Sure from my Case 133: for move?
Here are my World And i will post my move case to
HTML Code:
       public static void SpawnMeToOthers(Character Me, bool Check)
        {
            try
            {
                if (AllChars.Contains(Me.UID))
                {
                    foreach (DictionaryEntry DE in AllChars)
                    {
                        Character SpawnTo = (Character)DE.Value;

                        if (Me != SpawnTo)
                            if (SpawnTo.MyClient.Online)
                                if (Me.LocMap == SpawnTo.LocMap)
                                    if (MyMath.CanSee(Me.LocX, Me.LocY, SpawnTo.LocX, SpawnTo.LocY))
                                    if (MyMath.CanSee(Me.LocX, Me.LocY, SpawnTo.LocX, SpawnTo.LocY))
                                        if (!MyMath.CanSee(Me.PrevX, Me.PrevY, SpawnTo.LocX, SpawnTo.LocY) || !Check)
                                        {
                                            if (Me.MyGuild != null)
                                                SpawnTo.MyClient.SendPacket(General.MyPackets.GuildName(Me.GuildID, Me.MyGuild.GuildName));

                                            SpawnTo.MyClient.SendPacket(General.MyPackets.SpawnEntity(Me));

                                            if (Me.RBCount == 2)
                                                SpawnTo.MyClient.SendPacket(General.MyPackets.String(Me.UID, 10, "2NDMetempsychosis"));

                                            if (Me.MyGuild != null)
                                                SpawnTo.MyClient.SendPacket(General.MyPackets.GuildName(Me.GuildID, Me.MyGuild.GuildName));
                                            if (Me.Rank == 7)
                                                SpawnTo.MyClient.SendPacket(General.MyPackets.String(Me.UID, 10, "letter1"));
                                            if (Me.Rank == 6)
                                                SpawnTo.MyClient.SendPacket(General.MyPackets.String(Me.UID, 10, "letter2"));
                                            if (Me.Rank == 5)
                                                SpawnTo.MyClient.SendPacket(General.MyPackets.String(Me.UID, 10, "letter3"));
                                            if (Me.Rank == 4)
                                                SpawnTo.MyClient.SendPacket(General.MyPackets.String(Me.UID, 10, "letter4"));
                                            if (Me.Rank == 3)
                                                SpawnTo.MyClient.SendPacket(General.MyPackets.String(Me.UID, 10, "letter5"));
                                            if (Me.Rank == 2)
                                            {
                                                SpawnTo.MyClient.SendPacket(General.MyPackets.String(Me.UID, 10, "coronet3"));
                                                SpawnTo.MyClient.SendPacket(General.MyPackets.String(Me.UID, 10, "letter6"));
                                            }
                                            if (Me.Rank == 1)
                                            {
                                                SpawnTo.MyClient.SendPacket(General.MyPackets.String(Me.UID, 10, "coronet4"));
                                                SpawnTo.MyClient.SendPacket(General.MyPackets.String(Me.UID, 10, "letter7"));
                                            }
                                        }

                    }
                }
            }
            catch (Exception Exc) { General.WriteLine(Convert.ToString(Exc)); }
        }
HTML Code:
public static void SpawnOthersToMe(Character Me, bool Check)
        {
            try
            {
                if (AllChars.Contains(Me.UID))
                {
                    foreach (DictionaryEntry DE in AllChars)
                    {
                        Character SpawnWho = (Character)DE.Value;

                        if (Me != SpawnWho)
                            if (SpawnWho.MyClient.Online)
                                if (Me.LocMap == SpawnWho.LocMap)
                                    if (MyMath.CanSee(Me.LocX, Me.LocY, SpawnWho.LocX, SpawnWho.LocY))
                                        if (!MyMath.CanSee(Me.PrevX, Me.PrevY, SpawnWho.LocX, SpawnWho.LocY) || Check == false)
                                        {
                                            if (SpawnWho.MyGuild != null)
                                                Me.MyClient.SendPacket(General.MyPackets.GuildName(SpawnWho.GuildID, SpawnWho.MyGuild.GuildName));

                                            Me.MyClient.SendPacket(General.MyPackets.SpawnEntity(SpawnWho));

                                            if (SpawnWho.RBCount == 2)
                                                Me.MyClient.SendPacket(General.MyPackets.String(SpawnWho.UID, 10, "2NDMetempsychosis"));

                                            if (SpawnWho.MyGuild != null)
                                                Me.MyClient.SendPacket(General.MyPackets.GuildName(SpawnWho.GuildID, SpawnWho.MyGuild.GuildName));
                                            if (SpawnWho.Rank == 7)
                                                Me.MyClient.SendPacket(General.MyPackets.String(Me.UID, 10, "letter1"));
                                            if (SpawnWho.Rank == 6)
                                                Me.MyClient.SendPacket(General.MyPackets.String(Me.UID, 10, "letter2"));
                                            if (SpawnWho.Rank == 5)
                                                Me.MyClient.SendPacket(General.MyPackets.String(Me.UID, 10, "letter3"));
                                            if (SpawnWho.Rank == 4)
                                                Me.MyClient.SendPacket(General.MyPackets.String(Me.UID, 10, "letter4"));
                                            if (SpawnWho.Rank == 3)
                                                Me.MyClient.SendPacket(General.MyPackets.String(Me.UID, 10, "letter5"));
                                            if (SpawnWho.Rank == 2)
                                            {
                                                Me.MyClient.SendPacket(General.MyPackets.String(Me.UID, 10, "coronet3"));
                                                Me.MyClient.SendPacket(General.MyPackets.String(Me.UID, 10, "letter6"));
                                            }
                                            if (SpawnWho.Rank == 1)
                                            {
                                                Me.MyClient.SendPacket(General.MyPackets.String(Me.UID, 10, "coronet4"));
                                                Me.MyClient.SendPacket(General.MyPackets.String(Me.UID, 10, "letter7"));
                                            }
                                        }
                    }
                }
            }
            catch (Exception Exc) { General.WriteLine(Convert.ToString(Exc)); }
        }
    }
}
HTML Code:
        public static void PlayerMoves(Character MovingChar, byte[] Data)
        {
            try
            {
                foreach (DictionaryEntry DE in AllChars)
                {
                    Character Charr = (Character)DE.Value;

                    if (Charr.LocMap == MovingChar.LocMap)
                        if (MyMath.CanSeeBig(Charr.LocX, Charr.LocY, MovingChar.LocX, MovingChar.LocY))
                            Charr.MyClient.SendPacket(Data);
                }
            }
            catch (Exception Exc) { General.WriteLine(Convert.ToString(Exc)); }
        }
HTML Code:
case 133:
                                    {
                                        if (MyChar.Mining)
                                            MyChar.Mining = false;

                                        SendPacket(Data);
                                        short PrevX = (short)((Data[0x11] << 8) + Data[0x10]);
                                        short PrevY = (short)((Data[0x13] << 8) + Data[0x12]);
                                        short NewX = (short)((Data[0xd] << 8) + Data[0xc]);
                                        short NewY = (short)((Data[0xf] << 8) + Data[0xe]);

                                        MyChar.Attacking = false;
                                        MyChar.TargetUID = 0;
                                        MyChar.MobTarget = null;
                                        MyChar.TGTarget = null;
                                        MyChar.PTarget = null;
                                        MyChar.SkillLooping = 0;
                                        MyChar.AtkType = 0;
                                        MyChar.PrevX = MyChar.LocX;
                                        MyChar.PrevY = MyChar.LocY;
                                        MyChar.LocX = (ushort)NewX;
                                        MyChar.LocY = (ushort)NewY;
                                        MyChar.Action = 100;

                                        World.SpawnMeToOthers(MyChar, true);
                                        World.SpawnOthersToMe(MyChar, true);
                                        World.PlayerMoves(MyChar, Data);
                                        World.SurroundNPCs(MyChar, true);
                                        World.SurroundMobs(MyChar, true);
                                        World.SurroundDroppedItems(MyChar, true);

                                        break;
                                    }
                                case 74:
09/02/2009 10:11 Arco:)#23
#bump cuz this never got fixed
09/03/2009 06:17 PeTe Ninja#24
Well Pete, On both of them you are showing guild twice and you are spawning entity before the rest, which you should spawn after.