|
You last visited: Today at 16:54
Advertisement
[4267] Jump/Spawn Rollback/Bug
Discussion on [4267] Jump/Spawn Rollback/Bug within the CO2 Private Server forum part of the Conquer Online 2 category.
02/09/2012, 00:13
|
#1
|
elite*gold: 0
Join Date: May 2009
Posts: 884
Received Thanks: 211
|
[4267] Jump/Spawn Rollback/Bug
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).
|
|
|
02/09/2012, 00:33
|
#2
|
elite*gold: 12
Join Date: Jul 2011
Posts: 8,282
Received Thanks: 4,191
|
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.
|
|
|
02/09/2012, 00:35
|
#3
|
elite*gold: 0
Join Date: May 2009
Posts: 884
Received Thanks: 211
|
Quote:
Originally Posted by Fаng
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.
|
for example?
|
|
|
02/09/2012, 00:52
|
#4
|
elite*gold: 12
Join Date: Jul 2011
Posts: 8,282
Received Thanks: 4,191
|
Quote:
Originally Posted by killersub
for example?
|
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.
|
|
|
02/09/2012, 00:56
|
#5
|
elite*gold: 0
Join Date: May 2009
Posts: 884
Received Thanks: 211
|
Quote:
Originally Posted by Fаng
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.
|
|
|
02/09/2012, 01:03
|
#6
|
elite*gold: 12
Join Date: Jul 2011
Posts: 8,282
Received Thanks: 4,191
|
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.
|
|
|
02/09/2012, 01:17
|
#7
|
elite*gold: 0
Join Date: May 2009
Posts: 884
Received Thanks: 211
|
Quote:
Originally Posted by Fаng
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;
}
|
|
|
02/09/2012, 02:38
|
#8
|
elite*gold: 12
Join Date: Jul 2011
Posts: 8,282
Received Thanks: 4,191
|
Quote:
Originally Posted by killersub
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;
}
|
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.
|
|
|
02/09/2012, 04:17
|
#9
|
elite*gold: 0
Join Date: May 2009
Posts: 884
Received Thanks: 211
|
Quote:
Originally Posted by Fаng
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.
|
|
|
02/09/2012, 05:04
|
#10
|
elite*gold: 12
Join Date: Jul 2011
Posts: 8,282
Received Thanks: 4,191
|
Quote:
Originally Posted by killersub
when I did that, in the console it says, "Valid Jump!" but my character jumps without moving now.
|
Do you mean that it jumps in place... or do you mean that it jumps without being teleported back?
|
|
|
02/09/2012, 20:51
|
#11
|
elite*gold: 0
Join Date: May 2009
Posts: 884
Received Thanks: 211
|
Quote:
Originally Posted by Fаng
Do you mean that it jumps in place... or do you mean that it jumps without being teleported back?
|
it jumps in place.
Like I jump and stays in the same place with a rollback everytime so basically I can only walk/run.
|
|
|
 |
Similar Threads
|
[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
|
Bios-Settings D3D v1.6 - Chams, Anti AFK, Super Jump, Quick Spawn, Slot, Speed & More
10/07/2011 - WarRock Hacks, Bots, Cheats & Exploits - 25 Replies
http://i55.tinypic.com/ffb700.png
Download: Bios-Settings D3D v1.6.rar
Virustotal: VirusTotal - Free Online Virus, Malware and URL Scanner
ENJOY!
|
[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?
|
All times are GMT +1. The time now is 16:54.
|
|