Jump to content

Lauriel

Modders
  • Posts

    940
  • Joined

  • Last visited

Posts posted by Lauriel

  1. 7 hours ago, jastey said:

    Caution with PartyRested(), though, as it only gives true if it is true right the instance before that script is called. If you want to make sure a dialogue triggers after a certain rest, it's sufficient to just set a varaible in the rest dialogue (before the rest triggered by e.g. the player1's dream script), then do RestParty()inside this script, and let the set variable trigger another dialogue instantly, which will play after wakeup.

    I think I understand.  Thank you! :)

  2. I'd like to have a dream interrupt the PC's rest the first time the group rests after a specific event, but I don't know how to capture the event before it's finished ... or before it starts, would be better.  I've read up on PartyRested() but that's after the event, from what I've gathered.  Any pointers would bve appreciated.

    Related question: Is DPlayer3.bcs always the PC's script?

  3. Figured it out.  It was the tab character that was messing it up.

    My dialogue was like:

    IF ~Global("#L_FFHealedGroup","MYAREA",0)~ THEN BEGIN duke_priest
        SAY @2000<tab>// ~<CHARNAME>! The Dukes sent us to see to your well-being. We will take care of the bodies of Sarevok and his minions.~
        = @2001<tab>// ~We've also come to collect Sarevok's sword.  The dukes don't want it to become a rallying symbol for his minions.~
        = @2002<tab>// ~Do you want us to heal you and disarm the traps while we're here?~
        ++ @2003<tab>/* ~Uh, sure.  Go ahead.~ */ + duke_priest_02
        ++ @2004<tab>/* ~No thanks, I'll manage on my own.~ */ + duke_priest_01
    END

    ...so the comments would line up.  Weidu did NOT appreciate my efforts.  I took the tabs out and just used a single space and all worked fine.  Live and learn!

  4. 1 minute ago, jastey said:

    I'm afraid I don't know what the problem would be. :(

    Just in case you are working on Windows: Try copying the game to another folder than C:\\Program Files and see whether permission works there. Windows is a bit funky with protecting the installed programs. You can just copy the whole game folder elsewhere, you can then mod it independently to the original install and start it by clicking the baldur.exe (in case you haven't done that already).

    It's not installed in C:\\Program Files.  I put it C:\\Users\<me>\...

    This one's a puzzler.  Normally I ask a question and find the solution right away.  This time...not so much. 😕

  5. 381 characters, 5 entries added to DIALOG.TLK

    FATAL ERROR: Sys_error(".\\lang\\en_us\\dialog.tlk: Permission denied")

    Actually only 4 get added, even though it says 5.  And my TRA files all start with a different number.  Setup.tra starts with 0, game.tra starts with 1000, and dialogues.tra with with 2000 so nothing should be stepping on the other's toes.

  6. Does anyone know why I would be getting this error when adding dialogue to EET?  Only 4 of my 9 dialogue lines are making it in properly.  Here's what I have:

    // Dialogue file for flaming fist healer #1
    COMPILE EVALUATE_BUFFER ~transitions/dialogues/ffhealer.d~ USING ~transitions/languages/%s/dialogues.tra~


    ffhealer.d:

    Spoiler

    ///////////////////////////////////////////////////////////
    /* priests come into Undercity's temple to heal the PC   */
    /* Using them to confisate Sarevok's sword, as well      */
    /* Slightly edited version of jastey's c#stsdpr dialogue */
    /* from her Endless BG1 mod                              */
    ///////////////////////////////////////////////////////////
    BEGIN ~#LffHlr1~
    IF ~Global("#L_FFHealedGroup","MYAREA",0)~ THEN BEGIN duke_priest
        SAY @2000     // ~<CHARNAME>! The Dukes sent us to see to your well-being. We will take care of the bodies of Sarevok and his minions.~
        = @2001     // ~We've also come to collect Sarevok's sword.  The dukes don't want it to become a rallying symbol for his minions.~
        = @2002        // ~Do you want us to heal you and disarm the traps while we're here?~
        ++ @2003    /* ~Uh, sure.  Go ahead.~ */ + duke_priest_02
        ++ @2004     /* ~No thanks, I'll manage on my own.~ */ + duke_priest_01
    END

    IF ~~ THEN BEGIN duke_priest_01
        SAY @2005 // ~You've done a great deed for the city, <CHARNAME>, indeed for the entire Sword Coast.~
        = @2006 // ~Return to the Palace when you are ready and speak to the Dukes, they wish to thank you. Fare well.~
        IF ~~ THEN DO ~SetGlobal("#L_SwordTaken","GLOBAL",1) ActionOverride("#LffHlr1",TakePartyItem("SW2H16")) ActionOverride("#LffHlr1",TakePartyItem("c#stsrvs")) ActionOverride("#LffHlr1",DestroyItem("SW2H16")) ActionOverride("#LffHlr1",DestroyItem("c#stsrvs")) ActionOverride("#LffHlr1",EscapeArea()) ActionOverride("#LffHlr2",EscapeArea())~ EXIT
    END  

    IF ~~ THEN BEGIN duke_priest_02
        SAY @2007 /* ~With pleasure. Please hold still for a moment...~ */
        IF ~~ THEN DO ~ClearAllActions() StartCutSceneMode() StartCutscene("#LffHlCs")~ EXIT
    END

    IF ~Global("#L_FFHealedGroup","MYAREA",1)~ THEN BEGIN duke_priest_03
        SAY @2008 /* ~That should do it.~ */
        IF ~~ THEN + duke_priest_01
    END

    dialogues.tra:

    Spoiler

    /* ffhealer.d */
    @2000    = ~<CHARNAME>! The Dukes sent us to see to your well-being. We will take care of the bodies of Sarevok and his minions.~
    @2001    = ~We've also come to collect Sarevok's sword.  The dukes don't want it to become a rallying symbol for his minions.~
    @2002    = ~Do you want us to heal you and disarm the traps while we're here?~
    @2003    = ~Uh, sure.  Go ahead.~
    @2004    = ~No thanks, I'll manage on my own.~
    @2005    = ~You've done a great deed for the city, <CHARNAME>, indeed for the entire Sword Coast.~
    @2006    = ~Return to the Palace when you are ready and speak to the Dukes, they wish to thank you. Fare well.~
    @2007    = ~With pleasure. Please hold still for a moment...~
    @2008    = ~That should do it.~

    The lines that make it in are 2000, 2004, 2007, and 2008.  The rest are show up as invalid.  I checked and rechecked and I'm pretty sure I'm stuck this time for real.

    Any help would be appreciated.  Oh, and if I've done something complete stupid, be kind.  My first dialogue file. :)

  7. Well, I'd like to use them, but I'm such a newb that I can't seem to figure out how.  Here's what I have and I get a parsing error

    Spoiler

    BACKUP ~transitions/backup~
    AUTHOR ~lzenner@live.com~
    VERSION ~0.1~

    README ~transitions/readme.transitions.%LANGUAGE%.txt~ ~transitions/readme.transitions.english.txt~

    AUTO_TRA ~transitions/languages/%s~

    ALWAYS
       ACTION_IF NOT GAME_IS ~eet~ BEGIN
          FAIL @1
       END

       ACTION_DEFINE_ARRAY Transitions_noconvert BEGIN setup END
       ACTION_DEFINE_ARRAY Transitions_reload BEGIN game dialogues END

       LAF HANDLE_CHARSETS
          INT_VAR
             infer_charset = 1
          STR_VAR
             tra_path = EVAL ~transitions/language~
             noconvert_array = Transitions_noconvert
             reload_array = Transitions_reload
       END
       
       // CamDawgs CD_STATE_NOTVALID
       APPEND ~STATE.IDS~ ~0x80101FEF CD_STATE_NOTVALID~ UNLESS ~CD_STATE_NOTVALID~

       INCLUDE ~transitions/lib/alter_script.tpa~                        <========== This is how I included the library - is this not correct?
    END

    LANGUAGE ~American English~ ~english~   
       ~transitions/languages/english/setup.tra~
       ~transitions/languages/english/game.tra~

    ////////////////////////////////////////////////////////////////////
    // MAIN COMPONENT: ALLOW CONTINUED PLAY AFTER SAREVOK IS DEFEATED //
    ////////////////////////////////////////////////////////////////////
    BEGIN @3
    // This option removes the movie from the end of the fight
    // so it can be used in a dream sequence later on
    FORCED_SUBCOMPONENT @2
    INSTALL_BY_DEFAULT
    COPY_EXISTING ~BG0125.BCS~ ~override~
       DECOMPILE_AND_PATCH BEGIN
          COUNT_REGEXP_INSTANCES ~Global("C#st_BG1End","GLOBAL",0)~ endlessPatchInstalled
          PATCH_IF (endlessPatchInstalled > 0) BEGIN
             // Don't play the movie after the fight
             LAF REPLACE_SCRIPT_BLOCK                   <============= This gives the parsing error - is this not how you use these?
                INT_VAR
                   only_once = 1
                STR_VAR
                   script = BG0125                     <============= the examples didn't have the script file inside tildes ... assume this is ok
                   match = ~C#st_BG1End~
                   insert = ~transitions/scripts/New0125a.baf~
             END
             // Replace the block where jastey spawns her flaming fist healers
             LAF REPLACE_SCRIPT_BLOCK
                INT_VAR
                   only_once = 1
                STR_VAR
                   script = ~BG0125~
                   match = ~C#st_FFHealerSpawn","GLOBAL",0)~
                   insert = ~transitions/scripts/New0125c.baf~
             END
          END ELSE BEGIN
             LAF REPLACE_SCRIPT_BLOCK
                INT_VAR
                   only_once = 1
                STR_VAR
                   script = ~BG0125~
                   match = ~Dead("Sarevok")~
                   insert = ~transitions/scripts/New0125a.baf~
             END
             APPEND_FILE TEXT ~transitions/scripts/New0125c.baf~
          END
       END
    BUT_ONLY_IF_IT_CHANGES

     

     

  8. 1 minute ago, jastey said:

    This is so cool a mod idea!

    Sorry for releasing a half-assed "skip SoD tweak" in my EndlessBG1 Mod. Your version will be so much better as it will flow with the SoD story. I am really looking foreward to your mod.

    Wow!  That's a saying a lot coming from you. :)  Thank you!  I'm getting there, slowly, but surely.  It's been really fun so far.  You were right - addictive. :)

     

  9. I'm working on a transition piece between BG1 and BG2 allowing folks to skip or play some or all of SoD (so far for EET).  I'm having an issue with a disappearing door in the Temple of Bhaal after the fight.  I skip the cut scene, loot as normal, but my group gets stuck inside the temple with no way out.  I've looked through the area files and scripts and can't see where it's being removed.  Does anyone have any ideas?

  10. I am trying to set up a TP2 file for a mod I'm working on.  The first thing I need to do is replace a block of code from an area script file.  I'm trying to use REPLACE_BCS_BLOCK, but nothing happens except I get the can't-find-block error at the end.

    Here's what the TP2 file looks like so far:
     

    Spoiler

     

    BACKUP ~my_mod/backup~
    AUTHOR ~me@url.com~

    BEGIN ~My Mod V0.1~

    COPY_EXISTING ~BGareafile.BCS~ ~my_mod/wip/BGareafile.BCS~
        DECOMPILE_AND_PATCH BEGIN
            REPLACE_BCS_BLOCK ~my_mod/wip/Old_blockcode.baf~ ~my_mod/wip/New_blockcode.baf~ ON_MISMATCH PATCH_FAIL ~Couldn't find block to replace~ END
        END

    BUT_ONLY_IF_IT_CHANGES

     

    NOTE: I'm playing with the file in a separate WIP folder instead of the normal override folder because I don't want to mess up my game. 

    Contents of decompiled BGareafile.BAF
     

    Spoiler

     

    <some code block>

    IF
      Dead("targetnpc")  // ~target npc~
      Global("some global I don't care about","GLOBAL",0)
    THEN
      RESPONSE #100
        do something I want to stop
        do something else I want to skip
        and a whole list of things I want to skip
    END

    <many other code blocks>

     

    Contents 0f Old_blockcode.baf:

    Spoiler

    IF
      Dead("targetnpc")  // ~target npc~
      Global("some global I don't care about","GLOBAL",0)
    THEN
      RESPONSE #100
        do something I want to stop
        do something else I want to skip
        and a whole list of things I want to skip
    END

     

    Contents of New_codeblock.baf

    Spoiler

    IF
      Dead("targetnpc")  // ~target npc~
      Global("some new global","GLOBAL",0)
    THEN
      RESPONSE #100
        SetGlobal("some new global","GLOBAL",1)

    END

     

    Anyway, am I not using REPLACE_BCS_BLOCK correctly?

  11. I just ran into this today.  I'm in the habit of changing NPC portraits to what I think more closely match their voices and personalities.  With Xan, I had to rename a copy of my desired BMP file to xan.BMP instead of just selecting it in EEKeeper.   The only other work around would be to dump Imoen or Xan while entering BG for the first time so the dialogue won't occur.    Minor annoyance, but still something I'd consider a bug.

  12. As I was going through my downloads, I discovered why I double installed BG1NPC.  I had found a 'fix' (bg1npc_BGT_TUTU_BGEE_EET.rar).  I have no idea where I found it or I'd go to them and tell them of the issues I've discovered.  Just an FYI!

    Thank you again @Shin and @jastey for the feedback. :)

  13. 11 hours ago, jastey said:

    Would it be a good idea to restrict the install of BG1NPC to not-EET? If people want to install it directly, they'd need to make changes to the tp2, anyhow.

    (Here's still hope @AstroBryGuy comes back with his BG1NPC for EET in the works.)

    Some of it works.  Some is better than not being allowed to install at all.  But I agree, if @AstroBryGuy would take pity on us and make it so we can install it to EET directly, that would be the best.

  14. @jastey So that's one of yours, too?  I think you're my new personal hero.  I seem to love everything you do.  Please don't ever stop!

     

    PS: Sorry for stealing the thread.  I'll shut up now!

  15. That's what I was afraid of.  I had my install list all written up, and purposely installed the mod on SoD for that reason.  I have no idea why I double installed it.  Oh well.  I think I'll just go the '(duh!) yes, try that' routine.  Safer.  Thank you for the feedback. :)

×
×
  • Create New...