Dawn of Man

Dawn of Man

Flatlands
Narn Dec 21, 2024 @ 9:19am
Looking for help making a mod. Need to find a way to make repeat event.
You seem pretty active here so I figured I would ask you. I am making a mod and I cannot find how to make an event repeat on the same parameters. The game seems to allow for one event but no repeats. The game seems incremental and not cyclical in its functions. What I want is when the player has maybe 20 stone in their stockpiles they get a message or a raider attack, or both. Once the stockpiles are diminished and returns to 20 after a timer the event happens again with the same message. I cannot seem to find a function to make this occur. I can make it happen once but it wont do it again.
< >
Showing 1-15 of 20 comments
Schwifty K  [developer] Dec 21, 2024 @ 11:29am 
Hey, sadly I failed with that too.
My workaround was using copy&paste or a loop to put out code for a few dozen events - see everwinter and highlander.

There are a few timers like eventtriggerredtime but they seem to not only count for handwritten events - but also a lot of stuff like animal spawns.

I think the timer related to shown messages would be most promising in that regard - if you don't have a bunch of other messages.

There is the multi execute flag - but it is tricky to use with anything but initgame - may lead to infinite loop if not paired with the matching AND condition -- that should include a reliable timer.

I'm a bit rusty in DOM modding by now.
Hope this makes sense / helps.

Another thing you can do is to negate the condition with the action of the event:

here 2 examples:
<event flags="MultipleExecutions"> <condition type="ValueEquals" id="Population" value="0"/> <actions> <action type="Spawn" entity_type="primitive_human" amount="1" years_old="16" name="Shaman" placement="StartLocationCircular"/> </actions> </event> <event flags="MultipleExecutions"> <condition type="Not"> <sub_condition value="1" type="EntityCountReached" entity_type="fruit"/> </condition> <actions> <action type="Spawn" entity_type="fruit" amount="1" placement="StartLocationCircular" angle="7" radius="17"/> </actions> </event>

If you check for stone you could spawn 1 stone and the event condition would be false - if you check for a exact number of stones.
Sadly we cannot reduce player stock and spawning stuff may lead to trouble if there is no space - but I think it is fun to let boulders appear in peoples inventory :D
see lucky boulder in Trophy hunters, rofl - I had so much fun with that.
Last edited by Schwifty K; Dec 21, 2024 @ 11:42am
Schwifty K  [developer] Dec 21, 2024 @ 11:35am 
Maybe you could count the killed raiders, not sure if it is possible to count the raiders on the map with entity_type = "human_raider" - not sure anymore how they are called - but you can check in your save game file.

ConditionEntityCountComparison
Parameters
Counter: All, PlayerEntities, KilledRaiders, HuntedAnimals, ProducedResources, BuiltStructures, AliveAnimals, DeadAnimals, DeadResidents, PredictedAmount, LockedTechs, ContinuousAmount (default: All)
EntityType: Entity ID
Value: Integer Number (default: MaxInt)
Comparison: Less, LessOrEquals, Equals, GreaterOrEquals, Greater

ConditionEntityCountReached
Parameters
Counter: All, PlayerEntities, KilledRaiders, HuntedAnimals, ProducedResources, BuiltStructures, AliveAnimals, DeadAnimals, DeadResidents, PredictedAmount, LockedTechs, ContinuousAmount (default: All)
EntityType: Entity ID
Value: Integer Number (default: MaxInt)


<event flags="RequiresPrevious">
could also become useful if you want to chain something up.

To debug your conditions you can do something like this:

<event>
<condition type="EntityCountComparison" counter="PredictedAmount" comparison="Equals" value="25" entity_type="muskox"/>
<actions><action type="ShowMessage" title="MUSKOX" text="WE_HAVE_25"/></actions>
</event>
Schwifty K  [developer] Dec 21, 2024 @ 11:36am 
Schwifty K  [developer] Dec 21, 2024 @ 11:39am 
Had another look - pretty sure we cannot count the raiders on the map.
BTW. If you have not already - feel free to drag your qustion into the workshop / modding discussions of the game.
Narn Dec 21, 2024 @ 1:56pm 
I have been looking through some of the optional code we have access to. I read through your posts and some good ideas there. It made me think of a few ideas that may work. One thing I need to know also is how to delay a response in an event. So say we have 5 stone and I have a message pop up. Is there any way to delay that message and the subsequent action as well? For example you have 5 stone and a year later you get a message you will be raided soon.

