Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > Perfect World > PW Hacks, Bots, Cheats, Exploits
You last visited: Today at 06:32

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

Advertisement



Perfect World Bot PWI-Prophet Bot Recoded

Discussion on Perfect World Bot PWI-Prophet Bot Recoded within the PW Hacks, Bots, Cheats, Exploits forum part of the Perfect World category.

Reply
 
Old 08/22/2010, 12:07   #271
 
Interest07's Avatar
 
elite*gold: 0
Join Date: Mar 2010
Posts: 862
Received Thanks: 576
Quote:
Originally Posted by asaky View Post
Not sure, if you have an answer to there problem PM prophet 1/2 no use talking programming with me, I will just stare blankly at you and nod slowly like... Uh...huh


Ahh well, you mentioned you were doing searches on forums for a solution, so I answered what my solution would be
Interest07 is offline  
Old 08/22/2010, 12:08   #272
 
asaky's Avatar
 
elite*gold: 0
Join Date: Sep 2009
Posts: 259
Received Thanks: 22
Quote:
Originally Posted by Interest07 View Post
Ahh well, you mentioned you were doing searches on forums for a solution, so I answered what my solution would be
I hope prophets figure it out. I want to watch a movie while botting a ranged class
asaky is offline  
Old 08/22/2010, 13:05   #273
 
Smurfin's Avatar
 
elite*gold: 0
Join Date: Oct 2008
Posts: 1,243
Received Thanks: 670
Is there any way to pick up mats on ground, does anyone have a working function in autoit to do that ? that'd be a plus if a bot has that feature, when there is no mob around and the drops all looted, the bot will pick nearby mats instead. Don't waste anything that can be picked freely lol

or make a standalone mats farming bot and put another char in the grinding area dedicated for farming mats, that way it'll be able to pick ground materials without being interrupted by mobs because the other bot is running.
Smurfin is offline  
Old 08/22/2010, 13:07   #274
 
asaky's Avatar
 
elite*gold: 0
Join Date: Sep 2009
Posts: 259
Received Thanks: 22
Quote:
Originally Posted by Smurfin View Post
Is there any way to pick up mats on ground, does anyone have a working function in autoit to do that ? that'd be a plus if a bot has that feature, when there is no mob around and the drops all looted, the bot will pick nearby mats instead. Don't waste anything that can be picked freely lol

or make a standalone mats farming bot and put another char in the grinding area dedicated for farming mats, that way it'll be able to pick ground materials without being interrupted by mobs because the other bot is running.
I know a pay bot called botpirates. There is a cracked version on the forum did that. But its an outdated and no one has cracked it again. I guess you could use a pixel searcher for colour although primative it sometimes works. '

Maybe you should check out that bot and see what you can do with it.
asaky is offline  
Old 08/22/2010, 13:28   #275
 
Smurfin's Avatar
 
elite*gold: 0
Join Date: Oct 2008
Posts: 1,243
Received Thanks: 670
hehe yea, btw what server are you playing on, asaky ? Do you have an assassin char and what level ? how does it perform in PK against other classes ? Is it true it can OP them all (with on par equips and level of course) or is it only a hype because it's new ?
Smurfin is offline  
Old 08/22/2010, 13:32   #276
 
asaky's Avatar
 
elite*gold: 0
Join Date: Sep 2009
Posts: 259
Received Thanks: 22
Quote:
Originally Posted by Smurfin View Post
hehe yea, btw what server are you playing on, asaky ? Do you have an assassin char and what level ? how does it perform in PK against other classes ? Is it true it can OP them all (with on par equips and level of course) or is it only a hype because it's new ?
I play on the International server my assasins level 74 in pk its fairly good depends on the class. Against wizards we will probably always win.

Against clerics the cleric has a good chance of winning we are an all or nothing Pker if we cannot kill you in the first wave we die. Clerics heal so we are screwed lol.

Against phyces we will probably win.

Against barbs were screwed don't even try a barb lol.

Against bm is same as barb.

venos are screwed against us unless they use bramble >.> hate that spell.

archers are equal to sins.


