Register for your free account! | Forgot your password?

You last visited: Today at 19:05

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

Advertisement



WQ bot for PWI

Discussion on WQ bot for PWI within the PW Hacks, Bots, Cheats, Exploits forum part of the Perfect World category.

Reply
 
Old 05/31/2011, 19:28   #181
 
elite*gold: 0
Join Date: Mar 2011
Posts: 44
Received Thanks: 48
ya, i agree, but something (i think for 99% bot) crash the client, btw why sometimes bot stop after WQ finished and sometimes start again and again, never see what hapens, dont be at PC, so i cant tell if start immediately after finish last WQ or wait 1..X min/hours for starting next "blank" one , maybe its problem coz i have 2 chars online at the same time and the strange think is... if no WQ = no WQ quest, if no WQ quest how can bot send char to another NPC, and dont send char at 1. 2. 3. .... etc NPC but some NPCs skip like when flying "real" WQ, never look whole code detaily but cant he take "fake" quest from innactive char and send there active char?
when i will have more time i look for a problem in code (must learn ahk more) but i like autoit more so i can try recode whole bot to autoit
Merkada is offline  
Old 06/01/2011, 08:52   #182
 
Interest07's Avatar
 
elite*gold: 0
Join Date: Mar 2010
Posts: 862
Received Thanks: 576
Ah right, it shouldn't be hard to port it to AutoIt. At the time I made this I was playing around in autohotkey, but since that is based on AutoIt or the other way around, it shouldn't be much of an issue.

I've never used the bot myself, only tested it back when I created it with 4 chars simultaneously for 2 WQs. But that was in the MS version (which doesn't exist anymore) a lot of patches ago. It would probably best to rewrite it anyway if you really intend to use it. At the very least add some logging to it with times and actions so you know what happens when you're away from the PC.
Interest07 is offline  
Old 06/02/2011, 08:51   #183
 
elite*gold: 0
Join Date: Aug 2008
Posts: 41
Received Thanks: 3
Can anyone write or place here the new offset for PWI?

TY
santaclaus62 is offline  
Old 06/02/2011, 16:42   #184
 
elite*gold: 0
Join Date: Mar 2011
Posts: 44
Received Thanks: 48
Code:
[main]
logActivities=0
[offsets]
[COLOR="Green"]realBaseAddress=0x00AF6DA4[/COLOR]		OK
[COLOR="Green"]SendPacketAddress=0x00659450[/COLOR]		OK
[COLOR="Red"]playerCounterOffset=0x00000900		cant solve by myself
playerIntervalOffset=0x000008B4
questFunctionOffset=0x1018
questFunctionAddress=0x0071BEA0[/COLOR]
[COLOR="Green"]playerNameOffset=0x638[/COLOR]			OK
[COLOR="Green"]playerTransportModeOffset=0x64C[/COLOR]		OK
[COLOR="Green"]playerFlySpdOffset=0x4EC[/COLOR]		OK
[COLOR="Green"]playerFlyMountOffset=0x0000058C[/COLOR]		OK
[COLOR="Green"]playerXposOffset=0x3C[/COLOR]			OK
[COLOR="Green"]playerYposOffset=0x40[/COLOR]			OK
[COLOR="Green"]playerZposOffset=0x44[/COLOR]			OK
[COLOR="Green"]playerActionStructOffset=0x1048[/COLOR]		OK
[COLOR="Green"]baseOffset=0x1C[/COLOR]				OK
[COLOR="Green"]playerOffSet=0x34[/COLOR]			OK
[COLOR="Red"]nameLengthOffset=0xFFFFFFF8		dont know what this offset is for[/COLOR]
[COLOR="Green"]playerTargetIdOffset=0xB60[/COLOR]		OK
[COLOR="Green"]npcIdOffset=0x11C[/COLOR]			OK
[COLOR="Green"]sortedNpcListOffset=0x50[/COLOR]		OK
[COLOR="Green"]baseListsOffset=0x1C[/COLOR]			OK
[COLOR="Green"]npcListOffset=0x24[/COLOR]			OK
Merkada is offline  
Old 06/02/2011, 17:44   #185
 