The reason I ask is that this delayed timer technique might work with a few ideas I have. One being we could use Goals which are hidden to the player. I have not tested it but there appears to be a clear goal function in the code. I don't know if that clears out the goal, or marks it as not completed and need to be done again. The other idea I got from reading your posts is what if we use the rot timer on foods as a way to trigger events. We could set it up where we modify a very small corner of the map to be inaccessible via river circle. This would prevent the villagers trying to get the foodstuffs. It would be in the corner of the map and very small. Maybe 4 to 8 squares large, something the player can ignore. In it we could place a marker and spawn a fruit. We could set up a condition where when the fruit rots and is not near the marker it spawns another fruit along with some other action we want to affect the player. We could have many rotting foods on this island, each with its own trigger event. What would be nice if we could create a delay spawn and reaction so we can set the times between events. Along with this idea we could spawn a dog and a wolf or raider in this same island and create events based on who wins the battle or dies.

All of this of course requires me to know a bit more about what some of this code allows us to do. For example the Goal code may or may not re-trigger. I would need to do some testing to figure it out.
Schwifty K  [developer] Dec 21, 2024 @ 2:32pm 
heay, yeah, could work, something like that:

<event>
<condition type="ValueEquals" />
<actions>
set goal here
</actions>
</event>

<event flags="RequiresPrevious">
<condition type="TimeElapsed" timer="GoalsCompletedTime" value="10" />


<actions>
raiders here?
</actions>
</event>


maybe benefiting from the possibility to give them specific id.

Check out how the tutorial / the great march are done in the builtin.
Good Luck testing and tinkering!
Narn Dec 21, 2024 @ 2:42pm 
I was testing during your message. This is what I have so far:


<event>
<condition type="And">
<sub_conditions>
<condition type="EntityCountReached" counter="ProducedResources" entity_type="stone" value="2"/>
</sub_conditions>
</condition>
<actions>
<action type="ShowMessage" title="n_youdidit_title" text="n_youdidit_description"/>
</actions>
</event>


<event>
<condition type="And">
<sub_conditions>
<condition type="EntityCountComparison" entity_type="stone" value="3" comparison="GreaterOrEquals"/>
<condition type="TimeElapsed" timer="MessageTime" value="10"/>
</sub_conditions>
</condition>
<actions>
<action type="ShowMessage" title="n_youdidit_title" text="n_youdidit2_description"/>
</actions>
</event>

<event flags="RequiresPrevious">
<condition type="TimeElapsed" timer="EventTriggeredTime" value="20"/>
<actions>
<action type="ShowMessage" title="n_youdidit2_title" text="n_youdidit2_description"/>
<action type="SetRaider" era="Paleolithic" entity_types="wolf cave_lion cave_hyena" grace_period="0.0y" mins="1 1 1" maxes="2 1 2" period="0.1y" variance="0.0y"/>
</actions>
</event>
Narn Dec 21, 2024 @ 2:44pm 
The problem is that it is still not independent and requires me to write a line of code for each event. I am hoping to make something more cyclical with more testing.
Schwifty K  [developer] Dec 22, 2024 @ 2:02am 
How about using a animal that cannot be hunted like the birds?

