Jump to content

Home

Problem with a Trigger...


Gorgod

Recommended Posts

Hey all. Recently, I decided to do a trigger in order to get Nara (from my Recruit Nara mod) to talk to you as you walk by her on the mid-right side of the cantina on Dreshdae. I realized countless mistakes, but the trigger still isn't working. I've tried fixing every problem I can imagine, but it just won't work. Here are some screenies of the .git file, the .utt file, and the OnEnter script.

 

Show spoiler
(hidden content - requires Javascript to show)

Show spoiler
(hidden content - requires Javascript to show)
farl2s.png

Show spoiler
(hidden content - requires Javascript to show)
2u9qv5y.png

Show spoiler
(hidden content - requires Javascript to show)
e9i0cg.jpg

Show spoiler
(hidden content - requires Javascript to show)
ku7mq.jpg

 

Any problems?

Link to comment
Share on other sites

Your trigger values in the .git are wrong for one thing....you have to think of it as a square around your xposition, yposition, zposition...for your values, try using 1,1,0..1,-1,0...-1,1,0...and -1,-1,0....if needed you can make your square bigger by increased the 1's to 2's.

 

Also, try using this script...so the conversation fires only once when the trigger is entered.

 

void main() { 
// ST: Check if it's the player entering the trigger, and that it hasn't already fired 
if (!GetLocalBoolean(OBJECT_SELF, 45) && (GetEnteringObject() == GetFirstPC())) { 

// ST: Make sure the trigger only fires once. 
SetLocalBoolean(OBJECT_SELF, 45, TRUE); 
// ST: Start the dialog, change DialogFileName to the name of the DLG file. 
ActionStartConversation(GetFirstPC(), "YOUR DIALOG", FALSE, CONVERSATION_TYPE_CINEMATIC, TRUE); 
} 
} 

 

Also, I always keep triggers as Hostile_1 as the faction.

Link to comment
Share on other sites

Your trigger values in the .git are wrong for one thing....you have to think of it as a square around your xposition, yposition, zposition...for your values, try using 1,1,0..1,-1,0...-1,1,0...and -1,-1,0....if needed you can make your square bigger by increased the 1's to 2's.

 

Also, try using this script...so the conversation fires only once when the trigger is entered.

 

void main() { 
// ST: Check if it's the player entering the trigger, and that it hasn't already fired 
if (!GetLocalBoolean(OBJECT_SELF, 45) && (GetEnteringObject() == GetFirstPC())) { 

// ST: Make sure the trigger only fires once. 
SetLocalBoolean(OBJECT_SELF, 45, TRUE); 
// ST: Start the dialog, change DialogFileName to the name of the DLG file. 
ActionStartConversation(GetFirstPC(), "YOUR DIALOG", FALSE, CONVERSATION_TYPE_CINEMATIC, TRUE); 
} 
} 

 

Also, I always keep triggers as Hostile_1 as the faction.

 

Great, thanks! This worked, although I have one problem... the whole conversation just is a side view of both of the characters instead of the normal conversation camera where it switches around. How could I fix this?

Link to comment
Share on other sites

Check this thread in the tutorials regarding camera angles

 

http://www.lucasforums.com/showthread.php?t=165950

 

you will just have to input the appropriate integer in the camera angle box in your dlgeditor for each line of dialog

 

I tried this, and the camera angles still remain the same that differs from those specified. Do I have to do something other than input in the correct camera angle in the camera angle box?

 

And also, I tested out the script you gave me, and Nara seemed to disappear when I came back, and the trigger activated again. I realized that the problem was that you set a local boolean instead of a global. So, in an attempt to create a script that has a global instead of a local boolean and set the global boolean to true in the spawn script, it gave me an error saying "Too many arguments specified in call to 'GetGlobalBoolean'". Here's the script:

 

void main() { 

   if (GetGlobalBoolean("NARA_CONVO", TRUE) && (GetEnteringObject() == GetFirstPC())) {
      (GetFirstPC(), "kor33_nara", FALSE, CONVERSATION_TYPE_CINEMATIC, TRUE); 
} 
} 
}

