Perfect World Bot PWI-Prophet Bot Recoded

08/26/2010 02:43 mrbatosai#331
Quote:
Originally Posted by No0oB View Post
pls post your codelines where you get the error ^^
none of error now. but when i run the programe and check the unfreeze checkbox it doesn't make my element client unfreeze. and why the method can worked at prophet. but not with me? i use the exactlt same code with prophet ause i use prophet method?

and this is the code that prophet use for the prophet bot

Code:
$CHK_FZ = GUICtrlCreateCheckbox("Unfreeze", 160, 469, 82, 8)
DllCall("UxTheme.dll", "int", "SetWindowTheme", "hwnd", GUICtrlGetHandle($CHK_FZ), "wstr", 0, "wstr", 0)
If IniRead($SOFTWARE_CONFIG, $CFG_EXTRAS_ROOT_KEY, $CFG_EXTRAS_FREEZE_KEY, "0") = 1 Then
	GUICtrlSetState(-1, $GUI_CHECKED)
Else
	GUICtrlSetState(-1, $GUI_UNCHECKED)
EndIf

Func SETGUIDATA()
	If Not $PROCESS_ID Then Return 0
	If GUICtrlRead($CHK_FZ) <> IniRead($SOFTWARE_CONFIG, $CFG_EXTRAS_ROOT_KEY, $CFG_EXTRAS_FREEZE_KEY, "0") Then
		IniWrite($SOFTWARE_CONFIG, $CFG_EXTRAS_ROOT_KEY, $CFG_EXTRAS_FREEZE_KEY, GUICtrlRead($CHK_FZ))
		If GUICtrlRead($CHK_FZ) = 5 Then
			MEMWRITE(10439036, 1)
		EndIf
	EndIf
	If IniRead($SOFTWARE_CONFIG, $CFG_EXTRAS_ROOT_KEY, $CFG_EXTRAS_FREEZE_KEY, "0") = 1 Then
		$FZ = MEMREAD($APP_BASE_ADDRESSFZ)
		If $FZ <> 1 Then
			MEMWRITE($APP_BASE_ADDRESSFZ, $PROCESS_INFORMATION, "1")
		EndIf
	EndIf
EndFunc


Func MEMOPEN($PROCESS_ID)
	Local $MID = DllCall($KERNEL32, "int", "OpenProcess", "int", 2035711, "int", 1, "int", $PROCESS_ID)
	Return $MID[0]
EndFunc
Func MEMREAD($ADRESS, $TYPE = "dword")
	Local $STRUCT = DllStructCreate($TYPE)
	DllCall($KERNEL32, "int", "ReadProcessMemory", "int", $MID, "int", $ADRESS, "ptr", DllStructGetPtr($STRUCT), "int", DllStructGetSize($STRUCT), "int", "")
	Return DllStructGetData($STRUCT, 1)
EndFunc

Func MEMWRITE($IV_ADDRESS, $AH_HANDLE, $V_DATA, $SV_TYPE = "dword")
	If Not IsArray($AH_HANDLE) Then
		SetError(1)
		Return 0
	EndIf
	Local $V_BUFFER = DllStructCreate($SV_TYPE)
	If @error Then
		SetError(@error + 1)
		Return 0
	Else
		DllStructSetData($V_BUFFER, 1, $V_DATA)
		If @error Then
			SetError(6)
			Return 0
		EndIf
	EndIf
	DllCall($AH_HANDLE[0], "int", "WriteProcessMemory", "int", $AH_HANDLE[1], "int", $IV_ADDRESS, "ptr", DllStructGetPtr($V_BUFFER), "int", DllStructGetSize($V_BUFFER), "int", "")
	If Not @error Then
		Return 1
	Else
		SetError(7)
		Return 0
	EndIf
