• You've discovered RedGuides, an EverQuest multi-boxing and scripting community 🧙‍♀️⚙️. We want you to play several EQ characters at once, come join us and say hello! 👋

  • A TLP without truebox has thawed (Very Vanilla ready)
    Frostreaver
Ninjadvloot.inc

Release Ninjadvloot.inc 2022-06-23

No permission to download

ChatWithThisName

⚔️🛡️🗡️
Moderator
Joined
Dec 29, 2017
RedCents
23,976¢
ninjadvloot_logo.png
Ninjadvloot.inc v3.2 Updated 09/07/2013
The most recent version is included in our compile.

Ninjadvloot.inc is an include file that adds looting functionality to any macro. It creates a loot.ini file that keeps track of each item as its looted and how you want to handle that item each time its looted. Choices are destroy, ignore, keep, or sell.

Ninjadvloot.inc was originally written by A_Druid_00 in 2005 at macroquest2.com. It has been revised and updated by many people over the years. Lots of great code snippets and features have been posted and suggested in the MQ2 forums but each one was separate. When I started to update ninjadvloot I went back through the years of posts and incorporated all the suggestions and code that made sense for looting.

I then added sell/guild bank features to it. Selling takes so long and now with 10 bags and up to 32 slots. I have always been a big fan of Ninjadvloot.inc and really surprised over the years no one has added code to actually sell to vendors. As I get lazier and bags get bigger I added more features to ninjadvloot to automate all boring loot and item stuff.

Ninjadvloot now handles foraged items. Will check cursor on a successful forage to see how to handle item if listed in loot.ini file Ignore,Keep,Destroy or Sell. If it is not listed then it will default to keep.

Requirements: MQ2Moveutils
Usage: add the following code to your macro for looting functionality
Rich (BB code):
    #include Ninjadvloot.inc
    /call SetupAdvLootVars
    /call LootMobs
  • #include Ninjadvloot.inc - command to include the file in your macro
  • /call SetupAdvLootVars - Calls the routine to setup looting variables and default ini file or
  • /call SetupAdvLootVars FileName.ini - Calls the routine to setup looting variables and custom ini file
  • /call LootMobs - The actual command to call the routine to loot mobs.

Assign different ini files. Default is Loot.ini - New!
/call SetupAdvLootVars "MyToonLoot.ini"
/call SetupAdvLootVars "LootMesa.ini"

Loot.ini settings
Rich (BB code):
[Settings]
Version=2.5
LootMobs=TRUE
CorpseRadius=100
MobsTooClose=20
CorpseRotTime=440s
ReportLoot=TRUE
LootChannel=bc
OpenAllBags=1
AddNewSales=1
LootForageSpam=1
LootForage=1

Settings
Version=2.5 - current verion
LootMobs=TRUE - loot mobs TRUE/FALSE=on/off
CorpseRadius=100 - radius around character to loot mobs
MobsTooClose=20 - will not loot mobs if npcs are within this radius to prevent looting during combat
CorpseRotTime=440s - time to ignore corpses already looted
ReportLoot=TRUE - Reports loot left on mob. Items marked ignore in ini file or lore
LootChannel=bc - channel to report items left on mob. g for group, bc for eqbc, fs for fellowship etc.
OpenAllBags=1 - this will open and close all your bags in inventory =1/0 on/off
AddNewSales=1 - This will marked all items you sell to a vendor as Sell in the ini file
LootForageSpam=1 - Shows messages of foraged items in MQ2 window =1/0 on/off
LootForage=1 - Turns on item handling of foraged items.
Will check to see how to handle item if listed in loot.ini file Ignore,Keep,Destroy or Sell. If it is not listed then it will default to keep.
Note: Ignore=Destroy for foraged items since it handling directly form the cursor.

Commands
Rich (BB code):
/lootdestroy
/lootignore
/lootkeep
/lootsell
/sellstuff
/depositstuff

Usage. Grab the item and put it on your cursor then use one of the following commands
/lootdestroy - Mark item on cursor as Destroy in loot.ini file
/lootignore - Mark item on cursor as Ignore in loot.ini file
/lootkeep - Mark item on cursor as Keep in loot.ini file
/lootsell - Mark item on cursor as Sell in loot.ini file
/sellstuff - Target a vendor and this command will sell any item in your inventory marked sell. Does not work with Veteran AA Resupply Agent.
/depositstuff Target your guildbanker and this command will deposit any item in your inventory marked keep into the guild bank.

Here are some simple macros as an example that shows how to use ninjadvloot in your macros.

Sellstuff.mac - will sell items, marked Sell, to vendor.
To use target the merchant you are selling to then type /mac sellstuff

Rich (BB code):
| Sellstuff.mac v1.1 by Maskoi 11/27/2010
| Target the vendor you want to sell to and type /mac sellstuff
| Required  Ninjadvloot.inc v2.+ and a loot.ini file with items marked as sell
#include Ninjadvloot.inc
Sub Main
   /call SetupAdvLootVars
   /call DoLootStuff sell
/return
Depositstuff.mac - will deposit items, marked Keep, into guild bank
Target the guild banker and type /mac depositstuff
Rich (BB code):
| Depositstuff.mac v1.0 by Maskoi 11/27/2010
| Target the guild banker and type /mac depositstuff
| Required  Ninjadvloot.inc v2.1 and a loot.ini file with items marked as keep
#include Ninjadvloot.inc
Sub Main
   /call SetupAdvLootVars
   /call DoLootStuff deposit
/return
Forage.mac
Rich (BB code):
| Forage.mac v.1 by Maskoi 1/31/2013
| Forage using ninjadvloot.inc

   #include Ninjadvloot.inc
     
Sub Main
    /call SetupAdvLootVars
    :Top
        /if (${Me.Skill[Forage]} > 0) /doability forage
        /doevents
        /call LootMobs
        /delay 10
    /Goto :Top
/return

Buy stuff from vendors
Rich (BB code):
/call Buy "Flask of Water" 40
 
Last edited by a moderator:
Ninjadvloot.inc v3.2 Updated 09/07/2013