<!-- This gets run once, when the game is first started --> <event> <condition type="NewGame"/> <actions> <action type="SetAnimalPopulation" animal_type="eagle" min="0" max="0"/> ..... <event flags="MultipleExecutions"> <condition type="And"> <sub_conditions> <condition type="EntityCountComparison" counter="AliveAnimals" comparison="Equals" value="0" entity_type="eagle"/> <condition type="EntityCountReached" entity_type="stone" value="1"/> </sub_conditions> </condition> <actions> <action type="ShowMessage" title="1_stone_in_stock" text="WARNING-WE_HAVE_1_STONE_STOP_NOW"/> <!-- WE NEED TO ADAPT THE LIMITS TO THE CURRENT VALUE ELSE ENTITY MANAGER WILL REMOVE EAGLE?! --> <action type="Spawn" entity_type="eagle" amount="1" placement="Position" position="250,250" angle="5" radius="15"/> <action type="SetAnimalPopulation" animal_type="eagle" min="1" max="1"/> </actions> </event> <event flags="MultipleExecutions"> <condition type="And"> <sub_conditions> <condition type="EntityCountComparison" counter="PredictedAmount" comparison="Equals" value="2" entity_type="eagle"/> <condition type="EntityCountComparison" entity_type="stone" value="2" comparison="GreaterOrEquals"/> </sub_conditions> </condition> <actions> <action type="ShowMessage" title="2_stone_in_stock" text="WARNING-WE_HAVE_2_STONE_THIS_WILL_BE_BAD"/> <!-- We could already trigger a raider attack here and set the eagles back to 0 - raiders need a while to arrive AND need to be at least 2 !!! --> <action type="TriggerRaiderAttack" amount="2"/> <!-- Spawn another eagle to prevent infinite loop--> <action type="Spawn" entity_type="eagle" amount="1" placement="Position" position="250,250" angle="5" radius="15"/> <action type="SetAnimalPopulation" animal_type="eagle" min="0" max="0"/> <action type="SetTimeOfYear" value="0.7"/> </actions> </event>
Last edited by Schwifty K; Dec 22, 2024 @ 3:26am
Schwifty K  [developer] Dec 22, 2024 @ 3:20am 
Worked one time, no clue if it is repeatable, at some point the fauna manager should set the eagles back to 0 and start the first event again. Good Luck testing!
Schwifty K  [developer] Dec 22, 2024 @ 3:39am 
Tried a few times with small changes, did not work, maybe related to SetTImeOfYear, maybe one really has to wait patiently.

Not sure. to lazy to check eagle amount in the savegame. Done for today. hope this helps and you come forward.

<event flags="MultipleExecutions"> <condition type="And"> <sub_conditions> <condition type="EntityCountComparison" counter="AliveAnimals" comparison="Equals" value="0" entity_type="eagle"/> <condition type="EntityCountComparison" entity_type="stone" value="1" comparison="GreaterOrEquals"/> </sub_conditions> </condition> <actions> <action type="ShowMessage" title="1_stone_in_stock" text="WARNING-WE_HAVE_1_STONE_STOP_NOW"/> <!-- WE NEED TO ADAPT THE LIMITS TO THE CURRENT VALUE ELSE ENTITY MANAGER WILL REMOVE EAGLE?! --> <action type="Spawn" entity_type="eagle" amount="1"/> <action type="SetAnimalPopulation" animal_type="eagle" min="1" max="1"/> </actions> </event> <event flags="MultipleExecutions"> <condition type="And"> <sub_conditions> <condition type="EntityCountComparison" counter="PredictedAmount" comparison="Equals" value="2" entity_type="eagle"/> <condition type="EntityCountComparison" entity_type="stone" value="2" comparison="GreaterOrEquals"/> </sub_conditions> </condition> <actions> <action type="ShowMessage" title="2_stone_in_stock" text="WARNING-WE_HAVE_2_STONE_THIS_WILL_BE_BAD"/> <!-- We could already trigger a raider attack here and set the eagles back to 0 - raiders need a while to arrive AND need to be at least 2 !!! --> <action type="TriggerRaiderAttack" amount="2"/> <!-- Spawn another eagle to prevent infinite loop--> <action type="Spawn" entity_type="eagle" amount="1"/> <action type="SetAnimalPopulation" animal_type="eagle" min="0" max="0"/> <action type="SetTimeOfYear" value="0.7"/> </actions> </event>
Narn Dec 27, 2024 @ 1:04am 
I figured out how to do it and have been refining it for the last few days. I have a good system going but I also need some other help.

I am setting up a tutorial and I would like to spawn in some Terrain Entities but I dont know if the game lets you spawn them in during play. I cannot find commands. I also would like to set markers to Terrain Entities but again the game wont let me without the proper commands. I dont have some reference material. It seems like you can set markers with:

<action type="SetLocationMarker" marker_type="NearestMinable"

However it seems to crash the game because it is missing a reference.

I am also wondering if you can help me track down the tutorial.scn.xml file. It seems it used to exist and I would like to examine it.
Last edited by Narn; Dec 27, 2024 @ 1:06am
Schwifty K  [developer] Dec 27, 2024 @ 2:16am 
Hey, cool!
Minerals and Trees will be generated acording to the environment file.
Spawning Trees or Minerals during gameplay is not a thing afaik.
Messing with the env usually kills savegames - issues with moved trees and whatnot.

Either there is no Mineable or you need to further specify which kind of ressource, nor sure, but should be in the scenario files for the ingame tutorial.

