Register for your free account! | Forgot your password?

You last visited: Today at 04:36

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

Advertisement



PWI Neverfall changes

Discussion on PWI Neverfall changes within the PW Hacks, Bots, Cheats, Exploits forum part of the Perfect World category.

Reply
 
Old 04/30/2017, 13:37   #16
 
elite*gold: 0
Join Date: Aug 2013
Posts: 40
Received Thanks: 1
Quote:
Originally Posted by Stark77 View Post
My first post does not include the missing offsets (red highlighted) but you can find these in the posts of jasty and kruger.

To get this other bot to work simply compare the old offsets (check the end of my first post) with those of that other bot and replace them with the new offsets.
tried, doesnt work
bmurji is offline  
Old 05/01/2017, 20:06   #17
 
elite*gold: 0
Join Date: Dec 2009
Posts: 70
Received Thanks: 15
Hello everyone,

haven't been on for a long time due to real life stuff.
I just updated my offsets some with Starks offsetlist and others with Kruger and my own
searching. Thx everyone

However to add my Tribute.
Here is the Partyinv Offset etc.:

PARTYINV_ADDRESS=0xE5C0C8
UnfreezeOffset=0x508
PlayerParty_Offset=0x820
QuestList_Offset=0x15CC ; before 0x1554
PlayerCurrentSkill=0x83C ;skill used or not atm

The new Glyph system has different cooldowns which can be found the following way:

Code:
Func CheckCooldown($SKILL_ID, $GAME_PROCESS, $type)
;~ 	Type
;~ 	0 = None
;~ 	1 = Glyphs

	$ADDRESS_BASE = IniRead(@ScriptDir & "\IniLogs\Offsets.ini", "Offsets", "ADDRESS_BASE", "")

	$PlayerOffSet = IniRead(@ScriptDir & "\IniLogs\Offsets.ini", "Offsets", "PlayerOffSet", "")
	$PlayerSkill_Offset = IniRead(@ScriptDir & "\IniLogs\Offsets.ini", "Offsets", "PlayerSkill_Offset", "")
	$SkillID_Offset = IniRead(@ScriptDir & "\IniLogs\Offsets.ini", "Offsets", "SkillID_Offset", "")
	$SkillCurCooldown_Offset = IniRead(@ScriptDir & "\IniLogs\Offsets.ini", "Offsets", "SkillCurCooldown_Offset", "")
	$PlayerSkill_Offset_Glyphs = IniRead(@ScriptDir & "\IniLogs\Offsets.ini", "Offsets", "PlayerSkill_Offset_Glyphs", "")



	$Player = _MemoryRead(_MemoryRead(_MemoryRead($ADDRESS_BASE, $GAME_PROCESS) + 0x1C, $GAME_PROCESS) + $PlayerOffSet, $GAME_PROCESS)
	If $type = 0 Then
		$skillOffset = $PlayerSkill_Offset
	ElseIf $type = 1 Then
		$skillOffset = $$PlayerSkill_Offset_Glyphs

	EndIf
	$SkillBase = _MemoryRead($Player + $skillOffset, $GAME_PROCESS)

	$skillCount = _MemoryRead($Player + $skillOffset + 0x4, $GAME_PROCESS)

	For $i = 0 To $skillCount - 1
		$skill = _MemoryRead($SkillBase + 4 * $i, $GAME_PROCESS)
		$ID = _MemoryRead($skill + $SkillID_Offset, $GAME_PROCESS)
		If $ID == $SKILL_ID Then ExitLoop
	Next


	$cooldown = _MemoryRead($skill + $SkillCurCooldown_Offset, $GAME_PROCESS)

	If $cooldown > 0 Then Return 1
	Sleep(100)
	Return 0

EndFunc   ;==>CheckCooldown
Here are the Offsets for the Function:

ADDRESS_BASE=0xE4BAB0
PlayerOffSet=0x34
PlayerSkill_Offset=0x15F0
PlayerSkill_Offset_Glyphs=0x1668
SkillID_Offset=8
SkillCurCooldown_Offset=16

The function was once from jasty, if i remember right. Just tweaked it. The way to use it is simple, cooldown check for normal skills(with no glyph) as following:

CheckCooldown($SKILL_ID, $GAME_PROCESS, 0)

