general data packet doesn't update client

05/26/2013 20:47 go for it#1
edit : question in brief was that client doesn't update(jump) with general data packet when it receive the server reply which i've solved it using ninja step from proxy to client to update it's position , thanks pro4never and fang
05/26/2013 20:53 pro4never#2
You cannot force the client to jump via packets. It will only display if sent with another entity's uid.

If you need to re-position the client then you use set position, flash step or hook the jump function in the client itself.
05/26/2013 20:57 go for it#3
Quote:
Originally Posted by pro4never View Post
You cannot force the client to jump via packets. It will only display if sent with another entity's uid.

If you need to re-position the client then you use set position, flash step or hook the jump function in the client itself.
nvm i was dumb , thanks anyway :D
05/26/2013 21:55 Spirited#4
Try not to delete your questions after they've been answered, because other members won't be able find them later on. In summary, it isn't possible to make the character jump unless you hook the client, use an interaction or other type of action packet, or use the path-finding feature (which can be invoked by the server and make the client jump to a destination).
05/26/2013 22:50 go for it#5
Quote:
Originally Posted by Fаng View Post
Try not to delete your questions after they've been answered, because other members won't be able find them later on. In summary, it isn't possible to make the character jump unless you hook the client, use an interaction or other type of action packet, or use the path-finding feature (which can be invoked by the server and make the client jump to a destination).
the question wasn't worth it , i was just trying to rush stuff as i was almost about to finish my bot and get it to work :) , and yeah i've used ninja step instead of normal jump thanks buddy :)
edit : i've updated the thread so others can get what it was about :)
05/26/2013 22:50 _DreadNought_#6
Quote:
Originally Posted by pro4never View Post
You cannot force the client to jump via packets. It will only display if sent with another entity's uid.

If you need to re-position the client then you use set position, flash step or hook the jump function in the client itself.
This will update the client screen too.

(You can find the twomovements packet in impulses source)

Here's the code behind the magic. (and no, this isnt a goddamn ninja step - thats gay)
PHP Code:
case "jump":
{
                         
ushort targetXtargetY;
                         
targetX targetY 400;
                            
                         var 
pkt = new TwoMovement
                                       
{
                                           
EntityCount 1,
                                           
Facing client.Entity.Facing,
                                           
MovementType TwoMovement.Jump,
                                           
FirstEntity client.Entity.UID,
                                           
targetX,
                                           
targetY
                                       
};
                         
World.SendLocalPacket(client.Entitypkt.Build(), 016);
                         
client.Entity.targetX;
                         
client.Entity.targetY;
                         
World.GetScreen(client);
                         break;

You were saying? :)
05/26/2013 23:46 Spirited#7
Quote:
Originally Posted by _DreadNought_ View Post
This will update the client screen too.

(You can find the twomovements packet in impulses source)

Here's the code behind the magic. (and no, this isnt a goddamn ninja step - thats gay)
PHP Code:
case "jump":
{
                         
ushort targetXtargetY;
                         
targetX targetY 400;
                            
                         var 
pkt = new TwoMovement
                                       
{
                                           
EntityCount 1,
                                           
Facing client.Entity.Facing,
                                           
MovementType TwoMovement.Jump,
                                           
FirstEntity client.Entity.UID,
                                           
targetX,
                                           
targetY
                                       
};
                         
World.SendLocalPacket(client.Entitypkt.Build(), 016);
                         
client.Entity.targetX;
                         
client.Entity.targetY;
                         
World.GetScreen(client);
                         break;

You were saying? :)
That's a coupled interaction (what I was referring to by "other type of action packet"). It might look really weird if it's like that (like the character is holding hands with an imaginary friend), which is why I didn't mention it. I'm really not certain because I've only seen it when the coupled interaction is undergoing. If you end up trying that... tell me how it looks. I'm kinda interested to know.
05/26/2013 23:51 _DreadNought_#8
Quote:
Originally Posted by Fаng View Post
That's a coupled interaction (what I was referring to by "other type of action packet"). It might look really weird if it's like that (like the character is holding hands with an imaginary friend), which is why I didn't mention it. I'm really not certain because I've only seen it when the coupled interaction is undergoing. If you end up trying that... tell me how it looks. I'm kinda interested to know.
That packet is/was used for moving monsters. No idea what coupled interactions use..