All in all people are making it bigger then it seems. Yes we are a bit over powered when it comes to wizards and some magic classes but against barbs or clerics we have little chance. People will complain about every new class.
asaky is offline  
Old 08/22/2010, 13:52   #277
 
Smurfin's Avatar
 
elite*gold: 0
Join Date: Oct 2008
Posts: 1,243
Received Thanks: 670
hehe yea, I agree, so it's just being exaggerated >_< , and I hope it's not inferior to psychic later coz I already picked assassin instead.

and yes veno's bramble is quite painful, even the other buff, the one with no fury usage hurts, I tried duelling my low lv assassin to my 101 veno wanting to check how much damage the veno will take but lost due to the buff lol

too bad assassin doesn't have any element to have a bit of advantage against bm and barb.


there is a stealth and awareness with assassin, but there is nothing in char info about that, I haven't maxed my stealth level though, but still my lv 101 chars can all see the assassin even though I already cast the invisible skill. Is char Level also affecting it ? if so, then will only be completely unseen later at 101 , many ppl will probably reach 102 at that time
Smurfin is offline  
Old 08/22/2010, 13:54   #278
 
asaky's Avatar
 
elite*gold: 0
Join Date: Sep 2009
Posts: 259
Received Thanks: 22
Quote:
Originally Posted by Smurfin View Post
hehe yea, I agree, so it's just being exaggerated >_< , and I hope it's not inferior to psychic later coz I already picked assassin instead.

and yes veno's bramble is quite painful, even the other buff, the one with no fury usage hurts, I tried duelling my low lv assassin to my 101 veno wanting to check how much damage the veno will take but lost due to the buff lol

too bad assassin doesn't have any element to have a bit of advantage against bm and barb.
I think by demon sins get better, but not sure. Sin is an alright class to bot I guess it goes. Barb, bm, sin, veno. I know I bot my assasin with just your normal attack and blood paint its great you get 20 hp every half a second lol.
asaky is offline  
Old 08/22/2010, 14:39   #279
 
Interest07's Avatar
 
elite*gold: 0
Join Date: Mar 2010
Posts: 862
Received Thanks: 576
Quote:
Originally Posted by Smurfin View Post
Is there any way to pick up mats on ground, does anyone have a working function in autoit to do that ? that'd be a plus if a bot has that feature, when there is no mob around and the drops all looted, the bot will pick nearby mats instead. Don't waste anything that can be picked freely lol

or make a standalone mats farming bot and put another char in the grinding area dedicated for farming mats, that way it'll be able to pick ground materials without being interrupted by mobs because the other bot is running.
This isn't quite AutoIt code, but it should be clear how it works. actionStruct is [CHARACTER_DATABASE + 0xFF4] in PWI. This function is for starting conversation with NPC, performing regular attack on a mob, using skill on a mob or yourself, mining resources, or picking up an item from floor, depending on the interactionType you pass along.

WalkToAction is a wrong name for the variable, but it was due to some copy pasting, should see that more as "InteractWith"

Code:
InteractWith(objectId, interactionType, client, actionStruct, skillPointer=0)
{
	actionList := ReadMemory(actionStruct+0x30,client)
	WalkToAction := ReadMemory(actionList+0x8,client)

	writeMemory(0, WalkToAction+0x8, client)		;Action finished = 0
	writeMemory(1, WalkToAction+0x14, client)		;Action Start = 1
	writeMemory(0, WalkToAction+0x24, client)		;Action Not Start = 0
	writeMemory(objectId, WalkToAction+0x20, client)	;Set objectId to interact with
	writeMemory(interactionType, WalkToAction+0x38, client)	;Set type of action to perform (0 = regAtk, 1 = pick item, 2 = talk to NPC,3 = useSkill, 4 = gatherResources)
	writeMemory(0, WalkToAction+0x34, client)		;Set error = 0
	writeMemory(skillPointer, WalkToAction+0x50, client)
	writeMemory(WalkToAction, actionstruct+0xC, client)	;Set new action type WalkTo in action struct position action1
	writeMemory(1, actionstruct+0x18, client)		;Set next action position to 1
	writeMemory(WalkToAction, actionstruct+0x14, client)	;Set new action type WalkTo in action struct as next action	
}
Interest07 is offline  
Thanks
3 Users
Old 08/22/2010, 14:42   #280
 
