Jump to content

Home

confused on dialog editing...


randydg

Recommended Posts

oK, i've seen a couple of threads on dialog editing but they where in .tlk and isn't the files you can change what they say and change an action for that say in .dlg file? i've seen the dialong.tlk file but thats just words. theres no place to do for instance:

 

talk to vandar with option "I am lord revan. Bow down to me or face your death" and he says "The Jedi coucil will never bow down to the likes of you" and everyone there becomes attackable. the jedi's the council, but only show the option if your evil. I know its possible but i don't know how. Would be cool to have a dialog changer & affects tutorial. and whats needed to do it.

Link to comment
Share on other sites

I think this may be possible, but I'm not sure how. Bare in mind that you will have to make new stats and animations for the Jedi Council, in order for them to become attackable. This is possible, an example would be the Arena mod from Talchia, where you can fight Vandar. It may be easier with the other council members however, just use someone elses animation files with them.

Link to comment
Share on other sites

SAWWEEEEET!! i just made mission attackable in the ebon hawk lol when i asked her to play pazaak she turned attackable. guess she doesn't like pazaak :p hehe

 

 
//:: k_act_mispaz
/*
    Mission Starts Pazaak
*/
//:: Created By: Preston Watamaniuk
//:: Copyright (c) 2002 Bioware Corp.

#include "k_inc_debug"

void main()
{
ChangeToStandardFaction(OBJECT_SELF, STANDARD_FACTION_HOSTILE_1);
}

Link to comment
Share on other sites

I am not sure what they are called. In fact, I dont suggest you to change them. What I will do is to add a new dialog line in the council's dialog file. To do this, go to the module file, then look for his dlg file. Then add a new dialog branch that calls to a new script. Use your script above as this new script.

 

Edit: if you edit the dialog file, you can easily make the dialog option to be available if you are darkside only like you wanted. To do this, you have to add a Check Condition script under the Reply List --> Active field.

Link to comment
Share on other sites

use kotor tools to extract it, and use GFF editor to open it. the file is located at RIMs --> Modules --> (dantoine's module here). There should be quite some dlg files in there. Fine the one that corresponds to the council member.

 

Once you open the file, take special note on the field "Reply List" and "Entry List". Inside the Reply List's Entry list, there is a field called active. This is the condition check script file name if you want to make certain replies to be available at certain conditions only. The script should begin with:

 

int StartingCondition()

 

instead of the usual

 

void Main()

 

Do a "Return True" for the condition so that the dialog option will be available while "Return False" for not available.

 

 

Also in the Entry List and Reply List, there will be a field called "Script". This is the script file name that will be executed if you choose the option.

 

If you want to see an example of this, download my Survival Battle mod. Then open up Mission's dialog file and see what I did with it.

Link to comment
Share on other sites

use kotor tools to extract it, and use GFF editor to open it. the file is located at RIMs --> Modules --> (dantoine's module here). There should be quite some dlg files in there.

 

nope, just 3 files .are..git,.ifo

 

am i missing something with the tool?

Link to comment
Share on other sites

  • 2 weeks later...

code

//:: k_act_mispaz

/*

Mission Starts Pazaak

*/

//:: Created By: Preston Watamaniuk

//:: Copyright © 2002 Bioware Corp.

 

#include "k_inc_debug"

 

void main()

{

ChangeToStandardFaction(OBJECT_SELF, STANDARD_FACTION_HOSTILE_1);

}

 

Could this be used to have Carth fight you at the end if you go to the dark side.

Link to comment
Share on other sites

yes, edit carth on unk so its probably called unk_carth.nss or ncs

 

but i've never had that perticular script open so not sure whats in there. or the script name of it. one way to find out is to open unk_carth.utc (if thats the filename not sure)

Link to comment
Share on other sites

  • 4 months later...
  • 4 months later...

I am using the following script to make a npc boss and his henchmen attack you attached to a dialog branch between the PC and npc01:

#include "k_inc_debug"
#include "k_inc_generic"

void main()
{
object oThug1 = GetObjectByTag("npc01");
object oThug2 = GetObjectByTag("npc02");
object oThug3 = GetObjectByTag("npc03");
object oThug4 = GetObjectByTag("npc04");
object oThug5 = GetObjectByTag("npc05");

ChangeToStandardFaction(oThug1, STANDARD_FACTION_HOSTILE_1);
ChangeToStandardFaction(oThug2, STANDARD_FACTION_HOSTILE_1);
ChangeToStandardFaction(oThug3, STANDARD_FACTION_HOSTILE_1);
ChangeToStandardFaction(oThug4, STANDARD_FACTION_HOSTILE_1);
ChangeToStandardFaction(oThug5, STANDARD_FACTION_HOSTILE_1);

DelayCommand(0.5, AssignCommand(oThug1, ClearAllActions()));
DelayCommand(0.5, AssignCommand(oThug1, GN_DetermineCombatRound()));
DelayCommand(0.5, AssignCommand(oThug2, ClearAllActions()));
DelayCommand(0.5, AssignCommand(oThug2, GN_DetermineCombatRound()));
DelayCommand(0.5, AssignCommand(oThug3, ClearAllActions()));
DelayCommand(0.5, AssignCommand(oThug3, GN_DetermineCombatRound()));
DelayCommand(0.5, AssignCommand(oThug4, ClearAllActions()));
DelayCommand(0.5, AssignCommand(oThug4, GN_DetermineCombatRound()));
DelayCommand(0.5, AssignCommand(oThug5, ClearAllActions()));
DelayCommand(0.5, AssignCommand(oThug5, GN_DetermineCombatRound()));
}

The problems are:

1. The npc01 attacks you at the end of the dialog, but the other party members, although hostile, remain stood untill attacked by you or your party members;

2. Also, one of the npcs listed in the script doesn't become hostile. I managed to fix this using another utc as a blueprint. Could it be the reason why it is not working? Something in the utc?

 

Aditional info: The npc01 is based after Twi'lek Xor and the others in Gamorreans.

Link to comment
Share on other sites

Originally posted by Xavier2

I am using the following script to make a npc boss and his henchmen attack you attached to a dialog branch between the PC and npc01:

blabla

The problems are:

1. The npc01 attacks you at the end of the dialog, but the other party members, although hostile, remain stood untill attacked by you or your party members;

 

Instead of

DelayCommand(0.5, AssignCommand(oThug2, GN_DetermineCombatRound()));

Did you tried what tk102 gave you in the other thread:

DelayCommand(1.0, AssignCommand(otat19_gamthug1, ActionAttack(GetFirstPC()));
DelayCommand(1.0, AssignCommand(otat19_gamthug2, ActionAttack(GetFirstPC()));
DelayCommand(1.0, AssignCommand(otat19_gamthug3, ActionAttack(GetFirstPC()));
DelayCommand(1.0, AssignCommand(otat19_gamthug4, ActionAttack(GetFirstPC()));

(just a small comment: having used a similar script in the past I personally find that the 1.0 sec delay in the script seems "long" in the game. I use 0.5 instead but that is up to you)

 

2. Also, one of the npcs listed in the script doesn't become hostile. I managed to fix this using another utc as a blueprint. Could it be the reason why it is not working? Something in the utc?[/b]

You have identify your npc by what appears in the Tag filed of the .utc file. The tag is used as an identifier. If what you have in the script differs from what in the .utc, then the script won't find the object.

Link to comment
Share on other sites

Originally posted by Darth333

Instead of

DelayCommand(0.5, AssignCommand(oThug2, GN_DetermineCombatRound()));

Did you tried what tk102 gave you in the other thread:

I used the code bellow but nwmnsscomp is not compliling. In the prompt i can see that it is pointing an sintax error(Sintax Error at";" in these new ActionAttack lines.

 

#include "k_inc_debug"
#include "k_inc_generic"

void main()
{
object otat19_bibfort_01 = GetObjectByTag("tat19_bibfort_01");
object otat19_gamthug1 = GetObjectByTag("tat19_gamthug1");
object otat19_gamthug2 = GetObjectByTag("tat19_gamthug2");
object otat19_gamthug3 = GetObjectByTag("tat19_gamthug3");
object otat19_gamthug4 = GetObjectByTag("tat19_gamthug4");

ChangeToStandardFaction(otat19_bibfort_01, STANDARD_FACTION_HOSTILE_1);
ChangeToStandardFaction(otat19_gamthug1, STANDARD_FACTION_HOSTILE_1);
ChangeToStandardFaction(otat19_gamthug2, STANDARD_FACTION_HOSTILE_1);
ChangeToStandardFaction(otat19_gamthug3, STANDARD_FACTION_HOSTILE_1);
ChangeToStandardFaction(otat19_gamthug4, STANDARD_FACTION_HOSTILE_1);

DelayCommand(0.5, AssignCommand(otat19_bibfort_01, ActionAttack(GetFirstPC()));
DelayCommand(0.5, AssignCommand(otat19_gamthug1, ActionAttack(GetFirstPC()));
DelayCommand(0.5, AssignCommand(otat19_gamthug2, ActionAttack(GetFirstPC()));
DelayCommand(0.5, AssignCommand(otat19_gamthug3, ActionAttack(GetFirstPC()));
DelayCommand(0.5, AssignCommand(otat19_gamthug4, ActionAttack(GetFirstPC()));
}

Link to comment
Share on other sites

There was a ")" missing from the line

DelayCommand(0.5, AssignCommand(oMynpc, ActionAttack(GetFirstPC()));

Try this:

void main()
{
object otat19_bibfort_01 = GetObjectByTag("tat19_bibfort_01");
object otat19_gamthug1 = GetObjectByTag("tat19_gamthug1");
object otat19_gamthug2 = GetObjectByTag("tat19_gamthug2");
object otat19_gamthug3 = GetObjectByTag("tat19_gamthug3");
object otat19_gamthug4 = GetObjectByTag("tat19_gamthug4");

ChangeToStandardFaction(otat19_bibfort_01, STANDARD_FACTION_HOSTILE_1);
ChangeToStandardFaction(otat19_gamthug1, STANDARD_FACTION_HOSTILE_1);
ChangeToStandardFaction(otat19_gamthug2, STANDARD_FACTION_HOSTILE_1);
ChangeToStandardFaction(otat19_gamthug3, STANDARD_FACTION_HOSTILE_1);
ChangeToStandardFaction(otat19_gamthug4, STANDARD_FACTION_HOSTILE_1);

DelayCommand(0.5, AssignCommand(otat19_bibfort_01, ActionAttack(GetFirstPC())));
DelayCommand(0.5, AssignCommand(otat19_gamthug1, ActionAttack(GetFirstPC())));
DelayCommand(0.5, AssignCommand(otat19_gamthug2, ActionAttack(GetFirstPC())));
DelayCommand(0.5, AssignCommand(otat19_gamthug3, ActionAttack(GetFirstPC())));
DelayCommand(0.5, AssignCommand(otat19_gamthug4, ActionAttack(GetFirstPC())));
}

 

Every parenthesis that is opened has to be closed somewhere.

 

...and you don't need to include k_inc_generic and k_inc_debug with this script.

Link to comment
Share on other sites

Originally posted by Darth333

There was a ")" missing from the line

DelayCommand(0.5, AssignCommand(oMynpc, ActionAttack(GetFirstPC()));

Try this:

Code listed above

 

Every parenthesis that is opened has to be closed somewhere.

 

...and you don't need to include k_inc_generic and k_inc_debug with this script.

I discovered an interesting thing. It only works properly if you go into solo mode and party members aren't near you. I tested five times in different dialog triggers and they become hostile but do not attack when your party is around. When the party is far or absent they attack you after less then a second. In one of the attempts i left the party half way. The ActionAttack triggers and they even go after the party. Is here a way to work around this?

Link to comment
Share on other sites

Archived

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

×
×
  • Create New...