randydg Posted February 22, 2004 Share Posted February 22, 2004 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 More sharing options...
muncheroo Posted February 22, 2004 Share Posted February 22, 2004 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 More sharing options...
gameunlimited Posted February 22, 2004 Share Posted February 22, 2004 scripts are the answer. If you know some C++ programming language, PM me, I can point you out with the directions on how to do this. Link to comment Share on other sites More sharing options...
randydg Posted February 22, 2004 Author Share Posted February 22, 2004 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 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 More sharing options...
gameunlimited Posted February 22, 2004 Share Posted February 22, 2004 there you go Link to comment Share on other sites More sharing options...
randydg Posted February 22, 2004 Author Share Posted February 22, 2004 gameunlimited, is there a script for the council? im not seing one in the script files. if so whats the file name for one? thanks Link to comment Share on other sites More sharing options...
gameunlimited Posted February 22, 2004 Share Posted February 22, 2004 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 More sharing options...
randydg Posted February 22, 2004 Author Share Posted February 22, 2004 the .mdl file? if so what do i open it with? Link to comment Share on other sites More sharing options...
gameunlimited Posted February 22, 2004 Share Posted February 22, 2004 no, the dlg file. Link to comment Share on other sites More sharing options...
randydg Posted February 22, 2004 Author Share Posted February 22, 2004 how do you open up a .dlg file and where is it located? do i use the kotor_tool thing to extract it? if so witch catagory isit under. thanks Link to comment Share on other sites More sharing options...
gameunlimited Posted February 22, 2004 Share Posted February 22, 2004 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 More sharing options...
randydg Posted February 22, 2004 Author Share Posted February 22, 2004 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 More sharing options...
randydg Posted February 22, 2004 Author Share Posted February 22, 2004 ok i found the .dlg files they are under the danm_s.rim file. but on after there im lost, i don't see active field Link to comment Share on other sites More sharing options...
randydg Posted February 22, 2004 Author Share Posted February 22, 2004 someone needs to create a front end for .dlg format so we don't have to go digging through a bunch of code and whatever all that is. a front end to show the conversations & the scripts that go with them. Link to comment Share on other sites More sharing options...
SSJ3Goku Posted March 7, 2004 Share Posted March 7, 2004 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 More sharing options...
randydg Posted March 7, 2004 Author Share Posted March 7, 2004 this is an old thread. i've learned alot sence this thread Link to comment Share on other sites More sharing options...
randydg Posted March 7, 2004 Author Share Posted March 7, 2004 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 More sharing options...
BountyHUNTER12 Posted July 14, 2004 Share Posted July 14, 2004 If you want to make the NPC attack you and give you darkside points you use this script: #include "k_inc_debug" void main() { object oSubject=GetFirstPC(); AdjustAlignment(oSubject, 3, 10); ChangeToStandardFaction(OBJECT_SELF, STANDARD_FACTION_HOSTILE_1); } Link to comment Share on other sites More sharing options...
Darth Dex Posted July 15, 2004 Share Posted July 15, 2004 hmmm...and where would you put the scirpt. I know in the dialong, but where so the dialong would find it? Sorry I'm a n00b. Link to comment Share on other sites More sharing options...
Xavier2 Posted November 21, 2004 Share Posted November 21, 2004 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 More sharing options...
Darth333 Posted November 21, 2004 Share Posted November 21, 2004 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 More sharing options...
Xavier2 Posted November 21, 2004 Share Posted November 21, 2004 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 More sharing options...
Darth333 Posted November 21, 2004 Share Posted November 21, 2004 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 More sharing options...
Xavier2 Posted November 21, 2004 Share Posted November 21, 2004 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 More sharing options...
tk102 Posted November 22, 2004 Share Posted November 22, 2004 I know what you mean Xavier2. Not sure this will help but you could try replacing the DelayCommand line with AssignCommand(oNPC, ActionDoCommand( ActionAttack( GetFirstPC() ) ) ); Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.