I wrote it all up on the old forums... and so that means it got lost and I have to rewrite it.. Damnit.
--------------------------------------------------------
There are different levels in the spawn system.
Realms, Regions, Groups.
* Realms
Realms are nothing more than a list of regions that belong to them.
* Regions
Regions contain the most data of any of the sets.
1. Coordinates - 4 coordinates to make the region area.
2. Spawn_Wait - How many seconds it waits before starting the engines again.
3. Group_List - A list of spawn groups to use (see groups for more info)
4. Spawn_Data - Stores a list for each group containing a list of what has been spawned.
* Groups
1. Object list - Can be item names, object types, or npc templates.
2. Engine type - When a region is spawning a group, it starts up an engine script that controls the acutal spawning.
Spawner Explanation
There is still a long way to go by the looks of it. But it didn't take long for me to see how it was going to work. The style is easily followed with small programs calling numerous functions.
Are you planning to have monster weightings in any of the engines - eg 10 soldiers for every captain in a group? It seems it would take more than an engine to do this, as it would need to be included in the design of the group file.
Are you planning to have monster weightings in any of the engines - eg 10 soldiers for every captain in a group? It seems it would take more than an engine to do this, as it would need to be included in the design of the group file.
Hmm I could add config entries to an engine for custom entries...
When you add a group to a region, you get a (>) button to go to its panel and set them up. Pass them along with the realm, region and group name to the engine when its started.
Pass it as a dictionary like..
settings[entryname]=value
something like
When you add a group to a region, you get a (>) button to go to its panel and set them up. Pass them along with the realm, region and group name to the engine when its started.
Pass it as a dictionary like..
settings[entryname]=value
something like
Code: Select all
CfgElem CustomEntries
{
Setting EntryName TextEntryWidth
Setting EntryName TextEntryWidth
}