Some Fixes

06/11/2018 16:54 phat34#31
Quote:
Originally Posted by tjubutsi View Post
Rendering in latest updated gwa2 works fine, check it for pattern. What is the zoom even for?

Another thing that doesn't work anymore is the ScanSkillTimer pattern.
link? your GitHub says not updated for two months... less your sneaking in updates...

ALSO --- Is Loadfinished pattern the only one linked to rendering?
06/11/2018 19:20 tjubutsi#32
Quote:
Originally Posted by phat34 View Post
link? your GitHub says not updated for two months... less your sneaking in updates...

ALSO --- Is Loadfinished pattern the only one linked to rendering?
You know what else my github page says?

"I'm not going to continue updating on github (bloody microsoft). Project moved to https://gitlab.skyweb.nu/skyweb/gwa2"

:)

I don't know if there's been any changed but on my machine with the latest gwa2 cpu usage is 0.

Quote:
Originally Posted by DerMoench14 View Post
Code:
$mZoomStill = GetScannedAddress("ScanZoomStill", 0x24)
$mZoomMoving = GetScannedAddress("ScanZoomMoving", 0x21)

_('ScanZoomStill:')
AddPattern('89470CEBD1')
	
_('ScanZoomMoving:')
AddPattern('EB358B4304')

;~ Description: Changes the maximum distance you can zoom out.
Func ChangeMaxZoom($aZoom = 900)
	MemoryWrite($mZoomStill, $aZoom, "float")
	MemoryWrite($mZoomMoving, $aZoom, "float")
EndFunc   ;==>ChangeMaxZoom


Still works for me:
Code:
$mSkillTimer = MemoryRead(GetScannedAddress('ScanSkillTimer', -3))

_('ScanSkillTimer:')
AddPattern('85C974158BD62BD183FA64')
Really weird, I spent 30 mins testing it yesterday and it didn't work. Tried it now and it does. Breaks when disabling rendering but that was known...
06/13/2018 01:58 savsuds#33
ClickToMoveFix does not seem to be correct again. If anyone has the time to explain how to find the correct values, I would be appreciative. I am eager to learn how to fish.
06/13/2018 06:52 phat34#34
Quote:
Originally Posted by savsuds View Post
ClickToMoveFix does not seem to be correct again. If anyone has the time to explain how to find the correct values, I would be appreciative. I am eager to learn how to fish.
Its good to get it down now while most patterns are working...

Code:
SetValue('ClickToMoveFix', '0x' & Hex(GetScannedAddress("ScanClickToMoveFix", -0x1E), 8))

_('ScanClickToMoveFix:')
AddPattern('568BF1578B460883F80F')
here are instructions:

