- the ERFs. Just for builders. You don't need this separately -
NWN1. Patch 1.69 required
v2.08 29. January 2010
- One heartbeat script for exactly one NPC (+a little OnSpawn)
- designed with storytellers in mind, stage plays, cutscenes or text-heavy modules
- comfortable, simple, fast, stable, flexible
- targets good to advanced builders and scripters
- thoroughly tested
- synchronized and reliable timing
- should work multiplayer
- no HAKs, no nothing
- a small expanded library for convenience included
- For scripters everything's possible. Interfaces use ExecuteScript(); and SignalEventToObject();
- compatible with almost anything. Interferes nowhere and doesn't change a thing
- when not active it consumes literally 0.00% CPU cost. As optimized as it gets
- up and running within twenty minutes
Manual and showcase included
* Developed with NWN 1.69, HotU and SoU. I'm not sure if you can import it without the expansions, though. Enjoy, vote, report bugs. Looking forward for great modules.
NWN2 conversion is at: Link Five Flagons Theater is at: Link
This is one for the search engines: "theatre", "stageplay", "cutscene", "machinima". (ca. 100 downloadcounts been lost with older versions)
_cex: a small camera library for ds-tl NWN1 using Gestalt's systems. MP not tested, provided "as is" (don't overwrite the include. It was developed with an older version.)
- commented out the unneeded line 1232 of dstl_hbdirector (to "//if (cnt1==-1) cnt1=2147483646; // max int"), to make it a bit faster (alternatively, you could do this by hand...)
- made strings and varnames with constants easier customizable. The three vars on eventhandlers have changed, all others should be alright. Refer to the include
Errata to my former posts: 1.) Don't put ANYTHING in the script cache, leave it empty. Mr. Zoeller writes, NWN 1.69 got an own logic, and performs better on its own, and I think he's right. 2.) I don't read once/6 secs the book in a local var of course, but read once/6 secs the local var in a var. _________________________ Five Flagons Inn: Link - ds-tl Theater Scripting Language: Link - dstl NWN2: Link - NWN2 one-click GUI away (except chat-windows): Link - NWN1 small file extensions for SP (and General MIDI): Link - Suggested Naming Conventions: Link - DS Sneaking: Link - DS Base (Pseudo-)Maze: Link
fixes: - the exchange between heartbeat and lookforbook is now cleaner. one- or two-line books sometimes stuttered.
- if the director was forcefully interrupted while in a waiting state and he swapped books, he was stuck in this waiting state. fixed, but this was beyond specifications. why are you doing such things, anyway
new commands:
[INCLUDESTRINGVAR:string stringvarname]
[IF:string intvarname, int valuetocheck=1]
[IFNOT:string intvarname, int valuetocheck=1]
[ENDIF] _________________________ Five Flagons Inn: Link - ds-tl Theater Scripting Language: Link - dstl NWN2: Link - NWN2 one-click GUI away (except chat-windows): Link - NWN1 small file extensions for SP (and General MIDI): Link - Suggested Naming Conventions: Link - DS Sneaking: Link - DS Base (Pseudo-)Maze: Link
a not very faithful adaption. I've had some uncertainties here, please correct me, if I'm very wrong.
Some more hidden in the cellar. Now uses Ravish's Emotes. Got horses, got fireworks. Some more silly stuff I just couldn't resist. _________________________ Five Flagons Inn: Link - ds-tl Theater Scripting Language: Link - dstl NWN2: Link - NWN2 one-click GUI away (except chat-windows): Link - NWN1 small file extensions for SP (and General MIDI): Link - Suggested Naming Conventions: Link - DS Sneaking: Link - DS Base (Pseudo-)Maze: Link
- two new parameters in [CREATE: ...,float deltax=0.0, float deltay=0.0] object displacement. For sparse WP-grids,
all kinds of structures or working with little waypoints (a single anchor-WP or something). downwards compatible
- in [ANIMATION:] the speed and duration scales no longer with the [SPEED:]. this was nonsense right from the beginning. inner loop optim
- comment removal was not ok in some cases.
If someone needs one of the older versions, tell me here. NWN2 port the same in 1-2 days. _________________________ Five Flagons Inn: Link - ds-tl Theater Scripting Language: Link - dstl NWN2: Link - NWN2 one-click GUI away (except chat-windows): Link - NWN1 small file extensions for SP (and General MIDI): Link - Suggested Naming Conventions: Link - DS Sneaking: Link - DS Base (Pseudo-)Maze: Link
### HAK has changed
- aetop V released. a fistful of poems incl. four ds-tl reading prefabs ("mindflayer reads", "liz reads", "granpa reads", "campfire reads"). better support for MP or ds-tl assisted human players (this could be easily used as academy, conference room, school, church or heck "played church" with minor adjustments). lots more. OUTLOOK: A mighty staging device (DMFI wand-like) is announced for CEP2.3, I'm highly curious, and keep you informed. _________________________ Five Flagons Inn: Link - ds-tl Theater Scripting Language: Link - dstl NWN2: Link - NWN2 one-click GUI away (except chat-windows): Link - NWN1 small file extensions for SP (and General MIDI): Link - Suggested Naming Conventions: Link - DS Sneaking: Link - DS Base (Pseudo-)Maze: Link
### HAK has changed
- added 80 backdrops ("Custom 5"). If you got a better use, feel free to repackage them (line 6002- of placeables.2da) _________________________ Five Flagons Inn: Link - ds-tl Theater Scripting Language: Link - dstl NWN2: Link - NWN2 one-click GUI away (except chat-windows): Link - NWN1 small file extensions for SP (and General MIDI): Link - Suggested Naming Conventions: Link - DS Sneaking: Link - DS Base (Pseudo-)Maze: Link
smaller changes, no need to update
- one more DSTL_SPECIALWAIT in dstlcom_attack();. Witnessed one case where he didn't really attack much.
- unused paras in dstl_getobjectbytagwrapper(); removed. slightly optimized. changes in the manual. _________________________ Five Flagons Inn: Link - ds-tl Theater Scripting Language: Link - dstl NWN2: Link - NWN2 one-click GUI away (except chat-windows): Link - NWN1 small file extensions for SP (and General MIDI): Link - Suggested Naming Conventions: Link - DS Sneaking: Link - DS Base (Pseudo-)Maze: Link
- createitemonobject no longer gets the "book" set. look in the vars of your director (...forgotten)
- mixed a bit around with the mediocre manual.pdf (hopefully for the better)
- turned out that set facing automatically after a jump, be it [JUMP:] or forcejump (TIMEOUT) is a good thing. If it's a creature or a placeable, you face IT, if it's a waypoint you get IT'S facing. DSTL_JUMPWAIT=0.3f seconds after jumps introduced, rarely the strings came out at the wrong places.
- [P:] was broken.
- DSTL_MINDELAY is now 0.001f. little optim. _________________________ Five Flagons Inn: Link - ds-tl Theater Scripting Language: Link - dstl NWN2: Link - NWN2 one-click GUI away (except chat-windows): Link - NWN1 small file extensions for SP (and General MIDI): Link - Suggested Naming Conventions: Link - DS Sneaking: Link - DS Base (Pseudo-)Maze: Link
- act III finished
- Five Flagons now with AM-7.0 arcane virtual^2 surround sound (curtain row 70)
- added a small debugzone. Set your module PC-spawn point there if you like (for writing and testing. examine it for info) _________________________ Five Flagons Inn: Link - ds-tl Theater Scripting Language: Link - dstl NWN2: Link - NWN2 one-click GUI away (except chat-windows): Link - NWN1 small file extensions for SP (and General MIDI): Link - Suggested Naming Conventions: Link - DS Sneaking: Link - DS Base (Pseudo-)Maze: Link
- aetop act II (=ep2) finished
- cutscene ghost for actors disabled... let's give it a try
- please put stuff exclusively yours in category "custom 4"
- tavern is open. reliable sources speak of recent undead activity
- rs1_afterconvers wasn't meant for authors. Renamed to rs1p_afterconver
- rs1_curtains now accepts the height as float-parameter. The height is absolute. leave free for reset
- added atmospheres, soundobjects. hired more actors. our crew welcomes our first archetypical goblin
- made "thinking in ds-tl" a bit more impressive. We need a dragon; mushroom should be dancing. _________________________ Five Flagons Inn: Link - ds-tl Theater Scripting Language: Link - dstl NWN2: Link - NWN2 one-click GUI away (except chat-windows): Link - NWN1 small file extensions for SP (and General MIDI): Link - Suggested Naming Conventions: Link - DS Sneaking: Link - DS Base (Pseudo-)Maze: Link
- !!! For performance reasons the director gets a little OnSpawn-Script. !!! Goodbye one-script paradigma.
- valid dstl-books < 10 GP worth (see manual)
- created objects get no longer the "book" set. Look in the vars of the director
- INNER CORE: optimized. I no longer shift strings, but operate on pointers. The 100 MB range is now in sight (Don't! I'm still reading once/6 secs the whole book in a local var). Got rid of all GetStringLength() except one per book. Disadvantage (ADVANCED): manipulating string buffer gets a bit more complicated. DSTL_DSTLPREFIX+"txt" is the buffer, DSTL_DSTLPREFIX+"txtc" the read ptr, DSTL_DSTLPREFIX+"txtl" it's length. That's it. Some more optim. _________________________ Five Flagons Inn: Link - ds-tl Theater Scripting Language: Link - dstl NWN2: Link - NWN2 one-click GUI away (except chat-windows): Link - NWN1 small file extensions for SP (and General MIDI): Link - Suggested Naming Conventions: Link - DS Sneaking: Link - DS Base (Pseudo-)Maze: Link
Five Flagons is online and open (see above). Thank you all. Look out for act II-V of aeotp. _________________________ Five Flagons Inn: Link - ds-tl Theater Scripting Language: Link - dstl NWN2: Link - NWN2 one-click GUI away (except chat-windows): Link - NWN1 small file extensions for SP (and General MIDI): Link - Suggested Naming Conventions: Link - DS Sneaking: Link - DS Base (Pseudo-)Maze: Link
- fixed countless bugs
- created placeables are now turned 180 degrees (sorry, necessary)
- [SPEED:] is now considered an advanced command. Some explanation in the manual
- EXECUTESCRIPT, SIGNALEVENT and LOCALVAR are no longer delayed
- DSTL_MINDELAY is now 0.0005 seconds. DSTL_FORCETIMEOUT is now 20.0 secs.
- CORE: optimized
- for performance reasons the director directs even in his sleep or when dead
- for performance reasons the standard heartbeat of the director is no longer called _________________________ Five Flagons Inn: Link - ds-tl Theater Scripting Language: Link - dstl NWN2: Link - NWN2 one-click GUI away (except chat-windows): Link - NWN1 small file extensions for SP (and General MIDI): Link - Suggested Naming Conventions: Link - DS Sneaking: Link - DS Base (Pseudo-)Maze: Link
KNOWN ISSUES: there are some synchronization issues with accelerated speeds. The [SPEED:]-command will in future versions be considered "advanced". If you ever encounter such an sync-problem, issue a [P:6.1] (Pause:6.1 seconds) right in front of the command in question (use it only for long sequences of dialogue). With standard speed the whole thing runs smoothly nonetheless. _________________________ Five Flagons Inn: Link - ds-tl Theater Scripting Language: Link - dstl NWN2: Link - NWN2 one-click GUI away (except chat-windows): Link - NWN1 small file extensions for SP (and General MIDI): Link - Suggested Naming Conventions: Link - DS Sneaking: Link - DS Base (Pseudo-)Maze: Link
thanks a lot. I got a small, wooden as-clean-as-possible low-magic CEP2.2/CMP theater in the works for everyone to contribute, maybe an EARLY preview will be out in 2-3 weeks. And everyone excuse for the daily patches policy, but we reach stable soon. ("Ozymandias" from Shelley including desert, stone head, bedouin and pack oxen fits in exactly 55 lines dstl) _________________________ Five Flagons Inn: Link - ds-tl Theater Scripting Language: Link - dstl NWN2: Link - NWN2 one-click GUI away (except chat-windows): Link - NWN1 small file extensions for SP (and General MIDI): Link - Suggested Naming Conventions: Link - DS Sneaking: Link - DS Base (Pseudo-)Maze: Link
- 2.00 -
4. May 2009:
more or less rebuilt completely - see manual
- 2.01 -
6. May 2009:
- BUGFIX: obj was "" after bookchange.
- BUGFIX: move and turn now behave like expected (terribly sorry).
- minor expansion and erratum in the manual
- director now reads also BASE_ITEM_MISCMEDIUM because of the neat pics. provided a function dstl_isvaliddstlbook(object item) for this.
- CORE,_EX: minor optimizations _________________________ Five Flagons Inn: Link - ds-tl Theater Scripting Language: Link - dstl NWN2: Link - NWN2 one-click GUI away (except chat-windows): Link - NWN1 small file extensions for SP (and General MIDI): Link - Suggested Naming Conventions: Link - DS Sneaking: Link - DS Base (Pseudo-)Maze: Link
BUG in 2.00: obj is "" after book change. Workaround: [:tag] as very first line. Will be corrected in future releases. _________________________ Five Flagons Inn: Link - ds-tl Theater Scripting Language: Link - dstl NWN2: Link - NWN2 one-click GUI away (except chat-windows): Link - NWN1 small file extensions for SP (and General MIDI): Link - Suggested Naming Conventions: Link - DS Sneaking: Link - DS Base (Pseudo-)Maze: Link
Thank you all. The revolutionary 2.0 is heavily in the making. Yeah, the lecturn. Noticed, fixed. No faction problems, why. The dragon actors union were on strike recently I heard, maybe that's something to do with it. But I like your atmosphere better than mine with it's open windy opera architecture - and it's more like a tech demo - (and the stage too small), to speak frankly. I'll build a small wooden variete and a scripted reference grid of waypoints then, but that'll need 3-4 months more min. First thing then would be a stock of actors, placeables and a plain text library of environments for copy&paste. _________________________ Five Flagons Inn: Link - ds-tl Theater Scripting Language: Link - dstl NWN2: Link - NWN2 one-click GUI away (except chat-windows): Link - NWN1 small file extensions for SP (and General MIDI): Link - Suggested Naming Conventions: Link - DS Sneaking: Link - DS Base (Pseudo-)Maze: Link
Posted by Ondaderthad at 2009-05-02 07:09:08 Voted 10.00
Nice Opera. I failed my INT roll. Didn't think about using dstl script to spawn the spectators. ;-)
I was enjoying the show up to the point where a Huge dragon started killing everything. He also destroyed the lectern so next script had errors with missing object. Probably a faction problem.
Some nice ideas about lighting and other possible tricks. Thanks for that.
_________________________ The Best PW system is getting even better. PLATEMAIL Tech Preview
Posted by Builder__Anthony at 2009-05-02 02:37:58 Voted 10.00 on 05/02/09
Opera is online (see above), maybe for a few hints or ideas. I would use usable CEP Lanterns. _________________________ Five Flagons Inn: Link - ds-tl Theater Scripting Language: Link - dstl NWN2: Link - NWN2 one-click GUI away (except chat-windows): Link - NWN1 small file extensions for SP (and General MIDI): Link - Suggested Naming Conventions: Link - DS Sneaking: Link - DS Base (Pseudo-)Maze: Link
well, yes, the SetTileMainLightColor() and SetTileSourceLightColor() (NWN Lexicon!) is the command of your choice, but often it makes nearly no difference, doesn't get very bright. Another -good- possibility are usable lampposts from the CEP, but earlier - in 2.1 - they were defective (..there were a local variable _AMION with a wrong default). Very practical is equipping your actors with glowing rings/amulets (or why not torches?). I somehow puzzle the unfinished never to finish yet published release of the NW opera together in a few days, there are some examples. I forgot to vote for you (love the carpets), you'll get a 9.75 (the -0.25 is cause you forgot to say goodbye at the end of chapter 1 :) ) Haven't seen chapter 2 yet. I'll provide a usable lamppost in release 2.0. Or VFX_DUR_LIGHT_WHITE_20 (=176) ([VISUALEFFECTOBJECT:show_actor,176]) should work (not on a waypoint!). _________________________ Five Flagons Inn: Link - ds-tl Theater Scripting Language: Link - dstl NWN2: Link - NWN2 one-click GUI away (except chat-windows): Link - NWN1 small file extensions for SP (and General MIDI): Link - Suggested Naming Conventions: Link - DS Sneaking: Link - DS Base (Pseudo-)Maze: Link
Posted by Ondaderthad at 2009-05-01 20:14:25 Voted 10.00
Thanks the Gods for search and replace.
Alternatively you could change the name of the script and includes so both versions could live side by side?
But either way I am not too worried.
If you could think of a way to control the lighting of the stage it would be great too. Real life theatres often have a lighting director who uses a lighting script.
_________________________ The Best PW system is getting even better. PLATEMAIL Tech Preview
Thanks a lot. Good and bad news: 2.0 will be much much simpler, bad news: complete overhaul of the syntax. Stick to 1.01 if you want. Main difference: it waits for everything and anything automatically, the guess-a-lot (or guess-ageddon) for [PAUSE:]-times is history. Nothing someone couldn't adjust with Notepad++ in 10 minutes though. Hello World was waaay too complicated, it should sound "Hello World" not "Hello World~"! ETA 2-3 weeks. Thank you all. _________________________ Five Flagons Inn: Link - ds-tl Theater Scripting Language: Link - dstl NWN2: Link - NWN2 one-click GUI away (except chat-windows): Link - NWN1 small file extensions for SP (and General MIDI): Link - Suggested Naming Conventions: Link - DS Sneaking: Link - DS Base (Pseudo-)Maze: Link
Posted by QSW at 2009-05-01 07:10:41 Voted 10.00 on 05/01/09
A wonderful piece of scripting, I've just seen it in action and think it works beautifully with the Karador Theatre. Thanks for designing such a great system! _________________________ QSW -NWVault Reviewers Forum
and I just hope, he stops ripping my comments apart. Items in backpack apparently cannot speak, I tried. _________________________ Five Flagons Inn: Link - ds-tl Theater Scripting Language: Link - dstl NWN2: Link - NWN2 one-click GUI away (except chat-windows): Link - NWN1 small file extensions for SP (and General MIDI): Link - Suggested Naming Conventions: Link - DS Sneaking: Link - DS Base (Pseudo-)Maze: Link
AssignCommand(b,ActionJumpToObject(OBJECT_SELF));// _________________________ Five Flagons Inn: Link - ds-tl Theater Scripting Language: Link - dstl NWN2: Link - NWN2 one-click GUI away (except chat-windows): Link - NWN1 small file extensions for SP (and General MIDI): Link - Suggested Naming Conventions: Link - DS Sneaking: Link - DS Base (Pseudo-)Maze: Link
#include "dstl_include"
void main()
{
string para3;
object b;
para3=GetLocalString(OBJECT_SELF,"talkinbow_para3");
b=GetObjectByTag("invisiblebowcreature"); // _________________________ Five Flagons Inn: Link - ds-tl Theater Scripting Language: Link - dstl NWN2: Link - NWN2 one-click GUI away (except chat-windows): Link - NWN1 small file extensions for SP (and General MIDI): Link - Suggested Naming Conventions: Link - DS Sneaking: Link - DS Base (Pseudo-)Maze: Link
oh, cool. Nice to hear! And highly looking forward. Uh..dunno? Are there many scenes? Are they highly mobile? Invisible actor sounds good to me with "jump"( Tutorial > Advanced Scripting > Creating an Intelligent Item" in the NWN Lexicon about "Enserric the sword" from XP2, but I think, that's the same mess. SetName is quite short, when it's slow, quite possible, it's NWNs fault. I can't think of anything else (and to be spoken loud)
Just do: [EXECUTE:talkingbow,,,Hello there!] and write a script with ermh..something. Cycle through all PCs and SendMessageToPC()? but that's not elegant either. You definitely need some object near him. Or let it back home and shout all the time (with "@" in front)? - cross-areas should work as long as you not recompile with GetNearestObject.
Neverwinter Opera with some showcase will come some day, open for anyone to contribute, but I cancelled my dreams of a "theater standard" and compatible stages, it's quite a chaos - I'd need to build this seperately and spartanically and import it back AGAIN - and I'm expecting much with people contributing plays, should I seriously urge them to contribute STAGES? In the next release there are further optimizations, a fixed [MOVE:...] (he needed a "~" for each [MOVE...] to work correctly) and a wonderful command "MOVETOOBJECTWAIT" (auto-wait til reached) and fast-forward (for developing and writing, not necessarily for release) working (in a few weeks). Again getting a bit more complicated, I fear, but I've seen worse. Another possiblity'd be to abandon all this [[AGAIN]]-nonsense and install a beating heart of 2 seconds...but then you got on the other hand aeons of [[PAUSE:]]s and "~"s.
Maybe you noticed that there's no possibility at all to address the PC or one or the nearest PC in any form, but I think that fits quite into the system. Don't necessarily work with my _EX-routines, but copy&paste, maybe they get updated. _________________________ Five Flagons Inn: Link - ds-tl Theater Scripting Language: Link - dstl NWN2: Link - NWN2 one-click GUI away (except chat-windows): Link - NWN1 small file extensions for SP (and General MIDI): Link - Suggested Naming Conventions: Link - DS Sneaking: Link - DS Base (Pseudo-)Maze: Link