Rich (BB code):
| Ninjadvloot.inc v3.2  09/07/2013 Redguides.com 
| Author A_Druid_00 12/19/2005
| Based on original looting code of toomanynames
| The following updates were all individually posted and consolidated by Maskoi into the current version.
| Updated: Moeymoejoe added strip out comma in item names when accessing ini file 08/02/2006
| Updated: mystikule added sell option to ini file 01/07/2008
| Updated: drkrain for House of Thule 10/23/2010
| Updated: Maskoi with Sell Routines 11/27/2010
| Updated: Maskoi with /item keep/sell/destroy ini commands 07/21/2011
| Updated: Maskoi with Foraged item handling 08/31/2011
| Updated: Maskoi with Buying item handling 07/31/2012
| Updated: Maskoi with Assign different ini file for item handling 01/01/2013
|
| Selling Contributions by
|   drkrain - TLInv item check
|   dewey2461 - Add sold items to ini file Event
|
| Requirements: MQ2Moveutils
| Usage: add the following to your macro for looting
|   #include Ninjadvloot.inc
|   /call SetupAdvLootVars
|   /call LootMobs
|
| Assign differnent ini files. Default is Loot.ini
|   /call SetupAdvLootVars "MyToonLoot.ini"
|   /call SetupAdvLootVars "LootMesa.ini"
|
| Commands
| Usage. Grab the item and put it on your cursor then use one of the following commands
|     /lootdestroy - Mark item on cursor to Destroy in Loot.ini file
|     /lootignore - Mark item on cursor to Ignore in Loot.ini file
|     /lootkeep - Mark item on cursor to Keep in Loot.ini file
|     /lootsell - Mark item on cursor to Sell in Loot.ini file
|     /sellstuff - Target a vendor and this command will sell any item in your inventory marked sell. 
|     /depositstuff - Target your guildbanker and this command will deposit any item in your inventory marked keep into the guild bank.

#Event CantLoot         "#*#may not loot this corpse#*#"
#Event Sell             "#*#You receive#*# for the #1#(s)#*#"
#Event EditIniItem      "[MQ2] LootIniItem #1# #2#"
#Event SellStuff        "[MQ2] NinjadvLoot selling items to vendor"
#Event Broke            "#*#you cannot afford#*#" 
#Event Broke            "#*#you can't afford#*#" 
#Event Forage           "Your forage mastery has enabled you to find something else!"
#Event Forage           "You have scrounged up #*#"
#Event InventoryFull    "#*#Your inventory appears full!#*#"

Sub SetupAdvLootVars(string ChangeIniFile)

    /declare CantLootID                         int                 outer 
    /declare CorpseRotTimer                     timer               outer
    /declare AletClearTimer                     timer               outer
    /declare NinjadVersion                      string              outer   3.2
    /declare InventoryFull                      int                 outer   0
    /declare NinjaIniFile                       string              outer   Loot.ini
    /declare Debugloot                          int                 outer   0
    /if (${ChangeIniFile.Length}) {
        /varset NinjaIniFile ${ChangeIniFile}
        /echo Ninja Advance Loot in now writing all info to the ${ChangeIniFile} file.
    }
    /declare NALVersion                            string              outer   ${Ini[${NinjaIniFile},Settings,Version]}
    /if (!${Ini[${NinjaIniFile},Settings,Version].Length}) {
        /call CreateIni
        /ini "${NinjaIniFile}" "Settings" "Version" "0.0"
    }
    /if (${NALVersion.NotEqual[${NinjadVersion}]}) {
        /echo NinjAdvLoot version mismatch detected writing aliases.
        /noparse /squelch /alias /lootignore    /echo LootIniItem Ignore ${Cursor.Name}
        /noparse /squelch /alias /lootsell      /echo LootIniItem Sell ${Cursor.Name}
        /noparse /squelch /alias /lootkeep      /echo LootIniItem Keep ${Cursor.Name}
        /noparse /squelch /alias /lootdestroy   /echo LootIniItem Destroy ${Cursor.Name}
        /squelch /alias /sellstuff              /echo NinjadvLoot selling items to vendor
        /squelch /alias /depositstuff           /echo NinjadvLoot depositing items to guildbank
        /ini "${NinjaIniFile}" "Settings" "Version" "${NinjadVersion}"
    }

    | Loot ini settings
    /call ALLoadVar Settings OpenAllBags        1                   int
    /call ALLoadVar Settings AddNewSales        1                   int
    /call ALLoadVar Settings LootForage         1                   int
    /call ALLoadVar Settings LootMobs           TRUE                bool
    /call ALLoadVar Settings CorpseRadius       100                 int
    /call ALLoadVar Settings MobsTooClose       100                 int
    /call ALLoadVar Settings CorpseRotTime      440s                string
    /call ALLoadVar Settings ReportLoot         FALSE               bool
    /call ALLoadVar Settings LootChannel        g                   string
    /call ALLoadVar Settings LootForageSpam     1                   int
    | Alert list 9 used to define an ignore list like campfires untargetable etc.
    /if (!${Defined[${AlertList}]}) /declare AlertList int outer 9
    /call AlertClear

/return

Sub ALLoadVar(IniSection,IniVar,IniValue,VarType)
    /if (!${Defined[${IniVar}]} && ${Defined[VarType]}) /declare ${IniVar} ${VarType} outer
    /declare IniString string local ${Ini[${NinjaIniFile},${IniSection},${IniVar},NOTFOUND]}
    /varset ${IniVar} ${IniString}
    /if (${IniString.Equal["NOTFOUND"]}) {
        /if (${IniString.Equal["NOTFOUND"]}) /varset ${IniVar} ${IniValue}
        /ini "${NinjaIniFile}" "${IniSection}" "${IniVar}" "${${IniVar}}"
    } 
/return

| ****************  Loot Mobs Section ******************** |

Sub Event_CantLoot
  /if (${Debugloot}) /echo Enter Sub Event_CantLoot
   /varset CantLootID ${Target.ID}
   /if (${Debugloot}) /echo  Event_CantLoot Can't loot ${Target.CleanName} ${Target.ID}
   /if (${Debugloot}) /echo Leave Sub Event_CantLoot
/return

Sub LootMobs
    /if (${Debugloot}) /echo Enter Sub LootMobs AlerTimer:${AletClearTimer}
    /if (!${AletClearTimer}) {
        /call AlertClear
        /varset AletClearTimer 5m
        /squelch /alert add ${AlertList} untargetable
        /squelch /alert add ${AlertList} FSP
    }
    /declare DeadCount int local ${SpawnCount[corpse radius ${CorpseRadius} zradius 50 noalert 25]}
    /if (${Debugloot}) /echo Trying to loot ${DeadCount} corpses
    /if (!${LootMobs} || ${SpawnCount[npc radius ${MobsTooClose} zradius 50 noalert ${AlertList}]} || !${DeadCount} || ${Me.Combat} || !${Me.FreeInventory}) /return
    /if (!${CorpseRotTimer}) /squelch /alert clear 25
    /declare i int local
    /declare CorpseList string local 
    /declare CorpseToLoot int local
    /declare ZDist float local ${Math.Distance[${Target.Z}:${Me.Z}]}
    /for i 1 to ${DeadCount}
        /varset CorpseList ${CorpseList}${NearestSpawn[${i},corpse radius ${CorpseRadius} zradius 50 noalert 25].ID}|
    /next i
    /if (${Debugloot}) /echo  ${CorpseList}
    /for i 1 to ${DeadCount} 
    /varset CorpseToLoot ${CorpseList.Arg[${i},|]}
        /if (${Spawn[${CorpseToLoot}].Deity.ID} || !${Spawn[${CorpseToLoot}].ID} || !${Spawn[${CorpseToLoot}].LineOfSight}) /goto :SkipCorpse
            /if (${Target.ID}!=${CorpseToLoot}) /target id ${CorpseToLoot}
            /if (!${Me.Standing}) /stand
            /delay 2s ${Target.ID}==${CorpseToLoot} && ${Me.Standing}
            /if (${Target.Distance}>5) {
                /if (${Debugloot}) /echo move to corpse
                /moveto mdist 10
                /moveto loc ${Target.Y} ${Target.X} 
                /delay 250 ${MoveTo.Stopped} || !${Me.Moving}
                /call ZCheck ${ZDist} 8
                /if (${Target.ID}) /face fast
            }
            /if (${Target.Distance}<10) {
                /if (${Debugloot}) /echo /Call LootCorpse}
                /call LootCorpse
            }
        :SkipCorpse
    /next i
    /if (${Debugloot}) /echo Leave Sub LootMobs