1) load guild wars 2) load ollydbg 3) attach guild wars to olly 4) press play if you want gw to resume procedures 5) hit M for memory map 6) hit ctrl B to search for a binary string 7) enter the patter in hex in the lower box and hit enter. 8) olly will search memory for the pattern. If it is a good pattern it will be found in or around gw code in program memory...(hint: usually a six digit address between 4xx,xxx and less than exx,xxx. from the first byte in the pattern count forward or back the offset found in the set value line of code.. (here -0x1E … so up 174 bytes... this should be the start of your GW function being hooked by this scan.)

You can verify this code location by adding this command under the set value command in your .au3 file...

Code:
MSGBOX(0, "ClickToMoveFix", "Address: " & Hex(GetScannedAddress("ScanClickToMoveFix", -0x1E), 8))
...more to follow on this later... questions welcome.
06/13/2018 07:10 savsuds#35
Quote:
Originally Posted by phat34 View Post
Its good to get it down now while most patterns are working...

Code:
SetValue('ClickToMoveFix', '0x' & Hex(GetScannedAddress("ScanClickToMoveFix", -0x1E), 8))

_('ScanClickToMoveFix:')
AddPattern('568BF1578B460883F80F')
here are instructions:

1) load guild wars 2) load ollydbg 3) attach guild wars to olly 4) press play if you want gw to resume procedures 5) hit M for memory map 6) hit ctrl B to search for a binary string 7) enter the patter in hex in the lower box and hit enter. 8) olly will search memory for the pattern. If it is a good pattern it will be found in or around gw code in program memory...(hint: usually a six digit address between 4xx,xxx and less than exx,xxx. from the first byte in the pattern count forward or back the offset found in the set value line of code.. (here -0x1E … so up 174 bytes... this should be the start of your GW function being hooked by this scan.)

You can verify this code location by adding this command under the set value command in your .au3 file...

Code:
MSGBOX(0, "ClickToMoveFix", "Address: " & Hex(GetScannedAddress("ScanClickToMoveFix", -0x1E), 8))
...more to follow on this later... questions welcome.
It gives me address of 00455860. When I searched for the Hex pattern, There is no -0x1E. Also it comes up in red. The only times I have seen red is if it is incorrect. I don't know what my next question should be.
06/13/2018 11:10 DerMoench14#36
Quote:
Originally Posted by savsuds View Post
It gives me address of 00455860. When I searched for the Hex pattern, There is no -0x1E. Also it comes up in red. The only times I have seen red is if it is incorrect. I don't know what my next question should be.
@[Only registered and activated users can see links. Click Here To Register...]: The pattern leads you to 00455860 which is correct so far.
Code:
SetValue('ClickToMoveFix', '0x' & Hex(GetScannedAddress("ScanClickToMoveFix", -0x1E), 8))
The -0x1E is the offset from the found address and will leads you to 00455842 which is almost the correct address.
GWA2 is weird as pattern-scanning has a static offset of +0x1.
So when you also decrease the found address by 1 you'll get the correct address (00455841).
Somewhere in GWA2 you'll found this piece of code:
Code:
WriteBinary("83F8009090", GetValue('ClickToMoveFix'))
So when you'll look in your debugger you'll see the change:
Code:
00455841   3D D3010000      CMP EAX,1D3
becomes (after initialize GWA2)
Code:
00455841   83F8 00          CMP EAX,0
00455844   90               NOP
00455845   90               NOP
Thats the whole trick ... for me it works.
Could you explain how you tested it?
06/13/2018 17:02 skreamr#37
Hey everyone,

I'm brand new to this and have been reading/learning as much as I possibly can however I'm still having trouble with one thing.

Using any/all of the ''updated'' vaettir bots, the most successful one still fails/crashes when it's time to sell/purchase ID/salvage kits, and when I relaunch gw I'm always at the EoTN outpost with one full inventory worth of stuff on me.

Any advice? Thanks in advance!

[Edit: It also identifies all golds when I want it to store them so I can ID on another account. I have the ''Store Golds''' box checked.]
06/13/2018 17:52 Stary Pen'#38
Anybody know how why gw crash after use func AcceptTrade? I'm think problem bacause need press 'View'. But how do it?
06/13/2018 20:05 DerMoench14#39
If is this why you asked about PerformAction(), i think it's not called by.
06/13/2018 20:21 Stary Pen'#40
yeah, I thought the problem could be solved if use PerformAction()... If not maybe you know any way?
06/13/2018 20:27 DerMoench14#41
I know how but i can't tell you. Sry but this is only known by a closed group.
06/13/2018 20:41 Stary Pen'#42
just give me some advice on how to find a way to do this, maybe I'll figure it out.
06/13/2018 21:34 phat34#43
Perhaps you need to find the correct header value for it...

Code:
FUNC ACCEPTTRADE()
	SENDPACKET(4, 0xC1)
ENDFUNC
06/13/2018 22:14 Stary Pen'#44
You also send dont right SENDPACKET. And problem not there.
06/13/2018 22:18 phat34#45
Quote:
Originally Posted by Stary Pen' View Post
You also send dont right SENDPACKET. And problem not there.
Yeah, I am not implementing this currently... What is the correct header for this? I will take a look into this issue as well.