Smurfin's Avatar
 
elite*gold: 0
Join Date: Oct 2008
Posts: 1,243
Received Thanks: 670
lol I chose assassin for the very same reason normal attack, no pots, a dd class, therefore is a good class to bot, faster kill and faster exp gains, though exp is starting to get tight and tighter now, still can levelup under every 24 hours, but I guess after 79 it'll levelup the next day.
Smurfin is offline  
Old 08/22/2010, 14:45   #281
 
Smurfin's Avatar
 
elite*gold: 0
Join Date: Oct 2008
Posts: 1,243
Received Thanks: 670
Quote:
Originally Posted by Interest07 View Post
This isn't quite AutoIt code, but it should be clear how it works. actionStruct is [CHARACTER_DATABASE + 0xFF4] in PWI. This function is for starting conversation with NPC, performing regular attack on a mob, using skill on a mob or yourself, mining resources, or picking up an item from floor, depending on the interactionType you pass along.

Code:
InteractWith(objectId, interactionType, client, actionStruct, skillPointer=0)
{
	actionList := ReadMemory(actionStruct+0x30,client)
	WalkToAction := ReadMemory(actionList+0x8,client)

	writeMemory(0, WalkToAction+0x8, client)		;Action finished = 0
	writeMemory(1, WalkToAction+0x14, client)		;Action Start = 1
	writeMemory(0, WalkToAction+0x24, client)		;Action Not Start = 0
	writeMemory(objectId, WalkToAction+0x20, client)	;Set objectId to interact with
	writeMemory(interactionType, WalkToAction+0x38, client)	;Set type of action to perform (0 = regAtk, 1 = pick item, 2 = talk to NPC,3 = useSkill, 4 = gatherResources)
	writeMemory(0, WalkToAction+0x34, client)		;Set error = 0
	writeMemory(skillPointer, WalkToAction+0x50, client)
	writeMemory(WalkToAction, actionstruct+0xC, client)	;Set new action type WalkTo in action struct position action1
	writeMemory(1, actionstruct+0x18, client)		;Set next action position to 1
	writeMemory(WalkToAction, actionstruct+0x14, client)	;Set new action type WalkTo in action struct as next action	
}
thanks, I'll make a resource filter first and figuring out how to pick it up later with this.
in what language is the function above ? can that function be used for attacking mob using memory write ?

I just searched and got a function already in autoit posted by lolkop and able to pickup items dropped by mobs but it can't be used for picking ground mats, I dunno what to change whatever interactionType is used in the function, could you please check this function and see what should be modified in this so it can be used for picking ground mats ? it also does not automatically approach drops though, but can pick up objects after I move my char close to the drops, so I have to add move2xyz before using it later.

