current hp not showing right

12/14/2009 21:58 evilelf#1
This should be the correct addresses.
Code:
PTR_HP_E				= 0xd3b0e0
;offset 1				= 0x104
;current hp				= 0x28
My code looks right, correct?
Code:
$OFF1 = 0x104
$OFF2 = 0x28

$PlayersCLife1= _MemoryRead(0xd3b0e0, $DllInformation)
$PlayersCLife2= _MemoryRead($PlayersCLife + $OFF1, $DllInformation)
$PlayersCLife3 = _MemoryRead($PlayersCLife + $OFF2, $DllInformation)
$continentID = $PlayersCLife3
ControlSetText($App_Title, "", $Finalrandom, $PlayersCLife)
But my current_Hp is : 480 &
It's saying Current_Hp(GUI): 1065353216
If im hit or taking dmg, The numbers start to fall to zero
& if healed the numbers go back up.
If I die the number will say zero
as in game... Why cant i get my gui to read my real_current life?
- Thanks :handsdown:

First Post after 3 years, heh.
12/14/2009 22:29 73rm1n4t0r#2
its an float value 1 means 100% and 0 0% afaik the only way to get YOUR real heath is by reading the agent struct
12/14/2009 22:32 kknb#3
adress is right, its your current lifepoints in percent, just read the values as float type.
1=100%=480hp


edit: omg too slow...
12/14/2009 22:52 in MIND#4
just use gwca then u dont need these crappy mems anymore
12/14/2009 23:01 73rm1n4t0r#5
You can read your MaxHp this Way:
Quote:
;PatternScan by ACB
AgentArrayPtr =0xD3B118
;AgentStruct =AgentArrayPtr + 4 x AgentID
OwnId =0xD3B0C4
so MaxHp would be AgentarrayPtr + 4 * OwnId + 0x134(HP Offset)

€: current hp is then MaxHP * CurrentHP(percentage)
12/14/2009 23:01 evilelf#6
Thank you both,
What would I need to learn
about this? I know how to search,
just dont know what for exactly.

i didnt think u said try this
_MemoryRead(0xd3b0e0, $DllInformation,'float') - but did it anyways. Zero
Yes, Im trying to get my real current_heath so i can change to
100%,99%,98%..ect for a Self/Auto healing scrip im making / testing...
and maybe move onto self heal party members

EDIT:

I found my Max Health, im trying to pull
current health.

This is for my own project and learning
where gwca is already made and its
something that I dont like...
Ps: " crappy mems " there only crap if you dont use them right..
12/14/2009 23:06 73rm1n4t0r#7
the float value is (if your mem is correct) already percentage just do CurrentHP(read as float) * 100 else the current HP offset in agnt struct should be 0x130
12/15/2009 01:14 evilelf#8
* Thanks 73rm1n4t0r
It works now...

All I had to do
$Max_HP_Total is another memsearch to count the total life.
my main code is still quick and gui can update
around the exact game time. Thanks again, I was thinking to hard.
Code:
_MemoryRead($Current_Hp + $HP_OFFSet2, $DllInformation,'float')  * $Max_HP_Total ;<---
12/15/2009 18:53 evilelf#9
Is there another way to know
your party-members health without pixelsearching?

maybe a mem?
i dont need the work done,
just a yes or no & maybe some idea
how to...

Thanks again.
12/15/2009 19:52 73rm1n4t0r#10
Quote:
;PatternScan by ACB
AgentArrayPtr =0xD3B118
;AgentStruct =AgentArrayPtr + 4 x AgentID
Offset_HP = 0x130
this is for every agent ;)

btw not do:
Code:
ptr=memread(AgentArrayPtr)
ptr += 4 * AgentId
ptr=memread(ptr)
ptr += 0x130
hp=memread(ptr)
but
Code:
ptr = memread(AgentArrayPtr + 4 * AgentID)
ptr += 0x130
hp = memread(ptr)
its an float Value 1=100% 0,99 = 99% 0=0%

PS: better use GWCA it can read every informations from GW ;)
12/15/2009 23:59 evilelf#11
Thank you.
I understand what your saying about GWCA but
im trying to go with my own work...
Yeah ill start looking over there scrips but
i just dont want to copy, paste and run somebody
elses funcs..

Edit:

" inject the .Dll into Guild Wars " - I thought injecting was bad...will we get banned?
12/16/2009 10:06 73rm1n4t0r#12
nope thats only clientside and anet was to stupid to integrate an clientside anti hack ;)