lotrointerface.com
Search Downloads


Go Back   LoTROInterface > LotRO Stand-Alone Plugins > Other

Category: OtherAnthology
Interface Information
Download
Garan's Portal Bug Reports Feature Requests
How do I install this? (FAQ)
Name: Anthology   Popular!
Author:
Date: 07-13-2022 12:41 AM
Size: 17.63 MB
Version: 1.2
Rate File: 5 out of 5 with 5 votes  
Pictures
Click to enlarge 

Views: 0
Size: 11.34 Kb
Dimensions: 355 x 195
Main Menu
 
Click to enlarge 

Views: 0
Size: 71.12 Kb
Dimensions: 1588 x 799
Authoring Storyboard
 
Click to enlarge 

Views: 0
Size: 87.56 Kb
Dimensions: 922 x 564
Author Window
 
Click to enlarge 

Views: 0
Size: 75.18 Kb
Dimensions: 978 x 565
Reader Window
 
Description
Welcome to Anthology. This plugin lets players author interactive stories and then share them for others to read.

Installation:
download the .zip file and extract into your plugins folder. If you are not familiar with lotro plugins, it is highly recommended that you install and use Lunarwater's Plugin Compendium to download and extract plugins and updates for plugins:
For Windows: http://www.lotrointerface.com/downloads/fileinfo.php?id=663
For Mac/Linux: http://www.lotrointerface.com/downloads/info689-LOTROPluginCompendiumMacLinux.html

Usage: load the "Anthology" plugin either using the Plugin Manager or by using the "/plugins load anthology" chat command. When first loaded, Anthology will ask if you want to automatically import and read the tutorial story. I suggest you do.

For prior Beta users, after updating the files, you can update your version of the tutorial by deleting the prior tutorial story in the Story Select dialog (in Author or Reader, choose a story to load and in the Story Select dialog, click the Tutorial and then click 'Delete'). Once the prior tutorial is deleted, return to the main menu, click on Import/Export, then in the Import/Export window, select the Tutorial story in the Import Lua section and click "Import Lua". Alternately, you can delete all of the stories from the Story Selection dialog, return to the main menu, unload Anthology and reload Anthology and you will again be asked if you want to load the tutorial automatically.

The Anthology Author includes a number of tools to help authors organize and illustrate their stories, including a Storyboard for graphically representing story flow and the Animation Studio for defining Animation content. Authors can choose to support EN, FR and/or DE clients - the Anthology plugin itself is fully translated for all three clients (although some of the technical terms and phrasing might need a bit of tweaking). Authors can include Text content, Image content (using static files or in-game resource images), Movie content (as jpg file series) and Animation content (using files and/or in-game images as sprites on a background). Each story consists of one or more chapters with each chapter having one or more objectives - basically the way the in-game quests work.

The Reader allows users to select the font face and size that is most comfortable for them and will automatically reformat controls and story text. The reader contains an Objective Tracker that can be displayed while the reader is minimized to help remind readers of their current goals within the story they are currently reading - note, only one story can be open in the reader at a time and only the objectives in the currently open story will advance.

Once you create a story, there are a couple of options for sharing it with others, you can choose to zip up the necessary files with instructions on where to unzip them or you can create a couple of additional files needed to publish your story as a plugin. Anthology can import stories provided either way (zipped files will require a little more work on the end-users part). The Tutorial that comes with Anthology has a section on Importing and Exporting that covers both methods for sharing files as well as templates for the files needed to create a plugin that can be imported by Anthology.

I hope you enjoy Anthology and I look forward to seeing what stories the community can make to add to the LotRO experience.

Version 1.0 introduces the latest (and probably final) type of content, Animations. Animations are very similar to the Movie type content that was added in Beta 0.5 - in fact, Movies are a limited sub-type of Animations. Animations allow authors to produce animated images to help present their stories. The tutorial includes a sample animation that shows how to re-create the CatQuest Movie as an Animation. The sample demonstrates how to use a background and multiple sprites to simulate a user interacting with the Author environment, as well as overlaying text. This kind of animation can be useful for stories that are walkthroughs or tutorials. Other uses for animations can include illustrating short interactions, flashback sequences, split scenes, etc. While Movies are fairly easy to define but are very bulky in terms of file size, Animations take a bit more work to create but can be very efficient on file size.

Beta .5 adds a new content type, "Movie". "Movies" are actually just a series of .jpg files that are displayed in a viewer with a fixed framerate to simulate a move. Still, they can add significantly to an author's ability to illustrate a story. Due to a number of constraints, especially bloating of the download files, I highly recommend limiting the size, quantity and quality of the .jpg files. This can be achieved a number of ways, first by converting any movies to smaller resolutions before exporting to a jpg series. Second by limiting the FPS to 30 or less. Lastly, depending on what utility you use (there are several available) set the .jpg quality lower. Controlling these factors will allow you to include a 40 second video in about 10-11 Meg of a zip file. So, including one or two short videos in a story line can be feasible. If you want better resolution or quality you will have to further limit duration - it's a balancing act but acceptable results can generally be achieved. I will post in the comments below the software and exact steps I used to create the sample video from an existing .mpg file (as noted, there are a lot of video editors out there, these just happen to be the tools I had handy for a quick and dirty sample).

In Beta .4, the tutorial fully supports the FR and DE clients. Additionally, support for language specific images was added as well as a number of bug fixes. This will likely be the last Beta release and should be considered a fully functional plugin. The actual release will likely only incorporate bug fixes for any issues discovered with this release.

Beta .3 adds multi-language support for FR and DE clients as well as additional objective types. Currently, other than some clean-up, translations and additional testing, Anthology should be fully functional. The Tutorial is only translated for the sample chapter (you can run it in any client and it will work since the sample chapter is the only one with language specific objectives) - I will be translating the FR version prior to release and will take a stab at a DE translation as well. My German is VERY poor, i.e. Google level at best so if anyone wants to volunteer a DE translation of string.lua and the tutorial text, that would be great.

VERSION HISTORY:
Ver 1.2
Fix for /loc changes in U27.2

Ver 1.1
Fixed bug reported by Rhondar with error updating Name for new Objectives
Fixed bug reported by Rhondar with error updating Text for new Objectives
Fixed bug reported by Rhondar with error deleting Objectives
Fixed error during validation of new stories with blank fields when saving
Fixed bug in migration which prevented beta stories from displaying correctly in the story selection list

Ver 1.0
Fixed bug preventing Movie Maintenance window from hiding when Esc/F12 keys pressed
Fixed bug preventing Chatper Maintenance window from hiding when F12 key pressed
Added Chat Log. The chat log is normally limited to 200 entries due to potential performance issues when dynamically resizing the window or font size.
There is a "lock" button on the top left corner of the Chat Log. When locked, the log will allow up to 1000 entries but will not resize or change fonts.
Note, unlocking the chat window when it already has more than 200 entries is not prohibited but may cause performance issues if you resize it or change fonts without first clearing the window.
Fixed bug where a number of features in Chapter Maintenance were not properly enabling Reset and Save options on Author Maintenance
Fixed bug where selecting an existing objective could corrupt the prior selected objective definition
Fixed bug where displaying Chapter Maintenance for a chapter with an existing multi-part transition defined would prematurely enable Reset and Save options on Author Maintenance
Fixed bug in FontMetric that returned height=0 for empty strings - an empty string still requires the same height as a single character
Changed Content pop-up menu copy command to use a sub-menu for language selection (prep to supporting more languages).
Fixed bug where StorySelect displayed the EN name for new stories created in Author window until the plugin was reloaded - the currently chosen language's name is now properly displayed
Fixed bug where version uppdating of existing stories would leave main window disabled after updates were complete
Miscellaneous data format changes to simplify multiple language support - story migration may take slightly longer in this update (a few more seconds).
Fixed bug in Chapter Copy - the new chapter was only named as a "copy" in the currently selected language, now the new chapter is marked as a copy in each supported language with an existing name
Fixed bug that prevented Equip Item objectives from completing in FR client
Fixed bug that failed to pause the objective controls in the Tracker window when Reader was paused and then minimized.
Fixed bug that failed to retain paused state for the Reader when minimized and restored if the Tracker is shown (related to bug above).
A long standing intermittent bug with Objective names getting out of sync between Storyboard and ChapterMaint has finally been isolated and squashed.
Fixed bug that caused movie player controls to erroneously display by default the second time a movie was played in the same session.
Fixed bug that allowed stories created in version 0.5 to have a blank data version. Also adjusted migration to account for this bug when updating to version 1.0
Added a dialog to choose between creating a copy of a story or a blank story when clicking Create New (prior functionality was to automatically create a copy - to get a blank story authors had to turn off the "Autoload Last Story" option in settings. Annoying to say the least
Fixed bug in Chapter Maintenance window that prevented renaming or setting objective strings for any newly created objectives (existing objectives were fully editable)
Fixed bug reported by Rhongar that prevented objective strings from updating when selected from the Known Effects list.
Added Animation type content. Movies (introduced in ver 0.5) were a subset of animations with a single sprite and limited capability and a huge space requirement due to file size. With Animations, authors can combine multiple sprites, controlling the image, size, position and zorder for each sprite allowing for complex animations.
Movies vs Animations
Movies are best when the entire image changes in every or nearly every frame. If a significant part of the image stays the same then use an animation and crop the source images to just the part that changes and define it as a sprite to minimize the size of the image and then use the rest of the image as a static background.
Animations are best when most or all of the image stays the same, such as in an animated tutorial. Sprite attributes are defined by formulas so the image can remain static while position changes or vice-versa (or any combination) which can significantly reduce the number of images needed. For instance, a couple dozen images can be used and repeated to define a bird with flapping wings or a horse running, sword swinging, etc.
Added the Animation Studio (the Animation maintenance window) where authors define animations - I have plans to allow animation definitions to be stored in a library and/or shared to make them reusable and easier to define.
Enabled Markup for text fields in Reader and Story Select. This applies to story description, content text and objective text (the part that gets displayed). Note, text will still display the markup language in Author so that it can be edited.
Fixed bug in Story Select that showed the wrong story descriptions after stories were deleted and new stories added.
Added "Depends On" for Objectives. Each objective can optionally depend on one other objective - in order to advance, the objective that it depends on must be completed first. So, if objective 1 depends on objective 2 then objective 2 must be completed before objective 1 will progress. This allows authors a bit more fine tuning for objective progression within a chapter.
Chapter Maintenance Objective Tab - the Capture Target Name tool will now automatically replace any "-" characters in the target name with "%-" to create a correct pattern string.
Fixed bug with Receive Chat messages not matching the "ALL" channels option.
Changed Receive Chat and Location type objectives to auto advance when completed
Fixed bug preventing Location type objectives from progressing in EN and DE clients.
As requested by Rhongar, if the Reader window is minimized when changing to a new chapter it is now automatically restored.
As requested by Rhongar, the Objectives Tracker window now also displays the active chapter name.
Fixed bug in DE/FR DataVersion detection due to number format
Fixed bug in "Location" capture that required the location to be captured in the same format that the reader was running - the location is now client neutral; any version of client can now be used to capture and/or read locations

Ver 0.5
Fixed bug in author, current client language was always checked in supported language when loading existing stories whether it was actually supported or not.
Fixed load error reported by Interitus.
Fixed load error in Reader caused when the Author window is used to delete a story currently being read and then the Reader window is loaded.
Fixed bug in Image Maintenance window size. This may reset the image maintenance size for users the first time it runs but should work correctly thereafter.
Fixed bug that failed to swap FR & DE content settings when moving a content block up or down
Added Movie type content - instead of still images, authors can now include movies (ok, very simplistic, compact movies, but given the restrictions on LotRO Lua, still neater than still images).
Fixed bug that was preventing the Setting DataVersion from being saved.
Implemented DataVersion for stories. Each story file will be tagged with the version of the data in it so that future updates can automatically process older formatted stories.
If an older version of Anthology tries to open a newer version story you will get an error message telling you to update Anthology.
Implemented automatic data version detection and migration for Anthology settings and existing stories.
The migrate feature automatically creates a backup of story files before updating them so if anything goes awry, let me know, your story should not be lost
Fixed bug that could cause Anthology to fail to load if a story had a nil name or description for the current client language
Implemented Copy EN/FR/DE options for the Content pop-up menu. Authors can now copy settings from just one content block of a different language version of the story (instead of the global copy that would overwrite ALL of the existing content for all chapters) - this helps a lot when updating an existing story with a new content block, particularly the new Movie type where the settings are typically identical.
Fixed import bug that didn't correctly identify duplicate stories as copies in FR and DE names.
Fixed bug that prevented sizing Author window along most of vertical sides.

Beta ver 0.4
This update is mostly bug fixes and an update to the tutorial for DE and FR support.
Fixed bug in DropDownList that set hidden list entryies to visible when changing font
Fixed bug in Author that displayed incorrect language options when no default story was loaded in FR and DE clients
Fixed bug in ReceivedChat objective event handlers for messages without linefeeds reported by Interitus
Fixed typo causing Received Chat bug reported by Interitus
Fixed Storyboard bug that showed chapter names in english when working in FR and DE
Fixed a bug in Chapter Maintenance that incorrectly sized text blocks when first loading a chapter in FR or DE
Initial French UI translation. Some terms may need tweaking.
Initial German UI translation. Will probably need a LOT of work since I have a severly limited knowlege of German.
Changed Image paths and filenames to be language specific.
Fixed bug in reader that displayed "Start" objective in client language instead of reader selected language.

Beta ver 0.3
GENERAL
This update focused mainly on implementing language support and additional objective types
Fixed bug in DropDownList HideEntry() and ShowEntry() that always showed the list when fonts were > 18 px high, (a sleeper bug from change to variable fonts).
Removed Trajan Pro 25 from FontSelect - if Turbine/SSG hasn't fixed it yet, they probably never will.
Finally changed Vindar patch to incorporate euroNormalize (numbers no longer need to be normalized manually after being loaded)
Fixed bug in SettingSaver that saved euro numbers without decimals (commas aren't allowed in command strings)
StorySelection window now has language columns for the supported language(s) of the stories
StorySelection Stories that do not support the current client language are highlighted in red since game related objectives can not advance (readers can still load them but may not be able to complete objectives)
StorySelection Story desctiptions are no longer in the selection list, they are shown by right clicking an entry (they took up too much space in the list and didn't show enough to be useful)
Added language and language filters to StorySelection
AUTHOR:
Implemented EN/DE/FR support for text/objective fields - you can now create language specific versions of stories. Select the language(s) you wish to support.
You can only edit one language at a time. Select the language you are editing, all other dialogs will now edit the language specific fields for that language.
The language specific fields are:
Story Name
Story Description
Chapter Names
Chapter Content text
Objective Text
Objective Strings - specifically Button Name, Target Name, Location, Item Name, etc. - anything that is a string stored in the custom type fields.
Added ability to copy all language specific fields from a specified language to the current language - they won't translate but do act as placeholders until you can translate them
Note, if you don't copy an existing language your chapter names will default to Chapter 1, Chapter 2, etc. (or Chapitre 1, Chapitre 2, etc. in french) numbered by display order - this behaviour is subject to change
Reordered objective detail fields in Chapter Maintenance window to make room for drop down lists for ObjectiveRecordCount.
ObjectiveRecordCount is used to hold the region number when the Type is "Location" and the channel number when the type is "ReceiveChat" or "SendChat".
ObjectiveString is used for the Button Name for type "Button", Target Name for type "Target", Item Name for types "AcquireX" and "Equip" and "Pattern" for types "ReceiveChat" and "SendChat" (not all types are implemented in Reader yet)
Added ChannelName table to strings.lua for translating the chat channel names for the Channel list. FR and DE names are not populated yet so it still defaults to EN names.
Implemented Target capture for current target in Chapter Maintenance, Objective tab.
Implemented Location capture for current location in Chapter Maintenance, Objective tab.
Implemented drop down lists for Channel selection and Region selection in Chapter Maintenance, Objective tab.
Implemented DragDrop for Items in Chapter Maintenance, Objective tab. drop an inventory item over the field when type is AcquireX or Equip and the field will populate with the item name.
Fixed bug in updateObjectiveName that prevented objective name changes from updating Objectives (2) list on the Transitions tab of the Chapter Maintenance window.
Fixed bug with the Chapter Maintenance window not saving size and location.
Added Font selection to lower right corner.
Added simple story validation when saving (blank name, description, missing objective/transitions).
Fixed missing "Story Saved" message after successfully saving a story.
Fixed erroneously hardcoded resource path in PopUpDialog.lua
READER:
Implemented AcquireX objectives.
Implemented DefeatX objectives.
Implemented RecieveChat objectives.
Implemented Location objectives.
Implemented Equip objectives.
Implemented Effect objectives.
Removed Emote objective type from list - for now this can be handled using the ReceiveChat type with Emote Text channel (some emotes also show in Unfiltered but not all, especially with text added)
Removed SendChat objective type from list - for now this can be handled using the ReceiveChat type (the message shows as "[to channel] whatever you said")
Implemented EN/DE/FR support. There are a couple very important notes.
The interface still displays in the game client language (the language used by the LotRO client, selected in the game launcher) but for each story you can choose any of the languages that the author indicated as supported for Text fields.
The game client language MUST be supported for objectives that require matching client generated strings such as AcquireX and DefeatX or they will not advance.
So, if you want to read a story that only supports the FR language, you MUST run the FR client.
If you want to read a story that supports both EN and FR languages, you can run either the EN or FR client and choose to read the text in the language you prefer, EN or FR.
Anthology will warn you if you try to load a story that does not support the current game client language (a future release will add a language column and filtering for the StorySelect dialog).
Added Font selection to lower right corner.
Fixed bug with panel Split not retaining position when reader reloaded.
Implemented Objective Tracker - when the reader is minimized, the objective panel will show seperately.
The Objective Tracker opacity can be set in Settings.
The Objective Tracker can be enabled/disabled in Settings.
If you temporarily close the Objective Tracker (if it is in the way for any reason), just restore the reader from the icon and minimize the reader again.

Beta ver 0.2
Added SettingsQueueCommand to significantly improve reset times
Project renamed to "Anthology"
Fixed bug in common file DropDownList.lua that erroneously set control height when using large fonts leading to the drop down list being cropped.
Fixed bug in common file DropDownList.lua that erroneously prevented existing individual rows in the list from properly resizing when setting font.
Added SettingsQueueCallback to common file Settings.lua to allow queueing a command without any load/save. This allows synchronizing a command for after all currently queued operations complete which is particularly necessar when loading a setting containing an unknown number of keys.
Updated the constructor in common file PopUpDialog.lua to include an optional parameter for Callback. This allows a function to be called by the popup after the user makes a choice, passing the enumerated value of the choice to the callback function. Previously, the calling routine would have to poll the status of the popup which was extremely inefficient.
Implemented MouseMask in all main windows to simulate modal dialogs.
Implemented RefreshLayout in all windows to allow dynamically reflowing the windows to account for font size. Note, there are some restrictions, such as skinnable buttons (Turbine.UI.Lotro.Button) have a maximum width of 256 pixels and a fixed height of 20 pixels.

Beta ver 0.1
blech. yep, BLECH. :P

The first time you run it, Anthology will offer to import and run the Tutorial story. I highly recommend that you do (not only because I spent lots of time on the blasted thing, but it does actually cover most of the important aspects). If you opt not to import the Tutorial automatically, you can import it manually through the Import/Export window under the Import as a Plugin section. Note, if you haven't actually created any stories (or if you delete them all) Anthology will still offer to import and run the Tutorial on the next startup.
Archive List (Old Versions)
File Name
Version
Size
Author
Date
1.1
17.63 MB
Garan
02-04-2018 10:51 AM
1.0
17.63 MB
Garan
02-02-2018 10:40 PM
0.5
15.92 MB
Garan
01-07-2018 12:35 PM
0.4
5.12 MB
Garan
12-23-2017 11:15 PM
0.3
1.98 MB
Garan
12-09-2017 01:26 PM
0.2
1.96 MB
Garan
11-22-2017 04:57 PM
File Statistics
User Rating:
5 out of 5 with 5 votes
Downloads: 35222
Views: 81922
Favorites: 9
Uploaded By:
 
Last Modified: N/A

View Pictures. Download Now! Post A Comment


Post A Reply
Author Comments Comment Options
Unread 11-22-2017, 05:12 PM  
Garan
The Undying
 
Garan's Avatar
Interface Author - Click to view interfaces

Forum posts: 340
File comments: 980
Uploads: 20
It will likely take Lunarwtr a couple of days to add it to Compendium so if you want it before then you will have to download and unzip it manually.

There are several components, ONLY load the "Anthology" plugin via Plugin Managers or manually, the others are loaded internally and should not be loaded manually or by a manager, even the Tutorial is loaded internally.

EDIT: FWIW, despite the Beta limitations on objective types, it is a fully capable story authoring and reading application. Part of the reason I spent so long working through the Tutorial is that it was written using the plugin and served as most of my Alpha testing. It was authored, exported, imported (many, many times) and read quite a few times to verify that stories, although limited, could be written with the plugin in its current state. I do intend to provide a youtube video to go along with the tutorial when it is ready for an actual release as there are some aspects that are much quicker and easier to demonstrate in a video.

Last edited by Garan : 11-22-2017 at 08:56 PM.
Garan is offline Report comment to moderator   Reply With Quote Reply With Quote
Unread 11-23-2017, 02:15 PM  
Gloradan
The Indomitable
 
Gloradan's Avatar

Forum posts: 11
File comments: 10
Uploads: 0
Hey there!
I'm up for translation (FR) of this when Beta will get to this point :-)
Gloradan is offline Report comment to moderator   Reply With Quote Reply With Quote
Unread 11-23-2017, 03:12 PM  
Galphoglas
The Undefeated
 
Galphoglas's Avatar
Interface Author - Click to view interfaces

Forum posts: 6
File comments: 10
Uploads: 6
Hey Glo!

I had already proposed for that, I could help you !

Ou te laisser tout le travail à faire
Galphoglas is offline Report comment to moderator   Reply With Quote Reply With Quote
Unread 11-23-2017, 06:51 PM  
Garan
The Undying
 
Garan's Avatar
Interface Author - Click to view interfaces

Forum posts: 340
File comments: 980
Uploads: 20
Quote:
Originally Posted by Gloradan
Hey there!
I'm up for translation (FR) of this when Beta will get to this point :-)
Quote:
Originally Posted by Galphoglas
Hey Glo!

I had already proposed for that, I could help you !

Ou te laisser tout le travail à faire
Thanks for the offers. I generally do the French and German translations myself although my German translations can usually use some help (OK, in the case of German more than a little help :P ). If you spot anything in the French translations that are odd, especially with computer jargon, feel free to correct me. Sometimes I use the same translations as the game client even though they seem odd, just to stay consistent with the client.

For German translations, one of the nice things is I shouldn't have too many issues with translations not fitting (German phrasing is notorious for typically taking more space than the English and French counterparts) - the Anthology UI is designed from the ground up to resize for different sized fonts and phrasing when possible and should be far more forgiving than most plugins.
Garan is offline Report comment to moderator   Reply With Quote Reply With Quote
Unread 11-23-2017, 09:31 PM  
Garan
The Undying
 
Garan's Avatar
Interface Author - Click to view interfaces

Forum posts: 340
File comments: 980
Uploads: 20
I forgot to mention one other annoying known issue I have, when entering text into a chapter content Text block, if you type enough text to cause the block to scroll the listbox it doesn't scroll correctly and makes it very hard to type. I'm looking into it. So far, the work around is to resize the window as large as possible and use multiple Text blocks once you've typed enough to cause the scrolling issue. This does not impact the Reader at all.

EDIT. Another bug located (and eradicated). Changing an objective name was not updating the name in Objectives (2) list in Chapter Maintenance window Transition tab. This is fixed for ver 0.3. The work around is to just close the Chapter Maintenance window and reopen it, the list will update correctly.
Another known issue, the Chapter Maintenance window does not retain its size and position correctly. Will be fixed in ver 0.3

EDIT2. While working on implementing the "Acquire X items" objective type, I just realized there were a couple extraneous statuses being saved dynamically during objective updates that were no longer necessary and can cause some minor hitching when changing targets if a Target type objective is active - these will be removed in ver 0.3

Last edited by Garan : 11-24-2017 at 09:24 PM.
Garan is offline Report comment to moderator   Reply With Quote Reply With Quote
Unread 12-01-2017, 10:29 PM  
Interitus
The Indomitable

Forum posts: 11
File comments: 13
Uploads: 0
Amazing!
Interitus is offline Report comment to moderator   Reply With Quote Reply With Quote
Unread 12-12-2017, 11:49 PM  
Interitus
The Indomitable

Forum posts: 11
File comments: 13
Uploads: 0
Bug?

Either I found a bug, or I'm doing something wrong. What I've found is that for separate objectives in the same chapter for RECEIVE CHAT, if I set the channel for one objective, then it sets it the same for all objectives, also when I save, it defaults back to ADMIN (3).
Interitus is offline Report comment to moderator   Reply With Quote Reply With Quote
Unread 12-13-2017, 12:25 AM  
Garan
The Undying
 
Garan's Avatar
Interface Author - Click to view interfaces

Forum posts: 340
File comments: 980
Uploads: 20
Re: Bug?

Quote:
Originally Posted by Interitus
Either I found a bug, or I'm doing something wrong. What I've found is that for separate objectives in the same chapter for RECEIVE CHAT, if I set the channel for one objective, then it sets it the same for all objectives, also when I save, it defaults back to ADMIN (3).
Yep, a bug - or possibly two related bugs. Definitely not working as intended. Thanks for reporting them. Let me know if you run into anything else that doesn't seem to be working correctly.

EDIT: A simple typo appears to have caused both symptoms. This will be fixed in Beta 0.4
If anyone testing would like to fix their local copies before the next Beta, you can edit ChapterMaint.lua. At line 434, "ReceiveChat" is incorrectly spelled "RecieveChat". The line should be:
Code:
		elseif objective.Type=="SendChat" or objective.Type=="ReceiveChat" then

Last edited by Garan : 12-13-2017 at 10:23 AM.
Garan is offline Report comment to moderator   Reply With Quote Reply With Quote
Unread 12-15-2017, 02:54 PM  
Interitus
The Indomitable

Forum posts: 11
File comments: 13
Uploads: 0
Weird, I updated that line of code, and it appears it did save my choices, just wouldn't show them. It appears to be fixed now though.
Interitus is offline Report comment to moderator   Reply With Quote Reply With Quote
Unread 12-15-2017, 10:14 PM  
Garan
The Undying
 
Garan's Avatar
Interface Author - Click to view interfaces

Forum posts: 340
File comments: 980
Uploads: 20
Quote:
Originally Posted by Interitus
Weird, I updated that line of code, and it appears it did save my choices, just wouldn't show them. It appears to be fixed now though.
Correct. The typo was in the code that refreshed the display when selecting an objective. Beta 0.4 should be available soon and is just a couple bug fixes (including this one) and the UI translations for FR and DE clients. While working on the FR version of the tutorial I realized that images need distinct versions for each language the same as text since some images will also contain text (such as screen shots of a UI for a tutorial ) so that will be updated as well in 0.4.
Garan is offline Report comment to moderator   Reply With Quote Reply With Quote
Unread 12-17-2017, 01:17 AM  
Interitus
The Indomitable

Forum posts: 11
File comments: 13
Uploads: 0
I noticed something odd about RECEIVE CHAT, when you use the QUEST chat channel.

New quests and completed quests seem to show up in the quest chat channel differently.

For example:

New Quest: Thorin's Hall Task: Broken Daggers

Completed:
Thorin's Hall Task: Broken Daggers

"New Quest:" is always on the same line, and "Completed:" is always on a different line from the quest name.

What seems to happen is if I'm trying to pick up the new quest above, I need to put "Thorin's Hall Task", or "New Quest: Thorin's Hall Task" as the message

"Broken Dagger" doesn't work, nor does "Thorin's Hall Task: Broken Dagger", or "New Quest: Thorin's Hall Task: Broken Dagger").

However, it I'm trying to pick up the quest being turned in, then I believe "Thorin's Hall Task", "Thorin's Hall Task: Broken Daggers", or "Broken Daggers" will work.

It seems like if it hits a second colon in a single line, then it has a problem.
Interitus is offline Report comment to moderator   Reply With Quote Reply With Quote
Unread 12-17-2017, 06:43 AM  
Garan
The Undying
 
Garan's Avatar
Interface Author - Click to view interfaces

Forum posts: 340
File comments: 980
Uploads: 20
Quote:
Originally Posted by Interitus
I noticed something odd about RECEIVE CHAT, when you use the QUEST chat channel.

New quests and completed quests seem to show up in the quest chat channel differently.

For example:

New Quest: Thorin's Hall Task: Broken Daggers

Completed:
Thorin's Hall Task: Broken Daggers

"New Quest:" is always on the same line, and "Completed:" is always on a different line from the quest name.

What seems to happen is if I'm trying to pick up the new quest above, I need to put "Thorin's Hall Task", or "New Quest: Thorin's Hall Task" as the message

"Broken Dagger" doesn't work, nor does "Thorin's Hall Task: Broken Dagger", or "New Quest: Thorin's Hall Task: Broken Dagger").

However, it I'm trying to pick up the quest being turned in, then I believe "Thorin's Hall Task", "Thorin's Hall Task: Broken Daggers", or "Broken Daggers" will work.

It seems like if it hits a second colon in a single line, then it has a problem.
Welcome to Parsing 101 or "Not everything is as it appears".

Unfortunately, this is a matter of different text formatting being used by SSG when forming the two messages. If the message is on separate lines then SSG is inserting a "new line" character (ASCII character 10, represented in Lua as "\n" which may or may not be accompanied by a Carriage Return character ASCII character 13, represented in Lua as "\r" - I believe SSG follows common C practice which is to omit the carriage return) into the string. When trying to match a string, you need to be aware of any formatting or non-display characters like color codes or embedded item examination tags as well as "white space". White space is anything that shows up as space between words or characters (tabs, etc.). In the case where you are having trouble matching the lines with two colons, there is probably an extra space after one of the colons which is causing the comparison to fail. It helps to see the raw string - Lotro Alerts has a chat log feature that records and displays the incoming chat message with embedded tags displayed. I will probably add such a feature to Anthology to make identifying oddities easier but for now you can use Lotro Alerts to identify embedded characters if you are having trouble matching a string ("new lines" you have to spot yourself).

Anthology allows Lua "Patterns" to be used in the match string to make accounting for these situations a little easier but you need to learn how to use Lua patterns - they are very similar to RegEx or "Regular Expressions" used in other languages but not quite identical. To learn more, you can Google "Lua Patterns" or check out this link:
http://www.lua.org/manual/5.1/manual.html#5.4.1

For instance for the case above you can use the strings:
New Quest.*Thorin's Hall Task.*Broken Daggers
and
Completed.*Thorin's Hall Task.*Broken Daggers
The "." represents "any character" and the "*" means 0 or more repetitions, so the ".*" means 0 or more of any character (including the colon, "new line" characters and spaces). That way the new line and any extraneous spaces are accounted for. With a little work, you can get a pattern that matches all of the odd formatting but is also unique enough to match only the desired messages - the same issues encountered in Lotro Alerts when specifying a trigger message pattern.
Note, raw messages actually have a new line character at the end which is stripped by Anthology so you don't have to worry about matching that.

Last edited by Garan : 12-17-2017 at 06:47 AM.
Garan is offline Report comment to moderator   Reply With Quote Reply With Quote
Unread 12-17-2017, 10:03 AM  
Interitus
The Indomitable

Forum posts: 11
File comments: 13
Uploads: 0
You are not going to believe this.

This worked:
Completed:.*Thorin's Hall Task: Broken Daggers

This did not:
Completed: Thorin's Hall Task: Broken Daggers

So I think you nailed that part, and it was a carriage return or something (quest completion is harder to test over and over, so I didn't try to figure it out once I had your solution).

The part that might surprise you is the other part. It appears to be the "s" at the end for the new quests that is causing the problem.

This worked:
New Quest: Thorin's Hall Task: Broken Dagger

This did not:
New Quest: Thorin's Hall Task: Broken Daggers

The one that does not work is copied and pasted from the chat box, and is the same thing Alerter shows. The one that worked is exactly the same, except I deleted the "s".

I have no idea why, and I only stumbled on the solution by accident, but it appears to be the "s" at the end for New Quests. An "s" at the end of a Completed Quest seems to be fine though.

I can only imagine this is one of many LOTRO oddities you've seen.
Interitus is offline Report comment to moderator   Reply With Quote Reply With Quote
Unread 12-17-2017, 12:28 PM  
Garan
The Undying
 
Garan's Avatar
Interface Author - Click to view interfaces

Forum posts: 340
File comments: 980
Uploads: 20
Quote:
Originally Posted by Interitus
You are not going to believe this.

This worked:
Completed:.*Thorin's Hall Task: Broken Daggers

This did not:
Completed: Thorin's Hall Task: Broken Daggers

So I think you nailed that part, and it was a carriage return or something (quest completion is harder to test over and over, so I didn't try to figure it out once I had your solution).

The part that might surprise you is the other part. It appears to be the "s" at the end for the new quests that is causing the problem.

This worked:
New Quest: Thorin's Hall Task: Broken Dagger

This did not:
New Quest: Thorin's Hall Task: Broken Daggers

The one that does not work is copied and pasted from the chat box, and is the same thing Alerter shows. The one that worked is exactly the same, except I deleted the "s".

I have no idea why, and I only stumbled on the solution by accident, but it appears to be the "s" at the end for New Quests. An "s" at the end of a Completed Quest seems to be fine though.

I can only imagine this is one of many LOTRO oddities you've seen.
I suspect the problem isn't the "s" but rather that the message doesn't have the trailing new line character so stripping the last character is causing it to fail. I can double check before changing it, but I should be checking the last character before trimming it which will likely fix that one odd problem.
Garan is offline Report comment to moderator   Reply With Quote Reply With Quote
Unread 12-17-2017, 01:01 PM  
Thurallor
The Undying
 
Thurallor's Avatar
Interface Author - Click to view interfaces

Forum posts: 202
File comments: 456
Uploads: 20
Quote:
Originally Posted by Garan
I suspect the problem isn't the "s" but rather that the message doesn't have the trailing new line character so stripping the last character is causing it to fail. I can double check before changing it, but I should be checking the last character before trimming it which will likely fix that one odd problem.
I remember one of the cool things about Perl was that it had numerous built-in features optimized for text processing. One of them was a function, chop(), whose only purpose was to truncate the last letter from a string. Of course people quickly realized that you often only want to truncate that character if it's a newline. So in the true spirit of Perl -- the more features the better -- they added another function, chomp() to do just that. In Lua, the functional (but less efficient) equivalent is gsub(str, "\n$", "").
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 12:25 PM.


Our Network
EQInterface | EQ2Interface | Minion | WoWInterface | ESOUI | LoTROInterface | MMOUI | Swtorui