on this page are links:
https://steamcommunity.com/app/858810/discussions/1/1840188800786675958/

Builtin Scenarios[madrugaworks.com]
Builtin Environments[madrugaworks.com]

Should be within the builtin scenarios
Narn Dec 27, 2024 @ 9:08am 
Originally posted by Schwifty K:
Hey, cool!
Minerals and Trees will be generated acording to the environment file.
Spawning Trees or Minerals during gameplay is not a thing afaik.
Messing with the env usually kills savegames - issues with moved trees and whatnot.

Either there is no Mineable or you need to further specify which kind of ressource, nor sure, but should be in the scenario files for the ingame tutorial.

on this page are links:
https://steamcommunity.com/app/858810/discussions/1/1840188800786675958/

Builtin Scenarios[madrugaworks.com]
Builtin Environments[madrugaworks.com]

Should be within the builtin scenarios

I checked all the resources provided a few days ago but I did not find any information on the names of resources like Mineables. The download files do not contain the Tutorial scenario.
Last edited by Narn; Dec 27, 2024 @ 9:09am
Schwifty K  [developer] Dec 28, 2024 @ 12:11am 
<?xml version="1.0" encoding="utf-8"?> <scenario> <hardcore_mode_allowed value="false"/> <category value="Challenge"/> <size value="4"/> <starting_conditions season_id="Summer"/> <locations> <location id="riverside1" seed="8833647" environment="eurasia_warm"/> </locations> <!-- Goals --> <goals> <goal id="tutorial_move_camera"> <condition type="ValueReached" id="CameraDistanceMoved" value="10"/> </goal> <goal id="tutorial_rotate_camera"> <condition type="ValueReached" id="CameraAngleRotated" value="30"/> </goal> <goal id="tutorial_fish"> <condition type="AnyTasksActive" task_type="Fish" value="1"/> </goal> <goal id="tutorial_gather_sticks"> <condition type="AnyTasksActive" task_type="GatherDetail"/> </goal> <goal id="tutorial_gather_flint"> <condition type="AnyTasksActive" task_type="GatherProp"/> </goal> <goal id="tutorial_wait_for_fish_and_gather"> <condition type="And"> <sub_conditions> <condition type="EntityCountReached" entity_type="raw_fish" value="1"/> <condition type="EntityCountReached" entity_type="flint" value="1"/> <condition type="EntityCountReached" entity_type="sticks" value="1"/> </sub_conditions> </condition> </goal> <goal id="tutorial_sticks_work_area"> <condition type="AnyWorkAreasActive" work_area_id="gather_sticks" max_workers="1"/> </goal> <goal id="tutorial_flint_work_area"> <condition type="AnyWorkAreasActive" work_area_id="obtain_flint" max_workers="1"/> </goal> <goal id="tutorial_berries_work_area"> <condition type="AnyWorkAreasActive" work_area_id="collect_and_harvest" max_workers="1"/> </goal> <goal id="tutorial_fish_work_area"> <condition type="AnyWorkAreasActive" work_area_id="fish" max_workers="1"/> </goal> <goal id="tutorial_sticks_work_area_set_workers"> <condition type="AnyWorkAreasActive" work_area_id="gather_sticks" max_workers="3"/> </goal> <goal id="tutorial_flint_work_area_set_workers"> <condition type="AnyWorkAreasActive" work_area_id="obtain_flint" max_workers="2"/> </goal> <goal id="tutorial_wait_for_fish_and_gather2"> <condition type="And"> <sub_conditions> <condition type="EntityCountReached" entity_type="flint" value="3"/> <condition type="EntityCountReached" entity_type="sticks" value="3"/> </sub_conditions> </condition> </goal> <goal id="tutorial_place_crafter"> <condition type="EntityCountReached" entity_type="crafter" value="1"/> </goal> <goal id="tutorial_build_crafter"> <condition type="EntityCountReached" counter="BuiltStructures" entity_type="crafter" value="1"/> </goal> <goal id="tutorial_craft_bifaces"> <condition type="EntityCountReached" counter="PredictedAmount" entity_type="biface" value="3"/> </goal> <goal id="tutorial_craft_wooden_spears"> <condition type="EntityCountReached" counter="PredictedAmount" entity_type="wooden_spear" value="3"/> </goal> <goal id="tutorial_wait_tools"> <condition type="And"> <sub_conditions> <condition type="EntityCountReached" entity_type="biface" value="3"/> <condition type="EntityCountReached" entity_type="wooden_spear" value="3"/> </sub_conditions> </condition> </goal> <goal id="tutorial_primal_vision"> <condition type="TimeElapsed" timer="PrimalVisionTime" value="2"/> </goal> <goal id="tutorial_hunt"> <condition type="AnyTasksActive" task_type="Hunt"/> </goal> <goal id="tutorial_primal_vision_out"> <condition type="Not"> <sub_condition type="TimeElapsed" timer="PrimalVisionTime" value="2"/> </condition> </goal> <goal id="tutorial_hunt_wait"> <condition type="AnyTasksActive" task_type="Butcher"/> </goal> <goal id="tutorial_micro_hunt"> <condition type="AnyTasksActive" task_type="Hunt" min_performers="2"/> </goal> <goal id="tutorial_place_skins_dryers"> <condition type="EntityCountReached" entity_type="skins_dryer" value="2"/> </goal> <goal id="tutorial_wait_skins"> <condition type="EntityCountReached" entity_type="dry_skin" value="2"/> </goal> <goal id="tutorial_research_food_drying"> <condition type="EntityCountReached" entity_type="food_drying" value="1"/> </goal> <goal id="tutorial_place_food_dryer"> <condition type="EntityCountReached" entity_type="food_dryer" value="1"/> </goal> <goal id="tutorial_place_storage_tent"> <condition type="EntityCountReached" entity_type="storage_tent" value="1"/> </goal> <goal id="tutorial_wait_food_drying"> <condition type="And"> <sub_conditions> <condition type="EntityCountReached" entity_type="dry_fish" value="1"/> <condition type="EntityCountReached" entity_type="cured_meat" value="1"/> </sub_conditions> </condition> </goal> <goal id="tutorial_continuous_production_bifaces"> <condition type="EntityCountReached" counter="ContinuousAmount" entity_type="recipe_biface" value="1"/> </goal> <goal id="tutorial_continuous_production_wooden_spears"> <condition type="EntityCountReached" counter="ContinuousAmount" entity_type="recipe_wooden_spear" value="1"/> </goal> <goal id="tutorial_continuous_production_wooden_harpoons"> <condition type="EntityCountReached" counter="ContinuousAmount" entity_type="recipe_wooden_harpoon" value="1"/> </goal> <goal id="tutorial_place_tents"> <condition type="EntityCountReached" entity_type="tent" value="4"/> </goal> <goal id="tutorial_wait_tents"> <condition type="EntityCountReached" counter="BuiltStructures" entity_type="tent" value="4"/> </goal> </goals> <events> <!-- This gets run once, when the game is first started --> <event> <condition type="NewGame"/> <actions> <action type="ClearTrees" radius="40"/> <!-- Spawn initial entities --> <action type="Spawn" entity_type="hearth" amount="1" placement="StartLocationCircular" radius="0" /> <action type="Spawn" entity_type="tent" amount="2" placement="StartLocationCircular" radius="10" /> <action type="Spawn" entity_type="rock_pile" amount="1" placement="StartLocationCircular" radius="12" angle="70" /> <action type="Spawn" entity_type="wood_pile" amount="1" placement="StartLocationCircular" radius="12" angle="70" /> <action type="Spawn" entity_type="primitive_human" amount="2" placement="StartLocationCircular" angle="51" radius="2" age="Adult" gender="Male"/> <action type="Spawn" entity_type="primitive_human" amount="2" placement="StartLocationCircular" angle="51" radius="2" age="Adult" gender="Female"/> <action type="Spawn" entity_type="primitive_human" amount="1" placement="StartLocationCircular" angle="51" radius="2" age="Young" gender="Male"/> <action type="Spawn" entity_type="primitive_human" amount="1" placement="StartLocationCircular" angle="51" radius="2" age="Old" gender="Male"/> <action type="Spawn" entity_type="primitive_human" amount="1" placement="StartLocationCircular" angle="51" radius="2" age="Young" gender="Female"/> <action type="Spawn" entity_type="cured_meat" amount="10" placement="Storage"/> <action type="Spawn" entity_type="dry_skin" amount="2" placement="Storage"/> <action type="Spawn" entity_type="skins_outfit" amount="7" placement="Human"/> <action type="Spawn" entity_type="leather_outfit" amount="7" placement="Storage"/> <action type="Spawn" entity_type="wooden_harpoon" amount="2" placement="Human"/> </actions> </event> <!-- This gets run every time the game is started or loaded, to allow for easy iteration --> <event flags="MultipleExecutions"> <condition type="InitGame"/> <actions> <!-- Set animal populations, these will get spawned automatically --> <action type="SetAnimalPopulation" animal_types="vulture dove eagle" min="7" max="12"/> <action type="SetAnimalPopulation" animal_types="ibex mouflon boar wild_horse wild_donkey" min="20" max="35"/> <action type="SetAnimalPopulation" animal_type="reindeer" min="30" max="50"/> <action type="SetAnimalPopulation" animal_type="ancient_bison" min="20" max="25"/> <action type="SetAnimalPopulation" animal_type="aurochs" min="25" max="30"/> <action type="SetAnimalPopulation" animal_type="megaloceros" min="15" max="30"/> <action type="SetAnimalPopulation" animal_type="mammoth" min="10" max="15"/> <action type="SetAnimalPopulation" animal_type="woolly_rhinoceros" min="10" max="15"/> <action type="SetFeatureEnabled" feature="Warnings" value="false"/> <action type="SetGameplayFlags" flags="OneShotHunt"/> <!-- Lock UI --> <action type="SetUiLocked" lock_flags="BuildMenu,WorkAreas,ContextActions,CraftRecipes,Techs,Management,PrimalVision"/> </actions> </event> <!-- Welcome --> <event id="welcome"> <condition type="TimeElapsed" timer="MessageTime" value="5"/> <actions> <action type="ShowMessage" title="tutorial_welcome_title" text="tutorial_welcome"/> </actions> </event> <!-- Camera controls --> <event id="camera_controls" flags="RequiresPrevious,ClearUi"> <condition type="TimeElapsed" timer="MessageTime" value="2"/> <actions> <action type="ShowMessage" title="tutorial_camera_controls_title" text="tutorial_camera_controls"/> <action type="SetGoal" id="tutorial_move_camera"/> <action type="SetGoal" id="tutorial_rotate_camera"/> </actions> </event> <event id="camera_controls_done" flags="RequiresPrevious,ClearUi"> <condition type="TimeElapsed" timer="GoalsCompletedTime" value="2"/> <actions> <action type="ShowMessage" title="tutorial_well_done" text="tutorial_camera_controls_done"/> </actions> </event> <!-- Fish --> <event id="fish" flags="RequiresPrevious,ClearUi"> <condition type="TimeElapsed" timer="MessageTime" value="2"/> <actions> <action type="ShowMessage" title="tutorial_fish_title" text="tutorial_fish"/> <action type="SetGoal" id="tutorial_fish"/> <action type="SetLocationMarker" marker_type="NearestBank" required_goal="tutorial_fish"/> <action type="SetUiMarker" marker_type="ContextAction" context_action="Fish" required_goal="tutorial_fish"/> <action type="FocusCamera" location="LastMarker"/> </actions> </event> <event id="fish_done" flags="RequiresPrevious,ClearUi"> <condition type="TimeElapsed" timer="GoalsCompletedTime" value="2"/> <actions> <action type="ShowMessage" title="tutorial_well_done" text="tutorial_fish_done"/> </actions> </event> <!-- Gather --> <event id="gather" flags="RequiresPrevious,ClearUi"> <condition type="TimeElapsed" timer="MessageTime" value="2"/> <actions> <action type="ShowMessage" title="tutorial_gather_title" text="tutorial_gather"/> <action type="SetGoal" id="tutorial_gather_sticks"/> <action type="SetGoal" id="tutorial_gather_flint"/> <action type="SetLocationMarker" marker_type="NearestDetail" entity_type="sticks" required_goal="tutorial_gather_sticks"/> <action type="SetLocationMarker" marker_type="NearestMinable" entity_type="flint" required_goal="tutorial_gather_flint" ref_position="NearestMarker"/> <action type="SetUiMarker" marker_type="ContextAction" context_action="GatherDetail" required_goal="tutorial_gather_sticks"/> <action type="SetUiMarker" marker_type="ContextAction" context_action="GatherProp" required_goal="tutorial_gather_flint"/> <action type="FocusCamera" location="MarkerAverage" distance="35"/> </actions> </event>
Last edited by Schwifty K; Dec 28, 2024 @ 12:11am
< >
Showing 1-15 of 20 comments
Per page: 1530 50