/return

Sub LootCorpse
    /if (${Debugloot}) /echo Enter Sub LootCorpse
    /declare i              int    local
    /declare LootList       string local
    /declare FirstLetter    string local
    /call CheckCursor
    /if (${Debugloot}) /echo /loot
    | Open Loot window
    /loot
    /if (${Debugloot}) /echo /doevents CantLoot
    /delay 3s ${Corpse.Open}
    /doevents CantLoot
    /if (${Target.ID}==${CantLootID} && ${Spawn[${CantLootID}].ID}) /squelch /alert add 25 id ${CantLootID}
    /delay 3s ${Corpse.Items} || ${Target.ID}==${CantLootID}
    /if (${Debugloot}) /echo Loot Window Open:${Window[LootWnd]} - # Loot Items:${Corpse.Items}
    /if (${Corpse.Open} && ${Corpse.Items}) {
        /declare loottotal int  local
        :LootLag
        /varset loottotal ${Corpse.Items}
             /if (${Debugloot}) /echo :LootLag ${loottotal}!=${Corpse.Items} LagCount${LagCount}
        /delay 1s ${loottotal}!=${Corpse.Items}
        /if (${loottotal}!=${Corpse.Items}) /goto :LootLag
        /for i 1 to ${loottotal}
            /if (${Debugloot}) /echo Looting ${Corpse.Item[${i}].Name} ${i} of ${loottotal} 
            /varset FirstLetter ${Corpse.Item[${i}].Name.Left[1]}
            /if (${Corpse.Item[${i}].ID} && !${Select[${Ini[${NinjaIniFile},"${FirstLetter}","${Corpse.Item[${i}]}"]},Ignore,Keep,Destroy,Sell]}) {
                /if (${Corpse.Item[${i}].NoDrop})  /ini "${NinjaIniFile}" "${FirstLetter}" "${Corpse.Item[${i}]}" Ignore
                /if (!${Corpse.Item[${i}].NoDrop}) /ini "${NinjaIniFile}" "${FirstLetter}" "${Corpse.Item[${i}]}" Keep
            }    
            /if (${Ini[${NinjaIniFile},"${FirstLetter}","${Corpse.Item[${i}]}"].NotEqual[Destroy]} && !${Me.FreeInventory} && (!${FindItemCount[=${Corpse.Item[${i}].Name}]} || (${FindItemCount[=${Corpse.Item[${i}].Name}]} && ${Corpse.Item[${i}].Stackable} && !${Corpse.Item[${i}].FreeStack})) || (${Corpse.Item[${i}].Lore} && ${FindItem[${Corpse.Item[${i}]}].ID}) || ${Ini[${NinjaIniFile},"${FirstLetter}","${Corpse.Item[${i}]}"].Equal[Ignore]}) /varset LootList ${LootList}${Corpse.Item[${i}]},
            /if ((${Ini[${NinjaIniFile},"${FirstLetter}","${Corpse.Item[${i}]}"].Equal[Keep]} || ${Ini[${NinjaIniFile},"${FirstLetter}","${Corpse.Item[${i}]}"].Equal[Sell]}) && (!${Corpse.Item[${i}].Lore} || !${FindItem[${Corpse.Item[${i}]}].ID}) && (${Me.FreeInventory} || (${FindItemCount[=${Corpse.Item[${i}].Name}]} && ${Corpse.Item[${i}].Stackable} && ${Corpse.Item[${i}].FreeStack}))) /call LootItem ${i} Keep Right
            /if (${Ini[${NinjaIniFile},"${FirstLetter}","${Corpse.Item[${i}]}"].Equal[Destroy]}) /call LootItem ${i} Destroy left
        /next i
        /if (${Corpse.Items}) {
            /if (${ReportLoot} && ${LootList.Length}) {
                /keypress Enter 
                /keypress / chat
                /call Type "${LootChannel}"
                /keypress Space chat
                /notify LootWND LW_BroadcastButton leftmouseup 
                /delay 5
                /call Type " left on corpse."
                /keypress /
                /keypress Enter chat
            }
            /if (${Debugloot}) /echo /if (${Target.ID})
            /if (${Target.ID}) /squelch /alert add 25 id ${Target.ID}
            /varset CorpseRotTimer ${CorpseRotTime}
        }
    }
    :clickdoneffs
        /nomodkey /notify LootWnd LW_DoneButton leftmouseup
        /if (${Debugloot}) /echo :clickdoneffs 
        /delay 5s !${Window[LootWnd].Open}
        /if (${Debugloot}) /echo :clickdoneffs LootWin Open:${Window[LootWnd]}
    /if (${Window[LootWnd].Open}) /goto :clickdoneffs
    /if (${Debugloot}) /echo Leave Sub LootCorpse
/return

