Interjections
#1
Posted 22 October 2005 - 10:42 AM
Sticz
#2
Posted 22 October 2005 - 10:53 AM
http://www.weidu.org...iDU.html#htoc11
Beyond that, use the search function in this forum to look for other examples of what people have come up against.
how come you always look so damn cool in every photo I see you in?!?
Speaking of modding, I listened to IER 3 yesterday, so you can have another quote for your signature: how come you sound so damn cool, as well as look it? It's unfair. Seriously.
Still a cyberjock, still hacking the matrix, still unsure of what that means.
TeamBG member - http://www.teambg.eu
#3
Posted 22 October 2005 - 01:11 PM
I know the PDIALOG.2da needs to be ammended with the dialog files that are contained in their respective folders, which seems to be in either "English" or "Dialog" but I see no clear paths that link the 2da and that folder. I have read through this link:
http://www.weidu.org...iDU.html#htoc11 and feel confident in writing the interjection, its just getting it to be applied to the Party member that im having headaches with.
Any one have a link to a really easily done NPC that I can use as a template?
Sticz
#4
Posted 23 October 2005 - 02:08 AM
This is a one line Interjection from an NPC I was doing:
I_C_T UDPHAE01 61 bwtouchphae
== BWTOUCHJ IF ~IsValidForPartyDialog("bwtouchx")~ THEN ~(These drow always the same, kill this, kill that. No wonder they such big hit at parties!)~
END
At installation Weidu will up date UDPHAE01 at dialogue state 61 with a link to BWTOUCHJ if my npc bwtouchx is valid in the party for dialog. Weidu will also create a dialog state in BWTOUCHJ with the same state label (bwtouchphae) so that the two files connect. The game engine handles the rest during the dialog.
Note: Be aware that IsValidForPartyDialog() does not work in some circumstances so you might want to try out various checks, InParty(), See() etc but others can give you better info on this that I.
Jason Compton's Ghareth npc is good for examples though coding has probably changed a little (as above) since then but it all seems to work in game so...have fun!
#5
Posted 23 October 2005 - 12:13 PM
Any other advise that may lead me to more options is always appreciated.
Thanks,
Sticz
#6
Posted 28 October 2005 - 05:01 AM
I was going to use "!Dead()" and "InMyArea()" for I_C_T, (I do not think InParty() is relevant, as long as it does not crash the game; more dialogue is good), but now I have doubts: does InMyArea() work on SOA-only install? Or does it, like MakeGlobal(), require TOB?
Edited by Kulyok, 28 October 2005 - 05:03 AM.
IWD NPC, Xan, The Sellswords, Back to Brynnlaw, Assassinations, Dungeon Crawl, Reunion, Branwen, Coran, Tiax, Xan BG1 Friendship
BG1 NPC, Romantic Encounters
#7
Posted 28 October 2005 - 10:42 AM
#8
Posted 28 October 2005 - 11:14 AM
IsOverMe(O:Object*) - Only for trigger regions. Returns true only if the specified object is over the trigger running the script.
InMyArea(O:Object*) - Returns true only if the specified object is in the same area as the active CRE.
But well, I got home, where I have BG2 installed, ran IE and checked for InMyArea() code. Turned out it is present in SOA, so I guess it'll work. Wish me luck.
IWD NPC, Xan, The Sellswords, Back to Brynnlaw, Assassinations, Dungeon Crawl, Reunion, Branwen, Coran, Tiax, Xan BG1 Friendship
BG1 NPC, Romantic Encounters
#9
Posted 28 October 2005 - 12:44 PM
I_C_T IDRYAD1 1 NIKKIdryad
== NIKKIJ IF ~IsValidForPartyDialog("NIKKI")~ THEN ~Dryads, tree people to put it plainly. Good natured for the most part <CHARNAME>.~
END
However, this doesnt work. My intention is to have the text right after the first bimbo says "Protect me". Is there something Im missing? Most of the other interjections are written like this unless they converse.
Any help would be...well, helpful
Sticz
#10
Posted 28 October 2005 - 02:16 PM
@Kulyok: I would use anything like InMyArea() in combination with See() because if you don't you could find yourself in situations where someone is having a conversation with your NPC even though your NPC is halfway across the map and it was another party member who got to them first.
#11
Posted 28 October 2005 - 03:32 PM
#12
Posted 28 October 2005 - 05:54 PM
Pocket Plane mods and modlist etc.
#13
Posted 28 October 2005 - 06:10 PM
For example, my character, Nikki, does an interjection when the PC has talked to Lenthan, it works fine with NIKKI. It still does not work for the dryads, is this because they have kind of a banter going on between themselves?
If I do need a death variable, what does it consist of? Gareth doesnt have one that I have seen, it just re-states the dialog name, and I didnt see any links when I was changing all the files.
This is pretty much the last piece I need to figure out on this mod Im making... So thanks for any help =D
Sticz
#14
Posted 28 October 2005 - 07:01 PM
Pocket Plane mods and modlist etc.
#15
Posted 28 October 2005 - 11:43 PM
IWD NPC, Xan, The Sellswords, Back to Brynnlaw, Assassinations, Dungeon Crawl, Reunion, Branwen, Coran, Tiax, Xan BG1 Friendship
BG1 NPC, Romantic Encounters
#16
Posted 29 October 2005 - 03:55 AM
@Sticz: most modders name their main dialog file with the same name as the death variable. The Death Variable can be found by looking at the cre file in NI and finding the Scriptname field (it is a few lines below Alignment) or by using DLTCEP and looking in Edit Cre under the Icons & Scripts Tab at the very bottom right.
Just to clarify on what Jason said, if you are using IsValidForPartyDialog("NIKKI") then one of your party has to be initiating the conversation otherwise the Dryads are going to be looking for Nikki as part of their party and that's never going to happen! Change it to something like Kulyok is using: InMyArea("NIKKI"), See("NIKKI") or whatever.
#17
Posted 29 October 2005 - 03:56 AM
Sticz
#18
Posted 29 October 2005 - 04:16 AM
If the Dryad initiated the conversation then the IsValidxxx might not work because it is the Dryad who is looking for Nikki in her party. If it was the PC who started the conversation then the PC would be looking for Nikki and she is in the party.
#19 --jastey--
Posted 29 October 2005 - 06:05 AM
#20
Posted 29 October 2005 - 09:43 AM
Sticz states that not the case and that they are conversing with the PC and not Nikki and it still does not work.
My idea was that IsValidFor might be treated differently depending on who initiated the dialogue. Now I can't guarantee this is the case as I don't know how the engine handles this...anyone? Kind of like CutSceneID for dialog, if a party member owns the dialog then the engine will find the party member. However if a non-party npc owns the dialog they may not find such party specific dialogs. Did I just make all that up...probably but IsValidFor has been discussed numerous times and it seems to work and not work for no reason...maybe this is the reason?
Anyone in the end it comes down to using whatever works for you!