Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #cs ----------------------------------------------------------------------------
- AutoIt Version: 3.3.6.1
- Author: ZKFTW
- Script Function: expsale GWA²
- #ce ----------------------------------------------------------------------------
- ; to Do:
- ; ggf runen, fehlende ids
- #include-once
- #include "GWA².au3"
- #include "GWAAddsOn.au3"
- Local $storegolditems= 1
- Local $ini = 0
- While 1
- Main()
- Exit
- Wend
- Func Main()
- Ini()
- Test()
- Endfunc
- Func Test()
- expsale (1)
- EndFunc
- Func Ini()
- If $ini = 0 Then
- Local $GWWindowName ="Guild Wars"
- Initialize(WinGetProcess($GWWindowName))
- $bPID = WinGetProcess($GWWindowName)
- $ini += 1
- EndIf
- EndFunc
- Func expsale($storegolditems)
- Local $sBags = 0
- Local $sNPCid
- Local $lMe
- Local $bX
- Local $bY
- Local $lBlocked = 0
- Local $bagslots = 0
- Local $merchant = "Gi Hahn"
- $sNPCid = GetAgentByName($merchant)
- GoNPC($sNPCid)
- $bX = DllStructGetData($sNPCid, 'X')
- $bY = DllStructGetData($sNPCid, 'Y')
- Do
- Sleep(1000)
- $lMe = GetAgentByID(-2)
- If GetIsMoving($lMe) = False Then
- $lBlocked += 1
- GoNPC($sNPCid)
- EndIf
- Until ComputeDistance(DllStructGetData($lMe, 'X'), DllStructGetData($lMe, 'Y'), $bX, $bY) < 200 Or $lBlocked > 14
- SLeep(500);until here tested
- For $b = 1 to 3
- $sBags = + 1
- $bagslots = DllStructGetData(GetBag($sBags), 'Slots')
- For $s = 0 to $bagslots
- Global $strucktItem = GetItemBySlot($b,$s)
- GLobal $sItemID = DllStructGetData($strucktItem, 'ID')
- Global $sModelID =DllStructGetData($strucktItem, 'ModelID')
- Global $sType = DllStructGetData($strucktItem, 'Type')
- Global $sQuality =DllStructGetData(GetEtraItemInfoByItemId($strucktItem), 'Rarity')
- ;==============kein item=========================================
- IF $sItemID = 0 Then
- Sleep(10)
- ;==============Nichts tuen mit Item==============================
- ElseIf $sModelID = 5899 or $sType = 29 Then
- Sleep(10); Platzhalter
- ;========== Item in Truhe=======================================
- ElseIf $sModelID = 146 or $sModelID = 28435 or $sModelID = 28436 or $sModelID = 28432 or $sModelID = 22751 or $sType = 18 or $sType = 10 or $sType = 9 Then
- storageitem ($sItemID)
- ;===============Item in Truhe und identifiziern==================
- ;ElseIf $sModelID = -1 Then; Platzhalter
- ; If FindIDKit() = 0 Then
- ; BuySuperiorIDKit()
- ; Endif
- ; IdentifyItem($sitemID)
- ; storageitem ($sitemID)
- ;==================Item wen Gold in Truhe========================
- ElseIf $sQuality = $RARITY_Gold Then
- Msgbox (1 "GoldItem","works")
- IF $storegolditems = 1 Then
- If storageitem ($sItemID) = True Then
- Sleep(40)
- Else
- Sleep(1)
- If FindIDKit() = 0 Then
- BuySuperiorIDKit()
- Sleep(40)
- Endif
- IdentifyItem($sItemID)
- Sleep(100)
- SellItem ($sItemID)
- Endif
- Else
- If FindIDKit() = 0 Then
- BuySuperiorIDKit()
- Sleep(100)
- Endif
- IdentifyItem($sItemID)
- Sleep(100)
- SellItem ($sItemID)
- Endif
- ;==================Material======================================
- Elseif $sType = 11 Then
- MsgBox(1,$sModelID ,$sType)
- If $sModelID = 921 Then
- MoveItem($sItemID, 6, 1)
- ElseIf $sModelID = 948 Then
- MoveItem($sItemID, 6, 2)
- ElseIf $sModelID = 940 Then
- MoveItem($sItemID, 6, 3)
- ElseIf $sModelID = 953 Then
- MoveItem($sItemID, 6, 4)
- ElseIf $sModelID = 954 Then
- MoveItem($sItemID, 6, 5)
- ElseIf $sModelID = 925 Then
- MoveItem($sItemID, 6, 6)
- ElseIf $sModelID = 946 Then
- MoveItem($sItemID, 6, 7)
- ElseIf $sModelID = 955 Then
- MoveItem($sItemID, 6, 9)
- ElseIf $sModelID = 924 Then
- MoveItem($sItemID, 6, 10)
- ElseIf $sModelID = 934 Then
- MoveItem($sItemID, 6, 11)
- ElseIf $sModelID = 933 Then
- MoveItem($sItemID, 6, 12)
- ElseIf $sModelID = 941 Then
- MoveItem($sItemID, 6, 13)
- ElseIf $sModelID = 926 Then
- MoveItem($sItemID, 6, 14)
- ElseIf $sModelID = 927 Then
- MoveItem($sItemID, 6, 15)
- ElseIf $sModelID = 930 Then
- MoveItem($sItemID, 6, 17)
- ElseIf $sModelID = 949 Then
- MoveItem($sItemID, 6, 18)
- ElseIf $sModelID = 950 Then
- MoveItem($sItemID, 6, 19)
- ElseIf $sModelID = 923 Then
- MoveItem($sItemID, 6, 20)
- ElseIf $sModelID = 931 Then
- MoveItem($sItemID, 6, 21)
- ElseIf $sModelID = 932 Then
- MoveItem($sItemID, 6, 22)
- ElseIf $sModelID = 937 Then
- MoveItem($sItemID, 6, 23)
- ElseIf $sModelID = 938 Then
- MoveItem($sItemID, 6, 24)
- ElseIf $sModelID = 935 Then
- MoveItem($sItemID, 6, 25)
- ElseIf $sModelID = 936 Then
- MoveItem($sItemID, 6, 26)
- ElseIf $sModelID = 922 Then
- MoveItem($sItemID, 6, 27)
- ElseIf $sModelID = 945 Then
- MoveItem($sItemID, 6, 28)
- ElseIf $sModelID = 939 Then
- MoveItem($sItemID, 6, 30)
- ElseIf $sModelID = 942 Then
- MoveItem($sItemID, 6, 31)
- ElseIf $sModelID = 943 Then
- MoveItem($sItemID, 6, 32)
- ElseIf $sModelID = 944 Then
- MoveItem($sItemID, 6, 33)
- ElseIf $sModelID = 951 Then
- MoveItem($sItemID, 6, 34)
- ElseIf $sModelID = 952 Then
- MoveItem($sItemID, 6, 35)
- ElseIf $sModelID = 956 Then
- MoveItem($sItemID, 6, 36)
- ElseIf $sModelID = 6532 Then
- MoveItem($sItemID,6, 37)
- ElseIf $sModelID = 6533 Then
- MoveItem($sItemID,6, 38)
- Else
- Sleep(10)
- EndIf
- ;============== Wen Blau, Lila oder Grün id + vk ==================
- Elseif $sQuality = $RARITY_Blue or $sQuality = $RARITY_Purple or $sQuality = $RARITY_Green Then
- Msgbox (1, "test","fLila oder Grün id + vk )
- Sleep(40)
- If FindIDKit() = 0 Then
- BuySuperiorIDKit()
- Sleep(100)
- Endif
- IdentifyItem($sItemID)
- Sleep(100)
- SellItem ($sItemID)
- ;===================Item wenn weiß verkaufen======================
- ElseIf $sQuality = $RARITY_White Then
- SellItem ($sItemID)
- ;==========================Else====================================
- Else
- Sleep(10)
- EndIf
- Next
- Next
- Sleep(100)
- DepositGold()
- Sleep(100)
- Endfunc
- Func storageitem ($sItemID);tested
- If FindSameItemStorageandplace($sItemID) = True Then
- Return True
- ElseIf Storeunstackableitem ($sItemID) = True Then
- Sleep (1)
- Return True
- Else
- Return False
- Endif
- EndFunc ;==> item auf truhepacken und ggf.Stacken
- Func Storeunstackableitem ($sItemID) ;tested
- Local $moveslot
- For $i = 1 to 9
- FindEmptySlot($i+7)
- If @extended >0 Then
- $moveslot = @extended
- MoveItem($sItemID,$i+7 , $moveslot)
- Sleep (100)
- Return True
- ExitLoop
- Else
- Sleep(50)
- Endif
- Next
- EndFunc ;==> nicht stackable items auf truhe packen
- Func FindSameItemStorageandplace($sItemID) ;tested
- If $sType = 18 or 10 or 11 or 30 or 31 or 9 or DllStructGetData($sItemID, 'Quantity') > 1 Then
- For $i = 8 to 16
- If FindSameItem($i,$sItemID) = 0 Then
- Sleep (1)
- Else
- Return True
- ExitLoop
- Endif
- Next
- Endif
- EndFunc ;==> item auf truhe packen und stacken wenn möglich
- Func FindSameItem($bagIndex,$sItemID) ;tested
- Local $aSlot
- ;Local $sItemID = GetItemByItemID ($stItemID)
- ;Local $sModelID =DllStructGetData($sItemID, 'ModelID')
- For $aSlot = 0 To DllStructGetData(GetBag($bagIndex), 'Slots')-1
- $lItemInfo = GetItemBySlot($bagIndex, $aSlot)
- Local $lModelID = DllStructGetData($lItemInfo, 'ModelID')
- If $sModelID = $lModelID Then
- Sleep(1)
- If DllStructGetData($lItemInfo, 'Quantity') + DllStructGetData($sItemID, 'Quantity') >249 Then
- Sleep(1)
- Else
- MoveItem($sItemID,$bagIndex,$aSlot +1)
- ExitLoop
- EndIf
- EndIf
- Next
- Return 0
- EndFunc ;==> Gleiches item im fach suchen und dazu packen
Add Comment
Please, Sign In to add comment