And as of 5517 - That works fine and looks perfectly normal. :)
05/26/2013 23:53 Mr_PoP#9
Quote:
Originally Posted by Fаng View Post
That's a coupled interaction (what I was referring to by "other type of action packet"). It might look really weird if it's like that (like the character is holding hands with an imaginary friend), which is why I didn't mention it. I'm really not certain because I've only seen it when the coupled interaction is undergoing. If you end up trying that... tell me how it looks. I'm kinda interested to know.
Quote:
Originally Posted by _DreadNought_ View Post
From what I remember when testing it (I have no clue what Interactions use, that packet I linked is/was used for mobs moving) - It looks perfectly normal and natural like a normal jump. (Could of changed it later clients??)
yeah , it works fine, I usually use it to test hunting and stuff , makes players jump everywhere killing mobs, make the team follow me etc, it works fine tho!
05/27/2013 00:02 Spirited#10
Quote:
Originally Posted by _DreadNought_ View Post
That packet is/was used for moving monsters. No idea what coupled interactions use..

And as of 5517 - That works fine and looks perfectly normal. :)
I don't have the definition of your "TwoMovement" class. What's the packet type in use for it?
05/27/2013 00:08 _DreadNought_#11
Quote:
Originally Posted by Fаng View Post
I don't have the definition of your "TwoMovement" class. What's the packet type in use for it?
No idea, opened up the file in notepad - As I said - "(You can find the twomovements packet in impulses source)"

I done this back when 5517 was newish, so at least a year or so ago.
05/27/2013 00:16 Super Aids#12
@Fang, the packet-type is 0x45A (1114)
05/27/2013 01:10 Spirited#13
Quote:
Originally Posted by Super Aids View Post
@Fang, the packet-type is 0x45A (1114)
Ah ha. Yah, that's the coupled interactions packet, structured like so:
Code:
        // Packet Structure:
        public ushort Length;                   // 0 - The length of the packet.
        public PacketType Identifier;           // 2 - The packet type.
        public HoldingHandsAction Action;       // 4 - The type of action being performed while holding hands.
        public ushort X;                        // 6 - The x-coordinate of the jump (only used for jumping).
        public ushort Y;                        // 8 - The y-coordinate of the jump (only used for jumping).
        private fixed byte _spacer[2];          // 10 - Unknown Space (You're welcome to inform me on what this might be.
        public int Amount;                      // 12 - The amount of people involved with the action.
        public int Identity;                    // 16 - The identity of the player controlling the action.
        public int Target;                      // 20 - The identity of the target player (holding hands with).
It's used while holding hands (why he originally added it I assume). I've never heard of entities using this packet to jump, but if it's possible... then I suppose it could work. Now that people are saying it looks alright, I'm interested to try it myself and see how it looks. I can't image it would look good with one player though. It was added to make two characters jump while holding hands. Who knows though, maybe there's a default that goes back to the single person jump.
05/27/2013 01:17 Super Aids#14
Action 2 is jump :p
05/27/2013 01:37 Spirited#15
Quote:
Originally Posted by Super Aids View Post
Action 2 is jump :p
Code:
    /// <summary> This enumerated type defines the types of interactions that can be executed by the client. </summary>
    public enum HoldingHandsAction : ushort
    {
        WALK_WHILE_HOLDING_HANDS = 1,
        JUMP_WHILE_HOLDING_HANDS = 2
    }
Correct (but that's for coupled jumps). As I said, I'd really be interested to see what else it could be used for with single jumps. I'm just worried that it would try showing the holding hands action with an imaginary character. That's what I experienced, but the interactions action was applied when I tried. It might as well do a regular jump.