PWI Eclipse changes

03/13/2015 22:06 jasty#76
Quote:
Originally Posted by Stark77 View Post
well thats not the issue...was working before this way too.
the revhex actually just reverts the order... like ABCD -> CDAB
but ya its not very efficient thats true^^
I think you might want to look closer, this method:

revhex(revBaseAddress,realBaseAddress)

appears to be storing the reverse hex of the address realBaseAddress into a new variable 'revBaseAddress', probably as a string.

This method

revhex(ADDRESS_GATHER,ADDRESS_GATHER)

looks like its storing the reverse hex of the address ADDRESS_GATHER into the exact same variable ADDRESS_GATHER. I can't imagine you want to overwrite your address with its own reverse hex string.
03/14/2015 00:05 Stark77#77
*hides in a hole*
thank you :P
03/15/2015 17:30 sasukezero#78
Does anyone know, how to get the adress/offsets for accept Party invite?
I tried to find the right via CE and got 0xD60BCC which only changes when you joined a squad.
But with this address and the offset 0x14 does it give back a 0 QQ
Any advice ?
03/15/2015 20:40 Stark77#79
0xD38B98 thats the current offset for pwi.
maybe u did something wrong.
somewhere in this thread we discussed how to search for it.
03/15/2015 23:49 sasukezero#80
i was on the wrong way, but with the right address, i was able to find it by myself now too ^^
tyvm :) helped me a lot
03/16/2015 14:51 jasty#81
Is there any reason why my game crashes after a few hours of TT botting? :mad:

I notice it also tends to crash if I send commands too quickly or if I have a lot of clients up. I'm thinking it has to do with there being a limit on how many threads I can keep spawning and killing?

I'm not sure what I can do to fix something like that.
03/16/2015 15:20 sasukezero#82
Put in some sleeps. I do that with package sending, because i got some lag spikes before.
Idk if its really cause of quickly sending packages with multi clients but could be :/

Something else, that closes(not crash usually) the clients is Arc.
It seems to have a multi client detection when its open.

Other than that mmhhh maybe you cast another action when the other one isnt done yet, cause
of lag in game.
03/16/2015 19:02 jasty#83
You don't need to ever have arc open. Just make a shortcut to elementclient.exe with the parameter startbypatcher.

My target looks like this which also enables the debug console.

"C:\Games\PWI_en\element\elementclient.exe" startbypatcher console:1

I do have around a minimum of 200ms delay with a typical delay of 1000ms but it still feels like every time I send a packet there's around a 0.01% chance or so of crashing the game.......


Ohhhhhhhhh wait. Maybe this is from having a separate autopot bot running at the same time? Maybe if they happen to try to send packets at the same time there's an issue with that.

I'll try to combine them into one but damn auotit is not multithreaded at all as far as I can tell. Maybe I can add a mutex somewhere in game memory to resolve send packet collisions. Is there any advice anyone else has to resolving race conditions with multiple bots running at once?

I wish I was comfortable enough to port all this stuff to a real language like python. Python is so much better than Autoit, although I like how easy it is to make hotkeys and gui in autoit.
03/16/2015 19:16 Stark77#84
i only use autohotkey so i can only try to give a hint.
in AHK i use "settimer" for some kind of multi threating.
like Settimer, autopotter, 10000 will call the autopotter function every 10sec and check my hp and use a pot in case its needed.

[Only registered and activated users can see links. Click Here To Register...]

this seems to be the autoit function. maybe give it a try.
03/16/2015 21:08 sasukezero#85
Well you dont have to use Arc with old characters thats true, but if you made newer ones, idk at which points then you have to.
You cant log in else.
And 2 Calls could be which overlab. You'd have to synchronise that. Or as Stark said, make a settimer.

But I'd do the same as you said, combine it. Have all in one and then you can make checks there, whenever you call something.
03/16/2015 23:05 jasty#86
Quote:
Originally Posted by Stark77 View Post
i only use autohotkey so i can only try to give a hint.
in AHK i use "settimer" for some kind of multi threating.
like Settimer, autopotter, 10000 will call the autopotter function every 10sec and check my hp and use a pot in case its needed.