Link to comment
Share on other sites

Regarding the cameras...can you take a screen shot of a couple screens from your dlgeditor regarding the conversation....maybe there are placeable cameras being used..I'd have to look at it.

 

Regarding the script...the one I gave you usually works for me for trigger-generated conversations....I am not a good scripter, hopefully someone else could help with that.

Link to comment
Share on other sites

GetGlobalBoolean is an integer function, not an action. It returns as either 1 (true) or 0 (false), so you shouldn't put either of those into it. You also forgot ActionStartConversation, although maybe it was just lost when you pasted the stuff here. Anyway, this is how I'd do it:

 

void main() {

if ( GetGlobalBoolean("NARA_CONVO") && GetEnteringObject() == GetFirstPC() ){
ActionStartConversation(GetFirstPC(), "kor33_nara", FALSE, CONVERSATION_TYPE_CINEMATIC, TRUE, "", "", "", "", "", "", FALSE, -1, -1, 0);
}

}

 

All that stuff at the end there isn't necessary, but I like to include it so I don't lose track of the command's functions and their order. And for future reference, if you want the check if the boolean is false:

 

if ( !GetGlobalBoolean("NARA_CONVO") )

 

I still think to be safe you should add an AssignCommand to specifically tell Nara to start the conversation. As it is right now, technically the trigger is doing it.

 

Additionally, I've realized that the trigger's faction doesn't matter, because that's only used for traps. So we we're all fools. :p

 

And I agree, both with the need for pictures and that static cameras are the likely suspect.

Link to comment
Share on other sites

 

void main() {

if ( GetGlobalBoolean("NARA_CONVO") && GetEnteringObject() == GetFirstPC() ){
ActionStartConversation(GetFirstPC(), "kor33_nara", FALSE, CONVERSATION_TYPE_CINEMATIC, TRUE, "", "", "", "", "", "", FALSE, -1, -1, 0);
}

}

 

All that stuff at the end there isn't necessary, but I like to include it so I don't lose track of the command's functions and their order. And for future reference, if you want the check if the boolean is false:

 

if ( !GetGlobalBoolean("NARA_CONVO") )

 

 

This is better, and the disappearing Nara was fixed by implementing her into the .git file rather than having her spawn by dialogue. Anyways, here is the picture of the .dlg file. I sort of have an idea of what's wrong, however that's for you to determine, not me. :p

 

And yeah, I know the dialogue is pretty bad, I'm working on it. xD

 

Show spoiler
(hidden content - requires Javascript to show)
4ikkti.png
Link to comment
Share on other sites

You shouldn't need to do that. By default the speaker is conversation owner and the listener is either the last creature who spoke or the player; that only changes when you put something else into the fields. I'd wager that because the trigger started the conversation, the trigger is the owner and not Nara.

Link to comment
Share on other sites

You shouldn't need to do that. By default the speaker is conversation owner and the listener is either the last creature who spoke or the player; that only changes when you put something else into the fields. I'd wager that because the trigger started the conversation, the trigger is the owner and not Nara.

 

Yeah, that's probably it.

 

This isn't a huge deal or anything, but is there a way to create one of those quick fade in from black sort of things? Most of the in-game triggers do that, and as-is it looks a little... uncinematic.

Link to comment
Share on other sites

There are two ways to do it, either with the script or with the dialogue.

 

For the script:

SetGlobalFadeIn(fWait, fLength, fR, fG, fB);

Wait is the time to wait before it begins, and length is the length of the fade. Since you want it to be black, leave the RGB values as 0.0 (they're all floats so they must be in decimal form). If you need to fade out use SetGlobalFadeOut; the parameters are identical.

 

And if you want to do it in the dialogue, each node has a flag called FadeType. I believe fade in is 3, fade out is 4. I'm pretty sure there's one for solid black, I guess that would be 2, but I'm not sure. Anyway, change the flag of the first node in the conversation, where you want the fade to be. I'd suggest placing a blank node before the first line of dialogue and adding a delay to it - actually, you should do that with either method.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...