anno-1800-mods/[Z Multiplayer] Change GameSpeed/data/config/export/main/asset/assets.xml
2025-06-24 22:36:46 +08:00

539 lines
20 KiB
XML

<ModOps>
<!-- TextSources.TextSourceRoots.GameClock.IncreaseGameSpeed() (does not work anymore when slowest speed reached) -->
<!-- TextSources.TextSourceRoots.GameClock.DecreaseGameSpeed() -->
<!-- both these commands can be used to increase and decrease GameSpeed, when doing so you will notice the game has in fact 5 different GameSpeeds, 1-2-3-4-5 -->
<!-- yet ingame we can only select 4 of these GameSpeeds, 2-3-4-5, but 1 can never be selected normally, unless you use this mod -->
<!-- 1 = 0.25x GameSpeed -->
<!-- 2 = 0.5x GameSpeed -->
<!-- 3 = 1x GameSpeed -->
<!-- 4 = 2x GameSpeed -->
<!-- 5 = 4x GameSpeed -->
<ModOp Type="add" GUID='2001271' Path="/Values/GUIConfig/KeyBindings">
<Item>
<KeyTypes>Shift;NumpadSubtract</KeyTypes>
<Command>TextSources.TextSourceRoots.Conditions.RegisterTriggerForCurrentParticipant(1500001011)</Command>
<Text>1500001011</Text> <!-- shows text in the controls menu -->
<Active>Session;WorldMap;Menu;Pause;Popup</Active>
<AvailableOnPlatforms>PC;Xbox;PS;Stadia</AvailableOnPlatforms>
<AudioEvent>200634</AudioEvent>
</Item>
<Item>
<KeyTypes>NumpadSubtract</KeyTypes>
<Command>TextSources.TextSourceRoots.Conditions.RegisterTriggerForCurrentParticipant(1500001012)</Command>
<Text>1500001012</Text>
<Active>Session;WorldMap;Menu;Pause;Popup</Active>
<AvailableOnPlatforms>PC;Xbox;PS;Stadia</AvailableOnPlatforms>
<AudioEvent>200634</AudioEvent>
</Item>
<Item>
<KeyTypes>Numpad0</KeyTypes>
<Command>TextSources.TextSourceRoots.Conditions.RegisterTriggerForCurrentParticipant(1500001013)</Command>
<Text>1500001013</Text>
<Active>Session;WorldMap;Menu;Pause;Popup</Active>
<AvailableOnPlatforms>PC;Xbox;PS;Stadia</AvailableOnPlatforms>
<AudioEvent>200634</AudioEvent>
</Item>
<Item>
<KeyTypes>NumpadAdd</KeyTypes>
<Command>TextSources.TextSourceRoots.Conditions.RegisterTriggerForCurrentParticipant(1500001014)</Command>
<Text>1500001014</Text>
<Active>Session;WorldMap;Menu;Pause;Popup</Active>
<AvailableOnPlatforms>PC;Xbox;PS;Stadia</AvailableOnPlatforms>
<AudioEvent>200634</AudioEvent>
</Item>
<Item>
<KeyTypes>Shift;NumpadAdd</KeyTypes>
<Command>TextSources.TextSourceRoots.Conditions.RegisterTriggerForCurrentParticipant(1500001015)</Command>
<Text>1500001015</Text>
<Active>Session;WorldMap;Menu;Pause;Popup</Active>
<AvailableOnPlatforms>PC;Xbox;PS;Stadia</AvailableOnPlatforms>
<AudioEvent>200634</AudioEvent>
</Item>
</ModOp>
<!-- Code by Serp: -->
<!-- Keybind Commands are only executed for the player who hit the button, which is most of the time exactly what we want. -->
<!-- But when changing the game speed in multiplayer, it must be executed for all players. -->
<!-- "ActionExecuteScript" does execute a script for all players at the same time, regardless which player triggered this action. -->
<!-- Although this is something we usually DONT want, in this case it is the solution for the multiplayer gamespeed. -->
<ModOp Type="addNextSibling" GUID="153271">
<Asset>
<Template>Trigger</Template>
<Values>
<Standard>
<GUID>1500001011</GUID>
<Name>Trigger Script 0.25x Speed</Name>
</Standard>
<Trigger>
<TriggerCondition>
<Template>ConditionIsMultiplayer</Template>
<Values>
<Condition />
<ConditionIsMultiplayer />
<ConditionPropsNegatable>
<NegateCondition>0</NegateCondition> <!-- 1 = makes it only work in singleplayer, 0 = for multiplayer -->
</ConditionPropsNegatable>
</Values>
</TriggerCondition>
<TriggerActions>
<Item>
<TriggerAction>
<Template>ActionExecuteScript</Template>
<Values>
<Action />
<ActionExecuteScript>
<ScriptFileName>data/changegamespeed1.lua</ScriptFileName>
</ActionExecuteScript>
</Values>
</TriggerAction>
</Item>
</TriggerActions>
</Trigger>
<TriggerSetup>
<AutoRegisterTrigger>0</AutoRegisterTrigger>
<UsedBySecondParties>0</UsedBySecondParties>
</TriggerSetup>
</Values>
</Asset>
<!-- extra trigger for notification started via ActionExecuteScript lua code, to make sure it is displayed for all players, not only the one who hit the button -->
<Asset>
<Template>Trigger</Template>
<Values>
<Standard>
<GUID>1999003464</GUID>
<Name>Notification 0.25x Speed</Name>
</Standard>
<Trigger>
<TriggerCondition>
<Template>ConditionIsMultiplayer</Template>
<Values>
<Condition />
<ConditionIsMultiplayer />
<ConditionPropsNegatable>
<NegateCondition>0</NegateCondition>
</ConditionPropsNegatable>
</Values>
</TriggerCondition>
<TriggerActions>
<Item>
<TriggerAction>
<Template>ActionNotification</Template>
<Values>
<Action />
<ActionNotification>
<Notification>
<IsBaseAutoCreateAsset>1</IsBaseAutoCreateAsset>
<Values>
<SideNotification>
<IconAsset>501356</IconAsset>
<FilterType>System</FilterType>
<HasJumpLocation>0</HasJumpLocation>
<IsArchived>0</IsArchived> <!-- 1 keeps the notification in history log, 0 does not and removes the notification the moment it vanishes from screen -->
</SideNotification>
<BaseNotification>
<NotificationText>1999003465</NotificationText>
<NotificationMinDisplayTime>5000</NotificationMinDisplayTime> <!-- the time in milliseconds the notification will remain on screen -->
<NotificationPriority>9999</NotificationPriority> <!-- higher value means higher priority, vanilla is between 100 and 2000, except for -1 which is for system stuff and it pushes other notifications away -->
</BaseNotification>
<NotificationSubtitle />
</Values>
</Notification>
</ActionNotification>
</Values>
</TriggerAction>
</Item>
</TriggerActions>
</Trigger>
<TriggerSetup>
<AutoRegisterTrigger>0</AutoRegisterTrigger>
<UsedBySecondParties>0</UsedBySecondParties>
</TriggerSetup>
</Values>
</Asset>
<Asset>
<Template>Trigger</Template>
<Values>
<Standard>
<GUID>1500001012</GUID>
<Name>Trigger Script 0.5x Speed</Name>
</Standard>
<Trigger>
<TriggerCondition>
<Template>ConditionIsMultiplayer</Template>
<Values>
<Condition />
<ConditionIsMultiplayer />
<ConditionPropsNegatable>
<NegateCondition>0</NegateCondition>
</ConditionPropsNegatable>
</Values>
</TriggerCondition>
<TriggerActions>
<Item>
<TriggerAction>
<Template>ActionExecuteScript</Template>
<Values>
<Action />
<ActionExecuteScript>
<ScriptFileName>data/changegamespeed2.lua</ScriptFileName>
</ActionExecuteScript>
</Values>
</TriggerAction>
</Item>
</TriggerActions>
</Trigger>
<TriggerSetup>
<AutoRegisterTrigger>0</AutoRegisterTrigger>
<UsedBySecondParties>0</UsedBySecondParties>
</TriggerSetup>
</Values>
</Asset>
<!-- extra trigger for notification started via ActionExecuteScript lua code, to make sure it is displayed for all players, not only the one who hit the button -->
<Asset>
<Template>Trigger</Template>
<Values>
<Standard>
<GUID>1999003467</GUID>
<Name>Notification 0.5x Speed</Name>
</Standard>
<Trigger>
<TriggerCondition>
<Template>ConditionIsMultiplayer</Template>
<Values>
<Condition />
<ConditionIsMultiplayer />
<ConditionPropsNegatable>
<NegateCondition>0</NegateCondition>
</ConditionPropsNegatable>
</Values>
</TriggerCondition>
<TriggerActions>
<Item>
<TriggerAction>
<Template>ActionNotification</Template>
<Values>
<Action />
<ActionNotification>
<Notification>
<IsBaseAutoCreateAsset>1</IsBaseAutoCreateAsset>
<Values>
<SideNotification>
<IconAsset>501356</IconAsset>
<FilterType>System</FilterType>
<HasJumpLocation>0</HasJumpLocation>
<IsArchived>0</IsArchived>
</SideNotification>
<BaseNotification>
<NotificationText>1999003468</NotificationText>
<NotificationMinDisplayTime>5000</NotificationMinDisplayTime>
<NotificationPriority>9999</NotificationPriority>
</BaseNotification>
<NotificationSubtitle />
</Values>
</Notification>
</ActionNotification>
</Values>
</TriggerAction>
</Item>
</TriggerActions>
</Trigger>
<TriggerSetup>
<AutoRegisterTrigger>0</AutoRegisterTrigger>
<UsedBySecondParties>0</UsedBySecondParties>
</TriggerSetup>
</Values>
</Asset>
<Asset>
<Template>Trigger</Template>
<Values>
<Standard>
<GUID>1500001013</GUID>
<Name>Trigger Script 1x Speed</Name>
</Standard>
<Trigger>
<TriggerCondition>
<Template>ConditionIsMultiplayer</Template>
<Values>
<Condition />
<ConditionIsMultiplayer />
<ConditionPropsNegatable>
<NegateCondition>0</NegateCondition>
</ConditionPropsNegatable>
</Values>
</TriggerCondition>
<TriggerActions>
<Item>
<TriggerAction>
<Template>ActionExecuteScript</Template>
<Values>
<Action />
<ActionExecuteScript>
<ScriptFileName>data/changegamespeed3.lua</ScriptFileName>
</ActionExecuteScript>
</Values>
</TriggerAction>
</Item>
</TriggerActions>
</Trigger>
<TriggerSetup>
<AutoRegisterTrigger>0</AutoRegisterTrigger>
<UsedBySecondParties>0</UsedBySecondParties>
</TriggerSetup>
</Values>
</Asset>
<!-- extra trigger for notification started via ActionExecuteScript lua code, to make sure it is displayed for all players, not only the one who hit the button -->
<Asset>
<Template>Trigger</Template>
<Values>
<Standard>
<GUID>1999003470</GUID>
<Name>Notification 1x Speed</Name>
</Standard>
<Trigger>
<TriggerCondition>
<Template>ConditionIsMultiplayer</Template>
<Values>
<Condition />
<ConditionIsMultiplayer />
<ConditionPropsNegatable>
<NegateCondition>0</NegateCondition>
</ConditionPropsNegatable>
</Values>
</TriggerCondition>
<TriggerActions>
<Item>
<TriggerAction>
<Template>ActionNotification</Template>
<Values>
<Action />
<ActionNotification>
<Notification>
<IsBaseAutoCreateAsset>1</IsBaseAutoCreateAsset>
<Values>
<SideNotification>
<IconAsset>501356</IconAsset>
<FilterType>System</FilterType>
<HasJumpLocation>0</HasJumpLocation>
<IsArchived>0</IsArchived>
</SideNotification>
<BaseNotification>
<NotificationText>1999003471</NotificationText>
<NotificationMinDisplayTime>5000</NotificationMinDisplayTime>
<NotificationPriority>9999</NotificationPriority>
</BaseNotification>
<NotificationSubtitle />
</Values>
</Notification>
</ActionNotification>
</Values>
</TriggerAction>
</Item>
</TriggerActions>
</Trigger>
<TriggerSetup>
<AutoRegisterTrigger>0</AutoRegisterTrigger>
<UsedBySecondParties>0</UsedBySecondParties>
</TriggerSetup>
</Values>
</Asset>
<Asset>
<Template>Trigger</Template>
<Values>
<Standard>
<GUID>1500001014</GUID>
<Name>Trigger Script 2x Speed</Name>
</Standard>
<Trigger>
<TriggerCondition>
<Template>ConditionIsMultiplayer</Template>
<Values>
<Condition />
<ConditionIsMultiplayer />
<ConditionPropsNegatable>
<NegateCondition>0</NegateCondition>
</ConditionPropsNegatable>
</Values>
</TriggerCondition>
<TriggerActions>
<Item>
<TriggerAction>
<Template>ActionExecuteScript</Template>
<Values>
<Action />
<ActionExecuteScript>
<ScriptFileName>data/changegamespeed4.lua</ScriptFileName>
</ActionExecuteScript>
</Values>
</TriggerAction>
</Item>
</TriggerActions>
</Trigger>
<TriggerSetup>
<AutoRegisterTrigger>0</AutoRegisterTrigger>
<UsedBySecondParties>0</UsedBySecondParties>
</TriggerSetup>
</Values>
</Asset>
<!-- extra trigger for notification started via ActionExecuteScript lua code, to make sure it is displayed for all players, not only the one who hit the button -->
<Asset>
<Template>Trigger</Template>
<Values>
<Standard>
<GUID>1999003473</GUID>
<Name>Notification 2x Speed</Name>
</Standard>
<Trigger>
<TriggerCondition>
<Template>ConditionIsMultiplayer</Template>
<Values>
<Condition />
<ConditionIsMultiplayer />
<ConditionPropsNegatable>
<NegateCondition>0</NegateCondition>
</ConditionPropsNegatable>
</Values>
</TriggerCondition>
<TriggerActions>
<Item>
<TriggerAction>
<Template>ActionNotification</Template>
<Values>
<Action />
<ActionNotification>
<Notification>
<IsBaseAutoCreateAsset>1</IsBaseAutoCreateAsset>
<Values>
<SideNotification>
<IconAsset>501356</IconAsset>
<FilterType>System</FilterType>
<HasJumpLocation>0</HasJumpLocation>
<IsArchived>0</IsArchived>
</SideNotification>
<BaseNotification>
<NotificationText>1999003474</NotificationText>
<NotificationMinDisplayTime>5000</NotificationMinDisplayTime>
<NotificationPriority>9999</NotificationPriority>
</BaseNotification>
<NotificationSubtitle />
</Values>
</Notification>
</ActionNotification>
</Values>
</TriggerAction>
</Item>
</TriggerActions>
</Trigger>
<TriggerSetup>
<AutoRegisterTrigger>0</AutoRegisterTrigger>
<UsedBySecondParties>0</UsedBySecondParties>
</TriggerSetup>
</Values>
</Asset>
<Asset>
<Template>Trigger</Template>
<Values>
<Standard>
<GUID>1500001015</GUID>
<Name>Trigger Script 4x Speed</Name>
</Standard>
<Trigger>
<TriggerCondition>
<Template>ConditionIsMultiplayer</Template>
<Values>
<Condition />
<ConditionIsMultiplayer />
<ConditionPropsNegatable>
<NegateCondition>0</NegateCondition>
</ConditionPropsNegatable>
</Values>
</TriggerCondition>
<TriggerActions>
<Item>
<TriggerAction>
<Template>ActionExecuteScript</Template>
<Values>
<Action />
<ActionExecuteScript>
<ScriptFileName>data/changegamespeed5.lua</ScriptFileName>
</ActionExecuteScript>
</Values>
</TriggerAction>
</Item>
</TriggerActions>
</Trigger>
<TriggerSetup>
<AutoRegisterTrigger>0</AutoRegisterTrigger>
<UsedBySecondParties>0</UsedBySecondParties>
</TriggerSetup>
</Values>
</Asset>
<!-- extra trigger for notification started via ActionExecuteScript lua code, to make sure it is displayed for all players, not only the one who hit the button -->
<Asset>
<Template>Trigger</Template>
<Values>
<Standard>
<GUID>1999003476</GUID>
<Name>Notification 4x Speed</Name>
</Standard>
<Trigger>
<TriggerCondition>
<Template>ConditionIsMultiplayer</Template>
<Values>
<Condition />
<ConditionIsMultiplayer />
<ConditionPropsNegatable>
<NegateCondition>0</NegateCondition>
</ConditionPropsNegatable>
</Values>
</TriggerCondition>
<TriggerActions>
<Item>
<TriggerAction>
<Template>ActionNotification</Template>
<Values>
<Action />
<ActionNotification>
<Notification>
<IsBaseAutoCreateAsset>1</IsBaseAutoCreateAsset>
<Values>
<SideNotification>
<IconAsset>501356</IconAsset>
<FilterType>System</FilterType>
<HasJumpLocation>0</HasJumpLocation>
<IsArchived>0</IsArchived>
</SideNotification>
<BaseNotification>
<NotificationText>1999003477</NotificationText>
<NotificationMinDisplayTime>5000</NotificationMinDisplayTime>
<NotificationPriority>9999</NotificationPriority>
</BaseNotification>
<NotificationSubtitle />
</Values>
</Notification>
</ActionNotification>
</Values>
</TriggerAction>
</Item>
</TriggerActions>
</Trigger>
<TriggerSetup>
<AutoRegisterTrigger>0</AutoRegisterTrigger>
<UsedBySecondParties>0</UsedBySecondParties>
</TriggerSetup>
</Values>
</Asset>
</ModOp>
</ModOps>