elite*gold: 0
Join Date: Apr 2010
Posts: 99
Received Thanks: 136
Code:
playerCounterOffset=0x00000928
playerIntervalOffset=0x000008DC
questFunctionOffset=0x1050
questFunctionAddress=0x007221F0
...
...
nameLengthOffset=0xFFFFFFF8
nameLengthOffset is a number that gives the length of a name. The length is written a few bytes before the actual name.
msxgames is offline  
Thanks
1 User
Old 06/02/2011, 23:50   #186
 
elite*gold: 0
Join Date: Mar 2011
Posts: 44
Received Thanks: 48
ok so nameLengthOffset=0xFFFFFFF8 is on 99% correct too

next ones
- playerCounterOffset=0x00000900
- playerIntervalOffset=0x000008B4
dont know what this is, or what variable i must search for in CE, but when i look in source i find only 1 function when they are used, and that was FlyUp()
dont have this sendpacket function in my list, so i simulate it myself and get this

Code:
2. 6. 2011 21:21:17: 07-00-0B-00-25-45-41-CD-1C-44-58-80-17-44-77-06-2C-61-98-11-AD-00
2. 6. 2011 21:21:30: 07-00-0B-00-25-45-41-CD-1C-44-58-80-17-44-00-00-2C-61-99-11-44-00
2. 6. 2011 21:21:31: 07-00-0B-00-25-45-41-CD-1C-44-58-80-17-44-00-00-2C-61-9A-11-45-00
2. 6. 2011 21:21:32: 07-00-0B-00-25-45-41-CD-1C-44-58-80-17-44-00-00-2C-61-9B-11-64-00
2. 6. 2011 21:21:33: 07-00-0B-00-25-45-41-CD-1C-44-58-80-17-44-00-00-2C-61-9C-11-A5-00
2. 6. 2011 21:21:33: 07-00-0B-00-25-45-41-CD-1C-44-58-80-17-44-00-00-2C-61-9D-11-A6-00
2. 6. 2011 21:21:33: 07-00-0B-00-25-45-41-CD-1C-44-58-80-17-44-00-00-2C-61-9E-11-2F-01
and function in source:
Code:
local [COLOR="Lime"]packet := "0700"[/COLOR]
local counter := readmemory(player+playerCounterOffset, client, 2)
local interval := readmemory(player+playerIntervalOffset, client, 2) ;0x01F4 -variable "interval" never used in source!!!
local xCoord := readmemory(player+playerXposOffset, client, 4)
local zCoord := readmemory(player+playerZposOffset, client, 4)
local speed := readmemory(player+playerFlySpdOffset, client, 4)
local moveType := 0x61

local speedFloat := hextofloat(speed)

local yCoordFloat := yCoordFloat + speedFloat * time
local sendSpeedFloat := speedFloat * 256 + 0.5
local sendSpeedHex := floor(sendSpeedFloat)
local sendYcoordHex := floattohex(yCoordFloat)
[COLOR="lime"]revHex(value, xCoord)
packet := packet . value[/COLOR]
[COLOR="lime"]revHex(value, sendYcoordHex)
packet := packet . value
revHex(value, zCoord)
packet := packet . value
revHex(value, sendSpeedHex, 4)
packet := packet . value
packet := packet . "00"	[/COLOR]	;direction
[COLOR="lime"]revHex(value, moveType, 2)
packet := packet . value
revHex(value, counter, 4)
packet := packet . value
packet := packet . [COLOR="Red"]"F401"[/COLOR][/COLOR]	;unknown value

writeMemory(counter + 1,player+playerCounterOffset, client, 2)
writeMemory(sendYcoordHex,player+playerYposOffset, client)
sendPacket(packet, "16", 0x16, client)
from this, packet = 07-00 & Xcoord & Ycoord & Zcoord & speed & 00 & move type & counter & F4-01
btw F4-01 is not offset so i think no need change it in WQing.ini because its hardcoded in source

for example last line
07-00-0B-00-25-45-41-CD-1C-44-58-80-17-44-00-00-2C-61-9E-11-2F-01
00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00

packet := "0700"

revHex(value, xCoord)
packet := packet . value


