Okay so I've been working with a 4267 source lately and it's been working exceedingly fine, however, I jump around IN the game and it somehow rolls the character back 1 pace and the spawns around do not update meaning when I attack a mob, it shows me that i attacked it but I cant attack it again unless I run towards it/jump in/out back into the same area (you get me?).
here is the official AppendJump from my source:
Code:
private void AppendJump(GameClient Client, DataPacket* DPacket, byte[] Packet)
{
if (!Client.Entity.Dead)
{
#region Disable Mining
if (Client.Mining)
Client.Mining = false;
#endregion
uint Time = Native.timeGetTime();
if (Kernel.GetDistance(DPacket->dwParam_Lo, DPacket->dwParam_Hi, Client.Entity.X, Client.Entity.Y) <= 16)
{
#region Speeder Check(s)
if (Math.Abs(DPacket->TimeStamp - Client.Entity.Stamps.LastClientMovement) <= 500
|| DPacket->TimeStamp == 0)
{
Client.DynamicTeleport(Client.Entity.MapID, Client.Entity.X, Client.Entity.Y, Client.Entity.MapID.DynamicID);
Client.Speak(Color.Red, ChatType.Center, "Pullback possible speed hacking!");
return;
}
if (Time - Client.Entity.Stamps.LastClientMovement <= 500)
{
Client.DynamicTeleport(Client.Entity.MapID, Client.Entity.X, Client.Entity.Y, Client.Entity.MapID.DynamicID);
Client.Speak(Color.Red, ChatType.Center, "Pullback possible speed hacking!");
return;
}
else
{
if (Time - Client.Entity.Stamps.LastServerMovement <= 300)
{
Client.DynamicTeleport(Client.Entity.MapID, Client.Entity.X, Client.Entity.Y, Client.Entity.MapID.DynamicID);
Client.Speak(Color.Red, ChatType.Center, "Pullback possible speed hacking!");
return;
}
}
#endregion
Client.SendScreen(Packet, true);
Client.Entity.Facing = Kernel.AngleEntity(DPacket->dwParam_Lo, DPacket->dwParam_Hi, Client.Entity.X, Client.Entity.Y);
if (Client.Entity.MapID == 1038)
{
if (!GuildWar.ValidJump(Client.TileColor, out Client.TileColor, DPacket->dwParam_Lo, DPacket->dwParam_Hi))
{
Client.DynamicTeleport(Client.Entity.MapID, Client.Entity.X, Client.Entity.Y, Client.Entity.MapID.DynamicID);
Client.Speak(Color.Red, ChatType.Center, "Please only walk to this area!");
return;
}
}
if (Kernel.ValidCordinate(Client.Entity.MapID, DPacket->dwParam_Lo, DPacket->dwParam_Hi))
{
Client.Entity.X = DPacket->dwParam_Lo;
Client.Entity.Y = DPacket->dwParam_Hi;
Client.Screen.Reload(false, null);
}
else
Client.Teleport(Client.Entity.MapID, Client.Entity.X, Client.Entity.Y);
}
else
{
Client.Speak(Color.Red, ChatType.Center, "Pullback jump to far!");
return;
}
}
}
could it be cause of the "pullback" mentioned in the code?
Much help will sure be appreciated, sorry for this new thread but this was the only bug preventing my source to be "bug-free" (metaphorically speaking).
Your speed check is bugged. Players should be able to move faster than that.
Comment it out and see if that works. Then have the source output the difference so you can see what the lowest time really is. Don't forget to check ALL of the possible angles.
Your speed check is bugged. Players should be able to move faster than that.
Comment it out and see if that works. Then have the source output the difference so you can see what the lowest time really is. Don't forget to check ALL of the possible angles.
Well, surround the speed check region with comments ( \* comment *\ ). See if it works, then... if it does... output the difference of Time - Client.Entity.Stamps.LastClientMovement and on a new line, the difference between Time - Client.Entity.Stamps.LastServerMovement. Once you get that, change the code to reflect the new values. As it stands... your code checks 500 milliseconds for client movement and 300 milliseconds for server movement.
Well, surround the speed check region with comments ( \* comment *\ ). See if it works, then... if it does... output the difference of Time - Client.Entity.Stamps.LastClientMovement and on a new line, the difference between Time - Client.Entity.Stamps.LastServerMovement. Once you get that, change the code to reflect the new values. As it stands... your code checks 500 milliseconds for client movement and 300 milliseconds for server movement.
I have quoted those lines, still I tested and yet the same thing happens.
Ok, so if you commented out the entire section like so:
Code:
private void AppendJump(GameClient Client, DataPacket* DPacket, byte[] Packet)
{
if (!Client.Entity.Dead)
{
#region Disable Mining
if (Client.Mining)
Client.Mining = false;
#endregion
uint Time = Native.timeGetTime();
if (Kernel.GetDistance(DPacket->dwParam_Lo, DPacket->dwParam_Hi, Client.Entity.X, Client.Entity.Y) <= 16)
{
/* COMMENTED OUT -------------------------------------------------------------------------------------------------------
#region Speeder Check(s)
if (Math.Abs(DPacket->TimeStamp - Client.Entity.Stamps.LastClientMovement) <= 500
|| DPacket->TimeStamp == 0)
{
Client.DynamicTeleport(Client.Entity.MapID, Client.Entity.X, Client.Entity.Y, Client.Entity.MapID.DynamicID);
Client.Speak(Color.Red, ChatType.Center, "Pullback possible speed hacking!");
return;
}
if (Time - Client.Entity.Stamps.LastClientMovement <= 500)
{
Client.DynamicTeleport(Client.Entity.MapID, Client.Entity.X, Client.Entity.Y, Client.Entity.MapID.DynamicID);
Client.Speak(Color.Red, ChatType.Center, "Pullback possible speed hacking!");
return;
}
else
{
if (Time - Client.Entity.Stamps.LastServerMovement <= 300)
{
Client.DynamicTeleport(Client.Entity.MapID, Client.Entity.X, Client.Entity.Y, Client.Entity.MapID.DynamicID);
Client.Speak(Color.Red, ChatType.Center, "Pullback possible speed hacking!");
return;
}
}
#endregion
----------------------------------------------------------------------------------------------------------------------------*/
Client.SendScreen(Packet, true);
Client.Entity.Facing = Kernel.AngleEntity(DPacket->dwParam_Lo, DPacket->dwParam_Hi, Client.Entity.X, Client.Entity.Y);
if (Client.Entity.MapID == 1038)
{
if (!GuildWar.ValidJump(Client.TileColor, out Client.TileColor, DPacket->dwParam_Lo, DPacket->dwParam_Hi))
{
// Console.WriteLine("Valid Jump!");
Client.DynamicTeleport(Client.Entity.MapID, Client.Entity.X, Client.Entity.Y, Client.Entity.MapID.DynamicID);
Client.Speak(Color.Red, ChatType.Center, "Please only walk to this area!");
return;
}
}
if (Kernel.ValidCordinate(Client.Entity.MapID, DPacket->dwParam_Lo, DPacket->dwParam_Hi))
{
// Console.WriteLine("Valid Jump!");
Client.Entity.X = DPacket->dwParam_Lo;
Client.Entity.Y = DPacket->dwParam_Hi;
Client.Screen.Reload(false, null);
}
else
// {
// Console.WriteLine("Invalid Jump!");
Client.Teleport(Client.Entity.MapID, Client.Entity.X, Client.Entity.Y);
// }
}
else
{
// Console.WriteLine("Invalid Jump!");
Client.Speak(Color.Red, ChatType.Center, "Pullback jump to far!");
return;
}
}
}
then there's a possibility that the jump isn't valid. If you know how to breakpoint, put breakpoints in and follow the code... else, do what I used to do back in the days of NewestCoServer. Make outputs such as the ones that I commented into the code above. Also, the distance should be 18 and based on a square, not a circle. If you're not sure if it's checking it as a square or circle, check the method.
Ok, so if you commented out the entire section like so:
Code:
private void AppendJump(GameClient Client, DataPacket* DPacket, byte[] Packet)
{
if (!Client.Entity.Dead)
{
#region Disable Mining
if (Client.Mining)
Client.Mining = false;
#endregion
uint Time = Native.timeGetTime();
if (Kernel.GetDistance(DPacket->dwParam_Lo, DPacket->dwParam_Hi, Client.Entity.X, Client.Entity.Y) <= 16)
{
/* COMMENTED OUT -------------------------------------------------------------------------------------------------------
#region Speeder Check(s)
if (Math.Abs(DPacket->TimeStamp - Client.Entity.Stamps.LastClientMovement) <= 500
|| DPacket->TimeStamp == 0)
{
Client.DynamicTeleport(Client.Entity.MapID, Client.Entity.X, Client.Entity.Y, Client.Entity.MapID.DynamicID);
Client.Speak(Color.Red, ChatType.Center, "Pullback possible speed hacking!");
return;
}
if (Time - Client.Entity.Stamps.LastClientMovement <= 500)
{
Client.DynamicTeleport(Client.Entity.MapID, Client.Entity.X, Client.Entity.Y, Client.Entity.MapID.DynamicID);
Client.Speak(Color.Red, ChatType.Center, "Pullback possible speed hacking!");
return;
}
else
{
if (Time - Client.Entity.Stamps.LastServerMovement <= 300)
{
Client.DynamicTeleport(Client.Entity.MapID, Client.Entity.X, Client.Entity.Y, Client.Entity.MapID.DynamicID);
Client.Speak(Color.Red, ChatType.Center, "Pullback possible speed hacking!");
return;
}
}
#endregion
----------------------------------------------------------------------------------------------------------------------------*/
Client.SendScreen(Packet, true);
Client.Entity.Facing = Kernel.AngleEntity(DPacket->dwParam_Lo, DPacket->dwParam_Hi, Client.Entity.X, Client.Entity.Y);
if (Client.Entity.MapID == 1038)
{
if (!GuildWar.ValidJump(Client.TileColor, out Client.TileColor, DPacket->dwParam_Lo, DPacket->dwParam_Hi))
{
// Console.WriteLine("Valid Jump!");
Client.DynamicTeleport(Client.Entity.MapID, Client.Entity.X, Client.Entity.Y, Client.Entity.MapID.DynamicID);
Client.Speak(Color.Red, ChatType.Center, "Please only walk to this area!");
return;
}
}
if (Kernel.ValidCordinate(Client.Entity.MapID, DPacket->dwParam_Lo, DPacket->dwParam_Hi))
{
// Console.WriteLine("Valid Jump!");
Client.Entity.X = DPacket->dwParam_Lo;
Client.Entity.Y = DPacket->dwParam_Hi;
Client.Screen.Reload(false, null);
}
else
// {
// Console.WriteLine("Invalid Jump!");
Client.Teleport(Client.Entity.MapID, Client.Entity.X, Client.Entity.Y);
// }
}
else
{
// Console.WriteLine("Invalid Jump!");
Client.Speak(Color.Red, ChatType.Center, "Pullback jump to far!");
return;
}
}
}
then there's a possibility that the jump isn't valid. If you know how to breakpoint, put breakpoints in and follow the code... else, do what I used to do back in the days of NewestCoServer. Make outputs such as the ones that I commented into the code above. Also, the distance should be 18 and based on a square, not a circle. If you're not sure if it's checking it as a square or circle, check the method.
Edit: I'm going to class. I'll bbl.
yessir, just like you did.
here is how it checks valid coordinates:
Code:
public static bool ValidCordinate(ushort MapID, ushort X, ushort Y)
{
if (ConquerDMap.Maps[MapID].Invalid(X, Y))
return false;
return true;
}
here is the Invalid void behind the DMap file:
Code:
public ushort MapID;
public byte[,] Coordinates;
public short MaxHeight, MaxWidth;
public bool Invalid(ushort X, ushort Y)
{
if (X > MaxWidth || Y > MaxHeight)
return false;
return Coordinates[X, Y] == 1;
}
public static bool ValidCordinate(ushort MapID, ushort X, ushort Y)
{
if (ConquerDMap.Maps[MapID].Invalid(X, Y))
return false;
return true;
}
here is the Invalid void behind the DMap file:
Code:
public ushort MapID;
public byte[,] Coordinates;
public short MaxHeight, MaxWidth;
public bool Invalid(ushort X, ushort Y)
{
if (X > MaxWidth || Y > MaxHeight)
return false;
return Coordinates[X, Y] == 1;
}
I meant the method that checks for distance. Anyways, make the outputs to check out what's going wrong. If you copy my code and uncomment the output codes, you should get an answer.
I meant the method that checks for distance. Anyways, make the outputs to check out what's going wrong. If you copy my code and uncomment the output codes, you should get an answer.
when I did that, in the console it says, "Valid Jump!" but my character jumps without moving now.
[Guide] Unique spawn Area & Multi-spawn! & hints to Add New Uniqes ! [Vsro] 02/17/2013 - SRO PServer Guides & Releases - 31 Replies Please Follow this thread, this topic OUTDATE and it have alot of wrong information
http://www.elitepvpers.com/forum/private-sro-expl oits-hacks-bots-guides/2339110-epic-release-us-uni que-spot.html
Well as you can read from the topic title
lets start
USE
[Release]Imba Jump Hack or High Jump 09/26/2010 - Soldier Front Hacks, Bots, Cheats & Exploits - 127 Replies Hello there anyways I am here again just for me to release this nice .cfg file to make your jumping more higher and better even though you are just using the space bar and I will say this unto you all things has a Pros and Cons even though it is very nice.
=============================
: This file makes things easier for you to jump, it will make you look like a Pro like that video that I have posted below.
=============================
: You will not enhance your skills because you are...
[Exploit] Jump through the ground and move whereever you want then jump back 06/28/2008 - General Gaming Releases - 7 Replies Hai, in my effort to try and contribute to this amazing place =)
This can work like a teleport in getting you almost any place you want to go.
It requires no addons/bots/programs, its built in nicly in age of conan
Here is how you do it :
Simply type : /minion_falling_down
Voila you fall through and can move wherever you want to go
Any jump gate, jump wall tool for 5028 06/23/2008 - Conquer Online 2 - 0 Replies I've searched the whole site looking for a tool for the above mentioned. Anyone know any tools still work for 5028 patch with the above mentioned feature?