Travel Builder is an easy-to-use script set for NWN 1.69. It includes a "quick fix" for custom area transitions in 1.69 which can be used stand-alone.
The full feature list is :
1. When a player travels between areas that are supposed to be miles apart, the journey is described and (in Single Player) the game clock advances.
2.To avoid unnecessary running around in areas that have already been explored, the player can take an instant shortcut from any location within and across areas.
3.Portals and other plot-related area jumps are supported.
4.Travel across water, chasms and other barriers is emulated.
5.When travelling by ship, everything on board moves with the vessel.
6.The system can easily be extended to support ropes, ladders, planar travel or anything else you can imagine.
7.There is an OnTransitionRequest user exit which can be used to intercept existing transitions without changing them.
8.Travel can be controlled by a menu in a quickslot.
9.Conversations involving a choice between options require only one conditional script and one action script.
Travel time depends on many factors, leading to the possibility of "beat the clock" quests across areas.
The system is fully compatible with 1.69 horses, and uses the same approach to movement rate.
Older modules which use any means of travel other than default area transitions will need significant changes to support horses properly. This system provides a plug-in solution which reduces the work considerably.
The approach is flexible - the module author chooses which features to use.
It is supplied in English. Provision has been made for easy translation into other languages.
A basic knowledge of nwscript and the Aurora toolset is assumed.
A demo module is provided, with working examples of overland travel, horses, and every type of ship.
These features can also be seen in my Enigma Island modules.
ACKNOWLEDGEMENTS
Thanks to Deva Winblood for patiently explaining how the 1.69 horse system works, and to Azbest for the function GetEncumbranceLevel().
UNSUPPORTED
The author no longer supports this work. Please feel free to use, amend or republish as you see fit.
There will be an upgrade for 1.69 Beta 10 shortly.
Posted by luckybastardo at 2008-04-0906:43:13
thanks for your early answer. I wait for final 1.69.
Posted by Proleric at 2008-04-0815:15:29
@ luckybastardo : I sympathise, but the main driving force behind Travel Builder is to simplify the conversion of modules to 1.69. To do that, it has to use the new horse functions in 1.69 beta - it just won't work in 1.68. I'm hoping Bioware will release 1.69 as final for all versions and languages fairly soon, so you will be able to use it then. My playable modules are still in 1.68, and will remain so until 1.69 is final.
Posted by luckybastardo at 2008-04-0811:46:31
please upload modules that dont requiered Beta update. Im a non english NWN owner, and we cant run yours module, i think you build it with "The 1.69.8108 beta 9" Thanks
Posted by Proleric at 2008-04-0211:12:50
One issue I'm currently working on for my own purposes is that the Bioware functions in the "JumpTo" family are now potentially unsafe if the caller might have horses. Travel Builder already provides the facility to jump to a node, but that isn't always convenient. I have a prototype which manages the delicate timing of dismounting / releasing horses before jumping. The suggested format is float bhtJumpToObject(object oCreature, string sObjectTag); The return value is the delay now inherent in the jump. The function would ensure that any horses are left behind in an unassigned state before jumping oCreature to the location of the unique object with the tag sObjectTag. The actual jump would be an action, not immediate. If anyone would find it useful to have a public function of this sort in Travel Builder, let me know - the format is open to discussion.
Posted by Gonzo_og at on03/25/08
Thanks very much. I'm really excited for the future of NWN1, especially with people like you still improving on it. _________________________ stuff
Posted by Proleric at 2008-03-2509:54:41
@ Gonzo_og - I assume you mean a series of modules with a fairly common geography? I just did this for the Enigma Island series Parts 1-3 (part 3 isn't published yet). My approach was 1. Define the network once in a shared hakpak. 2. Write some common scripts for OnClientEnter, area OnEnter, "OnTransitionRequest" and henchman dialog (I needed to do this anyway, to support 1.69 horses). Import to all three modules. 3. Add module-specific exits to the above scripts (this required very little change to the old code. Effectively, I'm using the new scripts as a wrapper that handles Travel Builder and horse integrity). 4. Since the waypoints aren't quite identical in my three modules, I ran them, allowing Travel Builder validation to fail. The "missing waypoint" error messages show up in the log. 5. I made some new waypoints in a dummy area in each module, so that I could cut-and-paste the missing tags from the log. This satisfies the validation routine and causes no problems, because the player will never get to the area in question. 6. Deleted a shedload of old scripts that Travel Builder makes redundant. I didn't need to communicate the player's current network position across modules (each has a new start position). If you need to do that, I could make those variables "public", so that you can store them between modules. Hope this helps.
Posted by Gonzo_og at on03/25/08
Any suggestions for implementing this across modules? _________________________ stuff
Posted by Proleric at 2008-03-2215:07:22
@ Jaysyn - it's designed to work with multiple parties but I haven't been able to test it as I don't have a server - it would be great if you could.
Posted by Jaysyn at 2008-03-2210:51:51
Will this work with multiple parties? _________________________ -=Jaysyn=-