Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > Perfect World
You last visited: Today at 14:25

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Memory Read (Not Working)

Discussion on Memory Read (Not Working) within the Perfect World forum part of the MMORPGs category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Jul 2009
Posts: 39
Received Thanks: 0
Memory Read (Not Working)

Fixed :]
Shortpants is offline  
Old 05/06/2012, 12:32   #2
 
Interest07's Avatar
 
elite*gold: 0
Join Date: Mar 2010
Posts: 862
Received Thanks: 576
you use offset[4] here:
Code:
$NPC_ID_OFFSET[4] = $i * 0x00000004
and offset[5] here
Code:
$NPC_CURRENT_HP_OFFSET[5] = $i * 0x00000004
whatever else is going on, I can't imagine that being correct

That being said,

Code:
$NPC_COUNT_OFFSET[1] = 0x0000001C
$NPC_COUNT_OFFSET[2] = 0x0000001C
$NPC_COUNT_OFFSET[3] = 0x00000024
$NPC_COUNT_OFFSET[4] = 0x00000014
would be the size of the NPC list, so you don't have to loop through 769 values.

Also, HP values of NPCs don't get updated until you've selected them.
Interest07 is offline  
Old 05/06/2012, 12:35   #3
 
elite*gold: 0
Join Date: Jul 2009
Posts: 39
Received Thanks: 0
Quote:
Originally Posted by Interest07 View Post
you use offset[4] here:
Code:
$NPC_ID_OFFSET[4] = $i * 0x00000004
and offset[5] here
Code:
$NPC_CURRENT_HP_OFFSET[5] = $i * 0x00000004
whatever else is going on, I can't imagine that being correct
I fixed that, NPC_ID_OFFSET[4] is now [5] as well. ( Sorry, I tried a lot of things )
Quote:
2148532959 - 0/0
2148533140 - 0/0
2148533142 - 0/0
2148533143 - 0/0
2148533144 - 38336/38336
2148533145 - 0/0
2148533146 - 0/0
2148533147 - 0/0
2148533166 - 0/0
2148533167 - 0/0
2148533168 - 0/0
2148533257 - 0/0
2148533311 - 0/0
2148533312 - 0/0
2148533313 - 0/0
2148533314 - 0/0
2148533316 - 0/0
2148533359 - 0/0
2148532841 - 0/0
2148532843 - 0/0
2148532849 - 0/0
2148532843 - 0/0
2148532849 - 0/0
2148532849 - 0/0
2148532845 - 0/0
2148532849 - 0/0
3361502062 - 828125655/1953393007
Still,, makes no sense. ( I have been trying to figure it out for hours now ).
Edit: As you can see the ID works, but max/current hp doesnt.
Shortpants is offline  
Old 05/06/2012, 12:51   #4
 
Sᴡoosh's Avatar
 
elite*gold: 20
Join Date: May 2009
Posts: 1,290
Received Thanks: 326
Keep in mind that the HP/Max HP is only sent from server if you target the NPC. Otherwise it's not loaded.
Sᴡoosh is offline  
Old 05/06/2012, 13:10   #5
 
elite*gold: 0
Join Date: Jul 2009
Posts: 39
Received Thanks: 0
Then what is the x * 4 for?
Shortpants is offline  
Old 05/06/2012, 13:17   #6
 
Sᴡoosh's Avatar
 
elite*gold: 20
Join Date: May 2009
Posts: 1,290
Received Thanks: 326
Quote:
Originally Posted by Shortpants View Post
Then what is the x * 4 for?
That's what resolves the pointer to the individual NPC structures.

Pointers are 4 byte in 32 bit processes, so that+ why it's i * 4. The i is the index, i.e the place where mob is found in list. I guess you're using unsorted mob list? I didn't check your offsets/code

Edit : yeah, you are using unsorted one.
Sᴡoosh is offline  
Old 05/06/2012, 13:34   #7
 
elite*gold: 0
Join Date: Jul 2009
Posts: 39
Received Thanks: 0
Quote:
Originally Posted by Sᴡoosh View Post
That's what resolves the pointer to the individual NPC structures.

Pointers are 4 byte in 32 bit processes, so that+ why it's i * 4. The i is the index, i.e the place where mob is found in list. I guess you're using unsorted mob list? I didn't check your offsets/code

Edit : yeah, you are using unsorted one.
I am targeting mobs using packets.

