Heed's ActionSit is a package that includes custom content, scripting as well as a toolset plugin. The aim is to provide sitting functionality similar to that of NWN1 in NWN2. It comes with a custom placeable blueprint seat that actually does all of the work. The custom placeable is a simple model used to represent a place to sit. This placeable coupled with some sort of object can then be used to create sitting spots. The package comes with prefabs for all standard seat objects (chairs, stools, benches), so creating spots to sit is very simple -- place down a prefab. Only the custom seat object itself is interacted with, so the actual models for chairs, stools, bnenches, etc. are set to be environmental objects. If not using a prefab, then you can place your seats where desired and set the accompanying object as an environmental object.
The seat placeable bakes into the walkmesh by cutting a square around itself which cannot be pathed through, but it leaves a walkable area in the centre. What this means is that the seat is solid in-game and cannot be walked through, but if an object is jumped to its location it can be placed squarely in the centre. Sometimes you may want to use a walkmesh cutter instead of having many seats each individually bake down. This is perfectly fine if done properly so as to leave walkable areas at the seat's location but not allow pathing through them (open the demo module in the toolset to see examples).
To sit down a player simply needs to click on a seat object. The player with pathfind (walk) to the seat, decide to either stand in front or behind the seat, assume the correct orientation, play a sitting in a chair animation and jump to the seats location. A small GUI icon appears on the players screen which is used (clicked on) to cancel the sitting operation and return to a standing position. Also, a player can change seats while sitting: if already seated and another seat within range is clicked on the player will cancel the current sit action, stand up, path to the new seat and sit.
All races will sit at the same height. This means only one standard is needed for a seat's height and its corresponding object's scale. The seat placeable's visible geometry sits just above this height, so you can easily measure if your environmental object is scaled properly by placing a seat object near or on it. In other words, a halfling and a half orc can both sit in the same sized seat.
If a player crashed or logs out while sitting in a seat that seat will not become invalid or "unsittable".
Heed's ActionSit Seat Tool:
This toolset plugin is provided with the package in order to ease and simplify the workflow when working with seats. The system works by baking the seat objects, but then removing the static property on the seats so they can be used (clicked on in-game). This means when you bake your area you want all seats set to static first, but after baking your area you need to set all seats to non-static. The plugin handles this workflow for you. By selecting the Run checkbox and then clicking on the Bake button all seats in the open area are set to static and the area is baked. You then need to click the Save button to set all seats in the area to non-static and save the module. The area and module are now ready for use. Sometimes you will want to use a walkmesh cutter instead of the seat's walkmesh and in these cases you select the seats and click the Bake/NoBake button. You don't need to only select the seats themselves -- you can just draw a selection box as the plugin will sort, find and only operate on seats. Clicking the button will change the seat's tag so it is ignored by the Bake and Save operations and also set it's properties to be non-static. If you find you want to use the seat's walkmesh again, then just select the seats again and hit the Bake/NoBake button again.
If you make changes to an area conataining seats that requires a rebake, remember to use the plugin to bake that area following the correct workflow. If baking manually (no Run checkbox selected) , then you still need to use the plugin to set the seats, but you must then bake the area as you would normally from the File menu. You also must remember to use the Save button after baking manually in order to set seats to be useable in-game -- don't forget to save your mod or area after doing so.
Basic Workflow:
1) Place prefabs seats along with any tables, etc.
2) Launch the plugin.
3) Select the Run checkbox and hit the Bake button.
4) Check all tiles baked properly. If not, reposition or switch some seats to be NoBake and use a walkmesh cutter.
5) Repeat step four until the area bakes properly.
6) Hit the Save button with the Run checkbox selected.
7) The area is now ready for use and your module has been saved.
Version 1.1:
Forgot to include the sit animations for dwarves -- files now added to the hak. Apologies to all the stout hearted little buddies out there. :)
Files changed: Heed_ActionSit.hak -- just replace the v1.0 of the hak with the hak in this package -- no need to reimport the erf or anything.
Version 1.2:
Update to workaround an engine bug with PlayCustomAnimation() whereby only other players in the same area as the sitter would see the animation playing. The animation is now called every 12 seconds while seated in order to update PC's who move into the area of the sitter.
Files Changed: Heed_ActionSit.hak (updated the GUI), Heed_ActionSit.erf (updated gui script) and Heed_ActionSit_Demo.mod.
Replace hak with hak from this package. Builders, import the .erf from this package overwriting gui_hss_actionsit.nss.
Version 1.4:
Fixed bug where you could jump to unpathable seats.
Sit action can now be canceled en route by cancelling the moveto action
from the action queue.
Files Changed:
gui_hss_actionsit and Heed_ActionSit_Demo.mod.
Import the .erf, overwrite gui_hss_actionsit and compile.
Thanks to Viconius for the bug reports. Bugs can only be fixed if they are reported.
When I move your seat object in an area in the toolset, I get the following popup-error (couldn't paste, so rewrote it here, hopefully not too many typos in it). Any idea what it means? Input string was not in correct format. At System.Number.StringToNumber(String str, NumberStyles options, NumberBffer number, NumberFormatInfo info, Boolean parseDecimal) at System.Number.ParseInt32 (String s, NumberStyles style, NumberFormatInfo info) NWN2Toolset.NWN2.Data.Instances.NWN2PlaceableInstance.get_HookableInstanceType() ; Any idea what this means?
Posted by Lomby at on06/28/08
Ok, i think i solved the problem. I had another hak including more placeables, overwriting twice the file "placeables.2da". Thanks!
Posted by Ziroonderel at on06/27/08
You rule, Sir.
Posted by Silk at on06/03/08
We use this system very with pleasure. has still it to something Optimizes about over that Icon also directly matching animations to the possession to put. @Heed you have a Mail baba Silk _________________________ Vault Submissions Feline Fuelled Games
Posted by E.C.Patterson at on06/03/08
There is a problem with the current file, which first made the system inoperable for me. This may also (or may not) be the cause of some of the reported errors. The problem is that the erf file in the download does not include the hss_actionsit.nss script. What I did was export the script from the demo mod and import it in mine, along with the erf. Once I figured that out, the system worked very well and allowed me to quickly create sitting places anywhere. I would have preferred however if it had been possible to do without the situp gui, but if that's necessary, then it's a small price to pay for ease of use. Thanks Heed for making and sharing. _________________________ E.C.Patterson Gaming Parents Studios Trinity, the NWN2 adventure : Download now.
Posted by MCMunroe at 2008-05-2911:48:18
I agree with Zamora, the tool to make ones own sittable chairs is great, but looks like a huge amount of work. Just a cataloge of placeables already set up would be ideal. I was unable to get ActionSit to work in the tool set, so I as well tried to export the working ones in the demo. Got about 100 errors from the toolset.
Posted by MCMunroe at 2008-05-2911:46:13
I get many many error messages in the TS when trying to click on that placable or exporting or importing your work.
Posted by Zamora at 20:24:26 Voted10.00
I tried to export an area that has your seats in it (the seats work properly), but get many error messages when doing so. Is there a way to export these without error messages? I exported the area from the mod you supplied and get the same error messages.
Posted by PoisonTheMonkey at on05/13/08
Awesome, unfortunately it doesn't work for me, just makes a bunch of errors whenever I try to use it, but that's probably my fault, not yours. :P _________________________ Obsidian Shore, a HoF 9.8 heavy roleplaying PW. Dark and gritty fairytale world with the opportunity to do and change the world as you wish. Link Greycliff, a brand new NWN1 heavy roleplaying PW. A broken kingdom is all that remains from a bloody civil war. Link
Posted by Preyatnaya at 2008-05-0504:32:45
Does this work with MoTB races as well? that is the problem I'm having with the script I am currently working.... the seats resize for the shorter races but gensai and half-drow cannot sit.... it it DOES work, you have just solved my problem.
10 - A Masterpiece, Genuinely Groundbreaking 9 - Outstanding, a Must Have 8 - Excellent, Recommended to Anyone 7 - Very Good, Deserves a Look 6 - Good, Qualified Recommendation 5 - Fair, Solid yet Unremarkable 4 - Some Merit, Requires Improvements 3 - Poor Execution, Potential Unrealized 2 - Very Little Appeal 1 - Not Recommended to Anyone