Sub LootItem(int i,DoWhat,WhichButton)
    /if (${Debugloot}) /echo Enter Sub LootItem ${i} ${DoWhat} ${WhichButton}
    /declare CorpseItemID int local ${Corpse.Item[${i}].ID}
    /nomodkey /shift /itemnotify  ${Corpse.Item[${i}].InvSlot} ${WhichButton}mouseup
    /delay 5s ${Window[ConfirmationDialogBox].Open} || !${Corpse.Item[${i}].NoDrop}
    /if (${Window[ConfirmationDialogBox].Open}) /nomodkey /notify ConfirmationDialogBox Yes_Button leftmouseup
    /delay 5s ${Cursor.ID} || ${WhichButton.NotEqual
} /if (${DoWhat.Equal[Destroy]} && ${Cursor.ID}==${CorpseItemID}) /destroy /delay 3s !${Corpse.Item[${i}].ID} /if (${Cursor.ID}) /call CheckCursor /if (${Debugloot}) /echo Leave Sub LootItem /return Sub CheckCursor /if (${Debugloot}) /echo Enter Sub CheckCursor :ALauto_inv /if (${Cursor.ID}) { /if (${Cursor.NoDrop} && !${Me.FreeInventory}) /return /timed 5 /autoinventory /delay 2s !${Cursor.ID} /goto :ALauto_inv } /if (${Debugloot}) /echo Leave Sub CheckCursor /return | **************** Foraged Items Section ******************** | Sub Event_Forage /if (!${LootForage}) /return /declare ForagedItem string local :MoreToAutoInventory /if (${Cursor.ID}) { /varset ForagedItem ${Cursor.Name} /if (!${Select[${Ini[${NinjaIniFile},"${Cursor.Name.Left[1]}","${Cursor.Name}"]},Ignore,Keep,Destroy,Sell]}) { /if (${Cursor.ID}) /ini "${NinjaIniFile}" "${Cursor.Name.Left[1]}" "${Cursor.Name}" Keep /if (${LootForageSpam}) /echo New foraged item >> ${Cursor.Name} << added to ini file. } /if (${Ini[${NinjaIniFile},"${Cursor.Name.Left[1]}","${Cursor.Name}"].Equal[Destroy]} || ${Ini[${NinjaIniFile},"${Cursor.Name.Left[1]}","${Cursor.Name}"].Equal[Ignore]}) { /if (${Cursor.Name.Equal[${ForagedItem}]}) /destroy /delay 5 /if (${LootForageSpam}) /echo NINJADVLOOT -- Destroyed foraged ${ForagedItem}. } else /if ((${Ini[${NinjaIniFile},"${Cursor.Name.Left[1]}","${Cursor.Name}"].Equal[Keep]} || ${Ini[${NinjaIniFile},"${Cursor.Name.Left[1]}","${Cursor.Name}"].Equal[Sell]}) && (!${Cursor.Lore} || !${FindItem[${Cursor.Name}].ID}) && (${Me.FreeInventory} || (${FindItemCount[=${Cursor.Name}]} && ${Cursor.Stackable} && ${Cursor.FreeStack}))) { /if (${LootForageSpam}) /echo NINJADVLOOT ++ Kept foraged ${ForagedItem}. /autoinventory /delay 5 } } /if (${Cursor.ID}) /goto :MoreToAutoInventory /return | **************** Search Loot Section ******************** | Sub DoLootStuff(LootAction) /declare i int local /declare j int local /declare k int local /declare LootItem string /if (${OpenAllBags}) { /echo Opening all bags /keypress OPEN_INV_BAGS } /call NPC "${Target.CleanName}" | Top level inv has its own loop since ${FindItem[=${ItemToSell}].InvSlot} looks at top lev inv slots first in Sub SellToVendor for the item to sell. | Loop through top level inventory slots for sellable items /for k 1 to 10 | Check if top level inv slot is not a container/bag /if (${InvSlot[pack${k}].Item.Container}==0) { | If top level inv slot is empty check for an item marked sell /if (${InvSlot[pack${k}].Item.ID}) { /varset LootItem ${InvSlot[pack${k}].Item} /if (${LootAction.Equal[sell]}) { /if (${Ini[${NinjaIniFile},"${LootItem.Left[1]}","${LootItem}"].Equal[Sell]}) /call SellToVendor "${LootItem}" } /if (${LootAction.Equal[deposit]}) { /if (${Ini[${NinjaIniFile},"${LootItem.Left[1]}","${LootItem}"].Equal[Keep]}) /call DepositToGuildBank "${LootItem}" } } } /next k | Loop through top level inventory slots for containers /for i 1 to 10 | Check if top level inv slot has a bag /if (${InvSlot[pack${i}].Item.Container}==0) /next i | Set j 1 to number of bag slots and loop through slots looking for items marked sell /for j 1 to ${InvSlot[pack${i}].Item.Container} /if (${InvSlot[pack${i}].Item.Item[${j}].ID}) { /varset LootItem ${InvSlot[pack${i}].Item.Item[${j}].Name} /if (${LootAction.Equal[sell]}) { /if (${Ini[${NinjaIniFile},"${LootItem.Left[1]}","${LootItem}"].Equal[Sell]}) /call SellToVendor "${LootItem}" } /if (${LootAction.Equal[deposit]}) { /if (${Ini[${NinjaIniFile},"${LootItem.Left[1]}","${LootItem}"].Equal[Keep]}) /call DepositToGuildBank "${LootItem}" } } /next j /next i /if (${OpenAllBags}) { /echo Closing all bags /keypress CLOSE_INV_BAGS } | Prevent spam from Sell event after selling items in Sub SellStuff /doevents flush Sell /if (${Window[MerchantWnd].Open}) { /echo Closing merchant window /nomodkey /notify MerchantWnd MW_Done_Button LeftMouseUp } /if (${Window[GuildBankWnd].Open}) { /echo Closing guildbank window /keypress esc } /return Sub NPC(NPCName) /target npc ${NPCName} /delay 1s /if (!${Select[${Target.Type},npc,pet]} || !${Target.ID} || ${Target.Type.Equal[pet]} && !${Target.CleanName.Find[familiar]}) { /echo Please target a vendor or guildbanker /return } /echo Doing business with ${NPCName} /target id ${Spawn[${NPCName}].ID} /delay 3s ${Target.ID}==${Spawn[${NPCName}].ID} /if (${Target.Distance}>15) { /moveto id ${Spawn[${NPCName}].ID} /delay 250 ${MoveTo.Stopped} } /face nolook /delay 1s /echo Opening merchant/guildbank window /nomodkey /click right target /echo Waiting 5s for merchant/guildbank window to populate /delay 5s /return | **************** Sell Loot Section ******************** | Sub Event_Sell(string soldstr, string ItemName) /if ( ${AddNewSales} ) { /echo Setting ${ItemName} to sell /ini "${NinjaIniFile}" "${ItemName.Left[1]}" "${ItemName}" Sell } /return Sub SellToVendor(ItemToSell) /if (${Window[MerchantWnd].Open}) { :sell /echo Selling ${ItemToSell} /nomodkey /itemnotify ${FindItem[=${ItemToSell}].InvSlot} leftmouseup /delay 5 /nomodkey /shiftkey /notify merchantwnd MW_Sell_Button leftmouseup /delay 2s /if (${FindItem[${itemToSell}].InvSlot}) /goto :sell } /return | **************** Deposit Loot Section ******************** Sub DepositToGuildBank(ItemToDeposit) /if (${Window[GuildBankWnd].Open}) { :deposit /if (${Window[GuildBankWnd].Child[GBANK_DepositCountLabel].Text.Arg[2,:]}==0) { /echo Guildbank Deposited Items is full. /return } /if (${FindItem[=${ItemToDeposit}].InvSlot}<=22) /return /echo Depositing ${ItemToDeposit} /nomodkey /shiftkey /itemnotify ${FindItem[=${ItemToDeposit}].InvSlot} leftmouseup /delay 5 /nomodkey /notify GuildBankWnd GBANK_DepositButton leftmouseup /delay 2s /if (${FindItem[${itemToSell}].InvSlot}) /goto :deposit } /return | **************** Item set ini file event ******************** Sub Event_EditIniItem(ItemString,ItemAction,ItemName) /if (${Cursor.ID}) { /echo -- Setting ${ItemName} to ${ItemAction} /ini "${NinjaIniFile}" ${ItemName.Left[1]} "${ItemName}" ${ItemAction} } else { /echo No item on cursor. } /return | **************** Sell Stuff Event ******************** Sub Event_SellStuff /call DoLootStuff sell /return | **************** Deposit Stuff Event ******************* Sub Event_DepositStuff /call DoLootStuff deposit /return | **************** Broke Event ******************** Sub Event_Broke /if (${Window[MerchantWnd].Open}) /return /echo You are out of money! /endmacro /return | **************** Type Stuff ******************** | Lifted from commonsubs.inc by Armysoldier Sub Type(InStr) /declare char string local /declare loopctr int local /for loopctr 1 to ${InStr.Length} /varset char ${InStr.Mid[${loopctr},1]} /if (!${char.Length}) { /nomodkey /keypress space chat } else { /nomodkey /keypress ${char} chat } /next loopctr /return | **************** Buy Stuff ******************** Sub Buy(string ItemToBuy, int amount) /declare i int local | /echo Buying ${ItemToBuy}! /declare QTY int local /declare ListItem int local /varcalc QTY ${amount}-${FindItemCount[${ItemToBuy}]} /delay 1s /if (${FindItemCount[${ItemToBuy}]}>= ${amount}) { /echo I have enough ${ItemToBuy}. /return } /varset ListItem ${Window[MerchantWnd].Child[ItemList].List[=${ItemToBuy},2]} /if (!${ListItem}) { /echo couldn't find ${ItemToBuy} /return } else { /notify MerchantWnd ItemList listselect ${ListItem} /delay 1s } /echo Buying ${ItemToBuy} Till I get ${amount} :Loop /doevents /if (${InventoryFull}) /return /if (${QTY}>0) { /if (${QTY}>19) { /Shiftkey /notify merchantwnd MW_Buy_Button leftmouseup /delay 2s ${FindItemCount[${ItemToBuy}]}>=${QTY} /echo ${FindItemCount[${ItemToBuy}]} ${ItemToBuy} in inventory /varcalc QTY ${amount}-${FindItemCount[${ItemToBuy}]} /delay 3 /if (${QTY}<=0) /return /goto :Loop } /if (${QTY}>0 && ${QTY}<20) { /for i 1 to ${QTY} /Ctrlkey /notify merchantwnd MW_Buy_Button leftmouseup /delay 2s ${FindItemCount[${ItemToBuy}]}>=${Math.Calc[${FindItemCount[${ItemToBuy}]}+${i}]} /echo Buying ${ItemToBuy} ${i} of ${QTY} /if (${i}>=${QTY}) { /echo ${FindItemCount[${ItemToBuy}]} ${ItemToBuy} in inventory /return } /next i /varcalc QTY ${amount}-${FindItemCount[${ItemToBuy}]} } } /return Sub ZCheck(float Zcur, float Zdiff) | Move down if Z distance more than Zcheck due to levitation /if (${Zcur}>=${Zdiff}) { /keypress end hold /delay 10 /keypress end } /return Sub Event_InventoryFull /echo Your Inventory is full. Turning off looting functions. /varset LootMobs FALSE /varset InventoryFull 1 /return Sub CreateIni /if (${Ini[${NinjaIniFile}].Length}) /return /declare a local Settings|A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z /echo Creating ini file ${NinjaIniFile} /declare i int local 1 /for i 1 to 27 /ini ${NinjaIniFile} "${a.Arg[${i},|]}" "|===================================" "==================================|" /next i /return Sub AlertClear /squelch /alert clear 25 /squelch /alert clear ${AlertList} /return​
 

Attachments

Last edited:
Re: Ninjadvloot.inc v2.2 updated 07/18/2011

Ninjadvloot.inc v3.2 Updated 09/07/2013
Fixed buying 1 item.
Fixed a leak in You can't afford event that was causing macros to randomly end
Some minor fixes I don't remember
Added some debugging

Ninjadvloot.inc v3.0 Updated 05/09/2013
Clears alert list every 5 min to prevent memory increasing.

Ninjadvloot.inc v2.5 Updated 01/01/2013
~ NEW! - You can now easily assign different Loot ini files /call SetupAdvLootVars "LootIniFileName.ini"
Rich (BB code):
        /call SetupAdvLootVars "MyToonLoot.ini"
        /call SetupAdvLootVars "LootMesa.ini"
~ Small Fixes RoF stuff
~ Added a Zradius check in csae to far from corpse due to Levitation effects
~ Fixed alias not writing correctly
~ All headings [A] etc in correct alpha order when ini file created.
~ LootMobs set to FALSE when inventory full from buying Event added

Ninjadvloot.inc v2.4
Buy routines added

Ninjadvloot.inc v2.3
NEW Now handles foraged items.
Fixed items links to correctly post to defined channel.
Added commands to sell items to vendors.
Added commands to deposit items into guild bank.

This feature can be used while any macro is running that uses ninjadvloot,inc file.
  • Usage: Target Vendor or Guild Banker for the following commands
  • /sellstuff - Target a vendor and this command will sell any item in your inventory marked sell. Does not work with Veteran AA Resupply Agent.
  • /depositstuff Target your guildbanker and this command will deposit any item in your inventory marked keep into the guild bank.
2 new loot ini variables
LootSpam=1 - Shows messages of foraged items in MQ2 window =1/0 on/off
LootForage=1 - Turns on item handling of foraged items.
Will check to see how to handle item if listed in loot.ini file Ignore,Keep,Destroy or Sell. If it is not listed then it will default to keep.
Note: Ignore=Destroy for foraged items since it handling directly form the cursor.​

Ninjadvloot.inc v2.2
Removed the command that /dismounted toons from their mounts in order to loot. It was obsolete you can loot from mounts.
Added commands to change item status in the ini file to Destroy, Ignore, Keep or Sell in game.
This feature can be used while any macro is running that uses ninjadvloot,inc file.
  • Usage: Grab the item and put it on your cursor then use one of the following commands
  • /lootdestroy
  • /lootignore
  • /lootkeep
  • /lootsell

Ninjadvloot.inc v2.1
~Added Deposit to Guild Bank functionality. will deposit anything marked keep into guild bank
/call DoLootStuff deposit
~New Sell command sub call
/call DoLootStuff sell

Ninjadvloot.inc v2.0
~First stable relaease

Ninjadvloot.inc v1.9 Beta
~Added variable OpenAllBags
OpenAllBags=1 will open and close all bags
OpenAllBags=0 will not open and close all bags (Must have /plugin MQ2BagWindow)
Added Event Sell with new variable AddNewSales - Thanks dewey2461
AddNewSales = 1 will mark item sold to vendor in loot.ini as =sell
AddNewSales = 0 ignore items sold to vendor
~Added code to check top level inventory slots for items marked sell - Thanks drkrain
~Added credits
~Added brief usage instructions and sellstuff.mac code

Ninjadvloot.inc v1.8 Beta

~Added routines to sell items to merchants based on your loot.ini file
 
Last edited:
Re: Ninjadvloot.inc v2.2 updated 07/19/2011

To Do List
Add sell to vendors command
Add deposit to guild bank command
Fix sell feature to recognize Veteran's reward vendor.
 
Last edited:
Re: Ninjadvloot.inc v2.2 updated 07/19/2011

I'm having some issues with the aliases. If i change the version to 2.1 in the ini and run a macro that uses it, it will add the aliases, but they don't seem to be persistent... any idea where to start to fix this?
 
Open up your macroquest2.ini file and delete the 4 entries then enter them into the mq2widow separately right out of the inc file. That will write them correctly.

/noparse /squelch /alias /lootignore /echo LootIniItem Ignore ${Cursor.Name}
/noparse /squelch /alias /lootsell /echo LootIniItem Sell ${Cursor.Name}
/noparse /squelch /alias /lootkeep /echo LootIniItem Keep ${Cursor.Name}
/noparse /squelch /alias /lootdestroy /echo LootIniItem Destroy ${Cursor.Name}

Or drop theses 4 into your macroquest2.ini file under alias after you delete the bad ones
Rich (BB code):
/lootdestroy=/echo LootIniItem Destroy ${Cursor.Name}
/lootignore=/echo LootIniItem Ignore ${Cursor.Name}
/lootkeep=/echo LootIniItem Keep ${Cursor.Name}
/lootsell=/echo LootIniItem Sell ${Cursor.Name}
 
Re: Ninjadvloot.inc v2.2 updated 07/19/2011

is it likely that they never save because its more likely that i will CTD than camp out gracefully?
 
Re: Ninjadvloot.inc v2.2 updated 07/19/2011

No. The aliases write to the ini file as soon as you start the macro that uses ninjadvloot.inc. Probably some random mq2 weirdness. The /noparse in not a usual command for writing to an ini file. I will do some testing on it.
 
Re: Ninjadvloot.inc v2.3 updated 08/31/2011 - NEW! Now handles foraged items

View attachment 4688
Ninjadvloot.inc v2.3 Updated 08/31/2011
NEW! - Now handles foraged items.
  • Fixed items links to correctly post to defined channel.
  • Added commands to sell items to vendors.
  • Added commands to deposit items into guild bank.

This feature can be used while any macro is running that uses ninjadvloot,inc file.

  • Usage: Target Vendor or Guild Banker for the following commands
  • /sellstuff - Target a vendor and this command will sell any item in your inventory marked sell. Does not work with Veteran AA Resupply Agent.
  • /depositstuff Target your guildbanker and this command will deposit any item in your inventory marked keep into the guild bank.
2 new loot ini variables
LootSpam=1 - Shows messages of foraged items in MQ2 window =1/0 on/off
LootForage=1 - Turns on item handling of foraged items.
Will check to see how to handle item if listed in loot.ini file Ignore,Keep,Destroy or Sell. If it is not listed then it will default to keep.
Note: Ignore=Destroy for foraged items since it handling directly form the cursor.​
 
Last edited:
Re: Ninjadvloot.inc v2.3 updated 08/31/2011 - NEW! Now handles foraged items

Nice work Maskoi!
 
Re: Ninjadvloot.inc v2.3 updated 08/31/2011 - NEW! Now handles foraged items

Is there a way to add a command to have ninjadvloot item set to keep to stop auto looting that item if you have x amount?
Or if you have say 4 stacks of 20 bone chips the ninjavdloot will stop looting bone chips till you have less that 80 bone chips in your toons bags?
 
Re: Ninjadvloot.inc v2.3 updated 08/31/2011 - NEW! Now handles foraged items

Is there a way to add a command to have ninjadvloot item set to keep to stop auto looting that item if you have x amount?
Or if you have say 4 stacks of 20 bone chips the ninjavdloot will stop looting bone chips till you have less that 80 bone chips in your toons bags?

Like the forage macros that allow the numbers of items you keep ninjadvloot never handled that. Since the addition of the forage item handling though I have given some thought to this. It also seems a logical progression of the loot features.

I am still decompressing from KissAssist and Ninjadvloot 2.3 was an extension of that because I got tired of running out of food when I could forage it with MQ2Melee and then annoyance of my cursor filling up with foraged items.

Don't be surprised to see it added in a few weeks but for now its not capable of it.
 
Re: Ninjadvloot.inc v2.3 updated 08/31/2011 - NEW! Now handles foraged items

awesome macro. I have been wanting to do something like this for long time. Two things I would like to change for myself:

1. I like to see a popup message when something is destroyed. If you can explain how to add that to the macro. I can try to modify it just for me.

2. I am very involved with my ini lists. I would like to add short message after item showing me why i'm keeping the thing: ei:

Aderirse Bur=keep |alchemy

The macro does not like the extra verbage. Is there a way to add breif message that won't upset the macro?

Last, I agree it would be awesome if you could limit how many of something you loot. This would work great when doing quests that require each group member to loot a certain quantity of items. An anoucment to chatchannel might be nice when you exceed the limit.
 
Re: Ninjadvloot.inc v2.3 updated 08/31/2011 - NEW! Now handles foraged items

1. Destroyed when looting off the corpse? Adding a pop up message would be easy just need to know what destroy feature you want it for.
2. Sorry no extra verbage. That involves the very core of the inc file and nothing I want to mess with.
3. When I get back to macroing in a couple of weeks the next version of ninjadvloot.inc will have a loot until x=amount.
 
Re: Ninjadvloot.inc v2.3 updated 08/31/2011 - NEW! Now handles foraged items

1. Destroyed when looting off the corpse? Adding a pop up message would be easy just need to know what destroy feature you want it for.
QUOTE]

