thanks to anyone who tries to help
i've had a working ID function for a while now
haven't changed anything to it
for some reason, yesterday it stopped working
it just stays stuck in the loop, without ever IDing anything
if my bags are empty, it will just finish the function
if my bag has UNIDs, it will just keep looping, without doing anything
thanks!
Code:
Func Ident($bagIndex) $bag = GetBag($bagIndex) Local $r = 0 For $i = 1 To DllStructGetData($bag, 'slots') FINDIDKIT() out("found ID kit") $aitem = GetItemBySlot($bagIndex, $i) out("checking rarity") If DllStructGetData($aitem, 'ID') = 0 Then ContinueLoop $r = GetRarity($aItem) If $r==$RARITY_Gold Then IdentifyItem($aitem) If $r==$RARITY_Purple Then IdentifyItem($aitem) If $r==$RARITY_Blue Then IdentifyItem($aitem) If $r==$RARITY_White Then IdentifyItem ($aitem) ContinueLoop ;out("white") ;If Not GetIsIDed($aitem) Then IdentifyItem($aitem) Sleep(Random(400, 750)) Next EndFunc
Code:
Func IdentifyItem($aItem) If GetIsIDed($aItem) Then Return Local $lItemID If IsDllStruct($aItem) = 0 Then $lItemID = $aItem Else $lItemID = DllStructGetData($aItem, 'ID') EndIf Local $lIDKit = FindIDKit() If $lIDKit == 0 Then Return SendPacket(0xC, $HEADER_ITEM_ID, $lIDKit, $lItemID) Local $lDeadlock = TimerInit() Do Sleep(20) Until GetIsIDed($lItemID) Or TimerDiff($lDeadlock) > 5000 If Not GetIsIDed($lItemID) Then IdentifyItem($aItem) EndFunc ;==>IdentifyItem