EndFunc
Func MEMPOINTERWRITE($IV_ADDRESS, $AH_HANDLE, $AV_OFFSET, $V_DATA, $SV_TYPE = "dword")
	If IsArray($AV_OFFSET) Then
		If IsArray($AH_HANDLE) Then
			Local $IV_POINTERCOUNT = UBound($AV_OFFSET) - 1
		Else
			SetError(2)
			Return 0
		EndIf
	Else
		SetError(1)
		Return 0
	EndIf
	Local $IV_STRUCTDATA, $I
	Local $V_BUFFER = DllStructCreate("dword")
	For $I = 0 To $IV_POINTERCOUNT
		If $I = $IV_POINTERCOUNT Then
			$V_BUFFER = DllStructCreate($SV_TYPE)
			If @error Then
				SetError(@error + 3)
				Return 0
			EndIf
			DllStructSetData($V_BUFFER, 1, $V_DATA)
			If @error Then
				SetError(8)
				Return 0
			EndIf
			$IV_ADDRESS = "0x" & Hex($IV_STRUCTDATA + $AV_OFFSET[$I])
			DllCall($AH_HANDLE[0], "int", "WriteProcessMemory", "int", $AH_HANDLE[1], "int", $IV_ADDRESS, "ptr", DllStructGetPtr($V_BUFFER), "int", DllStructGetSize($V_BUFFER), "int", "")
			If @error Then
				SetError(9)
				Return 0
			Else
				Return $IV_ADDRESS
			EndIf
		ElseIf $I = 0 Then
			DllCall($AH_HANDLE[0], "int", "ReadProcessMemory", "int", $AH_HANDLE[1], "int", $IV_ADDRESS, "ptr", DllStructGetPtr($V_BUFFER), "int", DllStructGetSize($V_BUFFER), "int", "")
			If @error Then
				SetError(3)
				Return 0
			EndIf
			$IV_STRUCTDATA = DllStructGetData($V_BUFFER, 1)
		Else
			$IV_ADDRESS = "0x" & Hex($IV_STRUCTDATA + $AV_OFFSET[$I])
			DllCall($AH_HANDLE[0], "int", "ReadProcessMemory", "int", $AH_HANDLE[1], "int", $IV_ADDRESS, "ptr", DllStructGetPtr($V_BUFFER), "int", DllStructGetSize($V_BUFFER), "int", "")
			If @error Then
				SetError(3)
				Return 0
			EndIf
		EndIf
		$IV_STRUCTDATA = DllStructGetData($V_BUFFER, 1)
	Next
EndFunc
Func MEMCLOSE($MID)
	DllCall($KERNEL32, "int", "CloseHandle", "int", $MID)
EndFunc

when i used that, i got error message like my previous post here the link to my post

http://www.elitepvpers.com/forum/pw-hacks-bots-cheats-exploits/655847-perfect-world-bot-pwi-prophet-bot-recoded-32.html#post6546021


so i change a little the code right here
MEMWRITE(@ScriptFullPath, 10439036, 1)
i added the @ScriptFullPath

did i missed something? CORRECT ME IF I'M WRONG:handsdown:
08/26/2010 02:56 No0oB#332
Quote:
so i change a little the code right here
MEMWRITE(@ScriptFullPath, 10439036, 1)
i added the @ScriptFullPath
1. why @ScriptFullPath? it is the path to your script (or .exe file)... oO
2. if you write a address it has to be in hex format. 10439036 = 009F497C in hex
the right format to write this address is with an 0x in front of the address: 0x009F497C

*edit:
if you only have the decimal address (10439036) you can convert it to the right format with: "0x"&Hex(10439036)
08/26/2010 03:03 mrbatosai#333
Quote:
Originally Posted by No0oB View Post
1. why @ScriptFullPath? it is the path to your script (or .exe file)... oO
2. if you write a address it has to be in hex format. 10439036 = 009F497C in hex
the right format to write this address is with an 0x in front of the address: 0x009F497C
i got the clue to add @ScriptFullPath to make the error gone. and it's gone.

an about the value and the pure code i use the same as prophet. check out the code that i get from prophet it worked on prophet bot not for me is that any other wrong?
08/26/2010 03:12 No0oB#334
if i look at this code you posed there are some things i don't understand ^^"
Code:
If GUICtrlRead($CHK_FZ) = 5 Then ;idk what the 5 means -.-| 1=Checked,4=Unchecked
	MEMWRITE(10439036, 1) ;there's no handle to the process it should write to
