Code:
Func _salvage()
Local $lquantityold, $loldvalue
salvagekit()
Local $lsalvagekitid = findsalvagekit()
Local $lsalvagekitptr = getitemptr($lsalvagekitid)
For $bag = 1 To 4
$lbagptr = getbagptr($bag)
$lbagp = getbag($bag)
If $lbagptr = 0 Then ContinueLoop
For $slot = 1 To memoryread($lbagptr + 32, "long")
$litem = getitemptrbyslot($lbagptr, $slot)
$aitem = getitembyslot($bag, $slot)
out("getcansalvage($litem)")
If NOT getcansalvage($litem) Then ContinueLoop
out("Salvaging : " & $bag & "," & $slot)
$lquantity = memoryread($litem + 76, "byte")
$itemmid = memoryread($litem + 44, "long")
$itemrarity = getrarity($aitem)
If $itemrarity = $rarity_white OR $itemrarity = $rarity_blue Then
For $i = 1 To $lquantity
If memoryread($lsalvagekitptr + 12, "ptr") = 0 Then
salvagekit()
$lsalvagekitid = findsalvagekit()
$lsalvagekitptr = getitemptr($lsalvagekitid)
EndIf
$lquantityold = $lquantity
$loldvalue = memoryread($lsalvagekitptr + 36, "short")
startsalvage($aitem)
Local $ldeadlock = TimerInit()
Do
Sleep(200)
Until memoryread($lsalvagekitptr + 36, "short") <> $loldvalue OR TimerDiff($ldeadlock) > 5000
Next
ElseIf $itemrarity = $rarity_purple OR $itemrarity = $rarity_gold Then
$itemtype = memoryread($litem + 32, "byte")
If $itemtype = 0 Then
ContinueLoop
EndIf
If memoryread($litem + 12, "ptr") <> 0 Then
If memoryread($lsalvagekitptr + 12, "ptr") = 0 Then
salvagekit()
$lsalvagekitid = findsalvagekit()
$lsalvagekitptr = getitemptr($lsalvagekitid)
EndIf
$loldvalue = memoryread($lsalvagekitptr + 36, "short")
startsalvage($aitem)
Sleep(500 + getping())
salvagematerials()
Local $ldeadlock = TimerInit()
Do
Sleep(200)
Until memoryread($lsalvagekitptr + 36, "short") <> $loldvalue OR TimerDiff($ldeadlock) > 5000
EndIf
EndIf
Next
Next
salvagekit()
EndFunc
Code:
Func getcansalvage($aitemptr)
If memoryread($aitemptr + 24, "ptr") <> 0 Then Return False
Local $litemtype = memoryread($aitemptr + 32, "byte")
If $litemtype <> 5 Then Return False
Local $lmodelid = memoryread($aitemptr + 44, "long")
Switch $lmodelid
Case $modeid_breambellong, $modeid_breambelrecurve, $modeid_breambelshort, $modeid_breambelflat, $modeid_breambelhorn
Return True
EndSwitch
Return False
EndFunc
Seems so it crashes in the getcansalvage Func special in the Switch mode.
Can someone help me with it?