With Glyphs change the 0 to 1:

CheckCooldown($SKILL_ID, $GAME_PROCESS, 1)

The Structure of the glyph skillcooldown, id etc is the same as with the normal ones. They start at 1668+0 and go up to 1668+8 as we currently only have 3 Glyph spots free. Just take a look at it with ReClass. Should be easy, else i can provide screens.

Hope that helps
sasukezero is offline  
Thanks
1 User
Old 05/08/2017, 12:56   #18
 
elite*gold: 0
Join Date: Aug 2013
Posts: 40
Received Thanks: 1
So anyone managed to make an offset file for denzjh or an autopot?
bmurji is offline  
Old 05/08/2017, 22:15   #19
 
elite*gold: 0
Join Date: Dec 2009
Posts: 70
Received Thanks: 15
Here is a Version quickly thrown together for a Potbot that i use from time to time:

Code:
Func AutoPotBot()
	$pid = _InfiniteCore_GetValue("AutopotPid")
	$ItemalreadyUsed = 0
	$Sleeptime = 0
	$PlaceMPpot = CheckInventoryPlace(46877, $pid)
	If $PlaceMPpot = -1 Then
		MsgBox("", "", "Yo man, I got no Pots! What do you expect me to do?")
		$AutopotBotCore = 0
		_InfiniteCore_Delete($AutopotBotCore)
	EndIf


	While 1
		$UseMPPotAt = IniRead(@ScriptDir & "\IniLogs\Offsets.ini", "Offsets", "UseMPPotAt", "")
		If CheckMPPotNeeded($UseMPPotAt, $pid) = 1 And $ItemalreadyUsed = 0 Then
			$PlaceMPpot = CheckInventoryPlace(46877, $pid)
			If $PlaceMPpot = -1 Then
				MsgBox("", "", "Yo man, I got no Pots!!!")
				_InfiniteCore_Delete($AutopotBotCore)
				$AutopotBotCore = 0
			Else
				useItem($PlaceMPpot, 46877, $pid, 0)
				$ItemalreadyUsed = 1
			EndIf

		EndIf

		Sleep(200)

		If $ItemalreadyUsed = 1 Then
			$Sleeptime += 1
		EndIf

		If $Sleeptime >= 10 Then
			$Sleeptime = 0
			$ItemalreadyUsed = 0
		EndIf

	WEnd



EndFunc   ;==>AutoPotBot


Func CheckInventoryPlace($ItemIDtransfered, $pid)

	$GAME_PROCESS = _MemoryOpen($pid)

	$ADDRESS_BASE = IniRead(@ScriptDir & "\IniLogs\Offsets.ini", "Offsets", "ADDRESS_BASE", "")
	$InventoryListOffset_ = IniRead(@ScriptDir & "\IniLogs\Offsets.ini", "Offsets", "InventoryListOffset", "")
	$InventorySizeOffset = IniRead(@ScriptDir & "\IniLogs\Offsets.ini", "Offsets", "InventorySizeOffset", "")
	$PlayerOffSet = IniRead(@ScriptDir & "\IniLogs\Offsets.ini", "Offsets", "PlayerOffSet", "")

	$POINTER_BASE = _MemoryRead(_MemoryRead($ADDRESS_BASE, $GAME_PROCESS) + 0x1C, $GAME_PROCESS)
	$POINTER_CHARACTER = _MemoryRead($POINTER_BASE + $PlayerOffSet, $GAME_PROCESS)
	$InventoryListOffset = _MemoryRead($POINTER_CHARACTER + $InventoryListOffset_, $GAME_PROCESS) ; f90
	$InventorySize = _MemoryRead($InventoryListOffset + $InventorySizeOffset, $GAME_PROCESS)
	$i = 0

	While $i < $InventorySize

		$POINTER_BASE = _MemoryRead(_MemoryRead($ADDRESS_BASE, $GAME_PROCESS) + 0x1C, $GAME_PROCESS)
		$POINTER_CHARACTER = _MemoryRead($POINTER_BASE + $PlayerOffSet, $GAME_PROCESS)
		$InventoryList = _MemoryRead($POINTER_CHARACTER + $InventoryListOffset_, $GAME_PROCESS)
		$sortedInventoryList = _MemoryRead($InventoryList + 0xC, $GAME_PROCESS)
		$InventoryBase = _MemoryRead($sortedInventoryList + 0x4 * $i, $GAME_PROCESS)
		$ItemID = _MemoryRead($InventoryBase + 0xC, $GAME_PROCESS)

		If $ItemID = $ItemIDtransfered Then 
			$ItemStack = _MemoryRead($InventoryBase + 0x14, $GAME_PROCESS)

			_MemoryClose($pid)
			Return $i
		EndIf
		$i = $i + 1

	WEnd
	_MemoryClose($pid)
	
	Return -1

EndFunc   ;==>CheckInventoryPlace

Func CheckMPPotNeeded($Percentage, $pid)

	$ADDRESS_BASE = IniRead(@ScriptDir & "\IniLogs\Offsets.ini", "Offsets", "ADDRESS_BASE", "")
	$PlayerMPOffset = IniRead(@ScriptDir & "\IniLogs\Offsets.ini", "Offsets", "PlayerMPOffset", "")
	$PlayerMPmaxOffset = IniRead(@ScriptDir & "\IniLogs\Offsets.ini", "Offsets", "PlayerMPmaxOffset", "")
	$PlayerOffSet = IniRead(@ScriptDir & "\IniLogs\Offsets.ini", "Offsets", "PlayerOffSet", "")

	$GAME_PROCESS = _MemoryOpen($pid)
	$POINTER_BASE = _MemoryRead(_MemoryRead($ADDRESS_BASE, $GAME_PROCESS) + 0x1C, $GAME_PROCESS)
	$POINTER_CHARACTER = _MemoryRead($POINTER_BASE + $PlayerOffSet, $GAME_PROCESS)
	$POINTER_MP = _MemoryRead($POINTER_CHARACTER + $PlayerMPOffset, $GAME_PROCESS)
	$POINTER_MAXMP = _MemoryRead($POINTER_CHARACTER + $PlayerMPmaxOffset, $GAME_PROCESS)
	_MemoryClose($pid)

	If (($POINTER_MP / $POINTER_MAXMP) * 100) <= $Percentage Then Return 1

	Return 0


EndFunc   ;==>CheckMPPotNeeded

Func useItem($index, $itemTypeId, $pid, $equip = 0)
	;//uses the item located at index. By default inventory index
	;//is used. If equip=1, then equipment index is used. This
	;//is necessary when toggling fly mode, as your fly gear
	;//is then used.
	;//itemTypeId is the id for
	;//the type of item it is. This would be the same as the last
	;//part in the url on pwdatabase. example:
	;//http://www.pwdatabase.com/pwi/items/3044
	;//the itemTypeId for gold is 3044.
	Local $packet, $packetSize

	$packet = '2800'
	$packet &= _Hex($equip, 2)
	$packet &= '01'
	$packet &= _Hex($index, 2)
	$packet &= '00'
	$packet &= _Hex($itemTypeId)

	$packetSize = 10

	sendPacket($packet, $packetSize, $pid)
EndFunc   ;==>useItem
The item ID can be found on pwdatabase like here

Other than that i use InfiniteCore to simulate threads with Autopot.
You can just remove that and use it for you own needs. All the offsets are on the first page. If explanation needed, then lemme know, but this should be selfexplaining.


Cheers,

sasukezero
sasukezero is offline  
Old 05/09/2017, 00:51   #20
 
elite*gold: 0
Join Date: Aug 2013
Posts: 40
Received Thanks: 1
what program do i use this in? Don't really understand where im supposed to copy that code to or wat to do with it. Thank you for writing it though. I hope it works well. Could you possibly explain exactly what im suppsoed to do with it or perhaps just upload a version of your own??
bmurji is offline  
Old 05/09/2017, 23:44   #21
 
elite*gold: 0
Join Date: Dec 2009
Posts: 70
Received Thanks: 15
Quote:
Originally Posted by bmurji View Post
what program do i use this in? Don't really understand where im supposed to copy that code to or wat to do with it. Thank you for writing it though. I hope it works well. Could you possibly explain exactly what im suppsoed to do with it or perhaps just upload a version of your own??
Hello bmurji,

to answer your first part. We all are currently using Autoit except a few that use
Autohotkey. This Code however is for Autoit. I myself use SciTE
Version 3.5.4 to compile the Code.