Yes, when something is automatically destroyed as it is looted off the corpse, I would like a popup message.

If you can provide the code and indicate where in teh macro I might be able to add it. Or perhaps it could be an optional feature.
 
Re: Ninjadvloot.inc v2.3 updated 08/31/2011 - NEW! Now handles foraged items

Find this line
Rich (BB code):
/if (${DoWhat.Equal[Destroy]} && ${Cursor.ID}==${CorpseItemID}) 	/destroy
and change it to
Rich (BB code):
/if (${DoWhat.Equal[Destroy]} && ${Cursor.ID}==${CorpseItemID}) {
		/popup Destroying ${Cursor.Name}
                /echo Destroying ${Cursor.Name}
		/destroy
	}
 
Re: Ninjadvloot.inc v2.3 updated 08/31/2011 - NEW! Now handles foraged items

Find this line
Rich (BB code):
/if (${DoWhat.Equal[Destroy]} && ${Cursor.ID}==${CorpseItemID}) 	/destroy
and change it to
Rich (BB code):
/if (${DoWhat.Equal[Destroy]} && ${Cursor.ID}==${CorpseItemID}) {
		/popup Destroying ${Cursor.Name}
                /echo Destroying ${Cursor.Name}
		/destroy
	}


Works flawlessly, Thanks very much.
 