anyway, here is lolkop's pickup function, or if lolkop himself is around, please advice on how to use it to pickup ground mats.
Code:
Func PickItem($sn, $id)
	Local $pRemoteThread, $vBuffer, $loop, $result, $OPcode
	; --- save the position of the allocated memory ---
	$pRemoteMem = DllCall($kernel32, 'int', 'VirtualAllocEx', 'int', $mid, 'ptr', 0, 'int', 0x46, 'int', 0x1000, 'int', 0x40)
	; --- build up the asm code ---
	;~ 004707F8  |. 8B15 6C3E9F00  MOV EDX,DWORD PTR DS:[9F3E6C]            ;  edx <- [base]
	;~ 004707FE  |. 50             PUSH EAX                                 ; /Item-SN
	;~ 004707FF  |. 51             PUSH ECX                                 ; |Item- ID
	;~ 00470800  |. 8B4A 20        MOV ECX,DWORD PTR DS:[EDX+20]            ; |
	;~ 00470803  |. 81C1 EC000000  ADD ECX,0EC                              ; |
	;~ 00470809  |. E8 42941700    CALL elementc.005E9C50                   ; \elementc.005E9C50
	$OPcode &= '60'                                                           ; pushad
	$OPcode &= '8B15'&_hex($base)                                             ; mov edx, [base]
	$OPcode &= '68'&_hex($sn)                                                 ; push item-sn
	$OPcode &= '68'&_hex($id)                                                 ; push item-id
	$OPcode &= '8B4A20'                                                       ; mov ecx, [edx+0x20]
	$OPcode &= '81C1'&_hex(0xEC)                                              ; add ecx, 0xEC
	$OPcode &= 'E8'&_hex($pick_call-$pRemoteMem[0]-5-StringLen($OPcode)/2)  ; call pick_call
	$OPcode &= '61'                                                           ; popad
	$OPcode &= 'C3'                                                           ; retn
	; --- enter the asm code to to a dllstruct, which can be used with WriteProcessMemory ---
	$vBuffer = DllStructCreate('byte[' & StringLen($OPcode) / 2 & ']')
	For $loop = 1 To DllStructGetSize($vBuffer)
		DllStructSetData($vBuffer, 1, Dec(StringMid($OPcode, ($loop - 1) * 2 + 1, 2)), $loop)
	Next
	; --- now letz write the code from our dllstruct ---
	DllCall($kernel32, 'int', 'WriteProcessMemory', 'int', $mid, 'int', $pRemoteMem[0], 'int', DllStructGetPtr($vBuffer), 'int', DllStructGetSize($vBuffer), 'int', 0)
	; --- now we run the asm code we've just written ---
	$hRemoteThread = DllCall($kernel32, 'int', 'CreateRemoteThread', 'int', $mid, 'int', 0, 'int', 0, 'int', $pRemoteMem[0], 'ptr', 0, 'int', 0, 'int', 0)
	; --- wait till the thread did his job ---
	Do
		$result = DllCall('kernel32.dll', 'int', 'WaitForSingleObject', 'int', $hRemoteThread[0], 'int', 50)
	Until $result[0] <> 258
	; --- close everything we've opened ---
	DllCall($kernel32, 'int', 'CloseHandle', 'int', $hRemoteThread[0])
	DllCall($kernel32, 'ptr', 'VirtualFreeEx', 'hwnd', $mid, 'int', $pRemoteMem[0], 'int', 0, 'int', 0x8000)
	Return True
EndFunc
Smurfin is offline  
Old 08/22/2010, 19:21   #282
 
elite*gold: 0
Join Date: Aug 2010
Posts: 7
Received Thanks: 0
bro Elucas cara setting pet support di bot prophet yang versi pw indo gimana?? cos masih ga jalan nih....moga2 dewa2 bot laen mau berbagi....)
kancilmonday is offline  
Old 08/22/2010, 19:34   #283
 
asaky's Avatar
 
elite*gold: 0
Join Date: Sep 2009
Posts: 259
Received Thanks: 22
Quote:
Originally Posted by kancilmonday View Post
versi pw indo ....)
Judging by those words although I do not speak the language, I am guessing you are begging for a pw indo version. And as I have said to so many others. There is no pw indo version if you find the offsets yourself great. If you can't.. well tough luck.
asaky is offline  
Old 08/22/2010, 20:00   #284
 
elite*gold: 0
Join Date: Aug 2010
Posts: 7
Received Thanks: 0
upss sorry...the bot that elucas posted here was work perfectly for indo version. I just wrong to set the pet offset lol..my bad..
Hope they will release prophet bot with ep bot function just like in smurfit.
kancilmonday is offline  
Old 08/22/2010, 21:30   #285
 
Interest07's Avatar
 
elite*gold: 0
Join Date: Mar 2010
Posts: 862
Received Thanks: 576
Quote:
Originally Posted by Smurfin View Post
thanks, I'll make a resource filter first and figuring out how to pick it up later with this.
in what language is the function above ? can that function be used for attacking mob using memory write ?

I just searched and got a function already in autoit posted by lolkop and able to pickup items dropped by mobs but it can't be used for picking ground mats, I dunno what to change whatever interactionType is used in the function, could you please check this function and see what should be modified in this so it can be used for picking ground mats ? it also does not automatically approach drops though, but can pick up objects after I move my char close to the drops, so I have to add move2xyz before using it later.