EndIf
corect code should be
Code:
If GUICtrlRead($CHK_FZ) = 5 Then ;idk what the 5 means -.-| 1=Checked,4=Unchecked
	MEMWRITE("0x"&Hex(10439036),$PROCESS_INFORMATION, 1)
EndIf
*edit:
but the latest code of prophet bot is working corect (code not exe) and all is right in there... idk from which version your code is ^^
08/26/2010 03:27 mrbatosai#335
Quote:
Originally Posted by No0oB View Post
if i look at this code you posed there are some things i don't understand ^^"
Code:
If GUICtrlRead($CHK_FZ) = 5 Then ;idk what the 5 means -.-| 1=Checked,4=Unchecked
	MEMWRITE(10439036, 1) ;there's no handle to the process it should write to
EndIf
corect code should be
Code:
If GUICtrlRead($CHK_FZ) = 5 Then ;idk what the 5 means -.-| 1=Checked,4=Unchecked
	MEMWRITE("0x"&Hex(10439036),$PROCESS_INFORMATION, 1)
EndIf
*edit:
but the latest code of prophet bot is working corect (code not exe) and all is right in there... idk from which version your code is ^^
hmm it doesn't seem worked too.

i used autoit ver 3.3.0.0

should i used the autoit ver 3.3.6.1. same like prophet used?
08/26/2010 03:33 No0oB#336
yes ^^"
... what version of the prophet bot code do you have ? the new code is working...
08/26/2010 03:58 mrbatosai#337
Quote:
Originally Posted by No0oB View Post
yes ^^"
... what version of the prophet bot code do you have ? the new code is working...
i got the new code of prophet. ok thank't for the respond No0oB i'll try to used the auto it 3.3.6.1:handsdown:
08/26/2010 12:26 syawaldipa#338
anyone can help me? I edited it after Custom_OffSets, display appears like this

08/27/2010 01:03 Ryuuuz#339
Rly nice bot ;] Trying to set it up for good around 1h, but it's work nice for me :D
08/27/2010 02:54 Tralalelo#340
Hello, today prophet got crazy. Even if more then one time i tried to set mob list, it started to kill random mobs.. because i grind on some mobs on air, under them there are low lvl mobs, i have choosen only the fly mobs but after some kills it started targetting mobs on the ground. So i tried closing and opening the bot, but nothing changed. Any ideas about what happened?
08/27/2010 03:20 mrbatosai#341
Quote:
Originally Posted by Tralalelo View Post
Hello, today prophet got crazy. Even if more then one time i tried to set mob list, it started to kill random mobs.. because i grind on some mobs on air, under them there are low lvl mobs, i have choosen only the fly mobs but after some kills it started targetting mobs on the ground. So i tried closing and opening the bot, but nothing changed. Any ideas about what happened?
you should save the moblist first before you used it. and if you want to target the air monster you should check the Hunt By Name after you save mob ofcourse. and the prophet will attacking just the monster that got same name sa the moblist you just save. and it worked fine with me.
08/27/2010 03:22 mrbatosai#342
Quote:
Originally Posted by syawaldipa View Post
anyone can help me? I edited it after Custom_OffSets, display appears like this

what exactly didi you edit? can you post to this forum?
08/27/2010 11:14 Tralalelo#343
Quote:
Originally Posted by mrbatosai View Post
you should save the moblist first before you used it. and if you want to target the air monster you should check the Hunt By Name after you save mob ofcourse. and the prophet will attacking just the monster that got same name sa the moblist you just save. and it worked fine with me.
Thanks i'll try
08/27/2010 18:21 awandank#344
asaky...

can u give bot or offset, so i can use my bot in multiclient...
cos, my bot can move if i minimized it... :(

this my email...

[Only registered and activated users can see links. Click Here To Register...]
08/27/2010 23:40 Smurfin#345
does anyone know how to find the offset for Max_PetHP and also offset for pet slot which is currently summoned ?

I've tried scanning a lot of nearby offsets from PetHP, but only found the pethp offset itself and no Max_PetHP offset/summoned PetSlot offset. It'd be useful so everytime we bot a veno, we won't need any setting at all, only [V] enable autopetheal and hotkey for pet heal spell.

thanks before.

*sorry if it's OOT, but I think it's still relevant because a new feature can be added to prophet bot with those offsets.