Quantcast
VGInterface.com
Search Downloads


Go Back   LoTROInterface > LotRO Stand-Alone Plugins > Other

Category: OtherPocketLM (Lore Master Knowledge about mob mitigations)
Interface Information
Download
How do I install this? (FAQ)
Name: PocketLM (Lore Master Knowledge about mob mitigati...
Author:
Date: 07-30-2019 09:08 AM
Size: 280.54 Kb
Version: 1.3
Rate File: 5 out of 5 with 1 votes  
Pictures
Click to enlarge 

Views: 0
Size: 344.55 Kb
Dimensions: 1920 x 1080
Lore Master Reporting Window (Version 1.1)
 
Click to enlarge 

Views: 0
Size: 448.10 Kb
Dimensions: 1920 x 1080
Version 1.3
 
Description
PocketLM V1.3

Summary:
Plugin to emulate the Lore Master "Knowledge of the Lore-master" skill.

This is useful for most classes as it will tell them which damage type is most effective to use.

This plugin is based off the Lotro Wiki information, so apologies if any is innacurate.

Installing:

Simply extract in to the plugins folder.

How to Use:

To access type /pocketlm or press the skill in the bottom left of the screen

To move the skill, hover over it, then click on the small icon on the top left. Click the icon again to place the skill.

To add to a quickslot, type /shortcut x /pocketlm

Where x is the quickslot number.



Please Note:

The first time you load the plugin, mobs from a different region may be displayed and you may have to scroll down to find the mob that you want to inspect. It will rectify it's self on it's own, the minute you change region or enter an instance. The issue should not prevail when you log in any other time if the plugin is set to automatically load.

Apologies if you are not an English speaker, but there isn't enough information available for me to produce this plugin in any other languages.

If you are editing the plugin, opening in notepad seems to mess up the format of the plugin and it may not work.
For some reason WordPad works fine though

Version History:

1.3: Changed the toggle button to an icon with the "Knowledge of the Lore Master Skill" - Added ability to move icon

1.2.1: Added more creatures, should hopefully be everything from the wiki. Added a few easter eggs

1.2: Changed file structure - sorts by mitigations to make optimal damage type more obvious - uses current level, morale and power of creature to safeguard against SSG's changes to those stats - when in depth data is not available displays estimate of strengths and weaknesses based on mob species - added prompt to report creatures missing information to me - added ability to narrow down options for potential mobs by tracking current region.

1.1: Added colour coding, changed fonts

To Do:


Look in to storing information about mob drops as well. May not be able to link to icons/tooltips without loads of extra work though.

Add google forms option to report creatures that do not load

Movable Button

Known Issues:

Some info repeated twice

Any Suggestions Welcome



Massive thank you to Garan and Thurallor for their advice.
Archive List (Old Versions)
File Name
Version
Size
Author
Date
1.2.1
280.00 Kb
Agollas
07-26-2019 02:24 PM
1.2
275.40 Kb
Agollas
07-25-2019 02:05 PM
V 1.1
3.43 MB
Agollas
07-24-2019 12:05 PM
File Statistics
User Rating:
5 out of 5 with 1 votes
Downloads: 192
Views: 1028
Favorites: 2
Uploaded By:
 
Last Modified: N/A

View Pictures. Download Now! Post A Comment


Post A Reply
Author Comments Comment Options
Unread 07-25-2019, 05:28 PM  
Agollas
The Undefeated
 
Agollas's Avatar
Interface Author - Click to view interfaces

Forum posts: 7
File comments: 10
Uploads: 4
Re: PocketLM v1.2

"Nice plugin, the file structure of the 1.1 release was a deal breaker, but this new structure is much better. Another nice feature would be a way to move the button, either via plugin options, or using Ctrl-\

Kudos for your first project!"

Thanks for your feedback

That was something I've been wanting to do, should be in the next update that I do.
Agollas is online now Report comment to moderator   Reply With Quote Reply With Quote
Unread 07-25-2019, 04:54 PM  
robhupf
The Wary
 
robhupf's Avatar

Forum posts: 3
File comments: 17
Uploads: 0
PocketLM v1.2

Nice plugin, the file structure of the 1.1 release was a deal breaker, but this new structure is much better. Another nice feature would be a way to move the button, either via plugin options, or using Ctrl-\

Kudos for your first project!

Last edited by robhupf : 07-25-2019 at 04:55 PM.
robhupf is offline Report comment to moderator   Reply With Quote Reply With Quote
Unread 07-25-2019, 12:51 AM  
Agollas
The Undefeated
 
Agollas's Avatar
Interface Author - Click to view interfaces

Forum posts: 7
File comments: 10
Uploads: 4
Thanks for both of your input. I've got a bit of time today, so will try rework some of that stuff.

Edit: Finished the python side of Thurallor's suggestion and it runs in lua without any issues. Glad it's small enough that it can be done simply

Last edited by Agollas : 07-25-2019 at 03:00 AM.
Agollas is online now Report comment to moderator   Reply With Quote Reply With Quote
Unread 07-24-2019, 05:58 PM  
Thurallor
The Undying
 
Thurallor's Avatar
Interface Author - Click to view interfaces

Forum posts: 163
File comments: 219
Uploads: 15
Cool. Well, I'm not sure how much time you want to spend developing this, but here are some suggestions.

1. Instead of a file for each creature, include them all in a single lua file, or if that turns out to be too large, a file for each region. (You can detect region changes by watching the chat traffic for "Entered the <region name> - Regional channel.", and then respond by loading a different data file -- see Garan's explanation below.) Slurping in all the data would only cause a slight delay, and would only use a few MB of memory (if formatted appropriately), which is small potatoes for a game that consumes several GB of RAM.

2. You're generating the creature data with python, so rather than creating a big string for each creature, it would be just as easy (and more useful) to create a table, whose values could then be formatted later when populating the display window. Example:
creatures.lua
creatures = {
["Aberration"] = { Level = "10 - 120"; Instance = "Summer: The Perfect Picnic", ... };
["Abomination Limrafn"] = { Level = "70"; Instance = "Pits of Isengard", ... };
...
}
3. Having the data available as separate fields would let you sort the data more usefully, e.g. having a section for "Preferred damage types" sorted from most to least effective. And if the mob isn't immune to something, no need to mention that immunity type.

4. Not having a directory+filename for each creature, you can leave in the "problematic" characters (-',) and not worry about them.

5. Instead of putting "unknown" in a field, you could use the general damage type information as a fallback.

Last edited by Thurallor : 07-24-2019 at 06:07 PM.
Thurallor is offline Report comment to moderator   Reply With Quote Reply With Quote
Unread 07-24-2019, 05:26 PM  
Garan
The Undying
 
Garan's Avatar
Interface Author - Click to view interfaces

Forum posts: 261
File comments: 750
Uploads: 19
Quote:
Well to start with I used python to retrieve the html for the creatures index , then run through it and get the names/urls for each individual creature page.

Then I used a different python program to retrieve the html for each individual creature page, extract the information and store it in a dictionary with around 5000 entries if i remember correctly.

Then I used python to write the lua code for each creature. (I'm far to lazy too do it by hand )

I decided to use this format because i figured loading all the data at once would cause some issues, using plugindata would not be instantaneous, so i figured I could just import the data for each creature when needed.

The different directories were kind of a bodge fix, as when each creature was imported, it ended up overwriting the previous function, probably a more elegant way to fix that. I tried writing different functions to each creature.lua file, but figured the folder way was easier to do. However, it may turn out to be useful when dealing with creatures that have the same name, but different stats.

Also probably a more elegant way to import each one than using loadstring to get the data.


But hey, I've only been a lua programmer for a day or two, so any advice on how to make it less ugly would be completely welcome
You can dynamically load data if you use multiple plugins and apartments to get around the limitation of accessing data files while your plugin is running. TerrainMap does this with the annotations as you scroll around the map it loads just the annotations for the tiles that are being exposed and unloads those that are no longer displayed. Turbine and SSG have tolerated this as long as the plugin doesn't try to use the mechanism to create a bot or otherwise perform unattended operations - I suspect that if it becomes rampantly abused they might be less tolerant and could easily close this loophole so please use it responsibly

One thing to consider, the lua interpreter will load .lua files much faster than .plugindata files (and you avoid issues with internationalization/differing decimal indicators, etc.) so you should keep your data in .lua files and load the appropriate file as needed. The way you communicate between the calling plugin and the utility plugin that actually gets the data is via the Command table - all plugins in all apartments share access to the same Command table so you can create a custom command with your parameters and then load the utility plugin and use an Update handler to check for the response from the utility plugin. Meanwhile, the utility plugin will read the parameter from the Command table, load the desired .lua file which and then create appropriate Command entries for the responses. The last Command created will tell the main plugin that the data is complete, then the main plugin will process the temporary Commands and unload the utility plugin and remove the parameter Command. The utility plugin will in turn remove all of it's temporary Commands in its Unload handler.

It sounds like a lot of overhead, but with proper encoding of the commands (you'll notice that TerrainMap starts all of its custom Commands with a "0" so they sort to the beginning of the Command table) it can be quite fast. The added benefit is that you no longer need a bazillion folders, just a bazillion data files, and even the data files can be lumped together with a bit of judicious management, for instance mobs with multiple level ranges can exist in the same data file, you just have to pass the mob level as a parameter and the utility plugin will process the entire data file only returning data for the version matching the level parameter.

Anyway, if you're interested, check out the TerrainMap plugin and its utility plugin TMAnnot (there are two other utility plugins, TMSearch which handles the global search window and TMCust which is an incomplete feature intended to load custom annotations from MoorMap).

Last edited by Garan : 07-24-2019 at 05:31 PM.
Garan is offline Report comment to moderator   Reply With Quote Reply With Quote
Unread 07-24-2019, 02:36 PM  
Agollas
The Undefeated
 
Agollas's Avatar
Interface Author - Click to view interfaces

Forum posts: 7
File comments: 10
Uploads: 4
Well to start with I used python to retrieve the html for the creatures index , then run through it and get the names/urls for each individual creature page.

Then I used a different python program to retrieve the html for each individual creature page, extract the information and store it in a dictionary with around 5000 entries if i remember correctly.

Then I used python to write the lua code for each creature. (I'm far to lazy too do it by hand )

I decided to use this format because i figured loading all the data at once would cause some issues, using plugindata would not be instantaneous, so i figured I could just import the data for each creature when needed.

The different directories were kind of a bodge fix, as when each creature was imported, it ended up overwriting the previous function, probably a more elegant way to fix that. I tried writing different functions to each creature.lua file, but figured the folder way was easier to do. However, it may turn out to be useful when dealing with creatures that have the same name, but different stats.

Also probably a more elegant way to import each one than using loadstring to get the data.


But hey, I've only been a lua programmer for a day or two, so any advice on how to make it less ugly would be completely welcome

Last edited by Agollas : 07-24-2019 at 02:46 PM.
Agollas is online now Report comment to moderator   Reply With Quote Reply With Quote
Unread 07-24-2019, 01:43 PM  
Thurallor
The Undying
 
Thurallor's Avatar
Interface Author - Click to view interfaces

Forum posts: 163
File comments: 219
Uploads: 15
You extracted all of this data from lotro-wiki since yesterday?

Then presumably into an Excel spreadsheet, and thence by scripting magic into this crazy format comprising 5000+ directories? (Why the directories? They seem redundant.)

I'm very curious.

Last edited by Thurallor : 07-24-2019 at 01:46 PM.
Thurallor is offline Report comment to moderator   Reply With Quote Reply With Quote
Unread 07-24-2019, 01:35 PM  
Agollas
The Undefeated
 
Agollas's Avatar
Interface Author - Click to view interfaces

Forum posts: 7
File comments: 10
Uploads: 4
Didn't know I needed it untill yesterday

Then had to learn a bit of lua to do it.
Agollas is online now Report comment to moderator   Reply With Quote Reply With Quote
Unread 07-24-2019, 01:28 PM  
Thurallor
The Undying
 
Thurallor's Avatar
Interface Author - Click to view interfaces

Forum posts: 163
File comments: 219
Uploads: 15
Didn't know I needed this until now.
Thurallor is offline Report comment to moderator   Reply With Quote Reply With Quote
Post A Reply

 
Category Jump:
Search this Category:
 

All times are GMT -5. The time now is 08:20 AM.


Our Network
EQInterface | EQ2Interface | Minion | WoWInterface | VGInterface | LoTROInterface | MMOInterface | Swtorui