Due to the HorizonXI private server changing the level requirements for some spells/abilities, this is going to cause conflicts with this addon.
Currently as it stands right now I do believe the only issue will be with the level of spells changing. To combat this problem I have added a setting to the settings.xml 'PlayingOnHorizon'. This is false by default so as to not effect people who play elsewhere. If you play on horizon set this true!
Setting 'PlayingOnHorizon' to true will tell addon to look at the horizon_spells.lua instead of spells.lua in the priv_res folder. This horizon_spells.lua file will need to be manually updated to reflect new levels of spells. I will update this as new levels are discovered and reported and push them to git as I find them. Then you can download and replace the old horizon_spells.lua. If you need to update this more urgently then you can also do this yourself. If you do this yourself be sure to change the level of the spell in the horizon_spells.lua that corresponds with the correct job_id. The top of the file has a list of all the job id's.
For example, if HorizonXI were to give Cure 1 to RDM at level 1 instead of level 3. You would determine RDM's Job ID # by looking at the top of the horizon_spells file. RDM Job ID is 5 so we would edit the value after the number 5 that is in brackets '[5]'.
Before
{id=1,en="Cure",ja="ケアル",cast_time=2,element=6,icon_id=86,icon_id_nq=6,levels={[3]=1,[5]=3,[7]=5,[20]=5},mp_cost=8,prefix="/magic",range=12,recast=5,recast_id=1,requirements=1,skill=33,targets=63,type="WhiteMagic"},
After
{id=1,en="Cure",ja="ケアル",cast_time=2,element=6,icon_id=86,icon_id_nq=6,levels={[3]=1,[5]=1,[7]=5,[20]=5},mp_cost=8,prefix="/magic",range=12,recast=5,recast_id=1,requirements=1,skill=33,targets=63,type="WhiteMagic"},
Also some HorizonXI Custom Created Weapons have issues with Weaponswitching. Such as the Onion Greataxe.
First off, let me say that I absolutely love XIVHotbar and really appreciate the work that SirEdeonX and Akirane did. However, there were a few bugs that needed fixing and some features I wished it had, but it seems that project is no longer supported. That being said this is a heavily modified version of xivhotbar. I originally wanted to fix a few bugs and change some minor things, but one thing led to another and I ended up fixing a lot and adding several nice features. My initial intention was to do this for personal use, but now that I have added so much I want to make it public and see if anyone else likes what I have done. Thus, XIVHotbar2!
Additionally, I also wanted to have this public so that it could get approved for a private server HorizonXI.com. Go check it out!
While a considerable portion of this addon is the original code/design by SirEdeonX and Akirane. I have made some strict changes, including major features (see below) that have no enable/disable toggle and are forced. Additionally, I pretty much exclusively play 75 cap era private servers, and thus many design decisions have this in mind. Therefore, previous xivhotbar users might find that this addon is not for them.
Please note, I have only tested this addon on private servers so there may be issues if this is used on retail. However, most of the private servers I have played on use the retail client. The bigger issue is potential problems with content beyond level 75. Please let me know of any issues you experience using this addon on retail.
This is the main feature I wanted to add. Often on era private servers you are level syncing in parties or in level capped zones. It can be a bit annoying to constantly remember what spells and abilities you have available to you under capped level conditions. Thus, when being level sync'd or being in a level capped zone, any skill, ability, or weaponskill that is no longer available to you will be removed from the hotbar until the sync conditions are removed.
Zoning into Promyvion-Dem (Level 30 Cap) | Level Syncing to Level 40 |
---|---|
Spells: Previously, spells setup on the hotbar in a JOB.lua file that were not yet learned in-game would still show up on the hotbar and appear lit up and useable. Now in this situation spells will appear dimmed until they are learned. Additionally a glowing scroll icon will be overlayed in the top right of the icon. Upon learning a spell the spell will immediately appear lit and be useable and the scroll icon will disappear. Please note that when a player has not met the level requirement for a spell it will not show up on the hotbar at all. Also, the scroll icon can be disabled in the settings.
Using a Scroll of Cure IV -> Scroll of Dia -> Scroll of Dia II. | |
---|---|
You may notice that when using the Scroll of Dia the (C-1) slot's name changes from "Dia II" to "Dia" and the scroll icon remains. This is explained below in the "Spells Sharing Hotbar Slots" and "Spell Learning Notificaiton" sections.
Abilities: If an ability is added to a JOB.lua file it will not appear on the hotbar until the player has reached the required level to obtain the ability. In level capped situation if you lose access to the ability it will disappear from the hotbar.
Weaponskills: If a weaponskill is added to a JOB.lua file it will not show up on the hotbar unless that weaponskill has been learned in-game. In level capped situations if you lose access to the weaponskill it will disappear from the hotbar.
Another feature I wanted to add was having one hotbar slot hold multiple spells which would display depending on priority and level. For example, Dia is a commonly used spell, but once Dia II is acquired it is not used quite as often. Thus, when setup properly in the JOB.lua file Dia II will take priority over the slot Dia was originally in once you reach the appropriate level for Dia II, and assuming Dia II has been learned.
In order to set this up simply add all levels of a spell to the JOB.lua file with the same slot specified, in descending order of importance as seen below. By importance, I do not necessarily mean in order of highest tier to lowest tier of the same family of spell. This should still work fine with any combination of spells in any order, although I am not sure I see a reason to do this. The main purpose of this feature is to allow a higher tier spell to replace a lower tier spell once the higher tier spell has been acquired.
This works seamlessly with the level sync feature above as well. For example, syncing down to level 30 will turn Dia II (Level 31) back into Dia as you can see in the image above when zoning into Promyvion-Dem.
As mentioned earlier, when a player has a spell setup on their hotbar, and are high enough level to use that spell, but have not learned that spell yet a small glowing scroll icon will appear in the top right corner of the spell. This disappears once learning that spell.
The icon below is dimmed because the player is high enough level to use Cure 4 but has not learned it yet, additionally the scroll icon is displayed.
Furthermore, in reference to when spells have been setup in the same slots ("Spells Sharing Hotbar Slots" section) the glowing scroll icon will appear if any spell setup on that slot has not been learned yet (This only refers to spells you meet the level requirement for). Regardless if it is a spell above or below (in the JOB.lua) the current spell being displayed. Once all spells setup on that slot have been learned the glowing scroll icon will disappear. For example, in the image above showing the four levels of protect setup on the same slot, if you are not high enough level to learn protect 3 and protect 4, but you have learned protect, and protect 2 then there will be no scroll icon displayed until you've reached the appropriate level for protect 3.
The icon below is lit up because the player has learned Dia and this slot is currently useable to cast Dia. However, Dia 2 is also setup on this slot as well and the player is high enough level to obtain it, but has not learned it yet, so there is a scroll icon on it.
I ran into several issues with the summoner feature that was added to XIVHotbar such as the summons abilities getting out of sync and other various things.
Now, a summon's abilities will only show up on the hotbar when the summon is successfully summoned. Additionally, the abilities will remove themself from the hotbar when the pet is released, dies or mp is insufficient. Also, pet commands: release, attack etc. do not appear on hotbar unless a summon is present.
Summoning Garuda -> Using Hastega -> Releasing Garuda |
---|
All Blood Pact: Ward abilities share a cooldown and All Blood Pact: Rage abilities share a cooldown on the hotbar.
Pet commands do not show up on hotbar unless player has an active pet.
** Beastmaster: Most of this applies to beastmaster pets as well. Although not as thoroughly tested. Please see the known issues below for a note about beastmaster actions in regards to this hotbar.
The weaponswitching feature that previously existed was a great idea, but I ran into several issues with it. It should work much better now with the added benefit of weaponskills not showing up on hotbar if they have not been learned yet. Occasionally weapons and hotbar weaponskills might get out of sync. Easy fix for this is to unequip the weapon and reequip it.
Note: If playing Ranger, XIVHotbar2 with prioritize weapon changes to the range slot over main slot. This is a temporary solution to allow rangers to use weaponswitching with Marksmanship and Archery and not have their main hand weapons interfere.
The below image is the default layout and positioning on a game running in 1080p. Most of this layout can be adjusted in the settings.xml.
Download the addon from here. Put the addon in your Windower 4/addons folder and make sure the addons folder name is jsut 'XIVHotbar2'. Next, inside the 'data' folder within the 'XIVHotbar2' folder create a folder with your character(s) name.
Inside your 'name-of-character' folder create a general.lua and JOB.lua for each job you want to setup. Additionally, I have premade templates made for most jobs you can copy over to your character folder. The premade templates I have made are in the Data/Technyze folder. The RDM,WHM,THF,PLD are the more thorough jobs I have set up and should be the first ones to reference for any help.
The General.lua is the second page on the hotbar that is consistent across all jobs and it can be switched to by pressing the backslash key '\'.
Highly recommend downloading notepad++ for editing these files. As you can keep all these .lua files open in tabs for each job pretty much indefinitely even through computer restarts, and thus you dont have to constantly browse to find and open them again. Easily alt-tabbing between your game and notepad++ to edit your actions on your hotbar is also a very nice.
Location: Windower 4/addons/xivhotbar2/data/<name-of-character>/general.lua
and
Location: Windower 4/addons/xivhotbar2/data/<name-of-character>/<job>.lua
Location: Windower 4/scripts/init.txt
Command: lua load xivhotbar2
Location: Windower 4/addons/xivhotbar2/data/settings.xml
Location: Windower 4/addons/xivhotbar2/data/keybinds.lua
Command: //htb move
Note: When saving your hotbar positions with the '//htb move' command the new locations are saved in the settings.xml file at the bottom inside new xml tags 'Your-Character-Name' -> 'Hotbar' -> 'Offsets'. I recommend after finalizing your hotbar posistions to copy them over to the offset tags inside the 'Global' tag to keep hotbar positions consistent between characters. The 'First' tag refers to the first hotbar. Other tags for the other hotbars will appear once they've been moved. Once you finalize your positions and transfer them to the offsets inside the global tags you can delete the 'Your-Character-Name' section entirely. This is assuming you want your hotbar to be in the same posistion and have the same settings for all characters all the time.
<your-character-name> <Global>
<Hotbar> <Hotbar>
<Offsets> <Offsets>
<First> <First>
<OffsetX>740</OffsetX> Transfer Offsets <OffsetX>HERE</OffsetX>
<OffsetY>530</OffsetY> ----------------> <OffsetY>HERE</OffsetY>
</First> </First>
</Offsets> </Offsets>
</Hotbar> </Hobtar>
</your-character-name> </Global>
If you've used previous versions of XIVHotbar, simply download this version and transfer over your Data/Your-Character-Name folder. All your previous setup actions will load normally to their respective hotbars. However, prepare to setup hotbar locations and other various settings again.
Setting up your desired actions on XIVHotbar2 follows the exact format as XIVHotbar. If you have not used XIVHotbar before I recommend reading the information below and looking at the premade templates in the XIVHotbar2/Data/Technyze folder.
When loading the addon or switching main jobs, this addon will search for the JOB.lua that is consistent with your current main job in-game inside your 'Your-Character-Name' folder.
xivhotbar_keybinds_job['Table Type'] = {
{'Slot Designation', 'Action Type', 'Action Name', 'Target Type', 'Action Title', 'Action Image'},
}
xivhotbar_keybinds_job['Base'] = {
{'battle 1 1', 'ma', 'Cure', 'stpc', 'Cure'},
}
This action will appear on the 'Main'/'Battle' Environment on the first hotbar in the first slot. Its targeting mode is set to stpc. It will have the text 'Cure' as a label, and it will use the default image for Cure because no custom image is specified at the end.
xivhotbar_keybinds_job['WHM'] = {
{'battle 2 1', 'ma', 'Poisona', 'stpc', 'Poisona'},
}
This action will appear when your sub job in game is White Mage on the 'Main'/'Battle' Environment on the second hotbar in the first slot. It will have the text 'Poisona' as a label, and it will use the default image for Poisona because no custom image is specified at the end.
xivhotbar_keybinds_general['Root'] = {
{'field 5 7', 'input', '/sea Rolanberry', '', 'Rolan', 'check'},
}
This action will appear on the 'General'/'Field' Environment on the fifth hotbar in the seventh slot. The action type is 'input' so the following command will be input into the in-game chat. There is no targeting type because input/macro does not need target specified. It will have text 'Rolan' as a label. Also, it will use the check.png file in the 'images/icons/custom' folder.
xivhotbar_keybinds_job['Carbuncle'] = {
{'battle 3 1', 'ja', 'Poison Nails', 't', 'Nails','summons/carbuncle'}
}
This action will appear on your 'Main'/'Battle' Environment on your third hotbar in the first slot when carbuncle has been summoned. The action type set here is 'ja' because pet abilities are job abilities. Recommended to use 'ja' for pet actions instead of 'pet'. The ability that is set here is 'Poison Nails' and the targeting type is target. The action will appear on the hotbar with the label 'Nails' and a custom image is set to reference the carbuncle.png in the 'images/icons/custom/summons' folder. This action will disappear from the hotbar when carbuncle dies or is released.
xivhotbar_keybinds_job['Sword'] = {
{'battle 1 8', 'ws', 'Savage Blade', 't', 'Savage', 'ws'},
}
This action will appear on your 'Main'/'Battle' Environment on the first hotbar in the eighth slot when a Sword is equipped. The action type 'ws' is weaponskill and the action is 'Savage Blade' and the target is target. Action will have the label 'Savage' and the action's image is a custom image named ws.png is the 'images/icons/custom' folder. Note: This action will not appear if the specified weaponskill has not been learned yet ad it will not appear if weaponswitching is not enabled in settings.xml.
{'battle 3 3', 'macro','input /ja "Sneak Attack" <me>;wait 1;input /ja "Trick Attack" <me>;wait 1;input /ws "Viper Bite" <t>','','sataVB',''},
This action will appear on your 'Main'/'Battle' Environment on your third hotbar in the third slot. The action type is a 'macro' which means you will be able to execute a series of actions in sequence similar to an in-game macro. The following command must follow this exact format to work. Each action seperated by a semicolon with no spaces between actions. Macros do not require a target to be specified so the quotation for target is empty. This macro will have the label 'sataVB' and it will use the default image for all macros because no custom image is specified.
A bunch more settings have been made available, as well as some existing settings being moved and some removed.
You can currently change the following in the settings.xml file:
General -> HideHotbarNumbers: Set to true/false to hide the numbers (1,2,3,4,5,6) next to each hotbar.
General -> HideEnvironment: Set to true/false to hide the environment text.
General -> HideInventoryCount: Set to true/false to hide inventory count
General -> EnableWeaponSwitching: Set to true/false to enable weapon switching.
Hotbar -> HideActionCost, HideActionName, HideEmptySlots, HideRecastText, ShowActionDescription
Hotbar -> Misc -> Disabled: Opacity
Hotbar -> Misc -> Feedback: Opacity, Speed
Hotbar -> Offsets -> First: OffsetX, OffsetY, Vertical
Hotbar -> Offsets -> Second: OffsetX, OffsetY, Vertical
Hotbar -> Offsets -> Third: OffsetX, OffsetY, Vertical
Hotbar -> Offsets -> Fourth: OffsetX, OffsetY, Vertical
Hotbar -> Offsets -> Fifth: OffsetX, OffsetY, Vertical
Hotbar -> Offsets -> Sixth: OffsetX, OffsetY, Vertical
Hotbar -> Style: HotbarCount, HotbarLength, HotbarSpacing, OffsetX, OffsetY, SlotAlpha, SlotIconScale, SlotSpacing
Hotbar -> Theme: Frame, Slot
Texts -> Costs: Font, Size
Texts -> Costs -> Pos: Offset X, Offset Y
Texts -> Costs -> Color: Alpha, Red, Green, Blue
Texts -> Costs -> Stroke: Alpha, Red, Green, Blue, Stroke Width
Texts -> Keys: Font, Size
Texts -> Pos: Offset X, Offset Y
Texts -> Color: Alpha, Red, Green, Blue
Texts -> Stroke: Alpha, Red, Green, Blue, Stroke Width
Texts -> Recasts: Font, Size
Texts -> Recasts -> Pos: Offset X, Offset Y
Texts -> Recasts -> Color: Alpha, Red, Green, Blue
Texts -> Recasts -> Stroke: Alpha, Red, Green, Blue, Stroke Width
Texts -> ActionName: Font, Size
Texts -> ActionName -> Pos: Offset X, Offset Y
Texts -> ActionName -> Color: Alpha, Red, Green, Blue
Texts -> ActionName -> Stroke: Alpha, Red, Green, Blue, Stroke Width
Texts -> ActionName -> Background: Enable, Opacity
Texts -> Environment: Battle Text, Field Text, Font, Size, Italics,
Texts -> Environment -> Pos: HookOntoBar, HookOffsetX, HookOffsetY, Pos X, Pos Y, OffsetX, OffsetY (Set HookOntoBar to 0 set a custom position) Note: Offset adjusts the General/Field text position relative to the Battle/Main text.
Texts -> Environment -> Color: Alpha, Red, Green, Blue
Texts -> Environment -> Stroke: Width, Alpha, Red, Green, Blue
Texts -> HotbarNumbers: Font, Size, Italics
Texts -> HotbarNumbers -> Pos: OffsetX, OffsetY, VertOffsetX, VertOffsetY
Texts -> HotbarNumbers -> Color: Alpha, Red, Green, Blue
Texts -> HotbarNumbers -> Stroke: Alpha, Red, Green, Blue, Stroke Width
Texts -> Inventory -> Font, Italics, Size
Texts -> Inventory -> Background: Enable, Opacity
Texts -> Inventory -> Color: Alpha, Red, Green, Blue
Texts -> Inventory -> Stroke: Alpha, Red, Green, Blue, Width
Texts -> Inventory -> Pos: Unlock(True/False), PosX, PosY, OffsetX, OffsetY [Set Unlock to True to move position]
Texts -> ActionDescription: Font, Size, Italic
Texts -> ActionDescription -> Color: Alpha, Red, Green, Blue
Texts -> ActionDescription -> Stroke: Width, Alpha, Red, Green, Blue
Texts -> ActionDescription -> Background: Enable/Disable, Opacity
Overlays -> DisableScroll: True/False to disable the scroll overlay for unlearned spells.
Controls -> ToggleBattleMode: This is the Direct Input Keyboard (DIK) integer value for the keyboard key to switch between Main/Battle and General/Field Environments. By default this is set to 43 which is the backslash key. Reference the 'integer' column here for DIK Codes to set a different key for this.
Dev -> DevMode: Set to true/false to allow additional functionality during development. Recommended to keep this false unless you want your chat spammed with messages. If you submit a bug report I may request you to enable this to help narrow down any issues.
It would seem that previous versions of XIVHotbar did not have the in-game icons associated with weaponskills and/or the previous developers did not like them. Either way I also could not find those icons and they are pretty generic anyways. As a result of this I have brought in a bunch of job ability icons for FFXIV and cropped them to make them work nicely here. These can be looked at in the images/icons/custom/ffxiv folder.
There are a couple of different ways you can go about setting your images for your weaponskills.
Default (No Effort): If no custom image is specified in the JOB.lua file the weaponskill icon that will be chose by default comes from images/icons/weapons folder. I have changed these icons from previous version of XIVHotbar to be icons from FFXIV. I have chosen the most simple and fitting icons possible for each weapon.
These are the default icons for each weapon in this order: Hand-to-hand, Dagger, Sword, Great Sword, Axe, Great Axe, Scythe, Polearm, Katana, Great Katana, Club, Staff, Archery, Marksmanship.
My Old Method (Minimal Effort): Use the same icon or two for every weaponskill in the game. In images/icons/custom/ folder there is an icon called 'ws' and icon called 'wsaoe'. These are simple but nice looking icons. Simply specify 'ws' when setting up a weaponskill in a JOB.lua. Can also do 'wsaoe' to specify weaponskills that are aoe.
These weaponskills set up in this image are obviously sword weaponskills, but these icons would be used for all weapontypes.
My New Method (Moderate Effort): As I stated above, I brought in a bunch of icons from all the jobs in FFXIV. If you so choose you can look through these icons and individually set different icons for each weaponskill. Many of the icons are actually very fitting with FFXI weaponskills. You can browse these icons in images/icons/custom/ffxiv. Simple browse this folder and specify 'ffxiv/[job]/[filename]' in the JOB.lua.
This is an image of my customized THF Hotbar, I even chose custom icons for my macros that switch my equipped bolt type.
Original Method: I kept all the generic weapon icons from the previous XIVHotbar for those that want to still use those. You can find these in images/icons/custom/old_weapons.
If you run into any glitches with the hotbar. First troubleshooting step is to reload the hotbar (/htb reload). After that try reloading the addon (//lua reload xivhotbar2).
If you run into issues with weaponswitching: Unequip weapon and reequip your weapons.
Otherwise please report the bug with as much details as possible so I can try to replicate it!
If you encounter a bug please make a bug report here on github with as much detail as you can possibly give. Additionally, if you have a feature you like to see added you can make a bug report as well.
Q: I added an action to my hotbar but it is not showing up in game.
A: There are various reasons for this. Here a few things to try and look out for:
Q: Why get rid of click to move icon?
A: I personally found this issue to cause a lot of problems and personally preferred setting up all my actions in a text editor (notepad++ recommended) as it is no more cumbersome than setting up macros in-game.
First and foremost if you notice a bug with the hotbar please just go ahead and submit a bug report here!
However, if you are you struggling to understand how something works with this hotbar feel free to message me on discord (Technyze#9008) or if you play on HorizonXI Private Server feel free to send me a /tell. My character name is Technyze!