Re: Ninjadvloot.inc v2.3 updated 08/31/2011 - NEW! Now handles foraged items

Bug report on /mac sellstuff. Currently it's not selling every item marked with /itemsell. It sells about half of my inventory and then closes. I can repeat this bug on every character tested so far.
 
Re: Ninjadvloot.inc v2.3 updated 08/31/2011 - NEW! Now handles foraged items

The command is /lootsell to mark the item sell. Is that a typo or have you been typing the wrong command.
 
Re: Ninjadvloot.inc v2.3 updated 08/31/2011 - NEW! Now handles foraged items

**Solved** /lootsell was not updating the items to sell status in my loot.ini, even though the MQ2Chat message said otherwise. Upon manually going into loot.ini and changing them to sell the issue was resolved.

The original post was indeed a typo, I did in fact mean /lootsell - sorry for the confusion.
 
Last edited:
Re: Ninjadvloot.inc v2.3 updated 08/31/2011 - NEW! Now handles foraged items

I have noticed an interesting ?error?

If a mob is to close when looting starts the macro will shutdown, but if a mob wanders in after the looting has started the looting continous until complete. The mobs are nonagressive so its not a big deal yet. I have not tested this with agressive mobs.

Suggestion - Check for mobs to close after looting each corpse in the pile and ending with a warning message if a mob wanders in.
 
