- Other Authors
- grimmier
- Source Repository
- https://github.com/aquietone/lootnscoot
Loot N Scoot (LNS) is a port of NinjAdvLoot.inc for looting on EMU servers. It loots items directly from corpses, as EMU doesn't have advanced looting like live.
LNS can be run in standalone mode, alongside your automation scripts, or in directed mode, where it is controlled by your automation script via MQ Actors such as with RGMercs.
Start the script alongside other automation:
Start the script from within some automation:
Other options for running LNS:
- Perform 1 pass of looting corpses then exit:
- Tribute inventory items marked as tribute:
- Sell inventory items marked as sell:
- Bank inventory items marked as bank:
- Perform inventory cleanup:
Setting Loot Rules:
LNS UI allows to set loot rules for items into 4 different buckets:
- Personal Rules: Highest priority, if a rule exists here, it takes precedence.
- Global Rules: Checked after personal rules, before normal rules. All looters will check global rules.
- Normal Rules: Checked after global rules. All looters will check normal rules. (global and normal basically function the same, but global takes precedence over normal).
- Wildcard Rules: If no direct match has been found, item will be evaluated against wildcard rules.
When a new item is encountered the new items window will pop up if AlwaysShowNewItem setting is enabled, otherwise the "New Items" tab will appear in the LNS UI.
From the new items window, loot rules can be assigned for new items:
Existing rules can be modified from one of the Personal Items, Global Items or Normal Items tabs:
Supported Rule Types:
- Ask
- CanUse
- Sell
- Keep
- Quest
- Bank
- Tribute
- Ignore
- Destroy
Auto Rules
By default, the setting UseAutoRules is enabled. When a new loot is detected, LNS will determine a default loot rule for the item based on criteria such as sell value, is the item no drop, can it be equipped, etc.
Loot Rule Commands:
Commands to add rules into Normal Rules table:
-
-
-
-
-
-
"[ITEM_NAME]" is optional in each command above. If not present, it will use the name of the item from your cursor.
Commands to add rules into specific Rules table:
-
Legacy rule setting commands:
Set an item to be looted and sold to vendors: /lootutils sell "${Cursor.Name}"
Set an item to be looted and kept in your bags: /lootutils keep "${Cursor.Name}"
Set an item to be looted and banked: /lootutils bank "${Cursor.Name}"
Set an item to never be looted: /lootutils ignore "${Cursor.Name}"
Quest Items can also set a specific number to loot within the rule using
Wildcard Loot Rules
Loot rules can be defined based on regular expressions to match item names, allowing to define single rules which will match multiple items.
Other commands:
- Sell to targeted vendor:
- Bank items:
- Tribute items:
- Restock items:
- Cleanup inventory:
- Trigger one time loot cycle:
- Pause LNS:
- Resume LNS:
- Reset corpses:
- Show help information:
Master Looting
Ask Grimmier.
Settings
All character settings, item information and loot rules are stored within server and character specific sqlite3 database/tables under your mq/resources/LootNScoot folder.
The following settings exist with default values and can be configured from the UI or CLI:
Item Restocking
LNS can purchase items from vendors based on what is defined in the Buy Items tab. This can be useful for restocking food/drink or other reagents.
Integrating LNS with Automation Scripts
In order to run LootNScoot from an automation script such as RGMercs, several types of messages can be sent and received via MQ Actors.
The directing script should launch lootnscoot with command:
-
LNS sends messages to the director script using mailbox = "loot_module", script = "<director_script_name>".
LNS receives messages with mailbox = "lootnscoot", script = "lootnscoot".
LNS sends messages with with Subject value to director script:
- Subject = "done_looting", Who="name of looter"
- Subject = "processing", Who="name of toon processing"
- Subject = "done_processing", Who="name of toon processing"
Processing is active when performing other tasks besides looting such as selling, tribute, buying, cleanup.
LNS processes messages sent from director script with directions value:
- directions = "doloot", who="name of looter", server="eq server name"
- directions = "setsettings_directed"
- directions = "combatlooting"
- directions = "getsettings_directed"
- directions = "getcombatsetting"
AI generated sequence diagrams just for fun. Have not verified correctness of any of these.
Loot Mobs Sequence Diagram:
View attachment LNS Loot Diagram.png
DB Operations Sequence Diagram:
Actor Messaging Sequence Diagram:
LNS can be run in standalone mode, alongside your automation scripts, or in directed mode, where it is controlled by your automation script via MQ Actors such as with RGMercs.
Start the script alongside other automation:
/lua run lootnscoot standaloneStart the script from within some automation:
/lua run lootnscoot directed <directorname>Other options for running LNS:
- Perform 1 pass of looting corpses then exit:
/lua run lootnscoot once- Tribute inventory items marked as tribute:
/lua run lootnscoot tributestuff- Sell inventory items marked as sell:
/lua run lootnscoot sellstuff- Bank inventory items marked as bank:
/lua run lootnscoot bankstuff- Perform inventory cleanup:
/lua run lootnscoot cleanupSetting Loot Rules:
LNS UI allows to set loot rules for items into 4 different buckets:
- Personal Rules: Highest priority, if a rule exists here, it takes precedence.
- Global Rules: Checked after personal rules, before normal rules. All looters will check global rules.
- Normal Rules: Checked after global rules. All looters will check normal rules. (global and normal basically function the same, but global takes precedence over normal).
- Wildcard Rules: If no direct match has been found, item will be evaluated against wildcard rules.
When a new item is encountered the new items window will pop up if AlwaysShowNewItem setting is enabled, otherwise the "New Items" tab will appear in the LNS UI.
From the new items window, loot rules can be assigned for new items:
Existing rules can be modified from one of the Personal Items, Global Items or Normal Items tabs:
Supported Rule Types:
- Ask
- CanUse
- Sell
- Keep
- Quest
- Bank
- Tribute
- Ignore
- Destroy
Auto Rules
By default, the setting UseAutoRules is enabled. When a new loot is detected, LNS will determine a default loot rule for the item based on criteria such as sell value, is the item no drop, can it be equipped, etc.
Loot Rule Commands:
Commands to add rules into Normal Rules table:
-
/lns sell "[ITEM_NAME]"-
/lns keep "[ITEM_NAME]"-
/lns quest "[ITEM_NAME]"-
/lns bank "[ITEM_NAME]"-
/lns ignore "[ITEM_NAME]"-
/lns destroy "[ITEM_NAME]""[ITEM_NAME]" is optional in each command above. If not present, it will use the name of the item from your cursor.
Commands to add rules into specific Rules table:
-
/lns <personalitem|globalitem|normalitem> <rule> "ITEM_NAME" [qty]Legacy rule setting commands:
Set an item to be looted and sold to vendors: /lootutils sell "${Cursor.Name}"
Set an item to be looted and kept in your bags: /lootutils keep "${Cursor.Name}"
Set an item to be looted and banked: /lootutils bank "${Cursor.Name}"
Set an item to never be looted: /lootutils ignore "${Cursor.Name}"
Quest Items can also set a specific number to loot within the rule using
/lns quest|#.Wildcard Loot Rules
Loot rules can be defined based on regular expressions to match item names, allowing to define single rules which will match multiple items.
Other commands:
- Sell to targeted vendor:
/lns sellstuff- Bank items:
/lns bankstuff- Tribute items:
/lns tributestuff- Restock items:
/lns restock- Cleanup inventory:
/lns cleanup- Trigger one time loot cycle:
/lns loot- Pause LNS:
/lns pause- Resume LNS:
/lns resume- Reset corpses:
/lns corpsereset- Show help information:
/lns helpMaster Looting
Ask Grimmier.
Settings
All character settings, item information and loot rules are stored within server and character specific sqlite3 database/tables under your mq/resources/LootNScoot folder.
The following settings exist with default values and can be configured from the UI or CLI:
| UseAutoRules | true | Let LNS decide loot rules on new items |
| AutoShowNewItem | false | Automatically show new items in the looted window |
| AlwaysAsk | false | Treat all items as Ask reguardless of their rule. |
| AlwaysGlobal | false | Always assign new rules to global as well as normal rules. |
| CombatLooting | false | Enables looting during combat. Not recommended on the MT |
| CorpseRadius | 100 | Radius to activly loot corpses |
| MobsTooClose | 40 | Don't loot if mobs are in this range. |
| SaveBagSlots | 3 | Number of bag slots you would like to keep empty at all times. Stop looting if we hit this number |
| TributeKeep | false | Keep items flagged Tribute |
| MinTributeValue | 100 | Minimun Tribute points to keep item if TributeKeep is enabled. |
| MinSellPrice | -1 | Minimum Sell price to keep item. -1 = any |
| StackPlatValue | 0 | Minimum sell value for full stack |
| StackableOnly | false | Only loot stackable items |
| BankTradeskills | false | Toggle flagging Tradeskill items as Bank or not. |
| DoLoot | true | Enable auto looting in standalone mode |
| LootForage | true | Enable Looting of Foraged Items |
| LootNoDrop | false | Enable Looting of NoDrop items. |
| LootNoDropNew | false | Enable looting of new NoDrop items. |
| LootQuest | true | Enable Looting of Items Marked 'Quest', requires LootNoDrop on to loot NoDrop quest items |
| DoDestroy | false | Enable Destroy functionality. Otherwise 'Destroy' acts as 'Ignore' |
| AlwaysDestroy | false | Always Destroy items to clean corpese Will Destroy Non-Quest items marked 'Ignore' items REQUIRES DoDestroy set to true |
| QuestKeep | 10 | Default number to keep if item not set using Quest|# format. |
| LootChannel | "dgt" | Channel we report loot to. |
| GroupChannel | "dgze" | Channel we use for Group Commands Default(dgze) |
| ReportLoot | true | Report loot items to group or not. |
| ReportSkippedItems | false | Report skipped items to group or not. |
| SpamLootInfo | false | Echo Spam for Looting |
| LootForageSpam | false | Echo spam for Foraged Items |
| AddNewSales | true | Adds 'Sell' Flag to items automatically if you sell them while the script is running. |
| AddNewTributes | true | Adds 'Tribute' Flag to items automatically if you Tribute them while the script is running. |
| MasterLooting | false | Master Looter Mode, you will be prompted for who to loot for items marked as (Sell, Keep, Tribute). |
| LootCheckDelay | 0 | How long between checks to wait before checking again (seconds) |
| HideNames | false | Hides names and uses class shortname in looted window |
| RecordData | true | Enables recording data to report later. |
| AutoTag | false | Automatically tag items to sell if they meet the MinSellPrice |
| AutoRestock | true | Automatically restock items from the BuyItems list when selling |
| LootMyCorpse | false | Loot your own corpse if its nearby (Does not check for REZ) |
| LootAugments | false | Loot Augments |
| CheckCorpseOnce | true | Check Corpse once and move on. Ignore the next time it is in range if enabled |
| KeepSpells | true | Keep spells |
| CanWear | false | Only loot items you can wear |
| MaxCorpsesPerCycle | 5 | Maximum number of corpses to loot per cycle |
| IgnoreBagSlot | 0 | Ignore this Bag Slot when buying, selling, tributing and destroying of items. |
| IgnoreMyNearCorpses | false | Ignore my own corpses when looting nearby corpses, some servers you spawn after death with all your gear so this setting is handy. |
| TrackHistory | true | Enable inserting loot results into history table |
| AlwaysEval | false | Re-Evaluate all *Non Quest* items. useful to update loot.ini after changing min sell values. (DEFUNCT) |
| GlobalLootOn | true | Toggle using Global Rules. If off we will only use Normal or Personal Rules. This setting is old and will probably be removed in the future. Note: Unused except for logging loot rule in history tracking. Backwards precedence of global over personal table. |
Item Restocking
LNS can purchase items from vendors based on what is defined in the Buy Items tab. This can be useful for restocking food/drink or other reagents.
Integrating LNS with Automation Scripts
In order to run LootNScoot from an automation script such as RGMercs, several types of messages can be sent and received via MQ Actors.
The directing script should launch lootnscoot with command:
-
/lua run lootnscoot directed <director_script_name>LNS sends messages to the director script using mailbox = "loot_module", script = "<director_script_name>".
LNS receives messages with mailbox = "lootnscoot", script = "lootnscoot".
LNS sends messages with with Subject value to director script:
- Subject = "done_looting", Who="name of looter"
- Subject = "processing", Who="name of toon processing"
- Subject = "done_processing", Who="name of toon processing"
Processing is active when performing other tasks besides looting such as selling, tribute, buying, cleanup.
LNS processes messages sent from director script with directions value:
- directions = "doloot", who="name of looter", server="eq server name"
- directions = "setsettings_directed"
- directions = "combatlooting"
- directions = "getsettings_directed"
- directions = "getcombatsetting"
AI generated sequence diagrams just for fun. Have not verified correctness of any of these.
Loot Mobs Sequence Diagram:
View attachment LNS Loot Diagram.png
DB Operations Sequence Diagram:
Actor Messaging Sequence Diagram:
- License Name
- MIT

