jastey Posted October 31, 2023 Share Posted October 31, 2023 Yes, to begin the new dlg. Quote Link to comment
Jarno Mikkola Posted October 31, 2023 Share Posted October 31, 2023 (edited) 10 hours ago, jmerry said: No overwriting going on. ActionOverride is just "tell this other creature to do something". On that note, if one of those actions is "tell this creature that's speaking to do something", then you shouldn't use an ActionOverride for it. I don't know whether it breaks in dialogues, but it certainly does in scripts; ActionOverride([active creature], [do something]) in a script fails and causes any further actions to not be executed either. If this happens to be a cutscene, it's likely to leave you hanging and unable to do anything but force quit. You do realize I didn't have Crtl+c Crtl+V at that moment ? Aka, when you put ActionOverride into script function, you OVER(W)RITE the targeted creatures ACTIONS. But the point of the message was that one was creature, while the other was a dialog phase, or contingency. And if you were to code things a little bit better, you wouldn't make these mistakes and you would name things with cleverly so that you couldn't ever mix things up. Edited November 1, 2023 by Jarno Mikkola Quote Link to comment
svj Posted November 2, 2023 Author Share Posted November 2, 2023 BEGIN rqrugos CHAIN IF ~Global("rqRevanMintiper","GLOBAL",1) InParty("rqrev") See("rqrev") !Dead("rqrev") !StateCheck("rqrev",STATE_SLEEPING)~ THEN rqrevJ rqrevrugos ~My dear friend Rugos...~ DO ~SetGlobal("rqRevanMintiper","GLOBAL",2)~ == rqrugos ~Likewise old Captain its good to see you alive.~ == rqrevJ ~They will have to put much more effort to get me under ground.~ == rqrugos ~Good to hear. Let us talk about our enemy.~ == rqrevJ ~Harpers namely Mintiper Moonsilver our old enemy from Moonsea.~ == rqrugos ~Ha! By chance i stumbled on their camp yesterday they are near in Umar Hills west from Umar Cave apparently they are searching for something there.~ == rqrevJ ~What about Mintiper Moonsilver did you saw him?~ == rqrugos ~Yes but he is accompanied by a rather large group of allies.~ == rqrevJ ~We shall pay them a visit sooner or later. By the way have found any work that we can do?~ == rqrugos ~Not yet but will visit old contact of mine as i have heard tavern rumor that he is searching for mercenaries.~ == rqrevJ ~When you will have something send messenger.~ == rqrugos ~Sending messages is not necessary and quite dangerous. Return here after you defeat Mintiper it would be quite dangerous to conduct bussiness while he is alive.~ DO ~SetGlobal("rqRevanMintiper","GLOBAL",3)~ EXIT /* ------------------------------------------------------------------- Rugos contract no.1 -------------------------------------------------------------------*/ IF ~Dead("rqmintip") Global("rqContractsRugosAvailable","GLOBAL",1)~ THEN BEGIN Rugos1OfferContract SAY ~Greetings, I am sure you are here for the mercenary contracts Revan talked to you about.~ IF ~~ THEN REPLY ~Yes he told me to talk to you.~ GOTO Rugos1Contract IF ~~ THEN REPLY ~Yeah that's not the case, Farewell.~ GOTO Rugos1Rejected END [revan/d/rqrugos.d] PARSE ERROR at line 41 column 1-2 Near Text: IF syntax error [revan/d/rqrugos.d] ERROR at line 41 column 1-2 Near Text: IF Parsing.Parse_error ERROR: parsing [revan/d/rqrugos.d]: Parsing.Parse_error ERROR: compiling [revan/d/rqrugos.d]! Stopping installation because of error. Despite compiler saying the problem is at 41 line if i comment out CHAIN the dialogue compiles Quote Link to comment
svj Posted November 2, 2023 Author Share Posted November 2, 2023 ERROR locating resource for 'CHAIN3' Resource [RQ5MINTI.DLG] not found in KEY file: [./chitin.key] ERROR: preprocessing APPEND_EARLY [revan/d/rqrev.d]: Failure("resource [RQ5MINTI.DLG] not found for 'CHAIN3'") Stopping installation because of error. I am now compiling the entire .d folder why i am getting this error RQ5MINTI is in d folder do i need to compile my d files separately? Quote Link to comment
jmerry Posted November 2, 2023 Share Posted November 2, 2023 A DLG needs to exist before you can CHAIN to it. How do you ensure this? Well, it's perfectly valid to do a BEGIN %name% command in your .D to create a DLG file, and then simply move on to something else without putting anything in that DLG file just yet. One mod I checked for reference (an NPC mod, and the dialogue for extra characters involved in the quest) did this for several characters at the beginning of the file. Quote Link to comment
svj Posted November 2, 2023 Author Share Posted November 2, 2023 (edited) 35 minutes ago, jmerry said: A DLG needs to exist before you can CHAIN to it. How do you ensure this? Well, it's perfectly valid to do a BEGIN %name% command in your .D to create a DLG file, and then simply move on to something else without putting anything in that DLG file just yet. One mod I checked for reference (an NPC mod, and the dialogue for extra characters involved in the quest) did this for several characters at the beginning of the file. Both files rq5minti.d and rqrev.d exist and are in d folder and have content in them Edited November 2, 2023 by svj Quote Link to comment
jmerry Posted November 3, 2023 Share Posted November 3, 2023 1 hour ago, svj said: Both files rq5minti.d and rqrev.d exist and are in d folder and have content in them The .D file is not the fundamental unit here. It can unpack to a .DLG file, multiple .DLG files, part of one .DLG file ... basically, what you just said is irrelevant. What matters is that, at the time the .D file is compiling and you reach the CHAIN command, the files being chained to exist. If you're spreading the creation commands among different files and compiling them as a batch, you have no way to know whether a .DLG created in one .D exists when you need to reference it in another. In order to ensure that CHAIN and the like work, you need to either (a) put the creation command BEGIN %filename% earlier in the same file as the commands that reference that .DLG, or (b) create the file before you even get to that batch. Fundamentally, for what you're trying to do, I see no reason not to just put everything into one .D file. It works better that way. You have control over the order that things happen in, so you can ensure that dialogues exist when you need to reference. And of course, your symbolic labels will still be remembered when you use them. Quote Link to comment
jastey Posted November 3, 2023 Share Posted November 3, 2023 In other words: the name of the d-file is irrelevant, like I already wrote earlier. But inside, you need to define the dlg before you can add lines with CHAIN, i.e. you need to write BEGIN dlgname. This creates the dlg named dlgname, not the d-file itself. And after the CHAIN, you need to tell the installer which dlg the following states go to, so you need to wrap dialogue states into APPEND dlgname ... END to do so. Quote Link to comment
svj Posted November 3, 2023 Author Share Posted November 3, 2023 IF ~~ THEN BEGIN GalvareyInprisonment SAY ~Glad you've decided to cooperate. With my appointment as Herald more good like this can be done. As i said you need not to worry we shall put the spell on you and it will last until we transport you unharmed before High Harper council.~ IF ~~ THEN REPLY ~Yes cast the spell on me. I shall meet with this Harper Council.~ DO ~ReallyForceSpell(Player1,WIZARD_IMPRISONMENT) ReallyForceSpell(rqrev,WIZARD_IMPRISONMENT)~ EXIT END WARNING: cannot verify action ~ReallyForceSpell(Player1,WIZARD_IMPRISONMENT) ReallyForceSpell(rqrev,WIZARD_IMPRISONMENT)~: Not_found This snipped causes compiler warning what can i do about this? Quote Link to comment
jmerry Posted November 3, 2023 Share Posted November 3, 2023 That warning is because rqrev is not a valid object identifier. If you want to use a creature's script name to identify an object in a trigger or action, you need to enclose it in quotes: "rqrev" instead. Quote Link to comment
svj Posted November 3, 2023 Author Share Posted November 3, 2023 I do have few custom spell that would be used ONLY by NPCs against CHARNAME do i need to install them via the projectile method? What is minimal amount of coding to achieve this can you post some examples? Currently if i just want to copy spells into override Checking for required files ... Copying and patching 1 file ... Extending game scripts ... Copying 1 file ... ERROR: error loading [/revan/spl/rqmaze.spl] Stopping installation because of error. [svj@localhost Baldur's Gate 2]$ ls revan/spl/rqmaze.spl revan/spl/rqmaze.spl Quote Link to comment
jmerry Posted November 3, 2023 Share Posted November 3, 2023 The minimal amount of coding? COPY the spell, use an action such as ForceSpellRES to reference the spell by its resource name. Or you could actually assign the spell to the NPC, and have a somewhat wider range of actions you could use because of that memorization. I have no idea what you mean by "the projectile method". Quote Link to comment
svj Posted November 3, 2023 Author Share Posted November 3, 2023 (edited) Right mod is installing now without warnings. I still have Journal entries to add and Inparty prattle. Edited November 3, 2023 by svj Quote Link to comment
svj Posted November 3, 2023 Author Share Posted November 3, 2023 Anybody knows source for bg looking portraits? Quote Link to comment
Jarno Mikkola Posted November 4, 2023 Share Posted November 4, 2023 (edited) 3 hours ago, svj said: Anybody knows source for bg looking portraits? Meaning ? This ? https://gibberlings3.github.io/iesdp/file_formats/ie_formats/bam_v1.htm And this: https://baldursgate.fandom.com/wiki/Portraits Or do you mean the artists that made them... no idea. The fandom has them cathagorized, erhm for their in-game file names: https://baldursgate.fandom.com/wiki/Portrait_File_Names More... there's a whole G3 web page dedicated to them... mostly non EE one though: https://www.gibberlings3.net/gallery/category/1-portrait-packs/ Or AI source to 'enhance them'... Edited November 4, 2023 by Jarno Mikkola 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.