Now to the second part. I'm happy to support with help, if you yourself try to get it to work yourself.
I think im not alone here with that opinion. I myself have come here to search for help, but have tried myself first. I sat down and watched youtube videos, read the forums, programmed, tested etc. to understand how to get things to work and to find/update addresses. You now have a base, especially with Starks offset list and everyone else's support. People are happy to help you when you first of all start and have overall experience in programming.
The informations i provided can be easily used to create the autopot. Everything except the sendpackage func is there. That one can be found here:


Dig yourself into it, test and try. After that I'm happy to help.

Cheers,

sasukezero
sasukezero is offline  
Old 05/10/2017, 09:40   #22
 
elite*gold: 0
Join Date: Aug 2013
Posts: 40
Received Thanks: 1
Quote:
Originally Posted by sasukezero View Post
Hello bmurji,

to answer your first part. We all are currently using Autoit except a few that use
Autohotkey. This Code however is for Autoit. I myself use SciTE
Version 3.5.4 to compile the Code.

Now to the second part. I'm happy to support with help, if you yourself try to get it to work yourself.
I think im not alone here with that opinion. I myself have come here to search for help, but have tried myself first. I sat down and watched youtube videos, read the forums, programmed, tested etc. to understand how to get things to work and to find/update addresses. You now have a base, especially with Starks offset list and everyone else's support. People are happy to help you when you first of all start and have overall experience in programming.
The informations i provided can be easily used to create the autopot. Everything except the sendpackage func is there. That one can be found here:


Dig yourself into it, test and try. After that I'm happy to help.

Cheers,

sasukezero
Thanks, I have experience with ini files and autohotkey. I will try to code the autopot myself. I am guessing you did not add a HP pot function so i will just try to copy and paste the parts of the script and edit it for HP pots, as well as charms and elexirs..but I really don't know what I'm doing. I don't really understand why everyone here doesnt just want to share their full scripts so people can edit them easier instead of having to learn programming themselves.. not everyone is a programmer/understands programming. I would happily save your life in hospital because that's my area of expertise
bmurji is offline  
Old 05/13/2017, 20:04   #23
 
elite*gold: 0
Join Date: Sep 2013
Posts: 146
Received Thanks: 84
I think it is not that people here do not share scripts but rather that everyone has own needs and adjusts the basic functions own their own. You can check several WQ bots or Refine Tolls and alike and you will find nearly every function that you need.

For this autopotter the simple command useItem($PlaceMPpot, 46877, $pid, 0) will use an MP Pot so there is no own pot-function. So for an HP pot all you need to do is change the item ID that you can find in the URL of
Stark77 is offline  
Old 06/02/2017, 18:02   #24
 
