A way to destroy items?

05/23/2024 03:50 ATbs#1
I'm almost done with a very customizable feather bot.

The non expensive runes i want to erase, instead of selling, not to sacrifice little gold for more farm time.

Is there a way to do it?
05/23/2024 04:43 Freshly_Baked#2
Quote:
Originally Posted by ATbs View Post
I'm almost done with a very customizable feather bot.

The non expensive runes i want to erase, instead of selling, not to sacrifice little gold for more farm time.

Is there a way to do it?
Have you checked out Blake's feather bot ? it drops the items with non expensive runes in them .
05/23/2024 06:21 ATbs#3
Quote:
Originally Posted by Freshly_Baked View Post
Have you checked out Blake's feather bot ? it drops the items with non expensive runes in them .
I could check. I made it so it loots all blue and purple runes so if i drop them it loots them again. Still have to make it better. Not sure how to use modstructs for those well yet

So i looked into that and tested in mine, i cant get the bot to drop runes, and since this damn autoit doesn't give any errors or anything i have no idea what could be causing this :s

This bot does a million things, manages inventory, salvages, store runes etc etc, open chests, everything one could possibly want, after hours of coding i cannot get it to drop the damn useless runes

Func DropAllByType($lType = 1000)
If GetMapLoading() <> 196 Then Return False
Out("aaaaaaaaaa")
Local $lItem = 0
For $i = 1 To 4
For $j = 1 To DllStructGetData(GetBag($i), 'Slots')
$lItem = GetItemBySlot($i, $j)
If DllStructGetData($lItem, 'ID') = 0 Then ContinueLoop
If DllStructGetData($lItem, 'Type') = $lType Then
DropItem($lItem, DllStructGetData($lItem, 'quantity'))
Sleep(250)
EndIf
Next
Next
EndFunc

checked dropitem and getitembyslot

both work

Changed $lType = 1000 to $lType = 0 which is salvage items, idk what else to check

(added the Out("aaaaaa") to see if it even reaches the function, it doesnt)
05/25/2024 15:47 t7tcrusher#4
If you dont get the output aaaa then you need to solve that first.
Whats up with the GetMapLoading() <>196?
Dont you mean if GetMapID() <> 196 ?
If you uncomment or change that line and test in explorable area with DropAllByType() in the loop of your script you should get output
05/26/2024 01:40 ATbs#5
Quote:
Originally Posted by t7tcrusher View Post
If you dont get the output aaaa then you need to solve that first.
Whats up with the GetMapLoading() <>196?
Dont you mean if GetMapID() <> 196 ?
If you uncomment or change that line and test in explorable area with DropAllByType() in the loop of your script you should get output
Yup, figured it out and working now :D
those outputs are massive for debuggin lol
05/26/2024 09:07 t7tcrusher#6
Quote:
Originally Posted by ATbs View Post
Yup, figured it out and working now :D
those outputs are massive for debuggin lol
Sometimes my scipt contains almost as much 'out' as other commands to debug :D
08/03/2024 11:39 aracno974#7
Hi,
a bit late...
HTML Code:
Func DestroyItem($aItem, $aAmount = 1) ; This function was added
	Local $lItemID, $lAmount
	$lQuantity = MemoryRead(GetItemPtr($aItem) + 75, "byte")
	Return SendPacket(0x8, 0x0067, ItemID($aItem), $aAmount)
EndFunc   ;==>DestroyItem
Then you can use:
HTML Code:
if GetItemBySlot(1, 2) <> "" Then 
		$lItem = GetItemBySlot(1, 1)
		DestroyItem($lItem , 1)
	EndIf
It also works with bonus items that can't be drop on the floor!
Credit to [Only registered and activated users can see links. Click Here To Register...]
Hope it will help