The character position was read using nomadmemory.au3 and _MemoryRead($pchar + $oposx, $pid, 'float') into a variable. The startposition converted to hex is:
Char position converted to hex:
x: FFFFFED2, y: FFFFFC57, z: 000000DE
As floats:
x: -302.402496337891, y: -937.836303710938, z: 222.902847290039
Char position as floats modified with 4000 and 5500 and divided with 10 it's:369.759750366211, 456.216369628906, 22.2902847290039
The coordinates was writen to the package as a float, maybe that's why they differ from the variables
I'm not sure if what I think is Y is really Y but maybe it's z instead. I might put the wrong coordinate in the wrong position in the package, making the server to ignore the message.
Could I use an actionstructure and do a move instead of sending packages as long as I only move as much as the speed allows? If so is it move type 0? I would perhaps need to find what different values there are for different moves like regular, fly, swimming.
Edit: I found this promising post:
and it with the check on height it initialises some more for flying up or down. By using that would I still need to create several actions to reach the destination regarding to the flyspeed?
in D3d Coordinate systems, Y is what you may know as Z, and Z is either left or right axis.
So thats correct.
Using actionstruct to move up is possible, yes, but you need to set the flags according to this. Interest07's post contains everything you need. After this, write Your current coords to the X/Y offsets in action struct and then your desired height in Z (Yes I call Z for height too even though its actually called Y even by the game).
Yeah you're right, you have swapped the Y and the Z values.
You can use actionstructs, but not to fly straight up, only at a 45 degree angle (I think something like that). For swimming/walking/flying its all the same, the moveType is something that would technically be for when you press space or jump or whatever if I recall correctly, but I never managed to get that working.
With actionstructs you don't need to take into account flyspeed etcetera as the game will do this for you :P
edit:
Even in graphs the XYZ axes would be like they are in game, I'm not sure why people swap Y and Z around, could somebody explain that to me?
Even in graphs the XYZ axes would be like they are in game, I'm not sure why people swap Y and Z around, could somebody explain that to me
It comes from semantics used for 2D systems.
When you use 2D systems, you use X and Y.
When switching from 2D to 3D, you add one more axis and when you do, you are inclined to call it something different, like Z for example.
So you end up calling Z the new axis and it's usually height.
You write it down as XYZ (alphabetical order) meaning X, Y and height.
But in 3D systems, height is the middle value (I'm simplifying of course, in a random 3D system height can be anything you like, but for games, this should hold true majority of times), so people coming from 3D systems will write:
XYZ meaning: X, height, Z - keeping the alphabetical order, but meaning Y as height
Where as people used to 2D systems and working in 3D will prefer to write:
XZY meaning: X, height, Y - screw alphabet and make it sensible
By sensible I mean this: keep semantic values static when moving from 2D to 3D (ie,.. if X is width and Y is lenght in 2D system, moving to 3D system doesn't change that). This avoids confusion when coding, since number of axis is irrelevant to you (2 or 3), if X and Y always mean the same thing.
Opposite to it, if X means width and Y means length in 2D, moving to 3D changes that: Y now means height and Z means length.
Word of caution: note that terms like witdh, length and height in 3D world suffer from the similar semantic problem as XYZ. 90 dg. rotation around an axis can quickly turn width into length, so these terms aren't normally used.
It comes from semantics used for 2D systems.
When you use 2D systems, you use X and Y.
When switching from 2D to 3D, you add one more axis and when you do, you are inclined to call it something different, like Z for example.
So you end up calling Z the new axis and it's usually height.
You write it down as XYZ (alphabetical order) meaning X, Y and height.
But in 3D systems, height is the middle value (I'm simplifying of course, in a random 3D system height can be anything you like, but for games, this should hold true majority of times), so people coming from 3D systems will write:
XYZ meaning: X, height, Z - keeping the alphabetical order, but meaning Y as height
Where as people used to 2D systems and working in 3D will prefer to write:
XZY meaning: X, height, Y - screw alphabet and make it sensible
By sensible I mean this: keep semantic values static when moving from 2D to 3D (ie,.. if X is width and Y is lenght in 2D system, moving to 3D system doesn't change that). This avoids confusion when coding, since number of axis is irrelevant to you (2 or 3), if X and Y always mean the same thing.
Opposite to it, if X means width and Y means length in 2D, moving to 3D changes that: Y now means height and Z means length.
Word of caution: note that terms like witdh, length and height in 3D world suffer from the similar semantic problem as XYZ. 90 dg. rotation around an axis can quickly turn width into length, so these terms aren't normally used.
Thanks
I suppose the difference is whether you start from a 2D perspective and add an axis, or start from a 3D persective right away. I'm used to looking at graphs for example, where X is left to right, Y is bottom to top, and (if it's a 3D graph) Z would be front to back. But it's understandable if you go from map coordinates to ingame coordinates that you put height last.
If there were decent alternatives for the X and Z variable names, I wouldn't mind changing Y to height and X and Z to whatever is appropriate, but I can't really think of any.
Alright! After swapping y and z the server now accepts the packages and the char moves up and down, though I only see the camera bouncing up one step at the time while the character remains still all the time untill I make a manual movement then it "teleports" to the new height + my manual movement.
I also tried with the actionstruct and only get that to work if I also make a movement along an other axis. And it seems to only change in height as long as there is still movement going on along the other axis.
Maybe I'm not using the actionstruct correctly.
Suggestions about how to make the movement smooth with packets or how to use the actionstruct better is appreciated, but maybe this belongs in an other thread.
if you dont see the character moving up also, you don't have all the correct offsets necessary for displaying the character position. I tried to explain earlier that with action structs you can't move straight up, only at an angle, so you'd have to move sideways to use this properly. You most likely are using them properly
Smoothness isn't really important for moving with packets, as it only looks choppy clientside.
As you say I don't have the correct offsets, I found 5 offsets that changes to the new z (I mean height by this), but one of those 5 don't have the correct x and y next to it.
I updated those 4 (with correct x, y next to them) but still the char don't move, only the camera. If I target myself I see the target circle in the right spot though, looks funny
Could you please help me with the offests? I found these and do the following update after the package is sent:
I didn't find if there is client information about an other players target.
Also I didn't find any post about an assist package so here is what I found out:
Package for assist:
Func AssistTarget($targetId, $pid)
local $packet, $packetSize
Help with sending packets in autoit 08/16/2010 - AutoIt - 1 Replies ive been lookin around different sites for ways to send packets to the game server. the only examples i see is to create a server and a client which i dont need, i think. well to the point now, can someone lead me in a direction or tell me how to send packets to a game? also if i send packets then that means i dont need the game to be active, correct? Because in autoit when u use keys u need to have the game active, and control send does not work. ty
Sending Packets !!! 09/07/2008 - Kal Online - 14 Replies now i know how to sniff / analyse packets ... but what then ? :)
how can i send packets ?? to pimp or mix weapon for example
i just need the way to send , and then i can depend on myself :D
Sending Packets (need advice) 03/20/2008 - Conquer Online 2 - 7 Replies OK well im finaly trying to stop leaching off of everybodys work its been great n all download n play :D But im tired of being a begger n the past couple months ive been learning as much as i can about macros memery add blah blah you know ...
After playing around with ce and ahk the past couple months i stumbled across wpe pro, theres not alot of tuturals and its hard to find good help.
Well heres what ive been doing so far, open my CO then i attach it to my sniffer.
I change my...
Scamming by sending packets??? 04/15/2006 - Conquer Online 2 - 1 Replies Well my friend and i came up with the idea to send packets to the server to show a certain item in the trade window. We want to use this as a type of scam. I didnt see this in any other threads and was wondering if anyone knew if this is possible and if they could point use in the right direction. My friend was pretty good with packets in CO 1.0 but we arent really sure to go about doing it. If anyone one could please lend a helping hand?
P.S.- Before I get flamed for this because i know i...
Sending packets 10/12/2005 - Conquer Online 2 - 10 Replies I've a question. Is it possible to send 1 packet multiple times at the exact same time?