This is a custom spawn system with very low CPU overhead and many powerful features. It does trigger based mob spawns, area on enter NPC spawns, a smart chest respawner, timestamped boss/boss chest spawns, cleanup sweeps, delayed on exit despawns and more. The trigger based spawns can be level based, and all spawns have many options; min/max number of creatures, spawn unseen, apply effects, random walk, spawn seated, camps, gauntlet spawns and more. The package has undergone a major overhaul and can now be used by both scripters and non-scripters.
An update on this package: I've been off the net for a while and haven't touched NWN script for months. I'll be releasing an updated version of this that do a few things better, and i've got a preliminary ver of 6.2 still on my hard drive. This will probably be the last update (barring bug fixes) for some time as i'm no longer doing PW coding. My focus has changed to campaign style NWN, and i'll probably be releasing DM tools geared toward that type of module. I may release a "lite" version of TBSP for that as well (just area transitions). Anyhow, expect to see something in here in about a month or so. For SoU users 6.1 is pretty much final as the changes are mostly using variables stored on the waypoints. (Does *anyone* use this with SoU?) I'll keep the 6.1 SoU zip (text files of the scripts) in the package, but 6.2 will be an HotU update. I'll re-brand the package requirements as HotU only when i do this.
Posted by Balkur at 2004-04-0914:29:00
The erf and the demo are HotU. My toolset is HotU and i can't do anything about that. This does work with SoU. There's a SoU zip inside the package that contains all the scripts and some documentation. If you don't know how to add scripts, then yes this will be somewhat problematic for you. You'd need to install Lucullo's and Knat's packages using their erfs as well. The links to those packages are in the docs. *sigh* i guess i was expecting too much leaving in support for SoU. Next release i'll mark it as HotU and remove the SoU zip from the package. Its less work for me that way and one less thing i need to worry about.
Posted by >. at 2004-04-0913:43:00
This is HOTU version. Imagine my dissapointment when trying to install this and getting the : You are missing expansion 2. Please folks try to Write it when its hotu instead of ppl like me downloading hundreds of packages and finding out they are hotu when the desc said eather : works on all versions : or : SOU!
Posted by Balkur at 2004-04-0606:25:00
Hi Phil, Thanks very much... and i'm glad its working well for you :) Right now there's no flag for spawn n times and then stop, but thats simple to add. I'll add it to 6.2, but if you need it fast shoot me an email and i'll send you a replacement script for spn_trigger_oe. I've not started the wandering monsters code yet, it'll probably be a couple weeks before i'm at that stage. What i'm planning seems easier to code than explain but i'll try. An example will probably be best. Lets say you've set up an area thats a level 10ish area 16x16 or so, and you've got some camps spawning in and a few mob spawns based on triggers. Lets also say you've got an abutting area thats also 16x16. Two forest areas perhaps, with encounters set up in both using TBSP encounters currently in 6.1. (TR00 to TR89 mob based triggers, and perhaps a few TR96 and TR97 transition encounters for camps.) Now lets say you've put down 4 waypoints on TR91 in one area and 3 waypoints on TR91 and also 4 on TR92 in the other area. This will allow monsters to either roam in their own area exclusively, or venture back and forth between areas. What i want to do is to be able to emit spawns from spawnpoints at a fixed rate to top up the population of living wandering monsters at set increments of n monsters at a time, based on the population of the wandering monsters in the area they're being spawned into. I want to be able to put down patrol waypoints so that the monsters will move around, and perhaps venture into the abutting areas. When a monster leaves an area, if the area it goes into is quiet (no pcs), it gets destroyed or allowed to continue roaming based on a spawnpoint flag. As it leaves, it gets removed from the living spawn list in the first area, and added to a "generic" living spawn list in the area its moving into. This generic list will be TR90, and will be for internal use only. For population control, if TR91 in the first area has a cutoff of 15 wanderers, as long as the total in the area's generic list plus the total in its own list is below 15, the spawn will take place at a randomly selected waypoint from that set (out of sight of PCs). As monsters leave an area or get killed by PCs, the population will drop and spawns will get emitted. There will also be a cutoff valve, such that when an area goes hot (new pcs arrived into a previously empty area) spawn no more than 50 (configurable) and then stop emitting entirely, or stop emitting until the area has reset itself via the cleanup object. I'll probably work in some mechanism for population based on PC count as well. Now to make this work properly, there's some things in my mod already that have been coded into 6.2 that will help. I've already got local variable overrides for the tag of the creatures that can be set on individual spawnpoints in 6.2. I'm using this to spawn any one of 20 possible guards at a particular spawnpoint (each with different tags in the palette) so that they spawn in with a tag that lets them walk a patrol route put down for that waypoint. With wandering monsters, its possible to have your 4 waypoints in TR91 set up to each have a different patrol route depending on which waypoint they were spawned from. Some could be set to wander area to area, some to stay in the same area. Also the ude sent to emit a spawn will have a random component as well as a predefined pulse frequency. So it'll be possible to emit a spawn of n monsters every 5 + d(20) heartbeats where 5 and 20 would be set via spawnpoint flags. I will need to put in a check that if a cleanup object is alive in the area, the emitters stop, but the rescheduling continues until cleanup in case PCs return to the area. Wandering out of an area won't work that well with SoU only, but with a HotU it'll be good, as local vars to control wandering in populations could be set on area markers. I also want to set it up so that there's a DM flag that can be placed on a wandering triggerset that a DM could activate or turn off via a tool, independant of PCs. A DM tool would allow for attacks on a city, and would emit each time its used. This is different than a DM just arbitrarilly using the creator, as the spawnpoint changes the tag on the creature so that it can use patrol routes. I'm working concurrently on my own module and modifying 6.2 from inside my own mod as i go, with time allocation driven by what systems have to be built/tweaked/modified. So from a timeframe to the next release it'll be a while, and i'm not entirely sure what all is going to be actually in the next release at the moment. I need to do loot tables for this as well, so the next release could be wandering monsters, loot, or both depending on how intricate the code gets as i'm developing it. It might just be wandering monsters without the inter-area stuff yet.
Posted by The_Baron at on02/20/05
Balkur, This is great, and very easy to install. Documentation is brilliant. I have spent the last week stripping out monsters and encounters and replacing them with your system. I was experiencing too much lag before. A couple of questions :-) Can you tell us how the wandering monsters will work in the next version? Is there a flag to place on a trigger to only allow a certain number of encounter spawns (e.g. only wanting the encounter trigger to fire 3 times then become dead)? Thankyou for this system - and good luck with the next version. Phil (The Baron of Gateford)
Posted by Balkur at 2004-03-2813:27:00
Ver 6.1 is up, this fixes two bugs that i've found in 6.0. There was a bug where an area transition spawn or a PA spawn would stop processing the rest of the trigger set if it found a spawnpoint with a "DO", "NO", or "RS" flag in it, and if that flag caused that spawnpoint to be blocked. *sigh* static placeables are not destroyable, but script created static placeables are. Casting a hellball at the area marker wiped out the ticker object. Both bugs have been fixed in this release. Sorry about that folks, hopefully thats the last of the bugs.
Posted by Balkur at 2004-03-2423:12:00
I was hoping to sneak in a spelling corrected quick fix before someone downloaded it ;) Hope you like it, LoCash. Its got some really nice features that i've wanted in my module since day one. CEP should be fun... i'm looking at that right now.
Posted by LoCash at 22:33:00 Voted10.00
cool! with all the excitement surrounding CEP's release, I decided to trash the old mod i was working on and start a new one from scratch using the CEP. guess i can now throw the new version of TBSP into the pot and see how it cooks. ;)
Posted by Balkur at 2004-03-2420:35:00
Version 6 is up now, new name, new description, and a TON of new features. This package is now accessible to non-scripters as i've completely redone certain things that used to require user written functions for the encounters. With "PA" spawns, and with the new trigger sets for small area spawns and bosses, nearly anyone that can open a script in the script editor and add a string to a table can do level based spawns. And even that isn't necessary to use this package. The documentation has been completely rewritten so that non-scripters can make sense of what the package does and how to use it. This still works with SoU. I've taken the old v002 demo out of the SoU folder, as thats really obsolete now. Hopefully the new documentation is clear enough for SoU users to figure out what this package can do without a demo (the SoU zip is now just .nss script files). Speaking of the demo, all of the new features are used in it to give you an idea of what can be done with this package now. I've changed the "Includes Required" section from Custom to Bioware Standard, as Custom seems to imply that a hakpack is needed, which this package never used. Lucullo's Scripter's Tools Package and Knat's Tokenizer script are still needed for this, indeed they were the key tools that let me design it the way that i did, but the parts that i've actually used are already included in the .erf, so i believe that listing this as "bioware standard" is not misleading. I've done a lot of testing on this, but many small tweaks and changes have been made daily. I think everything has been tested but frankly there's so much in this new update, and with optimizing the base code there may be a bug or two that got in somewhere. As always, if you find a bug let me know. I did a final check by building a smallmodule from scratch, following my own instructions and it worked without any suprises, so it should be good right out of the box.
Posted by Balkur at 2004-03-1308:47:00
A quick note for you folks that are using this package. There'll be a new version very shortly, possibly by the end of this weekend if the coding goes well. "PA" spawns are complete, and the only thing left is cleaning up the timing issues on the "area" spawning features that use the area's on enter event as a trigger to activate a spawn. I'm designating and reserving some specific trigger set numbers for these spawns. Don't use any trigger set number greater than TR89 for your mob triggers. TR90 through TR99 are now for spawnsets that require special treatment. TR99 is for spawning NPCs, stores and placeables into an area, which get despawned 12 seconds after the area is emptied of PCs, unless the NPCs are in an area with "normal" mob triggers, in which case they despawn with the regular cleanup. TR99 is activated every time a PC enters an empty area and is on a separate spawn queue. TR98 is for chest respawns. These do not despawn right away, rather the area is timestamped when the first PC enters, the chests spawn, and the first PC entering that area at least 1/2 hour (configurable) later causes the (empty) chests to be destroyed, new ones spawned in and the area re-timestamped. The other ones (TR90 through TR97) will be for encounters in small areas (houses for example) so the mob will spawn in as the PC is entering rather than having them appear when a trigger is activated. These are timestamp spawns that work like the chests. Its possible to use these for boss spawns as well. This leaves you with trigger set numbers TR00 through TR89 for your mob spawns, hopefully 90 trigger based encounters per area are enough ;)