anyway, here is lolkop's pickup function, or if lolkop himself is around, please advice on how to use it to pickup ground mats.
Code:
Func PickItem($sn, $id)
	Local $pRemoteThread, $vBuffer, $loop, $result, $OPcode
	; --- save the position of the allocated memory ---
	$pRemoteMem = DllCall($kernel32, 'int', 'VirtualAllocEx', 'int', $mid, 'ptr', 0, 'int', 0x46, 'int', 0x1000, 'int', 0x40)
	; --- build up the asm code ---
	;~ 004707F8  |. 8B15 6C3E9F00  MOV EDX,DWORD PTR DS:[9F3E6C]            ;  edx <- [base]
	;~ 004707FE  |. 50             PUSH EAX                                 ; /Item-SN
	;~ 004707FF  |. 51             PUSH ECX                                 ; |Item- ID
	;~ 00470800  |. 8B4A 20        MOV ECX,DWORD PTR DS:[EDX+20]            ; |
	;~ 00470803  |. 81C1 EC000000  ADD ECX,0EC                              ; |
	;~ 00470809  |. E8 42941700    CALL elementc.005E9C50                   ; \elementc.005E9C50
	$OPcode &= '60'                                                           ; pushad
	$OPcode &= '8B15'&_hex($base)                                             ; mov edx, [base]
	$OPcode &= '68'&_hex($sn)                                                 ; push item-sn
	$OPcode &= '68'&_hex($id)                                                 ; push item-id
	$OPcode &= '8B4A20'                                                       ; mov ecx, [edx+0x20]
	$OPcode &= '81C1'&_hex(0xEC)                                              ; add ecx, 0xEC
	$OPcode &= 'E8'&_hex($pick_call-$pRemoteMem[0]-5-StringLen($OPcode)/2)  ; call pick_call
	$OPcode &= '61'                                                           ; popad
	$OPcode &= 'C3'                                                           ; retn
	; --- enter the asm code to to a dllstruct, which can be used with WriteProcessMemory ---
	$vBuffer = DllStructCreate('byte[' & StringLen($OPcode) / 2 & ']')
	For $loop = 1 To DllStructGetSize($vBuffer)
		DllStructSetData($vBuffer, 1, Dec(StringMid($OPcode, ($loop - 1) * 2 + 1, 2)), $loop)
	Next
	; --- now letz write the code from our dllstruct ---
	DllCall($kernel32, 'int', 'WriteProcessMemory', 'int', $mid, 'int', $pRemoteMem[0], 'int', DllStructGetPtr($vBuffer), 'int', DllStructGetSize($vBuffer), 'int', 0)
	; --- now we run the asm code we've just written ---
	$hRemoteThread = DllCall($kernel32, 'int', 'CreateRemoteThread', 'int', $mid, 'int', 0, 'int', 0, 'int', $pRemoteMem[0], 'ptr', 0, 'int', 0, 'int', 0)
	; --- wait till the thread did his job ---
	Do
		$result = DllCall('kernel32.dll', 'int', 'WaitForSingleObject', 'int', $hRemoteThread[0], 'int', 50)
	Until $result[0] <> 258
	; --- close everything we've opened ---
	DllCall($kernel32, 'int', 'CloseHandle', 'int', $hRemoteThread[0])
	DllCall($kernel32, 'ptr', 'VirtualFreeEx', 'hwnd', $mid, 'int', $pRemoteMem[0], 'int', 0, 'int', 0x8000)
	Return True
EndFunc
The function you posted by lolkop is a bit lower level than what i posted. What I posted only uses memory write, similar to the DashTo function in prophets bot (you can just take that code and change a few things so it resembles mine). his walkto struct is offset 0x4, where this struct is pffset 0x8. The function I posted is made in AutoHotkey, but it should be quite easy to transform to AutoIt. I'll have a look later.
Interest07 is offline  
Thanks
1 User
Reply




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


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.