Hands on the entity system...

58 views
Skip to first unread message

freitag

unread,
Sep 3, 2012, 7:51:06 AM9/3/12
to grand-fan...@googlegroups.com
Hi,
someone got hand on the entity system? maybe you Lasiaf?

I'm trying to improve your work and to get a working entity system so that finding mobs would be easier but i need some input as reversing gf is a pita with themida...

Lasiaf

unread,
Sep 3, 2012, 4:00:06 PM9/3/12
to grand-fan...@googlegroups.com
What do you mean entity system? Objects around you or monster around you? You should be able to specify distance in your gambits so you dont attack anything that is far from your waypoint. Also you can avoid bosses by name.

freitag

unread,
Sep 4, 2012, 6:25:54 AM9/4/12
to grand-fan...@googlegroups.com
What's around me (world) that means primary monster and secondly objects...like a radar.

Lasiaf

unread,
Sep 4, 2012, 3:47:10 PM9/4/12
to grand-fan...@googlegroups.com
Ahh, you should look at playerAlert function. What it does is ignores players in your list, so he will go to safe zone when found specific players.
I bet you can use that for monsters also and with adding few offsets in there you can probably get its corrdinates also. But for items, I don't think they use the same, or unless there is a settings to always show the title of the item, since thats what playeralert pointers looks for. It could be same when its turned on.

freitag

unread,
Sep 4, 2012, 5:42:38 PM9/4/12
to grand-fan...@googlegroups.com
hm k, but this only works if you got a player/monster by "TAB" ?
Message has been deleted

freitag

unread,
Sep 4, 2012, 11:24:35 PM9/4/12
to grand-fan...@googlegroups.com
hmm i took another look at playerAlert() and checkList() but i don't get it... (not that much clue about autoit)

when i start following the liststart at 0xac12a8 in reclass i see a group of like 40 pointers (picture)

0xac12a8 + 0x0
0xac12a8 + 0x4
...
0xac12a8 +0xC
...

at 0xac12a8 + 0xC +0xC8 +0x8 +0x20 i will find my name
sooo... to check the list shouldn't i do something like this:
0xac12a8 + 0x0 +0xC8 +0x8 +0x20
0xac12a8 + 0x4 +0xC8 +0x8 +0x20
...?

I mean i think you are doing this in the first loop:

For $i = 1 To 14
        $listPointer[2] = Hex($i * $nOff)
        $player = ReadMemoryOffset($listPointer, 0, "char[50]")
....

but the rest isn't filled with any usefull info. Maybe you can give me some hint.


PS: I'm also looking for some info on how to obtain the partybase+offsets.
Ah and sry i'm not that much in AutoIt ;)

thx in advance

Lasiaf

unread,
Sep 5, 2012, 3:00:31 PM9/5/12
to grand-fan...@googlegroups.com
$listPointer[2] is the offset, since ReadMemoryOffset accepts array with base like 0x00xxxxx,0xoffset1,0xoffset2
What its doing is adding 0x4 or whatever adjustment it needed before when I made it to find the next in memory in the offset and not the base pointer itself.
You will find most of the list pointers are adjusted in their offsets instead of base pointers. Although there are instances where you can adjust in the base pointers also like the sprite windows, each sprite window is 0x4+ of the first window.

freitag

unread,
Sep 5, 2012, 6:40:07 PM9/5/12
to grand-fan...@googlegroups.com
so if
ListStart=CharBase,0,E4,8,20
$listPointer = $configMem.Item("ListStart")

then $listPointer[2] would be E4 or 8 ? or even the 0?
sry for asking such questions but i'm really not into autoit...

freitag

unread,
Sep 6, 2012, 9:14:45 AM9/6/12
to grand-fan...@googlegroups.com
ok never mind i tried something different and now i get some more names than just mine but using a complete different stucture. but it's still not the best solution to get alle objects/players/monsters around me... if i could only set some breakpoints on GF....

Lasiaf

unread,
Sep 6, 2012, 1:36:25 PM9/6/12
to grand-fan...@googlegroups.com
Its the 0, the split probably happened by , so its 0 and I believe autoit default array base index is 1 I don't remember cause i only really used it for this bot.
Then adjusting 0 to 0x0 + 0x4 per list gives you all the names around.
That's the only easy way to actually get whats around you, doing it by other method means you'll have to figure out the ID of each things around you which I'm sure is very hard to figure out. So by name is the simplest to work with.

freitag

unread,
Sep 24, 2012, 3:35:38 PM9/24/12
to grand-fan...@googlegroups.com
Hi Lasiaf,

i will check all this the next days because i had no time the last two weeks...but i remember that i couldn't access any good list with all "objects" around me as each list got a few objects...
will write more the next days...
Reply all
Reply to author
Forward
0 new messages