PW Genesis offsets (ver. 493+)

03/28/2011 15:38 Merkada#16
added PPL count + Resoure count, i hope it will be right, tested in Archosaur, and it seems its good but without IDs and Names its hard for me say if its right offset or no, still dont know how find ID, coords, names for list :(
and it seems nobody else know how to find sequential or sorted list for genesis, or only dont wanna shere with others
03/29/2011 07:43 Smurfin#17
I think you could use the same offset for name from name offset in 'character info' offsets list.
so far i can only list player's names, class, their xyz position (using lolkop's older script) , but it doesn't have player's unique ID offset, please do tell if anyone have that, or any other infos that can be retrieved using player list count.

edit :
turns out hp offset for surrounding players is also the same as our char's hp offset, but we need to first target him/her, then the hp will be shown. Should apply to mp and some other things as well, but not to def mdef and their str dex mag vit built, or maybe some infos of other players will never be revealed unless using eye of observation or not at all
03/29/2011 09:16 Interest07#18
I'm just copy pasting straight from my source code here, so bear with me.
And yes I know this isn't the ideal way to structure a sctructure with lots of unknowns, but meh screw that :P

After genesis patch I've added filler variables, so have to pay attention to those as they add to the offset of course :D

I didn't check whether you had all the same things already, but it can't hurt I'm sure. All the offsets for surrounding players are identical to your own character, so you can use the same struct for that. Only difference is that it's more or less filled with 0s hehehe

General address/offsets

itemStruct (in inv, shop, etc)


worldItemStruct (on floor)

playerStruct

npcStruct
03/31/2011 21:50 Smurfin#19
does anyone know how ingame meter is calculated ?

I usually use this formula ($Y ^ 2 + $X ^ 2) / 2 where $y and $x are our target's coordinates subtracted by our own coordinates, not the exact metric used by the game but good enough to filter surrounding players/mobs by distance
03/31/2011 22:48 Interest07#20
isnt it simply sqrt(x^2 + z^2)?

or sqrt(x^2 + y^2 + z^2) i suppose really
04/01/2011 17:02 PW-Prophets#21
Quote:
Originally Posted by Smurfin View Post
does anyone know how ingame meter is calculated ?

I usually use this formula ($Y ^ 2 + $X ^ 2) / 2 where $y and $x are our target's coordinates subtracted by our own coordinates, not the exact metric used by the game but good enough to filter surrounding players/mobs by distance
This would be what we use.

Func GetRealXYZ($RawX, $RawY, $RawZ)
Local $RealXYZ
$RealX = ($RawX + 4000) / 10
$RealY = ($RawY + 5500) / 10
$RealZ = $RawZ / 10
Return $RealX & "," & $RealY & "," & $RealZ
EndFunc ;==>

Func GetGrade($X1, $Y1, $Z1, $X2, $Y2, $Z2)
Local $RISE, $RUN, $GRADE
$RISE = GetSlopeDistance($X1, $Y1, $Z1, $X2, $Y2, $Z2)
$RUN = GetDistance($X1, $Y1, $X2, $Y2)
$GRADE = ($RUN / $RISE) * 100
Return $GRADE
EndFunc ;==>

Func GetDistance($X1, $Y1, $X2, $Y2)
GetRealXYZ($X1, $Y1, "")
Local $DIS
$DIS = Round(10*Sqrt(($X1-$X2)^2+($Y1-$Y2)^2), 1)
Return $DIS
EndFunc ;==>

Func GetSlopeDistance($X1, $Y1, $Z1, $X2, $Y2, $Z2)
Local $DIS
$DIS = Round(10*Sqrt(($X1-$X2)^2+($Y1-$Y2)^2+($Z1-$Z2)^2), 1)
Return $DIS
EndFunc ;==>


Here is an example from our npcarray.

Code:
$array[$n][6] = _MemoryRead($NPCPointer + $OFFSET_NPCX, $PROCESS_INFORMATION, 'float') ;X
$array[$n][7] = _MemoryRead($NPCPointer + $OFFSET_NPCY, $PROCESS_INFORMATION, 'float') ;Y
$array[$n][8] = _MemoryRead($NPCPointer + $OFFSET_NPCZ, $PROCESS_INFORMATION, 'float') ;Z
$array[$n][9] = $NPCPointer ;NPC Base
$array[$n][10] = GetSlopeDistance(($X + 4000) / 10, ($Y + 5500) / 10, $Z / 10, ($array[$n][6] + 4000) / 10, ($array[$n][7] + 5500) / 10, $array[$n][8] / 10)
$array[$n][11] = GetSlopeDistance(($HOME_X + 4000) / 10, ($HOME_Y + 5500) / 10, $HOME_Z / 10, ($array[$n][6] + 4000) / 10, ($array[$n][7] + 5500) / 10, $array[$n][8] / 10)
04/11/2011 00:53 Merkada#22
updated to version 505

correcting all offsets
base, realbase, unfreeze, send packet
char info -> 0x34
pet offset -> 0x1028
action structures -> 0x1010
list offsets -> 0x1C
+ some small changes fixed

added:
vendor license, pet loyalty, pet hunger, ppl list, npc list, resource list (big THX to Interest07) :handsdown:

BTW: some tutorial how to search for list structure will be nice, or some few tips
04/11/2011 02:58 Smurfin#23
If I want to auto use an item from inventory, what offsets do I need ?

I just made a script to auto-hit the correct chest n auto-pick the opposite element seal in Nirvana's Vanished Ancestor (last boss) but still have to manually right click the seal itself.

if anyone has or it's already shared and discussed elsewhere pls tell me the offsets or the url about how inventory system works and related offsets to it.
04/11/2011 06:38 Interest07#24
Quote:
Originally Posted by Smurfin View Post
If I want to auto use an item from inventory, what offsets do I need ?

I just made a script to auto-hit the correct chest n auto-pick the opposite element seal in Nirvana's Vanished Ancestor (last boss) but still have to manually right click the seal itself.

if anyone has or it's already shared and discussed elsewhere pls tell me the offsets or the url about how inventory system works and related offsets to it.
baseAddress + 1C + playerOffset + inventoryListOffset + C + i * 4 + 0x8
is the itemId of an item in inventory slot i.
04/12/2011 15:00 kerosene69#25
I was wondering ... Is there an offset that shows.... monster threat level?? Cause that one would be super helpful.. and one for enemy cast bars, to know when and what there casting.. find it hard to interrupt if i have to go by the screen animation.
04/12/2011 16:05 Sᴡoosh#26
Threat level? What exactly do ya mean?

If you mean the colors the name change, this can be calculated yourself I guess.

There is data in struct though showing what target a mob is attacking.
04/12/2011 16:34 Interest07#27
mob + 0x2BC would be 3 if its casting, so check for that, then use your cancel skill. I use that when I'm too lazy tanking sometimes. And because it's faster than my own reaction, which is important with high ping. Easy to combine with autopotting as well.

Threat level, I do not believe it's available in the client, not that I've done an extensive search for it. It would be quite helpful in further understanding the aggro mechanics though, so if you find it, do share ;)
04/12/2011 18:28 kerosene69#28
Threat level i mean when a monster chooses a target based on im guessing the damage you do or how much you heal, and by no means do I think it would be an easy task finding out.. but an awesome tool to have, invaluable.
04/12/2011 19:30 kerosene69#29
Interest, thank you for the mob casting information!.. that'll make life a little easyier.
04/15/2011 06:38 drahko#30
how do i add these to the bot ??