[Only registered and activated users can see links. Click Here To Register...]

this seems to be the autoit function. maybe give it a try.
Seems perfect for this! I will also be able to coordinate the autopotter with my bot to share the genie more efficiently between tree of protection and cloud erupt.
03/23/2015 21:04 sasukezero#87
Hey guys :),

Im trying since hours to find the catshopId uff
I can find it somehow when i set a breakpoint in Olly at sendpackage. There i can see the catshopId, but from there, i dont know where it came from. I tried to search for it in CE....couldnt find it. I tried to search the ID itself, reversed, etc....

Last thing i did now, cause i think its close to the PlayerID oder TargetID was going from those addresses in 0x04 increments up and down. Couldnt find the right one either :/ or maybe i did and im just blind ?

Im trying to make buying from a catshop work and the only thing missing is this catshopid....

the function is like this:

I guess its also rev as the other are also rev, as i saw in olly.

Would be awesome if someone has an idea

Aaaaaaaaaaaaaand I just found it ^^ was easier than i thought :D
Just as i wrote this and was about to make something to eat, came it into my mind!!!

How could i be so stupid.....i didnt search the reversed hex in CE -.- so silly....

I found it now ^^ offset is 0xF70 like this:
Just a RevHex then on this and there ya go :D
03/28/2015 19:46 Stark77#88
Quote:
Originally Posted by jasty View Post
...
Anyone know mailbox stuff? Or checking an NPC for a list of available quests?
Just tried to figure out the available quests. This is what i got so far... the offset chain looks abit ugly but it works (base + 0x1c + 0x10 + 0x8 + 0x74 + 0x24C + 0x168 + (i*0x800+0x1F0)).
What i dont know is the amount of quests...if someone figures that out would be nice to know (atm i use a break to get out of the loop asuming its not more than 10 :P )

Code:
   baseAddress := ReadMemoryUint(realBaseAddress, processID)
   structurePointer := ReadMemoryUint(baseAddress + baseOffset, processID)
   NPCQuestBase := ReadMemoryUint(ReadMemoryUint(ReadMemoryUint(ReadMemoryUint(ReadMemoryUint(structurePointer + 0x10, processID) + 0x8, processID) + 0x74, processID) + 0x24C, processID) + 0x168, processID)

   Loop, 10
   {
      NPCQuestID := ReadMemoryUint(NPCQuestBase + (A_index - 1)*0x800 + 0x1F0, processID)
      if (NPCQuestID > 40000) or (NPCQuestID = 0)
         break
   }
03/29/2015 03:34 jasty#89
Quote:
Originally Posted by Stark77 View Post
Just tried to figure out the available quests. This is what i got so far... the offset chain looks abit ugly but it works (base + 0x1c + 0x10 + 0x8 + 0x74 + 0x24C + 0x168 + (i*0x800+0x1F0)).
What i dont know is the amount of quests...if someone figures that out would be nice to know (atm i use a break to get out of the loop asuming its not more than 10 :P )

Code:
   baseAddress := ReadMemoryUint(realBaseAddress, processID)
   structurePointer := ReadMemoryUint(baseAddress + baseOffset, processID)
   NPCQuestBase := ReadMemoryUint(ReadMemoryUint(ReadMemoryUint(ReadMemoryUint(ReadMemoryUint(structurePointer + 0x10, processID) + 0x8, processID) + 0x74, processID) + 0x24C, processID) + 0x168, processID)

   Loop, 10
   {
      NPCQuestID := ReadMemoryUint(NPCQuestBase + (A_index - 1)*0x800 + 0x1F0, processID)
      if (NPCQuestID > 40000) or (NPCQuestID = 0)
         break
   }
Pretty cool. That should simplify some of my scripting. Hopefully it works with those divine quests as those are random but it should also be useful for NPCs like Headhunter. As for the list count, what I've noticed in my experience is that if the list pointer located at X then the list count is at X-4 but then again this offset chain is someplace I haven't seen before.
03/29/2015 05:15 Stark77#90
ya its like this with most lists, u are right. but i checked it with ReClass and could not find anything.