revHex(value, sendYcoordHex)
packet := packet . value


revHex(value, zCoord)
packet := packet . value


revHex(value, sendSpeedHex, 4)
packet := packet . value


packet := packet . "00" ;direction -allways "00"

revHex(value, moveType, 2) -allways "61"
packet := packet . value

revHex(value, counter, 4)
packet := packet . value


packet := packet . "F401" ;unknown value - allways this value (hardcoded)

next....
Code:
2. 6. 2011 21:21:17: 07-00-0B-00-25-45-41-CD-1C-44-58-80-17-44-77-06-2C-61-[COLOR="red"]98-11[/COLOR]-AD-00
2. 6. 2011 21:21:30: 07-00-0B-00-25-45-41-CD-1C-44-58-80-17-44-00-00-2C-61-[COLOR="red"]99-11[/COLOR]-44-00
2. 6. 2011 21:21:31: 07-00-0B-00-25-45-41-CD-1C-44-58-80-17-44-00-00-2C-61-[COLOR="red"]9A-11[/COLOR]-45-00
2. 6. 2011 21:21:32: 07-00-0B-00-25-45-41-CD-1C-44-58-80-17-44-00-00-2C-61-[COLOR="red"]9B-11[/COLOR]-64-00
2. 6. 2011 21:21:33: 07-00-0B-00-25-45-41-CD-1C-44-58-80-17-44-00-00-2C-61-[COLOR="red"]9C-11[/COLOR]-A5-00
2. 6. 2011 21:21:33: 07-00-0B-00-25-45-41-CD-1C-44-58-80-17-44-00-00-2C-61-[COLOR="red"]9D-11[/COLOR]-A6-00
2. 6. 2011 21:21:33: 07-00-0B-00-25-45-41-CD-1C-44-58-80-17-44-00-00-2C-61-[COLOR="Red"]9E-11[/COLOR]-2F-01
with this u can see that "counter" change every time when u tap spacebar so u can easily search for that value with CE.... after few searches i get offset 0x928 so playerCounterOffset=0x00000928 and player interval probably nont needed (hardcoded, maybe iam wrong but i dont find any use of this offset)
------------------------------------
questFunctionOffset=0x1018
questFunctionAddress=0x0071BEA0
last 2 offsets for taking a quest can be found with interest07 tutorial in IDA, iam IDA noob, so i can try find this but no promisses with this

for now we have this:
Code:
[main]
logActivities=0
[offsets]
[COLOR="Green"]realBaseAddress=0x00AF6DA4[/COLOR]		OK
[COLOR="Green"]SendPacketAddress=0x00659450[/COLOR]		OK
[COLOR="Green"]playerCounterOffset=0x00000928[/COLOR]		OK
[COLOR="Green"]playerIntervalOffset=0x000008B4[/COLOR]		think this will be OK
[COLOR="Red"]questFunctionOffset=0x1018
questFunctionAddress=0x0071BEA0[/COLOR]
[COLOR="Green"]playerNameOffset=0x638[/COLOR]			OK
[COLOR="Green"]playerTransportModeOffset=0x64C[/COLOR]		OK
[COLOR="Green"]playerFlySpdOffset=0x4EC[/COLOR]		OK
[COLOR="Green"]playerFlyMountOffset=0x0000058C[/COLOR]		OK
[COLOR="Green"]playerXposOffset=0x3C[/COLOR]			OK
[COLOR="Green"]playerYposOffset=0x40[/COLOR]			OK
[COLOR="Green"]playerZposOffset=0x44[/COLOR]			OK
[COLOR="Green"]playerActionStructOffset=0x1048[/COLOR]		OK
[COLOR="Green"]baseOffset=0x1C[/COLOR]				OK
[COLOR="Green"]playerOffSet=0x34[/COLOR]			OK
[COLOR="Green"]nameLengthOffset=0xFFFFFFF8[/COLOR]		OK
[COLOR="Green"]playerTargetIdOffset=0xB60[/COLOR]		OK
[COLOR="Green"]npcIdOffset=0x11C[/COLOR]			OK
[COLOR="Green"]sortedNpcListOffset=0x50[/COLOR]		OK
[COLOR="Green"]baseListsOffset=0x1C[/COLOR]			OK
[COLOR="Green"]npcListOffset=0x24[/COLOR]			OK
Merkada is offline  
Old 06/03/2011, 00:42   #187
 