Last edited:
Re: Ninjadvloot.inc v2.3 updated 08/31/2011 - NEW! Now handles foraged items

SUGGESTION -

Maskoi, I have a suggestion for your next versoin of Ninjadvloot.

Make a seperate loot.ini file for each server.

I play on a number of different serves both live (maybe not much longer) and EMU. Keeping the loot files seperate will be useful at least to me.
 
Re: Ninjadvloot.inc v2.3 updated 08/31/2011 - NEW! Now handles foraged items

Hi
Struggling with this working with Kissassist, Kissassist works fine and loots the mobs and appears to add them to the loot.ini - however if I hold an item on my cursor and /lootsell or /lootdestroy etc I get this error message
Rich (BB code):
kissassist.mac@414 (Assist): /delay10
kissassist.mac@377 (Main): /call assist
It doesnt end the mac however doesnt add the instruction to the loot.ini either.

I have LootOn=1 in the macro
Any help?
 
Re: Ninjadvloot.inc v2.3 updated 08/31/2011 - NEW! Now handles foraged items

open loot.ini and and change the version to 0 at the top this will force ninjadvloot to write the alias you need
 
Re: Ninjadvloot.inc v2.3 updated 08/31/2011 - NEW! Now handles foraged items

Is there a way to make this keep NODROP items? It looks like it's automatically setting them to IGNORE.
 
Re: Ninjadvloot.inc v2.3 updated 08/31/2011 - NEW! Now handles foraged items

Is there a way to make this keep NODROP items? It looks like it's automatically setting them to IGNORE.

u can hold the NODROP item on your cursor and type /lootkeep or you can just go into the loot.ini file and look for the item and delete ignore and type keep. will look something like this

[M]
Magif Full Of Shit=Destroy
Maskoi=Keep

something like that. hope this helps
 
Re: Ninjadvloot.inc v2.3 updated 08/31/2011 - NEW! Now handles foraged items

Issue with looting.

If grouped got ks'ed and the corpse is left, once the corpse is open to all the toon will go to the coprse open it up but will never loot the corpse. only way to get it to loot is to restart the macro
 
Re: Ninjadvloot.inc v2.5 Updated 01/01/2 - NEW! Now handles buying items

Ninjadvloot.inc v2.5 Updated 01/01/2
~ NEW! - You can now easily assign different Loot ini files /call SetupAdvLootVars "LootIniFileName.ini"
Rich (BB code):
        /call SetupAdvLootVars "MyToonLoot.ini"
        /call SetupAdvLootVars "LootMesa.ini"
~ Small Fixes RoF stuff
~ Added a Zradius check in csae to far from corpse due to Levitation effects
~ Fixed alias not writing correctly
~ All headings [A] etc in correct alpha order when ini file created.
~ LootMobs set to FALSE when inventory full from buying Event added

New version uploaded
 
Re: Ninjadvloot.inc v2.5 Updated 01/01/2 - NEW! Now handles buying items

Does the new version loot plat if the inventory is full?
 
Re: Ninjadvloot.inc v2.5 Updated 01/01/2 - NEW! Now handles buying items

2.5 does not. Overriding that function could screw up a lot of macros. i am looking at how to do it that won't mess up the current fuction. Also a lot of macro control the inventory full function so it has to change in 2 places. I do want to want to add it so will keep looking in to it.
 
Re: Ninjadvloot.inc v2.5 Updated 01/01/2 - NEW! Now handles buying items

Small forage mac I wrote using ninjadvloot.

Forage.mac
Rich (BB code):
| Forage.mac v.1 by Maskoi 1/31/2013
| Forage using ninjadvloot.inc

   #include Ninjadvloot.inc
     
Sub Main
    /call SetupAdvLootVars
    :Top
        /if (${Me.Skill[Forage]} > 0) /doability forage
        /doevents
        /call LootMobs
        /delay 10
    /Goto :Top
/return
 
Re: Ninjadvloot.inc v2.5 Updated 01/01/2 - NEW! Now handles buying items

I'm trying to add this to one of my macro's, but I keep getting the following errors. It seems to work fine, but why the errors?

