WQ bot for PWI

03/07/2011 06:20 Interest07#136
With the correct offsets, it should still work I think. I haven't used it since I posted it though (only used it for testing if it worked), so you'd have to try it for yourself. msxgames just posted what I believe are up to date offsets for PWI, so try it out I'd say.

But yeah I'm not updating it, the source code is provided, so have a blast with it ;)

@prophets, no probs, hope your bot is still doing well :) I haven't really been actively doing anything PWwise lately, I've been too busy I'm afraid.
03/07/2011 16:08 kopralnaga#137
it worked tq : makasi kk ^^
03/07/2011 20:20 msxgames#138
For me the client still crashes. How did you do that kopralnaga? Did you do any other changes?
03/09/2011 00:15 Cinnabar#139
I am getting the same problem. Client crashes. One of the offsets must be different. It seems to load recognises the player / client but then crashes. Maybe one of the unknown offsets is slighty "off". Sorry bad joke :o
03/09/2011 10:20 trephine#140
It doesn't work with COI8-R.
03/09/2011 23:13 msxgames#141
I tried to find the reason for the crash and I found 2 places where things went wrong:

1. The function checkQuestPresent is giving the crash.
2. the sendpacket function of "hand in quest" is not working. Line 826 in the sourcecode. The PWI client returns an "Invalid service request". Maybe more sendpacket functions are not working, so I guess they changed the way of sending packets. (the packet "start interaction" is working correctly however)

Unfortunately I don't have the knowledge to improve this stuff (yet) so I would appreciate if someone can pick this up and give a solution or give at least a big hint in the right direction.

The bot is still working flawlessly in PW-MY, so at least 3 of my chars can make WQ during dinner time, lol.
03/18/2011 03:24 msxgames#142
Oki, issue 1 is solved now. The problem with this function is that the playerOffSet has been changed and this offset is hard coded in the source.

Issue 2 is still bothering me. Apparently PWI uses a different structure of the packet for the ´hand in quest´ function since the genesis patch. I found some small tutorial to read the stack when the sendpacket function is called. My knowledge is a bit limited on this. Can someone please provide or show me a tutorial on how to find the correct packet structure. I found Prophetbot still using the ´old´ packet structure, maybe not correct... or am I wrong?

Edit: I found [Only registered and activated users can see links. Click Here To Register...] that gives the output that I need, but couldn´t find the source code.
03/18/2011 06:08 PW-Prophets#143
Quote:
Originally Posted by msxgames View Post
Oki, issue 1 is solved now. The problem with this function is that the playerOffSet has been changed and this offset is hard coded in the source.

Issue 2 is still bothering me. Apparently PWI uses a different structure of the packet for the ´hand in quest´ function since the genesis patch. I found some small tutorial to read the stack when the sendpacket function is called. My knowledge is a bit limited on this. Can someone please provide or show me a tutorial on how to find the correct packet structure. I found Prophetbot still using the ´old´ packet structure, maybe not correct... or am I wrong?

Edit: I found [Only registered and activated users can see links. Click Here To Register...] that gives the output that I need, but couldn´t find the source code.
I have not converted it yet but here is the read out. I have to give this hands down to Interesto7 for showing me how this was done.

[0066EFB3] Packet: 25 00 06 00 00 00 08 00 00 00 97 04 00 00 00 00 00 00
[0066CF75] Packet: 09 00 00 01

Edit: This is what works for me after converting it.

Func handInQuest($questId,$optionIndex)
;Hand in quest, select reward optionIndex,
;which runs from 0 for first option, to more.
local $packet, $packetSize
$packet = '2500'
$packet &= '06000000'
$packet &= '08000000'
$packet &= _hex($questId)
$packet &= _hex($optionIndex)
$packet &= '09000001'
$packetSize = 18

sendPacket($packet, $packetSize, $PROCESS_ID)
EndFunc ;==>
03/18/2011 14:21 Smurfin#144
what tool do you guys use for capturing unencrypted packets for pw ?
03/18/2011 15:01 msxgames#145
Try [Only registered and activated users can see links. Click Here To Register...]. I am impressed, it works for PWI genesis.
03/18/2011 15:15 PW-Prophets#146
Quote:
Originally Posted by Smurfin View Post
what tool do you guys use for capturing unencrypted packets for pw ?
[Only registered and activated users can see links. Click Here To Register...]
03/18/2011 20:43 Smurfin#147
nice one from vuduy, works instantly with zero config ^^)
03/18/2011 21:18 msxgames#148
Oki, with the help of the program made by vuduy I found the correct packet function, apparently it changed. I also noticed that Prophetbot and FlyWQ bot use the same description ("hand in quest") for different kind of functions.

Code:
;hand in quest

revHex(revQuestId, questId)
packet := ""
packet = %packet%2500070000000C000000%revQuestId%0000000000000000
packetSize := 0x16
packetSizeStr := "16"
sendPacket(packet, packetSizeStr, packetsize, theId)
	
sleep 3000
For me the bot is working now in PWI Genesis. I attached the sourcecode, the ini-file and an executable. Thanks for all the people who contributed and to Interest07 for making it.
03/19/2011 08:35 Interest07#149
Thanks for continuing the bot, I'm sure lots of people will appreciate it :)
03/19/2011 12:10 santaclaus62#150
:awesome:I have try it on all 4 chars at the same time and it works :).

on some chars it crashed while flying from vol 30 back to Archosaur

Great job guys THX

:awesome: :awesome: