PDA

View Full Version : Dialog error


Canderis
02-07-2009, 10:57 PM
I have this error with a dialog file. When it fires in game it shows up like how people on taris's does as like a speech bubble in the air. I have 2 reply options that you cant even choose. Why is this happening?

HK-42
02-07-2009, 10:58 PM
I have this error with a dialog file. When it fires in game it shows up like how people on taris's does as like a speech bubble in the air. I have 2 reply options that you cant even choose. Why is this happening?

As far as I know that only happens when the Npc only has one line. Does he have a reply to those replies(of the pc)

Canderis
02-07-2009, 10:59 PM
One of them.

Ferc Kast
02-07-2009, 11:25 PM
Huh; I thought I read once in a tutorial (correct me if I'm wrong) that a dialog works like normal (non-'text bubble') if it has 3 replies.

I can't speak from experience though, seeing as I've only dealt with/made dialogs with 3+ replies.

Darth InSidious
02-07-2009, 11:35 PM
Actually, it needs a minimum of one 'entry', that is, NPC response and one PC reply, even if that reply is blank.

Canderis
02-07-2009, 11:39 PM
Actually, it needs a minimum of one 'entry', that is, NPC response and one PC reply, even if that reply is blank.
Really then why didn't it work?
Huh; I thought I read once in a tutorial (correct me if I'm wrong) that a dialog works like normal (non-'text bubble') if it has 3 replies.

I can't speak from experience though, seeing as I've only dealt with/made dialogs with 3+ replies.

Thanks ferc that made it work!

EDIT: now for some reason it wont fire when i enter the area. Heres the fire script:

void main() {
object oNPC=GetObjectByTag("doorguard");
location lMe=GetLocation(GetFirstPC());
ActionDoCommand(SetCommandable(TRUE,oNPC));
AssignCommand (oNPC,ActionForceMoveToLocation(lMe,FALSE));
AssignCommand (oNPC, ActionStartConversation(GetFirstPC()));
}

Do you guys see any problem?

Star Admiral
02-08-2009, 02:06 AM
Does the NPC even move over to where you are, or does the script simply not fire at all?

- Star Admiral

Canderis
02-08-2009, 10:40 AM
Its kinda hard to tell as he spawns close to me. I think it does cuz he was facing the wrong way at first and when this script fires he faces me.

Star Admiral
02-08-2009, 02:27 PM
What is the trigger for this event? The OnEnter script of a module?

- Star Admiral

Canderis
02-08-2009, 02:33 PM
Yes the onenter script slot.

Star Admiral
02-08-2009, 02:54 PM
Try using ClearAllActions().

void main() {
object oNPC=GetObjectByTag("doorguard");
location lMe=GetLocation(GetFirstPC());
ActionDoCommand(SetCommandable(TRUE,oNPC));
ClearAllActions();
AssignCommand (oNPC,ActionForceMoveToLocation(lMe,FALSE));
AssignCommand (oNPC, ActionStartConversation(GetFirstPC()));
}

Canderis
02-08-2009, 03:14 PM
Thanks star admiral! it worked! Now I just need to fix one more bug, the script that fires in the dialog to make the people hostile only works on 3 out of the 6 people. Is it because they all are the same utc? And one other small thing, what is the uti tag for the red short saber?
void main() {
object oNPC1=GetObjectByTag("sith01");
object oNPC2=GetObjectByTag("doorguard");
object oNPC3=GetObjectByTag("cultdro");
object oNPC4=GetObjectByTag("sith01");
object oNPC5=GetObjectByTag("sith01");
ChangeToStandardFaction(oNPC1, 1);
ChangeToStandardFaction(oNPC2, 1);
ChangeToStandardFaction(oNPC3, 1);
ChangeToStandardFaction(oNPC4, 1);
ChangeToStandardFaction(oNPC5, 1);
}

Star Admiral
02-08-2009, 03:26 PM
Try this.

void main() {
object oNPC1=GetObjectByTag("sith01", 0);
object oNPC2=GetObjectByTag("doorguard");
object oNPC3=GetObjectByTag("cultdro");
object oNPC4=GetObjectByTag("sith01", 1);
object oNPC5=GetObjectByTag("sith01", 2);
ChangeToStandardFaction(oNPC1, 1);
ChangeToStandardFaction(oNPC2, 1);
ChangeToStandardFaction(oNPC3, 1);
ChangeToStandardFaction(oNPC4, 1);
ChangeToStandardFaction(oNPC5, 1);
}

And the .uti for the red short saber in K1 is g_w_shortsbr02. If I'm not mistaken, it's the same for TSL.

- Star Admiral

Canderis
02-08-2009, 03:49 PM
I forgot to add in the origional script one droid and when I tried to follow your example he stayed on my team and didn't go hostile.

void main() {
object oNPC1=GetObjectByTag("sith01", 0);
object oNPC2=GetObjectByTag("doorguard");
object oNPC3=GetObjectByTag("cultdro");
object oNPC6=GetObjectByTag("cultdro", 2);
object oNPC4=GetObjectByTag("sith01", 1);
object oNPC5=GetObjectByTag("sith01", 2);
ChangeToStandardFaction(oNPC1, 1);
ChangeToStandardFaction(oNPC2, 1);
ChangeToStandardFaction(oNPC3, 1);
ChangeToStandardFaction(oNPC4, 1);
ChangeToStandardFaction(oNPC5, 1);
ChangeToStandardFaction(oNPC6, 1);
}
do you see any error?

Star Admiral
02-08-2009, 03:56 PM
Change the 2 in the GetObjectByTag for oNPC6 to a 1. A 0 value tells the game to get the first object with that tag, a 1 gets the second object with that tag, 2 gets the third object, and so on.

- Star Admiral

Canderis
02-08-2009, 04:06 PM
Thanks SA, now there is only one bug left to fix in this module, the "red" short saber is cyan. I don't know why but it is. "g_w_shortsbr02"

Star Admiral
02-08-2009, 05:13 PM
Surprising. Is this for K1 or for TSL? If it's for K1, there is only one cyan color, and that is for the MOTF lightsaber, with a code of g1_w_shortsbr02. If there is no typo, try using g_w_shortsbr01, which is supposed to be for a blue lightsaber.

- Star Admiral

Canderis
02-08-2009, 05:20 PM
TSL, and there is a 1 after the g (i think).

Star Admiral
02-08-2009, 05:23 PM
That's the problem. Get rid of the 1 and it should be red.

- Star Admiral