elite*gold: 0
Join Date: Apr 2010
Posts: 99
Received Thanks: 136
Mmm, my previous post feels ignored. But ok, for me WQ bot works fine.

How did you simulate the sendpacket function?
msxgames is offline  
Thanks
1 User
Old 06/03/2011, 01:11   #188
 
elite*gold: 0
Join Date: Mar 2011
Posts: 44
Received Thanks: 48
whoops my bad ty for offsets, i cans still find quest adress and offset by myself even with tutorial (like i said ... IDA noob)

so this is WQing.ini

Code:
[main]
logActivities=0
[offsets]
realBaseAddress=0x00AF6DA4
SendPacketAddress=0x00659450
playerCounterOffset=0x00000900
playerIntervalOffset=0x000008DC
questFunctionOffset=0x1050
questFunctionAddress=0x007221F0
playerNameOffset=0x638
playerTransportModeOffset=0x64C
playerFlySpdOffset=0x4EC
playerFlyMountOffset=0x0000058C
playerXposOffset=0x3C
playerYposOffset=0x40
playerZposOffset=0x44
playerActionStructOffset=0x1048
baseOffset=0x1C
playerOffSet=0x34
nameLengthOffset=0xFFFFFFF8
playerTargetIdOffset=0xB60
npcIdOffset=0x11C
sortedNpcListOffset=0x50
baseListsOffset=0x1C
npcListOffset=0x24
and for catching packets using PWEDump from Vuduy
Merkada is offline  
Thanks
1 User
Old 06/03/2011, 01:52   #189
 
elite*gold: 0
Join Date: Apr 2010
Posts: 99
Received Thanks: 136
I use findWQbotOffsets.au3, it still works for most of the addresses. The remaining values are not so difficult (and a bit trial and error).
msxgames is offline  
Thanks
1 User
Old 06/03/2011, 07:42   #190
 
Interest07's Avatar
 
elite*gold: 0
Join Date: Mar 2010
Posts: 862
Received Thanks: 576
F401 => 500, which is the number of ms between each move packet. This value won't change in general of course, but some might want to adjust it

Direction should really be changed I guess for appearences, but I never got around to it as it's not necessary for the bot.

Nice to see people still using this
Interest07 is offline  
Old 06/03/2011, 20:23   #191
 
elite*gold: 0
Join Date: Aug 2008
Posts: 41
Received Thanks: 3
Plz when can we expect FlyWQ 2.8.exe??
santaclaus62 is offline  
Old 06/03/2011, 21:34   #192
 
elite*gold: 0
Join Date: Apr 2010
Posts: 99
Received Thanks: 136
Edit WQing.ini with the values provided before and you should be fine. FlyWQ 2.7 still works.
msxgames is offline  
Thanks
1 User
Old 06/03/2011, 23:07   #193
 
elite*gold: 0
Join Date: Aug 2008
Posts: 41
Received Thanks: 3
Yup with Merkada offset works it fine,

Only the char doesnt go up to a hight of 30 anymore to fly off to the new point.
By this u get some troubles with Vol.26:Assassin to Shop Assistant (640 565) u hit the house and get stuck


But Thank u all
santaclaus62 is offline  
Old 06/04/2011, 21:43   #194
 
elite*gold: 0
Join Date: Apr 2010
Posts: 99
Received Thanks: 136
santa, I saw that the char is flying up to a height of 30, but when the char reaches height of 30, the position is not updated anymore. In the sourcecode this is solved by sending an invalid packet, so the chars position is reset. Sending an invalid packet doesn't seem to work anymore since the last patch. A new solution is needed for the function flyUp to work again.
msxgames is offline  
Thanks
1 User
Old 06/22/2011, 02:01   #195
 
elite*gold: 0
Join Date: Jun 2011
Posts: 1
Received Thanks: 0
Does this work with the Genesis update?
Kiiyuka is offline  
Reply




All times are GMT +1. The time now is 19:06.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

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