|
You last visited: Today at 15:55
Advertisement
Packet jump noob question - How to update hero position /client ?
Discussion on Packet jump noob question - How to update hero position /client ? within the CO2 Programming forum part of the Conquer Online 2 category.
05/28/2018, 01:40
|
#1
|
elite*gold: 0
Join Date: May 2006
Posts: 319
Received Thanks: 49
|
Packet jump noob question - How to update hero position /client ?
Hello, this my first project messing with packets, so get it easy guys.
After sending a jump packet to server I can see from another account logged in that the jump was made, but client that i sent the packet didnt update the hero position (jump animation on client was not made). How can I update the client, I mean, how can i synchronize it?
Shouldn't it working by sending the same jump packet to client? I guess no, right...
I can call jump function from memory, but at the end it will send jump packet again to server, so no point doing that way...
Would it work if I use same packet that I received from others players jump and construct one with my hero info and send it to client? (I suppose that there is some hero info on this packet)
Here are some jump packets, one received (server->client) from someone jumping around and one packet sent by jumping with mouseclick.
Code:
27-05-2018 20:15:15 [RECV] Type: 2102 Length: 25
===================================================================
19 00 36 08 08 fc b3 c9 02 18 00 48 ac 81 86 0f ; ..6........H....
60 a1 01 68 00 70 00 78 00 ; `..h.p.x.
[DECODED] Decoded-length: 32 Decoded-Fields: 7
Field's key : 1, 3, 9, 12, 13, 14, 15,
Field's type: 0, 0, 0, 0, 0, 0, 0,
Field's size: 4, 4, 4, 4, 4, 4, 4,
19 00 36 08 fc 59 52 00 00 00 00 00 ac 80 e1 01 | ..6..YR.........
a1 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
Code:
27-05-2018 20:29:21[SENT] Type: 2102 Length: 47
===================================================================
2f 00 36 08 08 fb b3 c9 02 38 b2 03 40 d3 03 48 ; /[email protected]
d3 96 c3 0f 60 89 01 68 06 70 af 03 78 d2 03 88 ; ....`..h.p..x...
01 ea 07 a0 01 ff ff ff ff ff ff ff ff ff 01 ; ...............
[DECODED] Decoded-length: 56 Decoded-Fields: 11
Field's key : 1, 7, 8, 9, 12, 13, 14, 15, 17, 20, 0,
Field's type: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
Field's size: 4, 4, 4, 4, 4, 4, 4, 4, 4, 8, 8,
2f 00 36 08 fb 59 52 00 b2 01 00 00 d3 01 00 00 | /.6..YR.........
53 cb f0 01 89 00 00 00 06 00 00 00 af 01 00 00 | S...............
d2 01 00 00 ea 03 00 00 ff ff ff ff ff ff ff ff | ................
fd 7e bf df ed 76 bb dd | .~...v..
Thank you in advance. I can't enjoy a sunday break in other way.
|
|
|
05/28/2018, 02:31
|
#2
|
elite*gold: 12
Join Date: Jul 2011
Posts: 8,282
Received Thanks: 4,191
|
You won't see the animation. Even if you send the jump back to the client, that only confirms the new location. It doesn't perform the animation because it expects that you requested the jump (because why wouldn't you be the requester in a normal situation). Easiest way would be to send a teleport, or some other forced movement, to the client so it updates the location. It won't look great, but it will work. Why did you post guild member list packets?
|
|
|
05/28/2018, 13:14
|
#3
|
elite*gold: 0
Join Date: May 2006
Posts: 319
Received Thanks: 49
|
Hmmm.... Well, maybe the jumps made in autohunt is triggered by received packets, cause that jump does not trigger the jump function on memory, I will look further into this tonight.
I just listed the packets triggered when jump action is done/received. For jump, packet type is 2102 and for running, packet type is 2245 for current conquer patch ( 6717).
|
|
|
05/29/2018, 20:39
|
#4
|
elite*gold: 0
Join Date: May 2006
Posts: 319
Received Thanks: 49
|
Quote:
Originally Posted by giacometti
maybe the jumps made in autohunt is triggered by received packets,
|
did not work;
Quote:
Originally Posted by Spirited
Easiest way would be to send a teleport
|
worked like a charm!
 is helping a lot by the way.
For reference, this was the packet that I test to teleport, by sending it to client:
Code:
29-05-2018 15:14:32 [RECV] Type: 2102 Length: 29
===================================================================
1d 00 36 08 08 fb b3 c9 02 18 ea 07 48 a2 d1 dd ; ..6.........H...
10 50 00 60 56 68 07 70 d7 02 78 b2 03 ; .P.`Vh.p..x..
[DECODED] Decoded-length: 36 Decoded-Fields: 8
Field's key : 1, 3, 9, 10, 12, 13, 14, 15,
Field's type: 0, 0, 0, 0, 0, 0, 0, 0,
Field's size: 4, 4, 4, 4, 4, 4, 4, 4,
1d 00 36 08 fb 59 52 00 ea 03 00 00 a2 68 17 02 | ..6..YR......h..
00 00 00 00 56 00 00 00 07 00 00 00 57 01 00 00 | ....V.......W...
b2 01 00 00 | ....
I think this is like the MsgAction... Fieldkey 1 = playerId, Fieldkey 3 = mapId, Fieldkey 9 = timestamp? , Fieldkey 12 is the actiontype if I am not wrong. F13 maybe the facedirection, F14 and F15 are the coords for sure.
|
|
|
05/29/2018, 21:30
|
#5
|
elite*gold: 0
Join Date: Apr 2018
Posts: 22
Received Thanks: 0
|
Quote:
Originally Posted by giacometti
did not work;
worked like a charm!
 is helping a lot by the way.
For reference, this was the packet that I test to teleport, by sending it to client:
Code:
29-05-2018 15:14:32 [RECV] Type: 2102 Length: 29
===================================================================
1d 00 36 08 08 fb b3 c9 02 18 ea 07 48 a2 d1 dd ; ..6.........H...
10 50 00 60 56 68 07 70 d7 02 78 b2 03 ; .P.`Vh.p..x..
[DECODED] Decoded-length: 36 Decoded-Fields: 8
Field's key : 1, 3, 9, 10, 12, 13, 14, 15,
Field's type: 0, 0, 0, 0, 0, 0, 0, 0,
Field's size: 4, 4, 4, 4, 4, 4, 4, 4,
1d 00 36 08 fb 59 52 00 ea 03 00 00 a2 68 17 02 | ..6..YR......h..
00 00 00 00 56 00 00 00 07 00 00 00 57 01 00 00 | ....V.......W...
b2 01 00 00 | ....
I think this is like the MsgAction... Fieldkey 1 = playerId, Fieldkey 3 = mapId, Fieldkey 9 = timestamp? , Fieldkey 12 is the actiontype if I am not wrong. F13 maybe the facedirection, F14 and F15 are the coords for sure.
|
hey guys
i saw this packet and i know it
but i have one question and please dont say im stupid
can i use this packet to get speedhack ?
if its possible can you only give me the idea about how?
|
|
|
05/29/2018, 21:32
|
#6
|
elite*gold: 0
Join Date: Apr 2017
Posts: 91
Received Thanks: 56
|
Quote:
Originally Posted by giacometti
For reference, this was the packet that I test to teleport, by sending it to client:
Code:
29-05-2018 15:14:32 [RECV] Type: 2102 Length: 29
===================================================================
1d 00 36 08 08 fb b3 c9 02 18 ea 07 48 a2 d1 dd ; ..6.........H...
10 50 00 60 56 68 07 70 d7 02 78 b2 03 ; .P.`Vh.p..x..
[DECODED] Decoded-length: 36 Decoded-Fields: 8
Field's key : 1, 3, 9, 10, 12, 13, 14, 15,
Field's type: 0, 0, 0, 0, 0, 0, 0, 0,
Field's size: 4, 4, 4, 4, 4, 4, 4, 4,
1d 00 36 08 fb 59 52 00 ea 03 00 00 a2 68 17 02 | ..6..YR......h..
00 00 00 00 56 00 00 00 07 00 00 00 57 01 00 00 | ....V.......W...
b2 01 00 00 | ....
I think this is like the MsgAction... Fieldkey 1 = playerId, Fieldkey 3 = mapId, Fieldkey 9 = timestamp? , Fieldkey 12 is the actiontype if I am not wrong. F13 maybe the facedirection, F14 and F15 are the coords for sure.
|
You should try using the "NinjaStep" (156) action type - that one doesn't require the map ID and doesn't have any "side effects" like the teleport one does, I believe.
|
|
|
05/29/2018, 21:35
|
#7
|
elite*gold: 0
Join Date: Apr 2018
Posts: 22
Received Thanks: 0
|
Quote:
Originally Posted by boDil
You should try using the "NinjaStep" (156) action type - that one doesn't require the map ID and doesn't have any "side effects" like the teleport one does, I believe.
|
hey bodil
please tell me more about the ninja step
please i realy need this
|
|
|
05/30/2018, 00:06
|
#8
|
elite*gold: 0
Join Date: May 2006
Posts: 319
Received Thanks: 49
|
Quote:
Originally Posted by Spirited
Why did you post guild member list packets?
|
Just notice that. Sorry, probably I ctrl+c/v the wrong one... The first packet on the first post should be something like this (packet of jump action from someone jumping around near hero):
Code:
29-05-2018 18:56:34 [RECV] Type: 2102 Length: 38
===================================================================
26 00 36 08 08 fb b3 c9 02 38 b6 03 40 d5 03 48 ; &[email protected]
b5 d5 94 17 60 89 01 68 00 70 b5 03 78 d2 03 88 ; ....`..h.p..x...
01 ea 07 b8 01 00 ; ......
[DECODED] Decoded-length: 44 Decoded-Fields: 10
Field's key : 1, 7, 8, 9, 12, 13, 14, 15, 17, 23,
Field's type: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
Field's size: 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
26 00 36 08 fb 59 52 00 b6 01 00 00 d5 01 00 00 | &.6..YR.........
b5 2a e5 02 89 00 00 00 00 00 00 00 b5 01 00 00 | .*..............
d2 01 00 00 ea 03 00 00 00 00 00 00 | ............
FK1 = playerId
FK7 = x dest
FK8 = y dest
FK9 = timestamp ?
FK12 = actiontype
FK14 = x source
FK15 = y source
FK17 = mapId
|
|
|
05/30/2018, 16:29
|
#9
|
elite*gold: 0
Join Date: Feb 2009
Posts: 262
Received Thanks: 161
|
Code:
[ProtoContract]
public class ActionQuery
{
[ProtoMember(1, IsRequired = false)]
public uint UID;
[ProtoMember(2, IsRequired = false)]
public uint TargetUID;
[ProtoMember(3, IsRequired = false)]
public uint dwParam;//possible to be ulong
[ProtoMember(4, IsRequired = false)]
public uint dwParam2;
[ProtoMember(5, IsRequired = false)]
public uint dwParam3;
[ProtoMember(6, IsRequired = false)]
public uint dwParam4;
[ProtoMember(7, IsRequired = false)]
public uint ObjectX;
[ProtoMember(8, IsRequired = false)]
public uint ObjectY;
[ProtoMember(9, IsRequired = false)]
public int Timestamp;
[ProtoMember(10, IsRequired = false)]
public uint AttackerUID;
[ProtoMember(11, IsRequired = false)]
public uint unknow11;
[ProtoMember(12, IsRequired = true)]
public ActionType Type;
[ProtoMember(13, IsRequired = false)]
public ushort Fascing;//26
[ProtoMember(14, IsRequired = false)]
public ushort wParam1;
[ProtoMember(15, IsRequired = false)]
public ushort wParam2;
[ProtoMember(16, IsRequired = false)]
public uint wParam3;
[ProtoMember(17, IsRequired = false)]
public uint wParam4;
[ProtoMember(18, IsRequired = false)]
public ushort wParam5;
[ProtoMember(19, IsRequired = false)]
public int unknow19;
[ProtoMember(20, IsRequired = false)]
public int unknow20;
[ProtoMember(21, IsRequired = false)]
public int unknow21;
[ProtoMember(22, IsRequired = false)]
public int unknow22;
[ProtoMember(23, IsRequired = false)]
public int unknow23;
[ProtoMember(24, IsRequired = false)]
public string Text;
}
JumpX = ObjectX;
JumpY = ObjectY;
dwParam3 = mapid;
|
|
|
05/30/2018, 16:37
|
#10
|
elite*gold: 0
Join Date: May 2006
Posts: 319
Received Thanks: 49
|
Quote:
Originally Posted by teroareboss1
Code:
[ProtoContract]
public class ActionQuery
{
[ProtoMember(1, IsRequired = false)]
public uint UID;
[ProtoMember(2, IsRequired = false)]
public uint TargetUID;
[ProtoMember(3, IsRequired = false)]
public uint dwParam;//possible to be ulong
[ProtoMember(4, IsRequired = false)]
public uint dwParam2;
[ProtoMember(5, IsRequired = false)]
public uint dwParam3;
[ProtoMember(6, IsRequired = false)]
public uint dwParam4;
[ProtoMember(7, IsRequired = false)]
public uint ObjectX;
[ProtoMember(8, IsRequired = false)]
public uint ObjectY;
[ProtoMember(9, IsRequired = false)]
public int Timestamp;
[ProtoMember(10, IsRequired = false)]
public uint AttackerUID;
[ProtoMember(11, IsRequired = false)]
public uint unknow11;
[ProtoMember(12, IsRequired = true)]
public ActionType Type;
[ProtoMember(13, IsRequired = false)]
public ushort Fascing;//26
[ProtoMember(14, IsRequired = false)]
public ushort wParam1;
[ProtoMember(15, IsRequired = false)]
public ushort wParam2;
[ProtoMember(16, IsRequired = false)]
public uint wParam3;
[ProtoMember(17, IsRequired = false)]
public uint wParam4;
[ProtoMember(18, IsRequired = false)]
public ushort wParam5;
[ProtoMember(19, IsRequired = false)]
public int unknow19;
[ProtoMember(20, IsRequired = false)]
public int unknow20;
[ProtoMember(21, IsRequired = false)]
public int unknow21;
[ProtoMember(22, IsRequired = false)]
public int unknow22;
[ProtoMember(23, IsRequired = false)]
public int unknow23;
[ProtoMember(24, IsRequired = false)]
public string Text;
}
JumpX = ObjectX;
JumpY = ObjectY;
dwParam3 = mapid;
|
Nice, just confirmed field 9, thank you very much!
By the way, anyone knows how to determine timestamp? I could not replicate it, it does not seem a general time like the one you get in gettickcount() function. Maybe it is a mesh with some other value? Am I missing something basic in time functions?
Meanwhile just sending invalid or even null timestamps to client doesnt seem to affect at all, but eventually I will send packets to server, and then problems will arrive for sure. Well, I guess it's just about reversing the client when its building the packet timestamp to see how its constructed (if it is really a mesh).
|
|
|
05/30/2018, 16:41
|
#11
|
elite*gold: 0
Join Date: Feb 2009
Posts: 262
Received Thanks: 161
|
you can send back... the same packet (received packet).
and 2.. They've protobuf and on 10014 ... you can see the other character?
If I remember rightly .. timerstamp is Environment.TickCount
|
|
|
05/30/2018, 16:52
|
#12
|
elite*gold: 0
Join Date: May 2006
Posts: 319
Received Thanks: 49
|
Quote:
Originally Posted by teroareboss1
you can send back... the same packet (received packet).
|
Do you mean about the question in first post? or about timestamp?
If it is about timestamp it doesnt work for my purpose, I mean, constructing/building the packet from nothing and just send it to server... But I guess this is not a good idea, I will be caught by a simple packet counter that is easy to miss in client assembly... Better to inject a packet in a client action to get timestamp! Well, no need to evaluated timestamp now I think, having in mind this strategy. Unless timestamps are calculated different in packets types... LoL, so much to cover!
Quote:
Originally Posted by teroareboss1
They've protobuf and on 10014 ... you can see the other character?
|
What do you mean? I could not understand.
Quote:
Originally Posted by teroareboss1
If I remember rightly .. timerstamp is Environment.TickCount
|
I am not using managed C++ (.net), so I don't have access to that function. But I will look further about it. Thx.
What I can see about timestamp is that the one conquer uses seems to have a precision of 0.1 milliseconds (gettickcount has precision of 1 millisecond).
|
|
|
Similar Threads
|
Unl. Jump, Freeze Hack, Vac Hack & Position, and Farell Tele (IAH V. 0.1.19)
07/30/2009 - Dragonica Hacks, Bots, Cheats & Exploits - 106 Replies
For Client version 0.1.19
IAHGames ONLY
DON'T ASK FOR ANY OTHER VERSIONS
Frognik from snox d.n et has done it again, fixing his hack for version 0.1.19 and adding a few features. Now, you can walk through walls, teleport to various Farrell locations (Not directly to the boss though) plus all of the features of his previous hack. The vac hack has been changed, and you can now change how close you vac the monsters. Overall, this is an improvement to his 0.1.18 hack. Like his previous,...
|
All times are GMT +1. The time now is 15:55.
|
|