![]() |
![]() |
|||||||||||||||||||||||
|
|
||||||||||||||||||||||||
|
Using Dialogue With Placeables and Triggers Intended Audience: [Printer Friendly / Syntax Highlight] There are lots of effects that a savvy DM can simulate just by using a bit of dialogue in conjunction with a placeable or trigger. You can have ambient descriptions of an area or object appear, start a 'dialogue' with a strange object that allows the player options of interacting with it, have someone on the other side of a door speak through it, inform players of events that occur... there are lots of possibilities. The first thing you should know is what your options are. The following are commands that can be used to initiate dialogue or display text: Action Speak String and SpeakString ActionStartConversation BeginConversation FloatingTextStringOnCreature SpeakOneLinerConversation Making A Placeable Object Display Text **IMPORTANT!** If you are going to have any placeable object interact with others in this way, make sure the 'Static' box is unchecked! If a placeable object is static, it is intended to be merely part of the background art and unselectable. Most placeable objects are marked static by default! So select a signpost from the placeable object list and place it down. Then go into its properties and make sure 'Static' is unselected. Since I want the player to be able to click on the signpost, check the 'Useable' box. Go into its script section and put the following script under the OnUsed event: Now when you are in the game and click on the signpost, it will display that text next to its portrait (which is, by default, a signpost) and name. Naturally you can always change the portrait to whatever you like, as well as the name, and the display will be different. Making a Trigger Display Floating Text Go into the trigger menu and select 'Generic Trigger'. This will allow you to draw the bounds of the trigger box. If I wanted to display a description of something the player sees in a room, for example, I might put this just inside a door. Then go to the scripts section of the trigger. Since we want the text to appear when the player enters the trigger, we'll put the script in the OnEnter event. Some things to consider: do we want it to display only for PC's, or every entering creature? Do we want it to display every time a PC enters, or only once? For now, I'll have the text appear on anyone who enters the trigger... but only the first time. When the player steps into the trigger in-game, the text will appear over their heads and float up, fading. It will also display in their chat display window in yellow. Note that triggers can't use SpeakString or ActionSpeakString. They simply can't speak, period. It can, however, tell another object to speak... whether that object be an invisible object right on it or elsewhere. If I had a nearby placeable object with the tag "DISPLAY_HERE" (which had its 'Static' box unchecked, remember) and I wanted the trigger to make it display the above text, I would use this script: Having an Object Display Text When a PC Comes Near First, select the Invisible Object from the placeable object menu and lay it down. Go into its properties and make sure 'Static' is unchecked. I don't want the player to be able to click on it, so leave 'Useable' unchecked. Change the name of the object to 'Unknown Person' and leave the portrait blank. Go into its scripts section. Put the following script into its OnHeartbeat event: In the game, when the player gets within 10 meters of the object, the text will be displayed on-screen... and in the chat display window it will read "Unknown Person: Psst! Come over here!". That text will repeat every 6 seconds (every heartbeat) that the PC remains within range. One thing you might notice is that the placeable object is pretty small... and text displaying over it appears pretty low to the ground (depending on how zoomed-in the camera is). Here's a trick to place it higher: before placing the invisible object, select another placeable object that is about as high as you need the invisible object to be. Place it, first. Then when you select the invisible object from the menu, place the cursor directly 'over' the first object before clicking to set it down. It will appear on top of the first object. Now delete the first object and your invisible placeable floats in mid-air (and will stay there). Having a Placeable Object Start a Dialogue First, go into the placeable objects list and pick out an object. Select a pedestal, for instance, and place it in the module. Go into its properties and ensure that 'Static' is unchecked and 'Useable' is checked. Go to the advanced tab. Write in a name for the dialogue file we are going to create and press Edit. You can start with a line like "There is some fine writing on the pedestal which is in a strange language. Do you try to decipher it?" You could then continue to give responses and make the dialogue as long as you like, just as normal dialogue. Go into the scripts tab and place the following script under OnUsed: In the game, when the player clicks on the pedestal, he will approach it and the dialogue will ensue normally. Since I specified TRUE in the bPrivateConversation parameter of the command, only he will see the dialogue... another player standing next to him would see and hear nothing. If I didn't care whether the text displayed, I could simply have written ActionStartConversation(oPC), since the "" just means that the attached dialogue file is used. Starting a Conversation With a Door First, place the door normally. Go into its properties and change the name. The great thing about a door's name is that it doesn't show up anywhere (even on Examine) except in dialogue... so let's change it to "Guard on other side", since that's what the player will see. Mark the door as 'plot' so it can't be broken down (although you could certainly let it be, and even script consequences for attempting to bash in the OnDamaged or OnPhysicalAttacked events). Go into the lock tab and check the 'Locked' box. If you don't want it pickable, check the 'Key required to lock or unlock' box (although, again, you can leave it if you wish). Go into the advanced tab and put a name into conversation and press Edit. We can make the first line "What's the password?" and continue as we wish... whenever the point in the dialogue is reached where the guard agrees to open the door, place this script in that node's 'Actions Taken' section: Now we have to place the script that starts the conversation. Place the following script in the OnFailToOpen event: In the game, then, the player will click on the door and approach it. He will get the 'door rattle' sound when the door fails to open, and suddenly the dialogue will appear. He will see the portrait of the door and 'Guard on other side' at the top... with the text "What's the password?" displayed. When the dialogue point is reached for the door to open, it is unlocked and swings open... the player can now use the transition beyond.
|
|||||||||||||||||||||||
|
|
||
|
Multiplayer Games at Neverwinter Connections
|
||
|
Buy Premium Modules
|
||
|
4,052,294 BioWare Users:
|
||