PWI assistant

12/12/2018 05:03 aeroboi#1
I made this to solo instances, Its a simple tool to press your spark kill marco quickly across many instances of PWI.

Known Glitch Version 1.3
Pressing the Detect button a second time fails to work correctly, further trying to alter the macro list will cause the program to crash.

VERSION 1.3.1 UPDATED TO PWI VERSION 1106
Removed the above glitch (hopefully in full), new version (1.3.1) now displays classes to correctly. pointer addresses now soft coded in config file, this might work with other localisations of Perfect World. (must update pointer addresses if not using PWI)

Known Glitch Version 1.4.2
Updated pointers and offsets for PWI, implemented 32-bit and 64-bit modes.

Version 1.5.1.2
Auto detects Bit Mode and updated pointers
01/05/2019 21:20 mazerfect#2
Quote:
Originally Posted by aeroboi View Post
I made this to solo instances, Its a simple tool to press your spark kill marco quickly across many instances of PWI.
How does it work, still dont understand lol
01/06/2019 03:12 aeroboi#3
1. Run this as Administrator (like you would with vent).
2. Click Detect, this will find all running clients of PWI.
3. Change the Key to F1, or the key where you have your (in-game)macro set, from the list keys.
4. Change the Delay time, higher for slower computers or when running a lot of PWIs.
5. Click add on the classes you want the program to add to a list of Clients to send the key too.
6. Click Execute.
11/18/2019 07:04 aeroboi#4
I have re-uploaded version 1.5.1.2
The config file settings for 32-bit was incorrect.
if you have having issues with detecting names for 32-bit clients and downloaded BEFORE this post, please download again.
11/27/2019 15:22 aeroboi#5
Seems the wrong configs where added into the 1.5.1.2 package.

the 32-bit game address has been corrected and re-uploaded.

it should now be all correct.
11/28/2019 05:28 dominion1210#6
Is it only working with perfect world international?
I'm currently playing at perfect world indonesia.

Perhaps there's an edition for other PW?

Thankss
11/28/2019 06:59 aeroboi#7
It should work with other version, just some features wont work.

If you find and update the game address and offsets should begin to work.
12/05/2019 00:14 dominion1210#8
My only problem is I cant find my client offset using the method in this forum (only some). Can you perhaps give me a quick tutorial for that lol
12/07/2019 06:17 aeroboi#9
[Only registered and activated users can see links. Click Here To Register...]

The above link provides the minimal information required to find the base address, this method is what i use to find the address i require. It helps to visualize the data structure of the game.

SomeAddress - BaseAddress
+SomeOffset - GameAddress (pointer to)
++ SomeOffset - CharAddress (Pointer to)
+++SomeOffset - HPMax (integer)
+++SomeOffset - HPCurrent (integer)
+++SomeOffset - CharName (pointer to)
++++CharName (UTF 16, length 13)
12/08/2019 04:46 dominion1210#10
i always get lost when searching for the pointer haha
novice address searcher
12/08/2019 07:28 aeroboi#11
Your looking for a green (static) address, 2~3 levels deep.
12/08/2019 08:18 dominion1210#12
got the baseadress i cant find the charname offset any help?

in the GameAddress on the config which one should i put there?
the only static address is the Base right?

Edit: I got it working but it didnt show the character name lol
12/08/2019 11:40 aeroboi#13
Are you able to make a pointer to the HP?
12/09/2019 11:01 dominion1210#14
yes i got the HP offset
12/09/2019 11:40 aeroboi#15
okay, in CE do the following.

Create a pointer in your table with the base address and add in the 2 offsets.

If you successfully display the HP value you can move onto my method for finding the name.

Create a copy of the above pointer, Add an extra offset leave it at 0.

Set the value type to string, Check UTF-16 and set its length to NameMaxLength.

Set the HP offset to 0 and begin increment.

once you find the first letter of your name, save the pointer and check it in the table.