PDA

View Full Version : Bucket O'Questions


Billthemailman
05-10-2006, 05:43 PM
I have a few questions, answer them as you please please, or point me in the right tutorial direction:

A) How do I make sure an option doesn't come up in Dialogue if I talk to the person again, like for adding Dark Side Points and what not.

B) How do I make computers accessible? How do I change what they say?

C) Where is a tutorial on how to create items?

D) This is KOTOR 1, so is there a certain way to tell if the players have um, discovered the Leviathan secret yet? And thus change the dialogue? (Didn't want to spoil it.)

Thanks for all your help so far, got two more:

E) How do I change the Text a sign says when your mouse scrolls over it?

F) How do I make an NPC not engage in conversation (where it zooms on their face) but have the text box above their head?


That's all for now, I'll edit this post if I think of more. Thanks in advance.

stoffe
05-10-2006, 06:00 PM
A) How do I make sure an option doesn't come up in Dialogue if I talk to the person again, like for adding Dark Side Points and what not.


You usually do this by setting a local variable on the dialog node that should only be triggered once. For KotOR1 you'll need to create this script yourself since it does not support dialog parameters like Kotor2:TSL does. A script could simply look like:

void main() {
SetLocalBoolean(OBJECT_SELF, 132, TRUE);
}


Then in one of the Conditional script slots on the same node you'd assign another script that checks if this Local is not set in order to make the dialog node available. The corresponding script might look like:

int StartingConditional() {
return !GetLocalBoolean(OBJECT_SELF, 132);
}


That script would only allow the dialog node it is assigned to to be displayed if the LocalBoolean with index 132 has not been set. If you need several different checks in the same conversation you'll have to put a different index number for each check. Keep in mind that each object in the game has a limited set of Local indexes, so try to use ones that aren't already used by something else, like the AI scripts.


B) How do I make computers accessible? How do I change what they say?


Computers are essentially just dialog files with no voice over and an interface covering the screen rather than showing the character you speak to. There is a setting in the dialog file where you can set them to act like a computer instead of a normal dialog.

You can start the conversation by assigning a script to the OnUsed event slot of the placeable that looks something like:

void main() {
ActionStartConversation(GetLastUsedBy(), "DialogFileName");
}


This would make the computer placeable initiate conversation with whoever activates it. Make sure the placeable is set to not be Static, and to be usable.


D) This is KOTOR 1, so is there a certain way to tell if the players have um, discovered the Leviathan secret yet? And thus change the dialogue? (Didn't want to spoil it.)


It was ages since I did any KotOR1 modding so I may be wrong, but if I remember correctly the Lev_MalakVision global variable is larger than 0 if you've had that encounter. You can check it with a script in a dialog like:

int StartingConditional() {
return (GetGlobalNumber("Lev_MalakVision") > 0);
}

EnderWiggin
05-10-2006, 06:05 PM
I have a few questions, answer them as you please please, or point me in the right tutorial direction:

A) How do I make sure an option doesn't come up in Dialogue if I talk to the person again, like for adding Dark Side Points and what not.

B) How do I make computers accessible? How do I change what they say?

C) Where is a tutorial on how to create items?

D) This is KOTOR 1, so is there a certain way to tell if the players have um, discovered the Leviathan secret yet? And thus change the dialogue? (Didn't want to spoil it.)


That's all for now, I'll edit this post if I think of more. Thanks in advance.

A) Scripting and placing the script in DLGeditor. Stoffe, D3, Tk102 or someone can help you with scripts better than I can.

B)Make a dialog in DLGeditor, and attach it to the computer. Use the computer settings in DLGedit. Check here as well. (http://www.lucasforums.com/showthread.php?t=143356)

C)What type of item? Check here, (http://www.lucasforums.com/showthread.php?t=143789) here (http://www.lucasforums.com/showthread.php?t=143991) and here (http://www.lucasforums.com/showthread.php?t=143176) for some tutorials on items.

D)That's Globals.. Someone like Stoffe or Tk102 could help you there.

Hope this helps, at least a little...

_EW_

By the way, all the links in my post can be found in the General Tips and Tutorials Sub-forum.

EDIT:Hahaha, Stoffe beat me...

Darth333
05-10-2006, 08:01 PM
You usually do this by setting a local variable on the dialog node that should only be triggered once. For KotOR1 you'll need to create this script yourself since it does not support dialog parameters like Kotor2:TSL does.

There is also another possible option to avoid making new scripts and that would only require to type the name of the script in the proper fields of the dialog node. KotOR 1 has generic scripts to check whether the player has spoken or not with a npc : k_act_talktrue that sets the variable and k_con_talkedto that checks for the variable.




It was ages since I did any KotOR1 modding so I may be wrong, but if I remember correctly the Lev_MalakVision global variable is larger than 0 if you've had that encounter. You can check it with a script in a dialog like:
Close enough! (that must be the first time in Holowan Labs history that you're not right on :p ) . It's not a vision but a dream (LEV_MALDREAM) and it's a boolean ;) :


int StartingConditional() {
return (GetGlobalBoolean("Lev_Maldream") ==TRUE);
}