Added contribution guides for dynamic spawns, spawners and patrols

This commit is contained in:
UNDERCOVA\peter
2025-01-08 23:25:32 +01:00
parent fab6a2f878
commit 2c3dc1d758
3 changed files with 231 additions and 0 deletions

View File

@@ -0,0 +1,59 @@
=====================================================================================================
IMPORTANT NOTES
=====================================================================================================
- For better readability it is best to use Google Sheets or Excel Tables to work on the data.
- The existing dynamic spawns (groups) give you a good idea/hint how it works
- Dynamic spawns get stored in
serverdata/spawn/dynamic/dynamic_spawns.sdb
- All changes to the database require a server reboot to take effect
=====================================================================================================
STEP 1: Set up
=====================================================================================================
- Open the NPC database
serverdata/npc/npc_1.sdb creatures
serverdata/npc/npc_2.sdb creatures / droids
serverdata/npc/npc_3.sdb humanoid
serverdata/npc/npc_4.sdb humanoid
serverdata/npc/npc_5.sdb humanoid
- Pick a set of NPCs you want to "merge" into a new dynamic spawn group
- Optional: Copy/paste the selected npc_ids into a txt file
=====================================================================================================
STEP 2: Create a dynamic spawn group
=====================================================================================================
- Create a new line in the table
serverdata/spawn/dynamic/dynamic_spawns.sdb
- "dynamic_id": choose a name for it. Avoid using existing dynamic_id names!
- "lair_id": pick a lair
serverdata/spawn/dynamic/dynamic_lairs.sdb
- "type": npc or creature
- "attackable": ATTACKABLE or AGGRESSIVE
- "planets": enter all the planets where they should spawn in. Be sure to use a semicolon for more than 1 planet ! Kashyyyk is not allowed !
- "npc_boss": 1 BOSS NPC will be spawned in
- "npc_elite": 1 ELITE NPC will be spawned in
- "npc_normal_1 to _9": These NPCs will have normal healthbar and stats.
=====================================================================================================
STEP 3: Testing ingame
=====================================================================================================
- You have to reboot the server to see the changes ingame
- Depending on the terrain you assigned to the dynamic spawn group it can take some time until they randomly show up near you.
- Planets like Tatooine or Corellia have a lot of assigned groups. Moons or smaller planets work much better.
For questions or assistance please contact Undercova in Discord!

View File

@@ -0,0 +1,100 @@
=====================================================================================================
IMPORTANT NOTES
=====================================================================================================
- For better readability it is best to use Google Sheets or Excel Tables to work on the data.
- Try to work out your route you want to create. Think in straight lines!
- Do you want to create a FLIP (1,2,3,4,5,4,3,2,1) or LOOP (1,2,3,4,5,1,2,3,4,5) route ?
- The existing patrol files give you a good idea/hint how it works
- Patrols get stored in 2 places
Main patrol spawner /spawn/city/city_tatooine_mos_eisley.sdb
Patrol waypoints /serverdata/patrol/patrol_tatooine.sdb
- Be sure to change the commas to dots in the coordinates!!
- All spawners and waypoints you place with the commands get deleted with a server reboot. They are just a visual aid to show where you have placed new patrol spawners and waypoints
=====================================================================================================
STEP 1: Set up
=====================================================================================================
- Boot up the local server
- Enter god mode
Command /setg
=====================================================================================================
STEP 2: Collect data
=====================================================================================================
- Place the main patrol spawner (black)
Command /createstaticelement PATROL COMMENT
COMMENT: 1 word to add to easily recognize your entry in log later on
Holocore will write following data into /log/spawners.txt
TATOOINE tat_world PATROL 0 3214,1 5,0 -4868,8 168 COMMENT
- Walk to the first/next waypoint (red) you want to add
Command /createstaticelement WAYPOINT
Holocore will write following data into /log/spawners.txt
TATOOINE tat_world WAYPOINT 0 3214,1 5,0 -4868,8 168
- Repeat this until you are done with the patrol route
- Open the txt file and copy the content
=====================================================================================================
STEP 3: Transfer data into patrol database
=====================================================================================================
- Open the patrol file for the terrain
Folder /serverdata/patrol/patrol_tatooine.sdb
- Paste the content into new lines.
Adjust the data
Replace the comma (,) in the coordinates with a dot (.) or Holocore will throw errors during bootup
Check the existing patrol entries if you need ideas/examples
The value 168 in the example above is originally the direction the player was facing to. In the patrol service we do not need this.
Be sure to set that value to 0 if the NPC should be walking all the time because it is auto put into the pause column.
- patrol_id is the ID we use for the assignment to the NPC later on (Step 4). The coordinates should be the same we use for the main spawner too.
- patrol_group shows a group of waypoints. Increase the value in steps of hundreds
- patrol_type has to be FLIP or LOOP !
- The first entry in your route is the main spawner.
- This main spawner has to be put into the static spawner sdb too!
=====================================================================================================
STEP 4: Assign patrol route to NPC
=====================================================================================================
- Open the static spawn file in /serverdata/spawn/ subfolder you want to add it. For Mos Eisley it is /spawn/city/city_tatooine_mos_eisley.sdb
- If you want to assign the route to an existing NPC
Change the values as recommended
Spawn: PATROL
Behaviour: PATROL
Patrol_id: patrol_tatooine_5700
Patrol_formation: column / wedge / line / box
Mood: idle
- If you want to assign the route to a new NPC
Create a new line for a new NPC
Change values as above shown or needed
=====================================================================================================
STEP 5: Check data and values
=====================================================================================================
- Remember to replace the comma (,) in the coordinates with a dot (.) or Holocore will throw errors during bootup !!!
- Are the coordinates realistic and correct ?
- Is the pause set to 0 ? 10-60 seconds pause in front of a terminal, crafting station or door are always a good choice :)
- Try to keep the distances between the waypoints relatively short to avoid clipping NPCs !
- Does the NPC spawning database have the correct patrol route set ?
- You have to reboot the server to see the changes ingame
- Wrong values in the NPC spawner or patrol database can result in an abort of spawner loading. Check the console log. It should print out the ID of the spawner or patrol that causes the problem
- You can use the following command to teleport straight to that/any spawner/waypoint
Command /goto patrol patrol_tatooine_5700
For questions or assistance please contact Undercova in Discord!