It will select the first monster ( this takes a while because it's using packets to target), then it will wait until the target state ( BASE+0x34+0xBB4 ) is different than zero.

Then it will hit an other loop where it will wait until the monster is dead.

The thing is that it will try to target already-dead targets because they're not removed from the index instantly. Resulting in an infinite loop.

The only thing that I can think of ( since checking whether the current target is different than the last one, is still not fast enough ).. is to check the monster HP before actually targeting it. :-/

Since you stated such thing is impossible, then, what is a good different approach?
Shortpants is offline  
Old 05/06/2012, 13:39   #8
 
Sᴡoosh's Avatar
 
elite*gold: 20
Join Date: May 2009
Posts: 1,290
Received Thanks: 326
+0x02C8

(1 - Idle; 2 - Physical Attack; 3 - Magical (ranged) Attack; 4 - Die animation; 5 - Moving)
Sᴡoosh is offline  
Old 05/06/2012, 13:41   #9
 
elite*gold: 0
Join Date: Jul 2009
Posts: 39
Received Thanks: 0
Quote:
Originally Posted by Sᴡoosh View Post
+0x02C8

(1 - Idle; 2 - Physical Attack; 3 - Magical (ranged) Attack; 4 - Die animation; 5 - Moving)
Hmmm..? What is that supposed to mean?
Shortpants is offline  
Old 05/06/2012, 13:42   #10
 
Sᴡoosh's Avatar
 
elite*gold: 20
Join Date: May 2009
Posts: 1,290
Received Thanks: 326
That you can find out if the mob you're trying to target is already dead, but still in list because of unfinished dieing animation.
Sᴡoosh is offline  
Thanks
1 User
Old 05/06/2012, 13:51   #11
 
elite*gold: 0
Join Date: Jul 2009
Posts: 39
Received Thanks: 0
Thanks alot sir! Works like a charm now :]]
Shortpants is offline  
Old 05/06/2012, 13:59   #12
 
Sᴡoosh's Avatar
 
elite*gold: 20
Join Date: May 2009
Posts: 1,290
Received Thanks: 326
Nice to hear
Sᴡoosh is offline  
Old 05/06/2012, 15:36   #13
 
elite*gold: 0
Join Date: Jul 2009
Posts: 39
Received Thanks: 0
Which pop-ups a question, how would you integrate Anti- KillSteal?
Shortpants is offline  
Old 05/06/2012, 16:59   #14
 
Interest07's Avatar
 
elite*gold: 0
Join Date: Mar 2010
Posts: 862
Received Thanks: 576
Quote:
Originally Posted by Shortpants View Post
Which pop-ups a question, how would you integrate Anti- KillSteal?
Several ways really:

Before targeting a new mob for killing:
-check if it's full HP
-check if it isn't actively targeting something else (compare its targetId with your playerId and/or your petId, make sure its aggressive flag is also set)
-you could check if it's moving towards a certain player ('complicated')
-check if it's next to another player
-...

So just implement a function isMobAvailable(NPC* npc, int yourId) which uses 1 or more of the above checks and return a true or false.

Then whenever you're done killing your current target, loop through the npc list, check whether one of them is already attacking you (kill this first), and otherwise find the closest that is available.
Interest07 is offline  
Old 05/08/2012, 00:31   #15
 
elite*gold: 10
Join Date: Sep 2010
Posts: 400
Received Thanks: 234
Just a quick note... It's potentially helpful if you leave your posts intact when your problem is fixed rather than editing them to just "fixed" - That way, others can see if the problem relates to a similar problem they might be facing and if the thread is relevant to them
dumbfck is offline  
Reply


Similar Threads Similar Threads
VB.NET Read Memory
11/08/2010 - .NET Languages - 1 Replies
jo Hi, Ich suche eine ReadMemory Function. Hat einer eine da? Danke
[VB]Write Memory bzw Read Memory
06/26/2010 - .NET Languages - 8 Replies
Hi Ich hab das TuT von *Guidman* benütz um einen hack zu machen. So aber nun hab ihc ein paar fragen könnte man memory teil kürzer machen und am besten wie kann man das selber machen weil ich will nihct immer C&P machen. Und zu Read Memory kann man das auch machen das ein Label immer die Bestimmte Ahnzahl angiebt von dem Pointer?.(Wenn das Read Memory ist ?) Bitte helf mir Danke
Memory Read
06/18/2010 - AutoIt - 0 Replies
wtf?? pls delete
Memory Read u.ä.
02/16/2010 - Metin2 - 2 Replies
Moin, ich wollte fragen ob es für Metin2 auch eine UDF für autoit (mit memory read) gibt. Also mir geht es eigentlich nur darum, dass ich einen Bot im HIntergrund laufen lassen kann und es möglich ist zu überprüfen wo der nächste gegner ist, diesen anzuklicken und wie viel hp/mp etc man noch hat. -->Suche etwas "exateres" als z.B. PixelSearch/MousClick und etwas womit ich den Bot im Hintergrund laufen lassen kann. Könnte mir jemand dazu ein Beispiel Script (bezogen auf Metin2) oder...
Read memory
06/27/2008 - Diablo 2 - 7 Replies
Hallo, will mit readprocessmemory nen externes programm machen was mir energie usw protokoliert. Das problem ist nur, das D2 die adressen bei jedem neuen spiel immer verändert. Wie kann ich das umgehen? Brauch ich glaube nen pointer auf die richtige adresse, aber wie? Hat da jemand ahnung???



All times are GMT +1. The time now is 14:26.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.