gw neustarten, dll injezieren, in insel der namenlosen stellen das ausführen.
Code:
#include-once
#include <NamedPipes.au3>
#include <WinAPI.au3>
Opt("WinTitleMatchMode", 3)
Opt("TrayIconDebug", 1)
winsettitle("Guild Wars #LoveGW#","","kknb ftw")
$hwnd="kknb ftw"
Global Enum $GW_Test = 0x1, $GW_Travel, $GW_SwitchMode, $GW_UserSkill, $GW_MoveTo, $GW_InviteNPC, _
$GW_Dialog, $GW_OpenChest, $GW_SetSkillbarSkill, $GW_SellItemBySlot, _
$GW_SetGraphic, $GW_Console, $GW_IdentItemByID, $GW_MoveToV3, _
$GW_GetMapID, $GW_GetOwnCoord, $GW_FindIdKid, _
$GW_GetItemByModelId, $GW_IdentBag, $GW_GetItemId, $GW_GetBagItems, _
$GW_Connection, $GW_Experience, $GW_TitleGamer, $GW_TitleTrackKurzick, _
$GW_TitleTrackLuxon, $GW_TitleCommander, $GW_TitleParty, $GW_TitleSweet, _
$GW_TitleLightbringer, $GW_TitleNorthMastery, $GW_TitleDeldrimor, $GW_TitleAsura, _
$GW_TitleNorn, $GW_TitleVanguard, $GW_TitleSunspear, $GW_TitleDrunkard, $GW_TitleWisdom, _
$GW_TitleUnlucky, $GW_TitleLucky, $GW_TitleTreasure, $GW_MoneyStorage, $GW_MoneySelf, _
$GW_MaxLuxonFaction, $GW_CurrentLuxonFaction, $GW_MaxKurzickFaction, _
$GW_CurrentKurzickFaction, $GW_MaxBalthFaction, $GW_CurrentBalthFaction, _
$GW_Dead, $GW_Ping, $GW_LoggedIn, $GW_Name, $GW_Email, $GW_MoveToKeepRunning, $GW_LoadScreen, _
$GW_MoveToStoppAll, $GW_CurrentID, $GW_UseItem, $GW_LeaveGH, $GW_DropGold, $GW_CommandHero, _
$GW_ChangeGold, $GW_AddHero, $GW_KickHero, $GW_CommandAll, $GW_EquipItem, $GW_KickNpc, $GW_TravelGH, _
$GW_GetRarity, $GW_IdentItemBySlot, $GW_BuyIdKit, $GW_MoveItem,$GW_QuestReward,$GW_GetQuest
Func GwCmd($Hwnd, $uMsg, $Lparam = 0, $Rparam = 0, $Mparam = 0)
Local $iRead = 0, $retValues[2]
If $uMsg = $GW_GetOwnCoord Or $uMsg = $GW_MoveToV3 Or $uMsg = $GW_MoveTo Then
$paraType = "float"
$retType = "float"
Else
$paraType = "int"
$retType = "int"
EndIf
Local $OutBuffer = DllStructCreate("WORD header;WORD type;" & $paraType & " Lparam;" & $paraType & " Mparam;" & $paraType & " Rparam;" & $retType & " retValue1;" & $retType & " retValue2;") ;Pipes sending buffer
DllStructSetData($OutBuffer, "header", $uMsg)
DllStructSetData($OutBuffer, "Lparam", $Lparam)
DllStructSetData($OutBuffer, "Mparam", $Mparam)
DllStructSetData($OutBuffer, "Rparam", $Rparam)
Do
_NamedPipes_WaitNamedPipe("\\.\pipe\GWC_" & WinGetProcess($Hwnd), 1000)
$STREAM = _WinAPI_CreateFile("\\.\pipe\GWC_" & WinGetProcess($Hwnd), 2, 6)
$send = _WinAPI_WriteFile($STREAM, DllStructGetPtr($OutBuffer), DllStructGetSize($OutBuffer), $iRead)
$rev = _WinAPI_ReadFile($STREAM, DllStructGetPtr($OutBuffer), DllStructGetSize($OutBuffer), $iRead)
$retValues[0] = DllStructGetData($OutBuffer, "retValue1")
$retValues[1] = DllStructGetData($OutBuffer, "retValue2")
_WinAPI_CloseHandle($STREAM)
Until $rev And $send
Return $retValues
EndFunc ;==>GwCmd
Func CheckDeath($Hwnd)
$Dead = GwCmd($Hwnd, $GW_Dead)
Return $Dead[0]
EndFunc ;==>CheckDeath
Func MoveToP($Hwnd, $X, $Y, $disAbo = 300, $chk = True,$pTravel = false)
Static $iBlock = 0
Local $Coord[2], $CoordOld[2],$dis=$disAbo+1
GwCmd($Hwnd, $GW_MoveTo, $X + random(-30,30,1), $Y + random(-30,30,1))
If $chk Then
Do
Sleep(25)
$Status = GwCmd($Hwnd, $GW_LoadScreen)
If $Status[0] = 2 Then
if $pTravel then ExitLoop
ContinueLoop
EndIf
$CoordOld = $Coord
$Coord = GwCmd($Hwnd, $GW_GetOwnCoord)
If Sqrt(($CoordOld[0] - $Coord[0]) ^ 2 + ($CoordOld[1] - $Coord[1]) ^ 2) = 0 Then $iBlock = $iBlock + 1
If $iBlock > 100 Then
GwCmd($Hwnd, $GW_MoveTo, $X, $Y)
$iBlock = 0
EndIf
$dis = Sqrt(($Coord[0] - $X) ^ 2 + ($Coord[1] - $Y) ^ 2)
Until $dis < $disAbo Or CheckDeath($Hwnd)
EndIf
EndFunc ;==>MoveToP
MoveToP($Hwnd, -6395.0888671875,2721.369140625)