elite*gold: 0
Join Date: Jul 2012
Posts: 1
Received Thanks: 0
Hi guys,
I want to scan and dig nearest resources but cant find them (unique id's ).
I thought it something about:
BASE + 0x1C + 0x24 + 0x1C + ??? + i*4 + 0x4 + ??? + 0x110 ...

Does anyone has a snipet how to scan and gather resources now?

-------
I found it! I was inattentive

BASE + 0x1C + 0x1C + 0x24 + 0x1C + i*4 + 0x4 + 0x110/0x114...
amennin is offline  
Old 06/29/2017, 12:37   #25
 
elite*gold: 0
Join Date: Jan 2009
Posts: 16
Received Thanks: 12
@
Can you paste the working offsets.ini?
Many thanks
zbychos is offline  
Old 06/30/2017, 19:54   #26
 
elite*gold: 0
Join Date: Nov 2007
Posts: 17
Received Thanks: 0
i got the new offset here but i can't get "HZD v2.0.6.0.zip" FROM denzjh to work... when i open the program it say "LOG on to PW client first before running this app"
breakupp is offline  
Old 07/20/2017, 18:18   #27
 
elite*gold: 0
Join Date: Aug 2013
Posts: 40
Received Thanks: 1
Quote:
Originally Posted by Stark77 View Post
I think it is not that people here do not share scripts but rather that everyone has own needs and adjusts the basic functions own their own. You can check several WQ bots or Refine Tolls and alike and you will find nearly every function that you need.

For this autopotter the simple command useItem($PlaceMPpot, 46877, $pid, 0) will use an MP Pot so there is no own pot-function. So for an HP pot all you need to do is change the item ID that you can find in the URL of
okay well i tried and failed so some more active help would be appreciated. Thanks
bmurji is offline  
Old 07/21/2017, 10:14   #28
 
elite*gold: 0
Join Date: Jul 2011
Posts: 145
Received Thanks: 97
These are the offsets I use in my autopot, also can handle defense charms. Also how to read that data. My actual autopot function is weird because I dynamically change the behavior depending on which skills I am using and pvp status.
jasty is offline  
Old 08/31/2017, 22:40   #29
 
elite*gold: 0
Join Date: Sep 2013
Posts: 146
Received Thanks: 84
Hey guys. Here an updated list of offsets for the latest PWI content update.
The red offsets are still missing. Would be great if anyone could add them.

;~ #---------- basics ----------#
global realBaseAddress := 0xE7D398
global SendPacketAddress := 0x843AD0
global AutoPathAddress := 0x40A600
global ADDRESS_ACTION1 := 0x4E6FB0
global ADDRESS_ACTION2 := 0x4EC720
global ADDRESS_ACTION3 := 0x4E8080
global ADDRESS_GATHER := 0x4D19B0
global CastAddress := 0x4E07A0
global ADDRESS_FOLLOW := 0x77C900
global partyInviteOffset := 0xE5C0C8

global UnfreezOffset := 0x508
global baseOffset:= 0x1C
global ListOffset := 0x1C
global XposOffset := 0x3C
global YposOffset := 0x44
global ZposOffset := 0x40
;~ #--------- Player ------------#
global PlayerListOffset := 0x1C
global sortedPlayerListOffset := 0x98
global PlayerCounterOffset := 0x18
global playerOffSet := 0x34
global playerNameOffset := 0x80C
global playerIDOffset := 0x4B8
global PlayerHPOffset := 0x4CC
global PlayerHPmaxOffset := 0x520
global PlayerMPOffset := 0x4D0
global PlayerMPmaxOffset := 0x524
global playerLvlOffset := 0x4C4
global PlayerChiOffset := 0x4E0
global PlayerCoins_Offset := 0x5A8
global PlayerClass_Offset := 0x754
global PlayerTarget_Offset := 0x5A4
;~ #-------- NPC ----------------#
global NpcListOffset := 0x20
global sortedNpcListOffset := 0x5c
global NpcCounterOffset := 0x18
global NpcUIDOffset := 0x114
global NpcIDOffset := 0x118
global NpcNameOffset := 0x260
global NpcLVLOffset := 0x120
global NpcHPOffset := 0x128
global NpcHPmaxOffset := 0x17C
global NpcSpecialOffset := 0x24C
;~ #-------- Item ---------------#
global ItemListOffset := 0x24
global sortedItemListOffset := 0x1C
global ItemCounterOffset := 0x14
global ItemNameOffset := 0x168
global ItemUIDOffset := 0x110
global ItemIDOffset := 0x114
;~ #----- Inventory -------------#
global InventoryListOffset := 0x1280
global sortedInventoryListOffset := 0xC
global InventorySizeOffset := 0x10
global InvName_Offset := 0x4C
global InvID_Offset := 0xC
global InvStackAmount_Offset := 0x14
global InvMAXStackAmount_Offset := 0x18
global InvDurability_Offset := 0x74
global InvMaxDurability_Offset := 0x78
global InvSellPrice_Offset := 0x1C
global FlyerID_Offset := 0x6AC
;~ #---------- actions ----------#
global MoveMode_Offset := 0x81C
global playerActionStructOffset := 0x16E4
global SkillsBase_Offset := 0x1710
global SkillsCount_Offset := 0x1714
Stark77 is offline  
Thanks
2 Users
Old 09/01/2017, 06:40   #30
 
elite*gold: 0
Join Date: Dec 2011
Posts: 15
Received Thanks: 26
#GaverItem=$004D5980
#SkillCall=$4E4b90
;~ #-------- Item ---------------#
global ItemNameOffset := 0x168 correct = $164
Remmm is offline  
Thanks
2 Users
Reply




All times are GMT +1. The time now is 04:36.


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.