Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #Region Salvage
- Func FindCheapSalvageKit()
- Local $lItem
- Local $lKit = 0
- Local $lUses = 101
- For $i = 1 To 4
- For $j = 1 To DllStructGetData(GetBag($i), 'Slots')
- $lItem = GetItemBySlot($i, $j)
- Switch DllStructGetData($lItem, 'ModelID')
- Case 2992
- If DllStructGetData($lItem, 'Value') / 2 < $lUses Then
- $lKit = DllStructGetData($lItem, 'ID')
- $lUses = DllStructGetData($lItem, 'Value') / 8
- EndIf
- Case Else
- ContinueLoop
- EndSwitch
- Next
- Next
- Return $lKit
- EndFunc ;==>FindSalvageKit
- Func Salvage()
- Local $aitem
- Local $q = DllStructGetData($aitem, 'quantity')
- For $I = 1 To 4
- For $j = 1 To DllStructGetData(GetBag($I), 'Slots')
- $aitem = GetItemBySlot($I, $j)
- If CanSalvage($aitem) Then
- For $x = 1 To $q
- $salvagekit = FindCheapSalvageKit()
- If $salvagekit = 0 Then
- Out("No Salvage Kits")
- Main()
- EndIf
- $oldvalue = DllStructGetData(GetItemByItemID($salvagekit), 'Value')
- StartSalvage1($aitem, True)
- Do
- Sleep(200)
- Until FindCheapSalvageKit() <> $salvagekit Or DllStructGetData(GetItemByItemID($salvagekit), 'Value') <> $oldvalue
- $aitem = GetItemBySlot($I, $j)
- PingSleep(500)
- Next
- EndIf
- Next
- Next
- EndFunc
- Func SalvageExplorable()
- Local $lItem
- Local $quantity
- For $I = 1 To 4
- For $j = 1 To DllStructGetData(GetBag($I), 'Slots')
- $lItem = GetItemBySlot($I, $j)
- If CanDropItem($lItem) Then
- $quantity = DllStructGetData($lItem, 'quantity')
- For $x = 1 To $quantity
- $salvagekit = FindCheapSalvageKit()
- If $salvagekit = 0 Then
- Out("No ID kit")
- Main()
- EndIf
- $oldvalue = DllStructGetData(GetItemByItemID($salvagekit), 'Value')
- StartSalvage1($lItem, True)
- Do
- Sleep(200)
- Until FindCheapSalvageKit() <> $salvagekit Or DllStructGetData(GetItemByItemID($salvagekit), 'Value') <> $oldvalue
- $lItem = GetItemBySlot($I, $j)
- PingSleep(500)
- Next
- EndIf
- Next
- Next
- EndFunc
- Func StartSalvage1($aItem, $aCheap = false)
- Local $lOffset[4] = [0, 0x18, 0x2C, 0x62C]
- Local $lSalvageSessionID = MemoryReadPtr($mBasePointer, $lOffset)
- If IsDllStruct($aItem) = 0 Then
- Local $lItemID = $aItem
- Else
- Local $lItemID = DllStructGetData($aItem, 'ID')
- EndIf
- If $aCheap Then
- Local $lSalvageKit = FindCheapSalvageKit()
- Else
- Local $lSalvageKit = FindSalvageKit()
- EndIf
- If $lSalvageKit = 0 Then Return
- DllStructSetData($mSalvage, 2, $lItemID)
- DllStructSetData($mSalvage, 3, $lSalvageKit)
- DllStructSetData($mSalvage, 4, $lSalvageSessionID[1])
- Enqueue($mSalvagePtr, 16)
- EndFunc ;==>StartSalvage
- Func SalvagesUses()
- Local $aitem, $lBag
- Local $lUses = 0
- For $i = 1 To 4
- $lBag = GetBag($i)
- For $j = 1 To DllStructGetData($lBag, 'Slots')
- $aitem = GetItemBySlot($lBag, $j)
- Switch DllStructGetData($aitem, 'ModelID')
- Case 2992
- $lUses += DllStructGetData($aitem, 'Value') / 2
- Case 2991
- $lUses += DllStructGetData($aitem, 'Value') / 8
- Case 5900
- $lUses += DllStructGetData($aitem, 'Value') / 10
- Case Else
- ContinueLoop
- EndSwitch
- Next
- Next
- Return $lUses
- EndFunc ;==>IdentificationUses
- Func CanSalvage($aitem)
- Local $m = DllStructGetData($aitem, "ModelID")
- Local $t = DllStructGetData($aitem, "Type")
- Local $r = GetRarity($aitem)
- Local $ModStruct = GetModStruct($aitem)
- Switch $r
- Case $Rarity_Gold, $Rarity_Purple, $Rarity_Blue
- Return True
- Case $Rarity_White
- If $m = 146 Or $m = 21797 Then ; Dyes and Mesmer Tomes
- Return False
- ; All weapon mods
- ElseIf CheckArrayWeaponMods($m) Then
- Return True
- ; ==== General ====
- ElseIf CheckArrayGeneralItems($m) Then ; Lockpicks, Kits, Glacial Stones
- Return False
- ElseIf CheckArrayAllDrops($m) Then ; Event Items, materials
- Return False
- ; ==== Stupid Drops =
- ElseIf CheckArrayMapPieces($m) Then
- Return False
- Else
- Return True
- EndIf
- EndSwitch
- EndFunc
- #EndRegion Salvage
- ;;;;;;;;;;;;;inventory()func
- Func Inventory()
- Out("Travel to Guild Hall")
- TravelGH()
- WaitMapLoading()
- Out("Checking Guild Hall")
- CheckGuildHall()
- Chest()
- ;Select_The_NPC(6, GH_Control())
- ;Select_The_NPC(5, GH_Control())
- If GetGoldCharacter() > 90000 Then
- Out("Depositing Gold")
- DepositGold()
- EndIf
- Out("Storing Stuff")
- StoreItems()
- StoreMods()
- Merchant()
- Out("Identifying")
- Ident()
- $i = 0;;;;;;;;;;this for salvagingg
- Do
- If FindCheapSalvageKit() = 0 Then
- If GetGoldCharacter() < 100 And GetGoldStorage() > 99 Then
- WithdrawGold(100)
- Sleep(GetPIng()+250)
- EndIf
- BuyItem(2, 1, 100)
- Do
- Sleep(200)
- Until FindCheapSalvageKit() <> 0
- EndIf
- Salvage()
- Sleep(GetPing())
- $i += 1
- Until FindCheapSalvageKit() <> 0 Or $i > 100
- Out("Storing Special Items")
- StoreSpecialItems()
- Out("Salvaging for Mats")
- Salvage()
- Out("Selling")
- Sell()
- ;Out("Buying ID Kits")
- ;BuyKitsfortheRoad()
- If GetGoldCharacter() > 90000 Then
- Out("Depositing Gold")
- DepositGold()
- EndIf
- Sleep(GetPing()+1000)
- LeaveGH()
- WaitMapLoading()
- SetUpFastWay()
- EndFunc
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement