Jarno Mikkola Posted December 9, 2021 Share Posted December 9, 2021 31 minutes ago, jastey said: (Isn't it great how one can spent hours looking at the syntax and not see something like this? I was ready to throw the monitor out the window recently, until I saw the typo.) Yes, and this is why you ask for help from new eyes, as guaranteed, I am the least qualified one of us to help and I was able to spot the error in minutes. Quote Link to comment
Kitanna Posted December 9, 2021 Author Share Posted December 9, 2021 OMG! I know! After all day writing, my vision was playing tricks with me, I think LOL. That's when it's time to step away from the computer. I've been testing all day and ran into a dlg issue. Is there a way to force a dlg to fire as soon as combat ends? like maybe see(soandso)dead? Navarra's quest works perfectly but I want her to speak as soon as the fight ends and can't seem to get it to work. Quote Link to comment
Guest Morgoth Posted December 9, 2021 Share Posted December 9, 2021 Kitanna, can you add some "custom" dialogues for people playing with Imoen Romance? It would be very cool to see your characters actually reacting to the relationship. Quote Link to comment
Jarno Mikkola Posted December 9, 2021 Share Posted December 9, 2021 (edited) 1 hour ago, Kitanna said: Is there a way to force a dlg to fire as soon as combat ends? like maybe see(soandso)dead? Navarra's quest works perfectly but I want her to speak as soon as the fight ends and can't seem to get it to work. Well, you could set this up in the area script that the dead character would be, constantly check if the character is dead character, and if it's dead, trígger a set dialog, or overwrite the Navarra to start the set dialog, and also make sure that you check for a variable and set the variable in the dialog etc. This should be quite easy... unless the map the character dies on is complicated. Edited December 9, 2021 by Jarno Mikkola Quote Link to comment
jastey Posted December 9, 2021 Share Posted December 9, 2021 I let my mage check the "spellbooks" of fallen enemy mages. If there is a death variable (scriptname), you can check for See("xyz") Dead("xyz") CombatCounter(0) then the dialogue should fire the moment the fight ended while the group is still near the dead enemy. Spoiler For example, this is after Zordal (in one of the Nashkel Carnival tents) is dead: /* lore path: zordral */ /* activation */ IF AreaCheck("xyz") Dead("Zordral") See("Zordral") Global("C#Br_LorePathZordral","GLOBAL",0) InParty(Myself) !StateCheck(Myself,CD_STATE_NOTVALID) See(Player1) CombatCounter(0) !See([ENEMY]) THEN RESPONSE #100 SetGlobal("C#Br_LorePathZordral","GLOBAL",1) END /* Initiate */ IF InParty(Myself) !StateCheck(Myself,CD_STATE_NOTVALID) See(Player1) CombatCounter(0) !See([ENEMY]) THEN RESPONSE #100 StartDialogueNoSet(Myself) END Quote Link to comment
Kitanna Posted December 9, 2021 Author Share Posted December 9, 2021 it's small teeth pass so, should be a simple area. Perfect! Thanks both of you. And that was what I needed Jastey Quote Link to comment
Kitanna Posted December 9, 2021 Author Share Posted December 9, 2021 It doesn't look like I gave them a death variable, and I say them because there are 5 of them. So, maybe that's why I can't get it to work? Or, I just don't know the proper way to write the script. Quote Link to comment
Jarno Mikkola Posted December 10, 2021 Share Posted December 10, 2021 As you have combat counter being checked, one of them having a script name vs all of them having the same sctipt name doesn't really matter, so yes, you should assign them one. You could also check that they are all dead, via ... 0x4071 ... but that can result in cristalization which prevents them all being dead as they were atomized(technically chunked to pieces). Quote Link to comment
Kitanna Posted December 10, 2021 Author Share Posted December 10, 2021 I'm sorry, I don't understand. I've only used CombatCounter(0) so I don't know how to make it check. I really have no idea how to do this script. Quote Link to comment
Jarno Mikkola Posted December 10, 2021 Share Posted December 10, 2021 (edited) Well, it's easy, just start with IF... IF CombatCounter(0) NumDead("xyz",5) Global("abcdefg","GLOBAL",0) THEN RESPONSE #100 SetGlobal("abcdefg","GLOBAL",1) ActionOverride("Navarra",StartDialogueNoSet(Player1)) END ... though, don't use the StartDialogNoSet... and the "Navarra" is characters script variable. So if it's not, change it ... appended into the area script. Edited December 10, 2021 by Jarno Mikkola Quote Link to comment
Kitanna Posted December 10, 2021 Author Share Posted December 10, 2021 Don't use StartDialogueNoSet? the ActionOverride will tell her to speak I assume. . Since the "xyz" isn't their script variables, I have to give them all the same script name? That is easy enough, but how do you associate the script name with them? Their CRE's? TP2? And thank you for the example. Sorry if I'm being a pain, just woke up. Need coffee! Quote Link to comment
Jarno Mikkola Posted December 10, 2021 Share Posted December 10, 2021 (edited) Yes, and yes: COPY ~modname/xyz.cre~ ~override\xyz.cre~ SAY NAME1 @1 SAY NAME2 @2 WRITE_ASCII SCRIPT_DEFAULT xyz #8 //this variable is the assigned script name You are more than welcome. I have asked help in the past, and so will help others for the same reason they did. To get help in the future when I need it. And yes, the #8 is there to assign the ASCII character length, which can be 8 at max. 8 hours ago, Kitanna said: Don't use StartDialogueNoSet? Well, if you don't assign a set dialog, it can lead to bad consequences, like for example if the dialog that triggers is different from the dialog you want, the wrong Global gets set and the same trigger then restarts a new dialog and again it goes off the rails real fast. Edited December 10, 2021 by Jarno Mikkola Quote Link to comment
Kitanna Posted December 10, 2021 Author Share Posted December 10, 2021 @Jarno Mikkola gotcha don't need that lol and thank you!! getting a parsing error and I don't see what I did wrong IF CombatCounter(0) NumDead("KKBarbs",5) Global("KKMissingWarriors","GLOBAL",6) Global("KKNotGoingHome","LOCALS",0) THEN RESPONSE #100 SetGlobal("KKMissingWarriors","GLOBAL",7) SetGlobal("KKNotGoingHome","LOCALS",1) ActionOverride("KKNavar") -says this line but you know could either or END END Quote Link to comment
Jarno Mikkola Posted December 11, 2021 Share Posted December 11, 2021 (edited) 25 minutes ago, Kitanna said: ActionOverride("KKNavar") -says this line but you know could either or The ActionOverride -command needs action that overwrites what ever the creature is doping, be it walk etc, so you cannot just point to the creture and command it to What do you need it to do ? Yes, you need an actrion, probably something like StartDialogue: ActionOverride("KKNavar",StartDialogue(dialogname,Player1)) And then you have a specific dialog that the action triggers, and not a random one the game picks because it's available, cause that can cause lag and all sorts of fun, ouh not fun, I meant to say. Edited December 11, 2021 by Jarno Mikkola Quote Link to comment
Kitanna Posted December 11, 2021 Author Share Posted December 11, 2021 OH! I misunderstood you! when you said not to use StartDialogueNoSet.... LOL I understand now. Thank you kindly Quote Link to comment
Recommended Posts
Join the conversation
You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.