View File

@@ -0,0 +1,72 @@
=====================================================================================================
IMPORTANT NOTES
=====================================================================================================
- For better readability it is best to use Google Sheets or Excel Tables to work on the data.
- The existing spawner database entries give you a good idea/hint how it works
- NPC spawners get stored in
NPC spawner /spawn/city/city_tatooine_mos_eisley.sdb
- Be sure to change the commas to dots in the coordinates!!
- All spawners you place with the commands get deleted with a server reboot. They are just a visual aid to show where you have placed new spawners
=====================================================================================================
STEP 1: Set up
=====================================================================================================
- Boot up the local server
- Enter god mode
Command /setg
=====================================================================================================
STEP 2: Collect data
=====================================================================================================
- Place the spawner (yellow)
Command /createstaticelement AREA COMMENT
COMMENT: 1 word to add to easily recognize your entry in log later on
leave empty if not needed
OR
use it like "conversationArtisan" to define which NPC and what mood he should be in (serverdata/npc/npc_mood.txt)
Holocore will write following data into /log/spawners.txt
TATOOINE tat_world PATROL 0 3214,1 5,0 -4868,8 168 COMMENT
- Repeat this until you are done with the NPC placement
- Open the txt file and copy the content
=====================================================================================================
STEP 3: Transfer data into Spawner database
=====================================================================================================
- Open the spawner file for the terrain/area
Folder serverdata/spawn/city/city_tatooine_mos_eisley.sdb
- Paste the content into new lines.
Adjust the data
Replace the comma (,) in the coordinates with a dot (.) or Holocore will throw errors during bootup
Check the existing spawner entries if you need ideas/examples
The value 168 in the example above is the direction the player was facing to.
- "attackable" defines if the NPC is INVULNERABLE (grey), ATTACKABLE (yellow) or AGGRESSIVE (red)
- "difficulty": N(ormal), E(lite), B(oss)
- "behaviour": IDLE (static), TURN (static and random rotating), LOITER (moves in radius around spawner)
- "respawn": seconds => 600 = 10 minutes
=====================================================================================================
STEP 4: Check data and values
=====================================================================================================
- Remember to replace the comma (,) in the coordinates with a dot (.) or Holocore will throw errors during bootup !!!
- Are the coordinates realistic and correct ?
- You have to reboot the server to see the changes ingame
- Wrong values in the NPC spawner database can result in an abort of spawner loading. Check the console log. It should print out the ID of the specific spawner or column that causes the problem
- You can use the following command to teleport straight to that/any spawner
Command /goto spawn city_tatooine_mos_eisley_195
For questions or assistance please contact Undercova in Discord!