Rich (BB code):
[2013/02/01 13:15:01] Plugin 'mq2log' loaded.

[2013/02/01 13:15:13] /declare 'ALDontLoot' failed.  Name already in use.

[2013/02/01 13:15:13] Ninjadvloot.inc@49 (SetupAdvLootVars(string ChangeIniFile)): /declare ALDontLoot                         int                 outer

[2013/02/01 13:15:13] macro.mac@24 (Main): /call SetupAdvLootVars

[2013/02/01 13:15:13] /declare 'CorpseRotTimer' failed.  Name already in use.

[2013/02/01 13:15:13] Ninjadvloot.inc@50 (SetupAdvLootVars(string ChangeIniFile)): /declare CorpseRotTimer                     timer               outer

[2013/02/01 13:15:13] macro.mac@24 (Main): /call SetupAdvLootVars

[2013/02/01 13:15:13] /declare 'NinjadVersion' failed.  Name already in use.

[2013/02/01 13:15:13] Ninjadvloot.inc@51 (SetupAdvLootVars(string ChangeIniFile)): /declare NinjadVersion                      string              outer   2.5

[2013/02/01 13:15:13] macro.mac@24 (Main): /call SetupAdvLootVars

[2013/02/01 13:15:13] /declare 'InventoryFull' failed.  Name already in use.

[2013/02/01 13:15:13] Ninjadvloot.inc@52 (SetupAdvLootVars(string ChangeIniFile)): /declare InventoryFull                      int                 outer   0

[2013/02/01 13:15:13] macro.mac@24 (Main): /call SetupAdvLootVars

[2013/02/01 13:15:13] /declare 'NinjaIniFile' failed.  Name already in use.

[2013/02/01 13:15:13] Ninjadvloot.inc@53 (SetupAdvLootVars(string ChangeIniFile)): /declare NinjaIniFile                       string              outer   Loot.ini

[2013/02/01 13:15:13] macro.mac@24 (Main): /call SetupAdvLootVars

[2013/02/01 13:15:13] /declare 'Version' failed.  Name already in use.

[2013/02/01 13:15:13] Ninjadvloot.inc@58 (SetupAdvLootVars(string ChangeIniFile)): /declare Version                            string              outer   ${Ini[${NinjaIniFile},Settings,Version]}

[2013/02/01 13:15:13] macro.mac@24 (Main): /call SetupAdvLootVars

[2013/02/01 13:15:13] /declare 'AlertList' failed.  Name already in use.

[2013/02/01 13:15:13] Ninjadvloot.inc@86 (SetupAdvLootVars(string ChangeIniFile)): /if (!${Defined[${AlertList}]}) /declare AlertList int outer 9

[2013/02/01 13:15:13] macro.mac@24 (Main): /call SetupAdvLootVars

[2013/02/01 13:15:13] /declare 'ALDontLoot' failed.  Name already in use.

[2013/02/01 13:15:13] Ninjadvloot.inc@49 (SetupAdvLootVars(string ChangeIniFile)): /declare ALDontLoot                         int                 outer

[2013/02/01 13:15:13] macro.mac@24 (Main): /call SetupAdvLootVars

[2013/02/01 13:15:13] /declare 'CorpseRotTimer' failed.  Name already in use.

[2013/02/01 13:15:13] Ninjadvloot.inc@50 (SetupAdvLootVars(string ChangeIniFile)): /declare CorpseRotTimer                     timer               outer

[2013/02/01 13:15:13] macro.mac@24 (Main): /call SetupAdvLootVars

[2013/02/01 13:15:13] /declare 'NinjadVersion' failed.  Name already in use.

[2013/02/01 13:15:13] Ninjadvloot.inc@51 (SetupAdvLootVars(string ChangeIniFile)): /declare NinjadVersion                      string              outer   2.5

[2013/02/01 13:15:13] macro.mac@24 (Main): /call SetupAdvLootVars

[2013/02/01 13:15:13] /declare 'InventoryFull' failed.  Name already in use.

[2013/02/01 13:15:13] Ninjadvloot.inc@52 (SetupAdvLootVars(string ChangeIniFile)): /declare InventoryFull                      int                 outer   0

[2013/02/01 13:15:13] macro.mac@24 (Main): /call SetupAdvLootVars

[2013/02/01 13:15:13] /declare 'NinjaIniFile' failed.  Name already in use.

[2013/02/01 13:15:13] Ninjadvloot.inc@53 (SetupAdvLootVars(string ChangeIniFile)): /declare NinjaIniFile                       string              outer   Loot.ini

[2013/02/01 13:15:13] macro.mac@24 (Main): /call SetupAdvLootVars

[2013/02/01 13:15:13] /declare 'Version' failed.  Name already in use.

[2013/02/01 13:15:13] Ninjadvloot.inc@58 (SetupAdvLootVars(string ChangeIniFile)): /declare Version                            string              outer   ${Ini[${NinjaIniFile},Settings,Version]}

[2013/02/01 13:15:13] macro.mac@24 (Main): /call SetupAdvLootVars

[2013/02/01 13:15:13] /declare 'AlertList' failed.  Name already in use.

[2013/02/01 13:15:13] Ninjadvloot.inc@86 (SetupAdvLootVars(string ChangeIniFile)): /if (!${Defined[${AlertList}]}) /declare AlertList int outer 9

[2013/02/01 13:15:13] macro.mac@24 (Main): /call SetupAdvLootVars
 
Re: Ninjadvloot.inc v2.5 Updated 01/01/2 - NEW! Now handles buying items

You probably have
Rich (BB code):
/call SetupAdvLootVars
in a loop it has to be called only once.
 
Ninjadvloot.inc v2.5 Updated 01/01/2 - NEW! Now handles buying items

You are right. Thanks.
 
Re: Ninjadvloot.inc v2.5 Updated 01/01/2 - NEW! Now handles buying items

Tell me if I am doing something wrong, but I go to place an item on my cursor, say rabbit meat. I then type in /lootsell, I see the message "Lootiniitem Sell Rabbit Meat." But when I check my loot.ini file the rabbit meat is not showing up. Am I just using this improperly?
 
Re: Ninjadvloot.inc v2.5 Updated 01/01/2 - NEW! Now handles buying items

i run the macro and then sell the stuff at the end that didn't sell and it adds it. The macro keeps running and if u just sell it adds it to the list.
 
Re: Ninjadvloot.inc v2.5 Updated 01/01/2 - NEW! Now handles buying items

What macro are you talking about, please?
 
Re: Ninjadvloot.inc v2.5 Updated 01/01/2 - NEW! Now handles buying items

/mac sellstuff
 
Release Ninjadvloot.inc

Users who are viewing this thread

Back
Top
Cart