Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > Guild Wars > GW Bots
You last visited: Today at 17:37

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

Advertisement



Killing gold sellers - fight bots with bots?

Discussion on Killing gold sellers - fight bots with bots? within the GW Bots forum part of the Guild Wars category.

Reply
 
Old   #1
 
3vangelist's Avatar
 
elite*gold: 0
Join Date: Jan 2018
Posts: 46
Received Thanks: 14
Red face Killing gold sellers - fight bots with bots?

Hi all,

Just wanted to raise a discussion on this one. I think that it would be good to give something back to the game by helping to ban the gold sellers from Kamadan that are using bots themselves - see

Basically, gold selling bots hack accounts and then use bots on them to cycle between districts and back to Kamadan ae1 - they do this so you don't have enough time to type "/report <player name>" and then click on the "Report" button before they're gone. GM's even do this in game every so often but it becomes so annoying that they usually give up!

I was wondering that if we could figure out which packets to send to ANet using the report dialog, then using GWA2 or something we could make a simple bot to catch these guys out.

Would anyone be willing to help me find the packets/actions to create this bot? I think it would really help
3vangelist is offline  
Old 12/03/2018, 19:07   #2
 
elite*gold: 0
Join Date: Nov 2012
Posts: 134
Received Thanks: 49
Written by 4D 1
Code:
#include 'GWA2_new.au3'

Initialize(WinGetProcess('[CLASS:ArenaNet_Dx_Window_Class]'))


SetEvent('', '', '', '', 'OnLoad')


Enum $REPORT_VERBAL_ABUSE, _
		$REPORT_BOTTING = 2, _
		$REPORT_SPAMMING = 4, _
		$REPORT_LEECHING = , _
		$REPORT_SCAMMING = , _
		$REPORT_CHARNAME =

Func OnLoad()
	Local $name

	Do
		Sleep(100)
	Until GetAgentExists(-2)
	For $i = 1 To GetPlayerArraySize()
		$name = GetPlayerName($i)
		If StringInStr($name,'Mmo Gamers Market') Then
			ConsoleWrite("Reporting " & $name &  [MENTION=3576271]CRLF[/MENTION])
			ReportPlayer($name,$REPORT_BOTTING)
			Sleep(250)
		EndIf


	Next
EndFunc   ;==>OnLoad
OnLoad()

ProcessWaitClose(WinGetProcess($mGWHwnd))

Func ReportPlayer($aPlayerName, $aType)
	Static Local $lStruct = DllStructCreate('ptr;dword;dword;wchar[32];dword')
	Static Local $lPacketSend = GetValue('CommandPacketSend')

	DllStructSetData($lStruct, 1, $lPacketSend)
	DllStructSetData($lStruct, 2, 0x48)
	DllStructSetData($lStruct, 3, 0x5B)
	DllStructSetData($lStruct, 4, $aPlayerName)
	DllStructSetData($lStruct, 5, $aType)

	Enqueue(DllStructGetPtr($lStruct),DllStructGetSize($lStruct))
EndFunc   ;==>ReportPlayer

Func GetPlayerName($aPlayerID)
	Static $lOffsets[5] = [0, 0x18, 0x2C, 0x80C]
	$lOffsets[4] = 0x28 + 0x4C * $aPlayerID
	Local $lPtr = MemoryReadPtr($mBasePointer, $lOffsets, 'ptr')[1]
	Return MemoryRead($lPtr, 'wchar[20]')
EndFunc   ;==>GetPlayerName

Func GetPlayerArraySize()
	Static $lOffsets = [0, 0x18, 0x2C, 0x814]
	Return MemoryReadPtr($mBasePointer, $lOffsets, 'dword')[1]
EndFunc   ;==>GetPlayerArraySize
savsuds is offline  
Thanks
1 User
Old 12/03/2018, 19:10   #3
 
3vangelist's Avatar
 
elite*gold: 0
Join Date: Jan 2018
Posts: 46
Received Thanks: 14
Quote:
Originally Posted by savsuds View Post
Written by 4D 1
Code:
#include 'GWA2_new.au3'

Initialize(WinGetProcess('[CLASS:ArenaNet_Dx_Window_Class]'))


SetEvent('', '', '', '', 'OnLoad')


Enum $REPORT_VERBAL_ABUSE, _
		$REPORT_BOTTING = 2, _
		$REPORT_SPAMMING = 4, _
		$REPORT_LEECHING = , _
		$REPORT_SCAMMING = , _
		$REPORT_CHARNAME =

Func OnLoad()
	Local $name

	Do
		Sleep(100)
	Until GetAgentExists(-2)
	For $i = 1 To GetPlayerArraySize()
		$name = GetPlayerName($i)
		If StringInStr($name,'Mmo Gamers Market') Then
			ConsoleWrite("Reporting " & $name &  [MENTION=3576271]CRLF[/MENTION])
			ReportPlayer($name,$REPORT_BOTTING)
			Sleep(250)
		EndIf


	Next
EndFunc   ;==>OnLoad
OnLoad()

ProcessWaitClose(WinGetProcess($mGWHwnd))

Func ReportPlayer($aPlayerName, $aType)
	Static Local $lStruct = DllStructCreate('ptr;dword;dword;wchar[32];dword')
	Static Local $lPacketSend = GetValue('CommandPacketSend')

	DllStructSetData($lStruct, 1, $lPacketSend)
	DllStructSetData($lStruct, 2, 0x48)
	DllStructSetData($lStruct, 3, 0x5B)
	DllStructSetData($lStruct, 4, $aPlayerName)
	DllStructSetData($lStruct, 5, $aType)

	Enqueue(DllStructGetPtr($lStruct),DllStructGetSize($lStruct))
EndFunc   ;==>ReportPlayer

Func GetPlayerName($aPlayerID)
	Static $lOffsets[5] = [0, 0x18, 0x2C, 0x80C]
	$lOffsets[4] = 0x28 + 0x4C * $aPlayerID
	Local $lPtr = MemoryReadPtr($mBasePointer, $lOffsets, 'ptr')[1]
	Return MemoryRead($lPtr, 'wchar[20]')
EndFunc   ;==>GetPlayerName

Func GetPlayerArraySize()
	Static $lOffsets = [0, 0x18, 0x2C, 0x814]
	Return MemoryReadPtr($mBasePointer, $lOffsets, 'dword')[1]
EndFunc   ;==>GetPlayerArraySize
Perfect, thanks
3vangelist is offline  
Reply

Tags
gwa2


Similar Threads Similar Threads
FYI: All gold sellers' gold are duped gold
10/15/2016 - Mabinogi - 5 Replies
I go here when I am bored. And I still see these dudes selling gold like real business I'm like wtf? Trust me. Either gold from sellers here or that goldaa.com, doesn't matter. THEY ARE ALL DUPED! Or in any case, if you see somebody selling large quantities of virtual items for real money, THEY ARE DUPED! Use your brain! And this dude here has the audacity report others for saying the truth? Hey, to anyone who just has to buy gold, buy from me. I will give you half price. 1M = 1USD how does...



All times are GMT +2. The time now is 17:37.


Powered by vBulletin®
Copyright ©2000 - 2024, 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 ©2024 elitepvpers All Rights Reserved.