This system involves 8 scripts (9 with readme) and will spawn creatures, placeables, traps, and items with many different options.
I know there are plenty of spawn systems out there, but they didn't have the options I wanted.
You can set a level range for creatures.
You can set a range of number to spawn, from one waypoint.
You can create items on creatures, they will equip them if they can.
You can set the creatures to spawn at the waypoint, in a range around the waypoint, area wide, or set up a range around the waypoint that they can not spawn.
You can change the stats of the creatures; HP, Ability Scores, etc.
You can designate an area to hold many different types of creatures, and set a single waypoint to create creatures from that area. (varied group spawns)
there are many options.
Check it out.
Fairly simple to use. Just a matter of importing the scripts, placing the area and module scripts in the correct locations (see readme), and place waypoints. Then for your options, set the waypoint variables.
Most options can be left at defaults if you wish to just spawn 1 object, but you will have to set the name of the waypoint to the resref of the object or the tag of the area that holds the objects.
There is also a demo module.
Enjoy.
The forum link has been added, however, you can post here and I will answer here as well.
Version 1.1
Added a PC level adjustment to the Creatures levels. (creatures will spawn closer to the PC's levels, if within range.)
Added a null apearance creature with no scripts or items for verifying the random locations.
Version 1.2:
added ability to spawn within a min to max distance from waypoints
added ability to spawn multiple placeables from one waypoint
Version 1.2a
fixed a bug with the placeables not spawning correctly.
Version 1.3
added ability to spawn to certain times of day (Dawn, Day, Dusk, Night)
Version 1.3a
fixed a bug in the level choosing function
fixed ability to override all settings and spawn creatures at defualt HD, even if other settings would have changed it.
Version 1.4
added percentage option for Items to drop
added action option for creatures
(random walk, walkwaypoints, attack nearest PC, do nothing)
Version 1.5
added ability to add variables to creatures/placeables
changed min creatures/placeables spawned from 1 to 0, for chance encounters
Version 1.6
added option for a maximun number of spawns from a waypoint. once this number is reached, the waypoint will be deleted, preventing anymore spawns.
Version 1.6a
fixed a bug that prevented all old spawnpoints and default spawnpoints from spawning due to the spawn limit feature.
Version 1.7
added cleanup options. Set in rs_include. Defaults are: cleans up creatures and placeables spawned by system, as well as any items found.
Version 2.0
added trap and item spawns
fixed several bugs
Version 2.1
added despawn feature as standard.
Fixed placeable spawning some.
Version 2.1.1
Small update to add percentage chance to spawn items on the item spawns.
Already had this option on the item spawns with the creature spawn, but now you can also set up percent chance on all items.
A few notes on custom placeables.
* Scripts are not copied over, if you use custom scripts on your placeables, you will have to still make custom resref blueprints and use that as a base.
* Variables will have to be added using the waypoints, as those can not be copied over either.
*there may be bugs with the CopyPlaceable function, as I can only test so much. Please let me know if something goes crazy.
I have added an optional dm tool to create spawnpoints in game. You must have the system installed to use this tool.
Currently only creature spawns can be added.
Demo module is still on ver. 1.4(working on a new demo module)
Added seperate Readme file.
Added despawn update.
Apparently I forgot to update the readme, when I updated to version 2.
The line in the module load event to execute the initialization of the system has changed.
It was:
ExecuteScript("rs_init_c", OBJECT_SELF);
It should be:
ExecuteScript("rs_init", OBJECT_SELF);
Please make sure you change this in the module load event.
Despawn update to the spawn system. updateing using these files will make it so the time of day spawns will despawn when they are not supposed to spawn.
Rs_include also has switch to enable the creature/placeable/trap/item seperatly.
Please note, this is no longer needed as of version 2.1, however, if there are people still using an earlier version, I will leave this up, so they can use the new feature..
Main import files for system. If you are just updateing to the newest version, or downloading for the first time, this is the only file you need.
If you are updateing from any previous version, then this should work fine.
Please note if updateing from version 1.7 or lower then remove the script "rs_init_c"
Posted by Oznog at 2010-07-25 18:32:49 Voted 9.00 on 07/25/10
An interesting system. Thank you.
Posted by JackTaylor at 2010-07-06 09:05:49 Voted 10.00 on 07/06/10
Thanks for the work that went into this system, and thanks for sharing with the community!
JFK _________________________ My other sword is a +5 Holy Avenger
JFK Swimming Skinmesh Fish Link
JFK Makeshift Weapons Link
Posted by calsailx at 2010-02-14 13:44:27 Voted 10.00 on 02/14/10
About time I voted for your spawn system, been
using it for a while now. After looking a few
different spawn systems this best fit what I was
looking for thanks for sharing it with us! _________________________ TNI01 Usable Beds || TNI02 Useable Beds || TWC03 Usable Beds
Posted by lordofworms at 2010-01-22 05:22:21 Voted 10.00 on 01/07/10
yeah, I know..lay off the post. But this is for anyone else using the system. I have altered the "rs_include" script to allow 'Subgrouping within and Area Vault for creatures. This edit uses no more than (6) waypoints tagged with the AREA TAG first followed by "_#" (without the quotes) (where # = 1 thru 6)
so if my area where TAGGED "UNDEAD" my waypoints would look like "UNDEAD_2","UNDEAD_2",etc
within you r "rs_include" script look for.
****************************
if(iAreaSpawn) lLoc = RS_GetRandomLocation(oArea, oWP); //get random location out of player sight
if(GetLocalInt(oWP, RS_LEVEL_MAX)!=-2) iLevel = RS_GetLevel(oWP); //get random level based on variables
else iLevel = 0;//overide feature
Lastly, on your RS_CREATURE RESREF Waypoint you must add the following INT variables.
Subgroup_SpawnPoint int = 0
SubGroup_TotalNum int = 0
then just set the # to
Subgroup_SpawnPoint => number of Waypoint Groups your using 1 thru 6 (no higher than 6 per Area)
SubGroup_TotalNum => TOTAL # of creatures grouped for EACH WAYPOINT not for the whole area.
*NOTE: Its best to use the "STONE CIRCLE" placeable found under standard misc. pallette and place the GROUP waypoint in teh middle, any creature within the stone circle has a chance of being spawned (you could add creatures outside of the stone circle but it grabs by distance closest to waypoint so you dont want to have them too distant from it otherwise it might not 'pick' that one.
remember to REBUILD your module scripts before testing.
Posted by lordofworms at 2010-01-15 07:53:47 Voted 10.00 on 01/07/10
Ok I spent almost 12 hours tracking this bug down. and let me tell you was it a royal pain in the a$$.
but for all you having similar problems.
case of problem.
your single creature spawning works in some areas and not in others. if you make an copy a WP from an area that works and place it in the area that doesn't ,guess what it still doesn't work. even if onenter scripts and etc are identical between the two different areas.
what I found out.
check the resref of your 'problem' area
I noticed that the areas that were not spawning had identical resrefs between them. so the ones that worked I had labeled like "wrm_areawild" ,"wrm_areawild2",etc
the ones that didnt work> those were the ones with resrefs like "area001","area001","area001"
for some reason i had several of the same area resrefs for diff. areas, tags and names and visuals were all diff. yet they claimed the same resref.
Solution
CreateCopy of area having problems by rightclicking area in leftpane toolbar. create a unique resref name. delete old offending one. voila.
fixed all my areas now without any more random spawns.
I have NO idea if your script checks resrefs of areas for spawning? (havent checked and now its fixed I dont really need to) or if it is just a lazy bug in the engine. regardless.
there you all go, and thank you again for such a powerful yet easy to use spawn system.
Posted by lordofworms at 2010-01-14 16:10:34 Voted 10.00 on 01/07/10
I to am having some strange issues at times with certain areas.
so far I absolutely love this system, but for randomly odd and for no reason certain areas just don't spawn no matter how or what I set my WP variables too, whether area spawn or single creature.resref. if I go to another area using the exact same Onarea enter scripts, the spawns work.
would you have any idea what could be causing this? I thought maybe the rs_init wasn't finishing or whatever but if that were the case wouldnt it not spawn anything?
I have delayed the mod load command for this, I have delayed everything else, I have removed everything bur rs_init from my on module load...and its always the same areas it seems? is their a limit on how many WPs we can have in a MOD?
thanks for any info you have that could help me track this issue down.
Posted by AmanShadar at 2010-01-14 08:14:58 Voted 9.00
Some creatures don't de-level, or level up like normal. That is a NWN issue, as the level up function uses the henchmen level up. So if there is no default level up package, then it sometimes causes weird things to happen.
I have heard if you manually put a level of a class on a creature, then it works much better.
For instance, modify the creature in the spawn area and 1 level of fighter, or warrior(npc fighter), or any other class, and it might help with that. _________________________
AmanShadar's Spawn System (Creatures, Placeables, Items, and Traps) AmanShadar's Death System AmanShadar's Ship System Critter Info Module
AmanShadar, thanks. I will take a look at the timing issue. The info about the area with the NWN creatures already placed, a little too late, but I will remember that. I didn't that about the factions, and I spent all that time placing and then changing the factions off all creatures. Took awhile. :( I have tried turning the level function of the spawn points to random the monsters from level 1-40(which I want it to do this time), I am not sure if it is working like I want or not though. _________________________ "Knowledge knows no bounds! But hindsight might wish that there had been some!"
Posted by AmanShadar at 2010-01-13 10:02:47 Voted 9.00
If you set all the creatures in an area you don't need to set their factions to be friendly unless you go into that area in game. If no one enters the area, the monsters should just stand there doing nothing.
I have several area that have opposing faction creatures that work fine as long as PC's stay out of them.
Also, the script being run sometimes, and not others is a timing issue. Unfortuneately it varies on different machines and modules.
In the rs_include script, if you hunt down the creature spawn funtion, it will have a line that fires the script, mess with the delay on that till you come up with a working time.
I am using this system in a module, and am having 9 spawn points in an area that spawn different monsters. I have all 9 set to run a script that changes the factions of the monsters they spawn. Sometimes the script is run, sometimes it isn't. It appears to be random to me. Is this a funtion(or problem) with the spawn system? _________________________ "Knowledge knows no bounds! But hindsight might wish that there had been some!"
I don't want to have to put a copy of all creatures into one area(fixing their factions so they like each other) and spawn from that area. _________________________ "Knowledge knows no bounds! But hindsight might wish that there had been some!"
I decided to try this for a module. Is there anyway to have it spawn a random monster/NPC(from the entire list of default monsters/NPCs)?
I want a waypoint that randomly picks a monster/NPC in the entire game and spawn it within a range of levels near the PC(which I think it already can do). _________________________ "Knowledge knows no bounds! But hindsight might wish that there had been some!"
Posted by lordofworms at 2010-01-07 04:46:25 Voted 10.00 on 01/07/10
Posted by Alaster Wolf at 2010-01-03 07:02:03 Voted 9.00 on 01/03/10
I have some more info on the issue. It happens for the "Lightshaft, Blue" (resref "x3_plc_slightb") and is not an issue with most other placeables. I have resolved it by creating my copy in the palette and with its new resref it worked fine.
Posted by Alaster Wolf at 2010-01-03 06:20:21 Voted 9.00 on 01/03/10
I find this system very usefull, but I have some issues with it. I am using the area spawn for placeables. Instead of spawning the placeables set on the waypoint it copies various objects that I have in my area. I am running NWN HOTU 1.69 and do not have any scripts besides this system.
Posted by psynexus at 2009-05-24 17:12:14 Voted 9.00 on 05/24/09
After days of looking I think I've finally found the best spawn system for my needs - excellent work. However, I have run into a problem during the building of my module; I can't for the life of me get certain creatures to spawn and I don't know why when it works so well in other places. The first problem I had was with the pack leader of a den of wolves. I thought that maybe since it was a custom creature there was a problem with it, so I decided to try spawning the original blueprint instead of my custom to no effect. (I also tried toggling the "boss" tag but I have no idea what that's for).
So I decided to move on and discovered I'm having similar problems in other places and think I've found the root of the problems; any waypoint that isn't set to Area Spawn refuses to spawn anything. In the area outside I couldn't get any wolves to spawn in a single location and I also couldn't get a Zombie Lord to spawn in a specific location in another area. I'll try using an area spawn and just set the area to really small and see if that fixes it, but if there's a known cause for this any help would be greatly appreciated.
Once again, great job with the system - I can't wait to test out some of the other features. :)
Posted by Aral Sirhc at 2009-03-13 04:55:03 Voted 10.00
I have never once used an RS_AREA waypoint, and the system works fine for me without it. All I place down is the RS_CREATURE or RS_TRAP wp's, and it works great :)
Ok, one thing I really *would* like to get a definitive answer on. :-)
Is the RS_AREA waypoint needed in any area where the script is being used, or do you just need the RS_CREATURE, RS_ITEM, etc., waypoints all that are needed? I can't quite tell from looking the scripts over, so hopefully you can clarify that. :-)
Thanks!
Posted by AmanShadar at 2009-02-23 22:54:56 Voted 9.00
Ithink for the level up, the package that the system uses it based on the first level it gets.
I do not think there is an undead package, so that might be why that is not working, but having the fighter be the first does.
As for the clean up script, it does check for pc's while it is cleaning up, and if it finds any, stops cleaning, but the command to destroy the creatures may have already been sent by the time the PC is found again. I think it checks three times to make sure it gets any loot dropped by the departing creatures.
TBH, I havn't played NWN or messed with my system in some time, I will have to go back and look if I can get some time, but that is hard for me now days.
With that said, I am sad to say that the system is pretty much as is due to lack of time to fix anything else with it.
If someone would like to add to it, please do so, but please also give credit where it is due.
Thanks to all the people whom have used this system and are still using it. _________________________
AmanShadar's Spawn System (Creatures, Placeables, Items, and Traps) AmanShadar's Death System AmanShadar's Ship System Critter Info Module
Posted by Aral Sirhc at 2009-02-22 06:36:12 Voted 10.00
dguntner-
I had trouble with the level up as well, and I just tried to replicate the situation you mentioned as a test. Doing it the way you said (first level undead, second lvl fighter) it did not level the skeletons up. However when I made a new skeleton, and made its first lvl a lvl of fighter (I picked race undead, then just made it a lvl one fighter, with no levels of undead class) it leveled up properly. Might give that a shot, and let us know what you find out.