Quote:
Originally Posted by tanelipe
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: