User Tools

Site Tools



questtracker

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
questtracker [2025/04/09 19:14] – [Text Command Helper (TCH)] mistahmikeyquesttracker [2025/04/10 03:10] (current) mistahmikey
Line 1: Line 1:
-======= Text Command Helper (TCH) =======+======= Quest Tracker (QT) =======
 {{:mistahmikey:questtracker:questtracker.png?500x150|}} {{:mistahmikey:questtracker:questtracker.png?500x150|}}
  
 ===== What it does =====  ===== What it does ===== 
  
-TCH allows you to create aliases for long FFXIV text commands that you can subsequently indirectly execute from within FFXIV macros or via the chat window by referencing the aliases.  The FFXIV text command arguments associated with an alias can be up to 1022 characters in length - substantial increase in what is typically allowed within the game for both the chat window and macro lines TCH allows you to pack more FFXIV text commands into your macros or more easily execute long chat FFXIV text command sequences from the chat window.+QT allows you to track the progress of your FFXIV quests.  It provides detailed information in a tabular format about your completed quests, current quests, and uninitiated questsThe uninitiated quests information is particularly useful, as it gives you insight into what quests you haven't tackled yet. It also allows you to select individual quests and perform additional functions such as:
  
-TCH provides this capability by leveraging the FFXIV 'echo' text command to submit aliases for execution. Using the TCH "execcommand (/e /exec), multiple aliases can be executed with a single exec command Additional features provided are:+   * View the previous quest requirements and to use that information to subsequently select those quests, allowing you to "walk backthrough all previously required quests. 
 +   * Automatically travel to the quest issuer. 
 +   * Request more detailed quest information by displaying the corresponding quest page on Gamerescape.com. 
 +   * See the following quest information Key, Name, Level, Previous Quest Requirements, Job Category, Journal Genre, Journal Category, Journal Section, Expansion, Repeatability, and Issuer. 
 +   * Sort each table column in ascending or descending order 
 +   * Search the Key, Name, or Issuer columns by text string or LUA pattern 
 +    
 +===== Limitations =====
  
-   * The ability to specify fine-grained waits between alias executions, effectively providing a concise mini-macro capability +QT builds its quest tables by using in-game quest data provided by Square Enix and Minion reversed functions that can query the completion or in-progress state of quests, allowing quests to be filtered into three bins - completed, current, and uninitiated. The completed and current quest information should be accurate, but the uninitiated quest information has a few quirks.  First, while it will show you quests that you haven't yet started, that information will include quests you may not be able to start - such as the quests associated with the Grand Companies in which you are not a member, or quests associated with seasonal and special events. Also, there may be additional requirements to start uninitiated quests other than just having completed previous quests This is where using the feature to display the gamerescape.com information is very helpfulas it will typically identify what those additional requirements are.
-   * The ability to add color to arbitrary sections of an FFXIV text command +
-   * The ability to embed hexadecimal character strings that encode FFXIV UTF8 characters or FFXIV message tokens (for fancy characters like the die from the /random FFXIV text command) +
-   * The ability to paste FFXIV text commands into TCH from the clipboard that contain FFXIV UTF8 characters +
- +
- +
-The latter three features are useful for the various chat commands like /say/shout, etc.+
  
 ===== Requirements ===== ===== Requirements =====
Line 20: Line 21:
 You must also download MistahMikeysLib from the store. It's free, of course. You must also download MistahMikeysLib from the store. It's free, of course.
  
-TCH supports the following languages:  EN, FR, JP, KR, and CN.+QT supports the following languages:  EN, FR, JP, KR, and CN. (Note: gamerescape.com only supports EN)
  
-You must ensure FFXIV, Minion, and TCH are always updated to their latest versions.+You must ensure FFXIV, Minion, and QT are always updated to their latest versions.
  
 +__**IMPORTANT**__
  
-======= Usage Description ======= +QT can move your character to most quest issuers, but you may run into cases where it cannot.  First and foremost, it is limited by the Minion Mesh system - if the location you wish to travel to is on meshthen QT has good chance of getting to itIf it's not on the mesh, then QT cannot move to it however, you can use the Minion mesh editing tool (the Navigation menu item on the Minion main menu) to fix such mesh deficiencies, and you can submit those fixes through me to have them incorporated into the Minion baseline.  SecondQT is able to get to any location that can be directly accessed after traveling to an aetheryteaethernetor city gate.  Locations that are behind secondary gates (like when you must talk to an NPCopen door, or travel through a zone line) are likely not accessible - but - I have provided access to a handful of useful ones Secondary gate access includes locations in:  all the housing areas, the Island Sanctuary, any GC barracks or city inn, the door to The Rising Suns - including the door to Unukalhai, and Diadem. **If you need access to locations behind secondary gates not currently available, make a request in the QT discord new-feature-requests channel: https://discord.gg/KgTt9jdWYr.**
- +
-You must use the FFXIV echo command to submit TCH's /exec command.  TCH will then execute the FFXIV text commands associated with their aliases.  You can initiate the /exec command via either including it on a macro line or typing it the the chat window, like so: +
- +
-/e /exec <arg1>,<arg2>,...,<argn> +
- +
-Each <arg> has the format <key>[=<value>]. White space is generally not significant. +
- +
-The exec command arguments are defined in the following table.  All arguments are **case insensitive**. +
- +
-| Key          | Value                 | Function                                                                                                                                                                                                                                                                                                                                                                                  | +
-| <alias>      | <no value>            | Used to specify an alias that you have previously associated with an FFXIV text command you want to execute.                                                                                                                                                                                                                                                                              | +
-| wait         | milliseconds to wait  | Used to specify the time you wish TCH to pause before executing the next argument.                                                                                                                                                                                                                                                                                          | +
- +
-Any errors in exec command execution will result in red message being displayed in the chat window.  For the FFXIV text commands you specify for an aliasTCH only checks for basic errors, such as proper length and that it at least starts with something in the form of an FFXIV text command, i.e., /<text>. TCH does NOT check that <text> is a valid FFXIV text command, nor can TCH know if the FFXIV text command you executed was successful - you'll have to detect and debug such errors yourself TCH executes each argument serially, pausing whenever you specify a 'wait' argument before executing the next argument.  This effectively allows you to specify mini-macros using a single exec command. +
- +
-Also supported is the ability to use color tags to color any part of the FFXIV text command you desire.  The color tags have the format: +
- +
-<color text_to_be colored> +
- +
-where 'color', which is case insensitive, can currently be white, black, red, orange, lime, blue, purple, yellow, aqua, fuchsia, gray, green, maroon, navy, olive, silver, teal, brown, pink, and gold. If you specify an unrecognized 'color', it defaults to white. The characters used to specify the color tag do not directly figure into the FFXIV text command arguments' length limitation.  Howeverbefore the final FFXIV text command can be executedTCH encodes all the color tags using FFXIV color framesand characters required to create the frame do figure into the command arguments length limitation.  This feature was provided primary for use with the FFXIV chat text commands, like /say, /shout, /party, etc. +
- +
-You may also embed hexadecimal character strings that encode FFXIV UTF8 characters or FFXIV message tokens into your FFXIV command text. The embedded hexadecimal strings have the format: +
- +
-[<hexadecimal digits>+
- +
-where +
- +
-<hexadecimal digits> is the desired encoding, and must contain an EVEN number of hexadecimal digits.  For exampleto embed the fancy die character that results from /random FFXIV command, you would enter the FFXIV message token [0212024a03], or to embed the UTF8 die character, you would enter [ee80be].  A decent level of technical skill is required to figure out what the proper sequences arebut for those that have such skill, this allows you to create all manner of fancy messages. In the future I hope to add tool to TCH that you can use to automatically format selected lines from the chat log to contain the proper embedded hexadecimal strings that correspond to the contained UTF8 characters and FFXIV message tokens. That will allow you to more easily create your own private catalog of encodings that you can cut/paste into commands as you please. +
- +
-Since the < character is used to introduce color tagsand the [ character is used to introduce an embedded hexadecimal string, the ability to escape them (or any character) is provided by the \ character.  So to include < in and FFXIV text command, you'd type \<. +
- +
-** Note: You must enable TCH in order for it to process the exec command. ** +
  
 ======= UI ======= ======= UI =======
  
-You start TCH via the FFXIVMinion menu drop down. It's under the "MistahMikey" menu item.  Clicking "TextCommandHelper" should pop up its UI window.  The UI consists of different input areas called tabs that are selected by clicking the tab name that appears on the first line of the UI.  Each tab is described below.+You start QT via the FFXIVMinion menu drop down. It's under the "MistahMikey" menu item.  Clicking "Quest Tracker" should pop up its UI window.  The UI consists of different input areas called tabs that are selected by clicking the tab name that appears on the first line of the UI.  Each tab is described below.
  
 __**GENERAL UI USAGE NOTE**__ __**GENERAL UI USAGE NOTE**__
  
-When entering a value into a field control, when you begin to enter the text, the text will appear dimmed as a visual cue you are in the process of modifying the current value of the field.  The field value is not entered until you hit either the RETURN key or the TAB key, at which time the value might be checked, resulting in a popup if an error is detected. After dismissing an error popup, you should be returned to the field control to correct the error. If you navigate away from a field control by focusing other controls (say, by clicking in a different field control) before entering the value, the current value will be redisplayed and the value you were in the process of entering will be lost. You can use the ESC key to abort your current edit and replace it with the original value.+When entering a value into a field control, when you begin to enter the text, the text will appear dimmed as a visual cue you are in the process of modifying the current value of the field.  The field value is not entered until you hit either the RETURN key or the TAB key, at which time the value might be checked, resulting in a popup if an error is detected. After dismissing an error popup, you should be returned to the field control to correct the error. If you navigate away from a field control by focusing other controls (say, by clicking in a different field control) before entering the value, the current value will be redisplayed and the value you were in the process of entering will be lost.
  
-In the TCH control descriptions, if the control label has a asterisk appended, it means that value is saved in your profile (see the Profile Tab.) +In the control descriptions, if the control label has a asterisk appended, it means that value is saved in your profile (see the Profile Tab.)
-===== Main Tab ===== +
-{{:mistahmikey:textcommandhelper:main_tab.png?400|}}+
  
-This tab generally controls the overall operation of TCH. The top level controls on this tab are:+When a table has sortable columns, the column headers provide buttons that allow you to sort the list according to values in that column“^” sorts in the ascending direction (lowest to highest values), while “v” sorts in the descending direction (highest to lowest values).
  
-| Enabled* | When checked, enables you to travel to specified locations by issue macro command.| +When a table supports searching column data for particular entry, the following controls will appear before the table:
-| Reset | Resets all settings to their default initial values. You can use this to abort certain operations you've started if you can catch it in time. If you have current profile setand Load Current Profile After Reset (Profile Tab) is enabled, then your saved profile values will be loaded.  The Reset button will disappear while the reset is in progress, and will reappear when it completes. | +
-| Discord Icon | Takes you to the TCH Discord channel if you need support.  Be advised I am in the Eastern Time zone (UTCH-05:00). |+
  
-Below those controls appears table where you can persistently define aliases and their associated FFXIV text commands.  There are four columns in the tablebut only the first three, Selection, Alias and Description, which should be self explanatory as to their purpose, are displayedthe fourthFFXIV Text Command, cannot be completely displayed when the length becomes too long.  You can see the entire FFXIV text command by right double-clicking on the desired table lineresulting in popup that shows all the text.+| Find | Text Field | Enter search command that will be matched against one or more predetermined columns.  When a hit occurs, the row containing the hit will be scrolled to the first displayed row. If there are multiple hits, use the "Find Next" Button control to go to the next one.  When no more hits are availableyou will receive a popup informing you the search will continue from the beginning of the table.  You can use the "Clear" Button control to terminate the search. | 
 +| LUA pattern Enabled | Check Box | When checkedthe search command is treated as LUA pattern (Please see https://www.lua.org/pil/20.2.html for the details) that any column matching it will hit.  When not checked, the search command is treated as a text string that any column containing it will hit|
  
-Above the table are two lines of controls. The first line is the Find control.  If your alias table becomes very long, you can use the Find control to specify an alias and it will be scrolled to the first line the table. The second line is a series of buttons: 
  
-| Add | Used to create a new alias. | +===== Main Tab ===== 
-| Edit | Used to edit an existing alias. You must first check the appropriate alias you want to edit in the Selection column. | +{{:mistahmikey:questtracker:main_tab.png?400|}}
-| Delete | Used to delete existing aliases.  You must first check the appropriate aliases you want to delete in the Selection column. |+
  
-Both Add and Edit use the same basic control to allow you to enter or modify and Alias, Description, and FFXIV Text Command.+This tab generally controls the overall operation of QTThe controls on this tab are:
  
-{{:mistahmikey:textcommandhelper:enter_alias_info_popup.png?400|}}+| Enabled* | When checked, enables you to travel to quest issuers.| 
 +| Reset | Resets all settings to their default initial values. You can use this to abort certain operations you've started if you can catch it in time. If you have a current profile set, and Load Current Profile After Reset (Profile Tab) is enabled, then your saved profile values will be loaded.  The Reset button will disappear while the reset is in progress, and will reappear when it completes. ** If you complete or start quests while QT is running, you must use Reset to update the quest tables! ** | 
 +| Discord Icon | Takes you to the QT Discord channel if you need support.  Be advised I am in the Eastern Time zone (UTC-05:00). |
  
-This control is self-explanatory for the most part; if you enter something wrong, TCH will provide an error popup+===== Completed Tab ===== 
 +{{:mistahmikey:questtracker:completed_tab.png?1200|}}
  
-Because the product Minion provides developers to create UI, IMGui, is a very old version, there isn't currently an easy way to enter the potentially long text strings you might want to associate with an alias via the Command text field.  I developed a kludge to at least provide for such entry, but the input text field can only be displayed on a single line in the UITo somewhat mitigate this inconvenience, I also provide view directly below that the Command text field that shows you a wrapped version of your complete command, and also displays the current lengths of both the FFXIV text command "verb" and it's arguments.  After some testingI determined that the total length of all arguments can be no more than 1022 characters, and that includes any characters needed to encode color tags into FFXIV color frames, or any FFXIV special characters you encode or paste in.  The verb length does not appear to have any impact on the arguments length limitation.+This tab displays table of all the quests you have completed.  The total number of completed quests is displayed above the tableThe Find function searches these columns for hit:  KeyName, or Issuer
  
-Another quirk of the Command text field is that it is not possible to use Ctrl-V to paste certain FFXIV UTF8 characters into it because IMGui filters them out.  As another kludge workaround, I allow you to do this by using the Paste button that appears below the Command text field.  When you click the Paste button, the contents of the clipboard are appended to the current Command text field contents, and in this case, no characters from the clipboard are filtered outThis obviously isn't very user friendly, but it's the only way to get those special UTF8 characters into the Command text field.+In the table, any row that has previous quest requirements will have a "View" Button control.  Clicking that button will display a popup window that contains Button controls for each previous quest.  Clicking on those buttons will change to the appropriate quest table tab (if necessary) and scroll the quest to the first displayed rowThe popup window will remain until you dismiss it.
  
-I realize this method to enter a FFXIV text command is sub-optimal at best, but hopefully is better than nothing.  Be aware that as you edit the command, it will be dimmed to indicate you have changed it from the original, so be sure to hit the enter key before you try to exit the control +Double right clicking on any quest row will cause your character to travel to the quest issuer (QT must be enabled for this to occur. Double left clicking on any quest row will cause the corresponding gamerescape.com quest page to be displayed.
  
 +                                                                                                       
 +===== Current Tab =====
  
-To enter what you have typed in the command control, you must hit the OK button at the bottom of the control I apologize for the clunkiness of the Command text field, but it is the best I could come up with at this time.  As a result, I suggest that you use an outside text editor to create the text you want, copy it to the clipboard, then use the Paste button to put it into the Command control.+This tab displays a table of all the quests you have startedEverything works exactly the same as it does for the Completed Tab.
  
-Finally, if you have the requisite technical skill, you can use the hexadecimal string embedding feature to encode any fancy character you desire. 
  
-Here is the result of executing this particular alias.+===== Uninitiated Tab =====
  
-{{:mistahmikey:textcommandhelper:command_execution_example.png?400|}}+This tab displays a table of all the quests you have not yet started. Everything works exactly the same as it does for the Completed Tab. While you can get the information provided by the Completed and Current tabs using the in-game journal (albeit not quite as conveniently as you can using QT), you cannot get information about what quests you haven't yet started from the game. So if you are a completionist, this is likely where you will spend most of your time when using QT.  It will greatly help you understand what quests you need to work towards completing.  In some cases, you can get those quests going immediately, especially if you haven't completed many.  But as you whittle down the easy ones, you will inevitably wind up having to sift through a lot of information to determine when a quest is available and what you need to do to unlock it.  This is where the gamerescape.com information can be very helpful - keeping in mind the limitations I have already covered.
  
-As you can see, TCH uses the echo command to send the /exec command to the chat window. TCH sees this, and executes the command.  The result my multicolored carnival barker shout with embedded die characters touting the virtues of TCH; the name has been blanked out to protect the guilty.+===== Movement Tab ===== 
 +{{:mistahmikey:questtracker:movement_tab.png?400|}}
  
-Theoretically, you should be able to execute any FFXIV text command using TCHHowever, as I am but one person, and rarely use FFXIV text commands myselfI have not tested this theory even remotely rigorouslyAs alwaysif anything odd pops up, just refer to the support section in this wiki and submit your issue.+The Movement Tab allows you to control what kind of movement speed will be used to move your character within the zones QT visits.  There are two types of movement speed enhancements that are used:  running speed actions and mountsRunning speed actions include Sprint, and if you use the right characterPeloton and Fists of Wind These are invoked as they are available when the distance you must move is fairly short as indicated by the Mount Cutoff Distance.  When the distance is longer than the Mount Cutoff Distancea selected or random mount will be used to travel that distance The controls on this tab are:
  
 +| Enable Speed Actions | When checked, QT will attempt to use speed actions (Sprint, Peloton, Fists of Wind) whenever they are available and it is appropriate. The mount will take priority if the cutoff distance requirement is met. |
 +| Speed Action Cutoff Distance (yalms) | The distance above which QT will use Speed Actions to move your character. |
 +| Enable Mount | When checked, QT will attempt to use a mount whenever one is available and it is appropriate. |
 +| Mount Cutoff Distance (yalms) | The distance above which QT will use a mount to move your character. |
 +| Mount Selection | A list of mounts from which you can chose one to use whenever a mount is needed to run that long distance to the placard. Be aware that this list, due to limitations in Minion, contains more mounts than you really own. If you pick one it turns out you cannot use (because you don't own it or you are in a zone where mounts aren't allowed), a popup will appear informing you of the situation. |
 +| Select Random Mount | When checked, QT will randomly pick an available mount that you own to run to the placard. This overrides your Mount Selection. |
  
 ===== Profile Tab ===== ===== Profile Tab =====
-{{:mistahmikey:taximan:profile_tab.png?400|}}+{{:mistahmikey:questtracker:profile_tab.png?400|}}
  
-The Profile Tab allows you to persistently store most of TCH's settings. The profile settings are stored in files unique to the character and game language used to create the profile. You can create as many profiles as you like. The controls on this tab are:+The Profile Tab allows you to persistently store most of QT's settings. The profile settings are stored in files unique to the character and game language used to create the profile. You can create as many profiles as you like. The controls on this tab are:
  
-| Load Current Profile After Reset| When checked, if you hit Reset on the Main Tab, or when TCH is loaded when you start Minion, after all settings are initialized to their default values, the saved settings in your current profile are loaded. | +| Load Current Profile After Reset | When checked, if you hit Reset on the Main Tab, or when QT is loaded when you start Minion, after all settings are initialized to their default values, the saved settings in your current profile are loaded. | 
-| Current Profile Name| The settings file you selected to be the current profile being used by TCH. |+| Current Profile Name | The settings file you selected to be the current profile being used by QT. |
 | Load | Load all settings from the current profile. | | Load | Load all settings from the current profile. |
 | Save | Save all settings to the current profile. | | Save | Save all settings to the current profile. |
Line 128: Line 103:
  
 ===== Debug Tab ===== ===== Debug Tab =====
 +{{:mistahmikey:questtracker:debug_tab.png?400|}}
  
-{{:mistahmikey:taximan:debug_tab.png?400|}} +This tab is primarily intended for use in conjunction requesting QT support.  It enables various test scenarios and debugging information that are used to help diagnose issues that might occur during QT's operation.  The controls on this tab are:
- +
-This tab is primarily intended for use in conjunction with consultation with TCH support.  It enables various test scenarios and debugging information that are used to help diagnose issues that might occur during Squatter's operation.  The controls on this tab are:+
  
-| Enable Log file| When checked, TCH will create a unique log file for your session. This only needs to be checked if you are told to do so by Squatter support. | +| Enable Log file | When checked, QT will create a unique log file for your session. This only needs to be checked if you are told to do so by QT support. | 
-| Enable Timestamp| When checked, TCH will include the current tick count in the debug messages. This provides information that facilitates debugging timing issues. | +| Enable Timestamp | When checked, QT will include the current tick count in the debug messages. This provides information that facilitates debugging timing issues. | 
-| Debug Message Level SettingsTCH's debug message system implements a simple filtering mechanism that can be used to allow or inhibit certain message classes, generally in increasing order of verbosity.  The default settings are fairly "quiet", but to debug issues you encounter you will be asked to enable more verbose settings to gather diagnostic information. |+| Debug Message Level Settings | QT's debug message system implements a simple filtering mechanism that can be used to allow or inhibit certain message classes, generally in increasing order of verbosity.  The default settings are fairly "quiet", but to debug issues you encounter you will be asked to enable more verbose settings to gather diagnostic information. |
  
 ====== Support ====== ====== Support ======
  
-For support or requests, please contact me on discord: https://discord.gg/Awhk57EBuG.  I will respond as soon as I am able, generally within 24 hours at most.+For bug support, please post a message on discord: https://discord.gg/k8pBJpMnZw.  I will respond as soon as I am able, generally within 24 hours at most.
  
 When you need support, please provide me, at a minimum, the following: When you need support, please provide me, at a minimum, the following:
  
   - Enable the debug information category on the Debug Tab and do what you did to create the problem.  Then take a screen shot of your Minion Console Log when the problem occurs. Make sure the Log's window as big as possible to show the maximum amount of output.  If the output is larger than the window, then scroll the offscreen portions into view and send multiple screen shots.   - Enable the debug information category on the Debug Tab and do what you did to create the problem.  Then take a screen shot of your Minion Console Log when the problem occurs. Make sure the Log's window as big as possible to show the maximum amount of output.  If the output is larger than the window, then scroll the offscreen portions into view and send multiple screen shots.
-  - A screen shot of your Material Girl main tab+  - A screen shot of your QT main tab
  
 If you post this information to the specified channel (NOT RECOMMENDED), **please ensure it does not contain any information that identifies your account, character, or server.**  For complete anonymity, just DM it to mistahmikey#4073. If you post this information to the specified channel (NOT RECOMMENDED), **please ensure it does not contain any information that identifies your account, character, or server.**  For complete anonymity, just DM it to mistahmikey#4073.
 Additionally, **you should not use an account you use for in-game communications so you can't be doxed as a botter. ** Additionally, **you should not use an account you use for in-game communications so you can't be doxed as a botter. **
  
-If that initial information is insufficient for me to determine the cause, I will ask you to set other debug settings that will provide more information. TCH is a complex piece of software, and can be negatively affected by a number of factors over which I have no control, not the least of which is what other addons you run. I appreciate your patience in working with me to solve your issue when it is not slam-dunk easy. As long as you are willing to try the debugging measures I request, I will work with you until your problem is solved.+If that initial information is insufficient for me to determine the cause, I will ask you to set other debug settings that will provide more information. QT is a complex piece of software, and can be negatively affected by a number of factors over which I have no control, not the least of which is what other addons you run. I appreciate your patience in working with me to solve your issue when it is not slam-dunk easy. As long as you are willing to try the debugging measures I request, I will work with you until your problem is solved.
questtracker.1744226051.txt.gz · Last modified: 2025/04/09 19:14 by mistahmikey