08/05/23, 07:01 AM | #41 |
Guys, please keep this thread clean from conversations and only add valuable insights about "this patch / update"!
It's meant to be an aid for addon updates/fixes for this upcoming patch, now on PTS. If you want to clarify things that belong to this update do so in gitter/element chat or PMs or another forum thread and then add the info/outcome here. If you need to clarify general things, not related to this update, do so and add it to the Wiki please so we all benefit from it. Many thanks. Edit: @Masteroshi: Afai understood: If your gamepad keybind post was about allowFallthrough="false": As Dan explained you cannot use "true" as it would overwrite some default action layer and make the client crash atm. As you use "false" it should work. If you defne your own action layer not using vanilla game layers you can also use allowFallthrough="true". If your post was about something else in the keybind definition: I do not see what it related to. Last edited by Baertram : 08/05/23 at 07:08 AM. |
|
08/07/23, 01:31 PM | #42 | |
|
||
08/07/23, 11:25 PM | #43 |
So to be 100% clear:
These are the allowFallthrough in the ESOUI code, they are all set to false except SI_KEYBINDINGS_LAYER_HOUSING_EDITOR_PLACEMENT_MODE, it is not allowed to set these layers to true except for SI_KEYBINDINGS_LAYER_HOUSING_EDITOR_PLACEMENT_MODE. Now what if for some reason I set SI_KEYBINDINGS_LAYER_HOUSING_EDITOR_PLACEMENT_MODE to false, is it ok? Is the guideline "don't set to true when we set it to false" or "don't switch it"? Code:
\esoui\app\globals\bindings.xml (1 hit) Line 2: <Layer name="LoadingScreen" allowFallthrough="false"> \esoui\ingame\globals\bindings.xml (9 hits) Line 524: <Layer name="GamepadUIMode" allowFallthrough="false"> Line 691: <Layer name="SI_KEYBINDINGS_LAYER_SIEGE" allowFallthrough="false"> Line 720: <Layer name="SI_KEYBINDINGS_LAYER_DIALOG" allowFallthrough="false"> Line 802: <Layer name="SI_KEYBINDINGS_LAYER_ACCESSIBLE_QUICKWHEEL" allowFallthrough="false"> Line 891: <Layer name="PlayerToPlayerAccessibleLayer" allowFallthrough="false"> Line 1310: <Layer name="GamepadChatSystem" allowFallthrough="false"> Line 1458: <Layer name="ScreenshotMode" allowFallthrough="false"> Line 1498: <Layer name="SI_KEYBINDINGS_LAYER_HOUSING_EDITOR" allowFallthrough="false"> Line 1614: <Layer name="SI_KEYBINDINGS_LAYER_HOUSING_EDITOR_PLACEMENT_MODE" allowFallthrough="true"> \esoui\internalingame\globals\bindings.xml (2 hits) Line 2: <Layer name="SI_KEYBINDINGS_LAYER_DIALOG" allowFallthrough="false"> Line 274: <Layer name="MarketAnnouncement" allowFallthrough="false"> \esoui\pregame\globals\bindings.xml (1 hit) Line 242: <Layer name="SI_KEYBINDINGS_LAYER_DIALOG" allowFallthrough="false"> |
|
08/08/23, 01:55 AM | #44 | |
if true, do no set it to false (or other values that might even fail to work at all then ) if false, do not set it to true (or other values that might even fail to work at all then ) |
||
08/08/23, 02:23 AM | #45 | |
vanilla code is : <Layer name="GamepadUIMode" allowFallthrough="false"> but I have to set this to allow using custom keybinds in menus with gamepad mode : <Layer name="GamepadUIMode" allowFallthrough="false"> if I use this : <Layer name="GamepadUIMode" > then it doesn't work. Is our XML totally overwriting the vanilla XML to the point we have to set all the variables that are in the tags again? I think my problem is a misunderstanding of the XML and it's purpose... Why this second language, in what cases I should use it over LUA... |
||
08/08/23, 07:05 AM | #46 | ||
As far as I know: Yes. It's the same for lua and all other codes. If someone defined some code (ZOs vanillla, or any other addon) but you need to change it again "later" you need to hook it, or overwrite it to add new code, or to change it somehow. For lua you can prehook or posthook it to add your additional code. For XML there is no such feature so if you define the same "name" you will overwrite existing XML code. Normally this fails and says "Control already exists with same name" (if you were using a <Control> xml tag e.g.). But for some xml tags like the <Bindings> <Layer> you will just redefine (if it exists in vanilla code, or another addon which was loaded before your's was loaded) the layer data then. > This will overwrite the parts you did specify in your xml data then. e.g. if you redefine Code:
<Layer name="SI_KEYBINDINGS_LAYER_GENERAL"> <Category name="SI_KEYBINDINGS_CATEGORY_MOVEMENT"> <Action name="MOVE_FORWARD"> Or it will overwrite the MOVE_FORWARD with your definition then. And if you add a new one which didn't exist yet Code:
<Layer name="SI_KEYBINDINGS_LAYER_GENERAL"> <Category name="SI_KEYBINDINGS_CATEGORY_MOVEMENT"> <Action name="MOVE_BACKFLIPP"> Nothing overwritten.
And in any other case where you feel it's more easy to create UI elements via XML instead of using lua do dynamically create the controls. And in any case where you define virtual templates for lua controls in XML and just load them via lua functions then that accept virtual template names as parameters (as virtual templates cannot be created without XML, in lua, afaik). In your example with "<Layer name="GamepadUIMode" allowFallthrough="false">" It was defined with that attribute allowFallthrough="false" and if you redefine (overwrite) that row again by removing allowFallthrough="false" it will fail to work properly as this was not intended to work/is not supported. (no client crash and no error message, just silently fails). Same if you change that to "true" -> client crash (maybe error message in the future). I'm not sure if there is any list which atributes in the XML behave like that. e.g. would it behave the same if it would haven been hideAction="true" in original definition and you overwrite it with hideAction="false" or just remove the hideAction attribute in total? I don't know but I think it would behave the same (hopefully except the "client crash" :-)). Else you might be able to change the general idea/usage of those keybinds by just removing info like "do not allow to be pressed while dead" etc. Last edited by Baertram : 08/08/23 at 07:41 AM. |
|||
08/08/23, 07:21 AM | #47 |
Thanks for the infos Baertram!
|
|
08/08/23, 12:49 PM | #48 | |
|
||
08/08/23, 01:53 PM | #49 | |
That is totally counter intuitive because in my mind a non-set bool is false, but here there is a default true value... Okay I'll keep that in mind. |
||
08/21/23, 08:44 AM | #50 |
Documentation 2
|
|
08/23/23, 11:16 AM | #51 |
Note: EVENT_PVP_KILL_FEED_DEATH should read:
Lua Code:
|
|
08/23/23, 12:58 PM | #52 | |
|
Suppressing redundant PvP Kill Feed events
So if a killer kills the same victim twice within 10 seconds that only one death notice is posted? I'm asking because I have definitely killed someone in Cyrodiil that just put down a camp and they take the camp immediately and I kill them a second time in less than ten seconds. In this case is only one death notice posted? If so, you might want to consider cutting that fall off time in half to 5 seconds. |
|
08/28/23, 12:48 PM | #53 | |
|
||
ESOUI » Developer Discussions » Tutorials & Other Helpful Info » Update 39 (Version 9.1) |
«
Previous Thread
|
Next Thread
»
|
Display Modes |
Linear Mode |
Switch to Hybrid Mode |
Switch to Threaded Mode |
|
|