Kurzick Title Farming - Ferndale Vanquish Bot

05/14/2018 23:59 berota#31
Having a couple issues that seem related but don't know how to approach:

1. with this ferndale bot specifically (i.e. i haven't noticed/received it with others) i receive error message "Label: LoadFinishedReturn not provided"

2. with this and other bots that previously worked, i also at times get this error: "Guild Wars it not running."; I see via gwa2 this is related to the WinGetProcess fn, and assume it means the guild wars app can't be found. But, gw is definitely running, and I've never had this issue before recently. Maybe related to the new graphics updates pushed out by DrSCW and billfried recently?
05/15/2018 07:15 mhaendler#32
Quote:
Originally Posted by berota View Post
Having a couple issues that seem related but don't know how to approach:

1. with this ferndale bot specifically (i.e. i haven't noticed/received it with others) i receive error message "Label: LoadFinishedReturn not provided"

2. with this and other bots that previously worked, i also at times get this error: "Guild Wars it not running."; I see via gwa2 this is related to the WinGetProcess fn, and assume it means the guild wars app can't be found. But, gw is definitely running, and I've never had this issue before recently. Maybe related to the new graphics updates pushed out by DrSCW and billfried recently?
1. thats a bug by the recent update, just use the freshly updated GWA by tjubutsi or mine to solve the problem. otherwise just close and reopen your client

2. never had this problem, do you use gwmultilaunch // kaos theory multilaunch for multiple instances of guild wars?
05/15/2018 15:47 berota#33
Quote:
Originally Posted by mhaendler View Post
1. thats a bug by the recent update, just use the freshly updated GWA by tjubutsi or mine to solve the problem. otherwise just close and reopen your client

2. never had this problem, do you use gwmultilaunch // kaos theory multilaunch for multiple instances of guild wars?
1 & 2. took off my asshat for a moment and typed in a character name in the prompt, the bot runs mostly fine (can finish the vq without breaking. now breaks at hzh with DllCall fn definition missing in commonfunctions, might attempt to figure out fix today).

3. still sort of related, the same errors (seemingly randomly alternates between "label: loadfinishedreturn" and "guild wars it not running") occur with this previously working, publicly available cof bot (attached). using 3.7.5 gwa2 as attached. have used multilaunch in the past but not currently using it when receiving these errors. close and reopen client also doesn't fix. so frustrating..

thanks!
05/15/2018 20:42 rheek#34
Quote:
Originally Posted by berota View Post
1 & 2. took off my asshat for a moment and typed in a character name in the prompt, the bot runs mostly fine (can finish the vq without breaking. now breaks at hzh with DllCall fn definition missing in commonfunctions, might attempt to figure out fix today).

3. still sort of related, the same errors (seemingly randomly alternates between "label: loadfinishedreturn" and "guild wars it not running") occur with this previously working, publicly available cof bot (attached). using 3.7.5 gwa2 as attached. have used multilaunch in the past but not currently using it when receiving these errors. close and reopen client also doesn't fix. so frustrating..

thanks!
My updated version on page 1 works without any errors for me. I put a new gwa2 version into it to get render disable to work. You would only need to grab the new header file from my GitHub.
05/15/2018 22:50 berota#35
Quote:
Originally Posted by rheek View Post
My updated version on page 1 works without any errors for me. I put a new gwa2 version into it to get render disable to work. You would only need to grab the new header file from my GitHub.
I updated the cof bot using your headers script and grabbed the new headers from the 9th, just to be on the same page.

I continue to receive errors "Label: LoadFinishedReturn not provided" (also received a random "Guild Wars it not running" error) for both the cof bot I uploaded as well as the original ferndale vq one from this thread. -- the ferndal vq bot was working just earlier today.. no apparent difference in methods on my end

It seems the scripts can't tell gw is running? I've tried loading gw from both directly opening gw.exe or using a desktop shortcut, neither change the outcome of the error messages. Windowed vs full screen makes no difference.

edit: After testing multiple bots, they're all giving me the same "Label: LoadFinishedReturn not provided" error. Can't seem to figure out why. These are the 2 spots where it shows up in gwa2 but can't figure out wth it does and how I'm breaking it.

Code:
;~ Description: Internal use only.
Func CreateLoadFinished()
	_('LoadFinishedProc:')
	_('pushad')

	_('mov eax,1')
	_('mov dword[MapIsLoaded],eax')

	_('xor ebx,ebx')
	_('mov eax,StringLogBase')
	_('LoadClearStringsLoop:')
	_('mov dword[eax],0')
	_('inc ebx')
	_('add eax,100')
	_('cmp ebx,StringLogSize')
	_('jnz LoadClearStringsLoop')

	_('xor ebx,ebx')
	_('mov eax,TargetLogBase')
	_('LoadClearTargetsLoop:')
	_('mov dword[eax],0')
	_('inc ebx')
	_('add eax,4')
	_('cmp ebx,TargetLogSize')
	_('jnz LoadClearTargetsLoop')

	_('push 5')
	_('push 0')
	_('push CallbackEvent')
	_('push dword[CallbackHandle]')
	_('call dword[PostMessage]')

	_('popad')
	_('mov edx,dword[esi+1C]')
	_('mov ecx,edi')
	_('ljmp LoadFinishedReturn')
EndFunc   ;==>CreateLoadFinished
this is obviously very isolated and out of context, but posting for completeness:
Code:
	SetValue('LoadFinishedReturn', '0x' & Hex(GetScannedAddress('ScanLoadFinished', 6), 8))
05/15/2018 22:58 afmart#36
Quote:
Originally Posted by ayyy_lmao View Post
Code:
SummonFireImp(GetItemBySlot(1,1)
;;;;;;; Use Summoning Stone ;;;;;;;
Func SummonFireImp($fItem)
   If Not DllStructGetData($fItem, 'ID') = 0 Then
	  UseItem($fItem)
   EndIf
EndFunc
that's prob easier way to make it use cons
thats one way to do it, but if there no item there it will crash gw

here is another way

Code:
	
Func UseSummoningStone()
	$ImpID = 30847
	For $bag = 1 To 4
		For $slot = 1 To DllStructGetData(GetBag($bag), 'Slots')
			Global $item = GetItemBySlot($bag, $slot)
			If DllStructGetData($item, 'ModelID') == 30847 Then
				UseItem($item)
				RndSleep(500)
				Return
			EndIf
		Next
	Next	   
EndFunc
05/16/2018 07:42 mhaendler#37
Quote:
Originally Posted by berota View Post
I updated the cof bot using your headers script and grabbed the new headers from the 9th, just to be on the same page.

I continue to receive errors "Label: LoadFinishedReturn not provided" (also received a random "Guild Wars it not running" error) for both the cof bot I uploaded as well as the original ferndale vq one from this thread. -- the ferndal vq bot was working just earlier today.. no apparent difference in methods on my end

It seems the scripts can't tell gw is running? I've tried loading gw from both directly opening gw.exe or using a desktop shortcut, neither change the outcome of the error messages. Windowed vs full screen makes no difference.

edit: After testing multiple bots, they're all giving me the same "Label: LoadFinishedReturn not provided" error. Can't seem to figure out why. These are the 2 spots where it shows up in gwa2 but can't figure out wth it does and how I'm breaking it.

Code:
;~ Description: Internal use only.
Func CreateLoadFinished()
	_('LoadFinishedProc:')
	_('pushad')

	_('mov eax,1')
	_('mov dword[MapIsLoaded],eax')

	_('xor ebx,ebx')
	_('mov eax,StringLogBase')
	_('LoadClearStringsLoop:')
	_('mov dword[eax],0')
	_('inc ebx')
	_('add eax,100')
	_('cmp ebx,StringLogSize')
	_('jnz LoadClearStringsLoop')

	_('xor ebx,ebx')
	_('mov eax,TargetLogBase')
	_('LoadClearTargetsLoop:')
	_('mov dword[eax],0')
	_('inc ebx')
	_('add eax,4')
	_('cmp ebx,TargetLogSize')
	_('jnz LoadClearTargetsLoop')

	_('push 5')
	_('push 0')
	_('push CallbackEvent')
	_('push dword[CallbackHandle]')
	_('call dword[PostMessage]')

	_('popad')
	_('mov edx,dword[esi+1C]')
	_('mov ecx,edi')
	_('ljmp LoadFinishedReturn')
EndFunc   ;==>CreateLoadFinished
this is obviously very isolated and out of context, but posting for completeness:
Code:
	SetValue('LoadFinishedReturn', '0x' & Hex(GetScannedAddress('ScanLoadFinished', 6), 8))
They changed some values in the LoadFinishedReturn with the recent update. In my GWA2 File there is a fix for this:

[Only registered and activated users can see links. Click Here To Register...]

also tjubutsi did update his one!

Here is the commit to highlight the certain changes:

[Only registered and activated users can see links. Click Here To Register...]

Quote:
Originally Posted by afmart View Post
thats one way to do it, but if there no item there it will crash gw

here is another way

Code:
	
Func UseSummoningStone()
	$ImpID = 30847
	For $bag = 1 To 4
		For $slot = 1 To DllStructGetData(GetBag($bag), 'Slots')
			Global $item = GetItemBySlot($bag, $slot)
			If DllStructGetData($item, 'ModelID') == 30847 Then
				UseItem($item)
				RndSleep(500)
				Return
			EndIf
		Next
	Next	   
EndFunc
You code is a good example but i have certain problems with this: in some autoit version your bot will crash ( not guild wars) because variables are not declared, here is a better way:

Code:
Func UseSummoningStone()
        ; always declare the used variables at the top of the function
        ; dont use global in the for loop
        Local $item
        Local $bagSlots 
        Local $ImpID = 30847
	For $bag = 1 To 4
                ;use a variable here instead that way you save some processor time, and dont have to
                ;check the whole struct for every iteration it makes
                $bagSlots = DllStructGetData(GetBag($bag), 'Slots')
		For $slot = 1 To $bagSlots 
			$item = GetItemBySlot($bag, $slot)
			If DllStructGetData($item, 'ModelID') == $ImpID Then
				UseItem($item)
				RndSleep(500)
				Return
			EndIf
		Next
	Next	   
EndFunc
06/05/2018 10:47 uhlala2323#38
how long does one run approximately take for you guys?
06/08/2018 04:39 Jamamon#39
Quote:
Originally Posted by uhlala2323 View Post
how long does one run approximately take for you guys?
One kurzick bot I was using (might be a different one than this) without cons took about 40 mins per run.
06/09/2018 17:32 ThR1LL#40
Does anyone have the ModelID and/or ItemID for Lockpicks and the Green weapons that drop?
06/09/2018 19:28 DerMoench14#41
Quote:
Originally Posted by ThR1LL View Post
Does anyone have the ModelID and/or ItemID for Lockpicks and the Green weapons that drop?
Lockpick Item Model-ID = 22751
ItemID is pretty useless to share because the ID isn't static.
06/10/2018 11:22 phat34#42
Quote:
Originally Posted by ThR1LL View Post
Does anyone have the ModelID and/or ItemID for Lockpicks and the Green weapons that drop?
Code:
$RARITY_GREEN = 67
;------
FUNC CANSELLDup($AITEM)
				$M = DLLSTRUCTGETDATA($AITEM, "ModelID")
				$Q = DLLSTRUCTGETDATA($AITEM, "Quantity")
				$R = DLLSTRUCTGETDATA(GETETRAITEMINFOBYITEMID(DLLSTRUCTGETDATA($AITEM, "id")), "Rarity")
				IF $M = 0 OR $Q > 1 OR $R = $RARITY_GOLD OR $R = $RARITY_GREEN THEN
					RETURN FALSE
...all you need is there... pull it out of that code...
06/10/2018 12:15 DerMoench14#43
Quote:
Originally Posted by phat34 View Post
Code:
$RARITY_GREEN = 67
;------
FUNC CANSELLDup($AITEM)
				$M = DLLSTRUCTGETDATA($AITEM, "ModelID")
				$Q = DLLSTRUCTGETDATA($AITEM, "Quantity")
				$R = DLLSTRUCTGETDATA(GETETRAITEMINFOBYITEMID(DLLSTRUCTGETDATA($AITEM, "id")), "Rarity")
				IF $M = 0 OR $Q > 1 OR $R = $RARITY_GOLD OR $R = $RARITY_GREEN THEN
					RETURN FALSE
...all you need is there... pull it out of that code...
Could you explain me this, plz:
Code:
$R = DLLSTRUCTGETDATA(GETETRAITEMINFOBYITEMID(DLLSTRUCTGETDATA($AITEM, "id")), "Rarity")
06/10/2018 18:45 Timberwulf#44
Hello...
Im just failing at running this bot..
I downloaded the bot itself and patched it with "GW2_Patcher".
No error or anything. Then i started the game and when i run the bot it crashed.
So i looked for a solution and found it
I downloaded the gw2 master and tried to patch my files but it doesnt seem to work. nothing happens.

I hope someopne can help me.
Easiest way might be via pm (and if possible in german) so the thread get spammed :)

Best regards
06/10/2018 19:57 phat34#45
Quote:
Originally Posted by DerMoench14 View Post
Could you explain me this, plz:
Code:
$R = DLLSTRUCTGETDATA(GETETRAITEMINFOBYITEMID(DLLSTRUCTGETDATA($AITEM, "id")), "Rarity")
oh there is another function in there... so you may need this if you want to use it verbatim...

Code:
			FUNC GETETRAITEMINFOBYITEMID($AITEM)
				$ITEM = GETITEMBYITEMID($AITEM)
				$LITEMEXTRAPTR = DLLSTRUCTGETDATA($ITEM, "ModPtr")
				DLLCALL($MKERNELHANDLE, "int", "ReadProcessMemory", "int", $MGWPROCHANDLE, "int", $LITEMEXTRAPTR, "ptr", $LITEMEXTRASTRUCTPTR, "int", $LITEMEXTRASTRUCTSIZE, "int", "")
				RETURN $LITEMEXTRASTRUCT
			ENDFUNC
let me know if that clarifies it a bit.. if not I can explain further...

rest of picture...

Code:
GLOBAL $LITEMEXTRASTRUCT = DLLSTRUCTCREATE("byte rarity;" & "byte unknown1[3];" & "byte modifier;" & "byte unknown2[13];" & "byte lastModifier")
GLOBAL $LITEMEXTRASTRUCTPTR = DLLSTRUCTGETPTR($LITEMEXTRASTRUCT)
GLOBAL $LITEMEXTRASTRUCTSIZE = DLLSTRUCTGETSIZE($LITEMEXTRASTRUCT)
GLOBAL $LITEMEXTRAREQSTRUCT = DLLSTRUCTCREATE("byte requirement;" & "byte attribute")
GLOBAL $LITEMEXTRAREQSTRUCTPTR = DLLSTRUCTGETPTR($LITEMEXTRAREQSTRUCT)
GLOBAL $LITEMEXTRAREQSTRUCTSIZE = DLLSTRUCTGETSIZE($LITEMEXTRAREQSTRUCT)