Jump to content

Roberciiik

Modders
  • Posts

    104
  • Joined

  • Last visited

Posts posted by Roberciiik

  1. Hello David,

    Enhanced Edition of Baldur's Gate comes with few new text formats in-game, like standardized items' descriptions or asterics in stage directions.

    I understand that it is a problem to keep and maintain both version of tra files for classic and EE engines. However, keeping only one style (EE in this case), again, breaks backward compatibility and immersion. Would you mind adding optional handling of such additional files? As you are handling all translations by WITH_TRA is would be very easy to add a non-breaking change to load extra files. It's fine to be either file-ee.tra or file-classic.tra convention. 

    As far as I tried, It could be done by adding switch to lib_tools.tpa (and probably twice to always.tph where setup & shared.tra are loaded), here is a pseudocode:

    ACTION_IF enhanced_edition BEGIN
     WITH_TRA "english/%tra%.tra" "LANGUAGE/%tra%.tra" "LANGUAGE/%tra%-ee.tra"
      LAF <component entry>
     END
    END ELSE BEGIN
     WITH_TRA "english/%tra%.tra" "LANGUAGE/%tra%.tra"
      LAF <component entry>
     END
    END

    Above approach makes *-ee.tra files optional, so only those files/components where are differences between EE and classic engines should be created.

    What do you think?

    Thanks!

  2. Hello David, 

    I looked at spellhold price change and I think changing price from 49999 to 4999 was incorrect. 

    You changed "PartyGoldGT(49999) => PartyGoldGT(%asking_price_minus_one%)" into "PartyGoldGT(4999) => PartyGoldGT(%asking_price_minus_one%)". But there is already such replacement later: "PartyGoldGT(4999) => PartyGoldGT(%threshold_price_minus_one%)". I think that 49999 and 50000 prices were bugs from original game.

  3. Yes, I think we can try to help with debugging and testing. As our gemaplay can last a year, we could rename "current" game folder to reinstall mods on clean setup. This way we can switch games by renaming directories. Let me know if you have any idea how to start with this issue. Maybe we should move discussion to new topic to not spam here on bugthread. 

     

  4. Yes, banter always ends after Dynaheir line (with @24) and before Minsc (@25). The issue probably is related only to "sleep talks" before party resting. We had also seen the problem with first (MIDY1) sleep talk, but after second occurance I posted issue here. We are still in the beginning of the game (Nashkel) so it is hard to tell if there are more situations related to this. Can we add some kind of "TODO" to move all the dialogues from banter file to joined filed? Why Minsc need to start with joined dlg file here and then switch? Is it possible to start script from banter file instead of switching?

  5. Hi,

    On 1/22/2021 at 9:46 PM, jastey said:

    would be exactly when Minsc is supposed to switch from J.dlg to B.dlg.

    Oh, now I see what you mean - @25 response is from MINSC_BANTER file, not from MINSC_JOINED. So yes, it looks like very similar problem.

    We reproduced the issue today. However after setting the global variable dialog didn't start even when we typed in the console Eval with StartDialogNoSet.

    Our results:

    - Dynaheir is controlled by me, Minsc controlled by host: issue occurred.

    - Mincs is controlled by me, Dynaheir controlled by host: issue NOT occured.

    - Both Dynaheir and Minsc controlled by me: issue NOT occured.

    - Both Dynaheir and Mincs controlled by host: issue NOT occurred.

    I forgot to mention that first dream banter was also wrong (MIDY1).

    Do you think it is a game engine bug?

  6. 39 minutes ago, jastey said:

    Could you reproduce it?

    Probably... To reproduce I need to play multiplayer on my friend's savefile before sleeping (we have quicksave file). Is there anything I can check, like variables or files? Let me know if you need my savefile or whole game installation folder.

    52 minutes ago, jastey said:

    game couldn't move to Minsc's banter file after he started the banter with his joined dialogue file.

    It is weird as Mincs used some banters from this file before, for example when we reached Gnoll Stronghold.

  7. Hello,

    I'm playing BGEE multiplayer with my friend and we have BG1 NPC Project installed. We experienced a some kind of a bug during a dream talks. I controlled Dynaheir and my friend has PC and Minsk. As below code shows, Minsk initiated a conversation with Dynaheir and I had a control over a dialog windows. After clicking "next" for Dynaheir respone (@24), dialog ended and nothing was happened, especially there was no resting. When we tried to sleep second time but game stucked in pause and we could not unpause. Of course when my friend went to sleep without me in the multiplayer game, everything was ok. Have you encountered such behaviour in the past? Is there any problem with BGEE engine, multiplayer game or modification itself?

    // x#mincs.d
    
    /* Dream Script */
    /* Dynaheir banter - Princess Sunflower Seed */
    CHAIN IF WEIGHT #-2 ~%BGT_VAR% Global("X#MIDY2","LOCALS",1)~ THEN ~%MINSC_JOINED%~ MIDY2
    @23
    DO ~SetGlobal("X#MIDY2","LOCALS",2)~
    == ~%DYNAHEIR_BANTER%~ @24
    == ~%MINSC_BANTER%~ @25
    == ~%DYNAHEIR_BANTER%~ @26
    == ~%MINSC_BANTER%~ @27
    == ~%DYNAHEIR_BANTER%~ @28
    == ~%IMOEN_BANTER%~ IF ~InParty("%IMOEN_DV%") InMyArea("%IMOEN_DV%") !StateCheck("%IMOEN_DV%",CD_STATE_NOTVALID)~ THEN @29
    == ~%MINSC_BANTER%~ IF ~InParty("%IMOEN_DV%") InMyArea("%IMOEN_DV%") !StateCheck("%IMOEN_DV%",CD_STATE_NOTVALID)~ THEN @30
    == ~%DYNAHEIR_BANTER%~ IF ~InParty("%IMOEN_DV%") InMyArea("%IMOEN_DV%") !StateCheck("%IMOEN_DV%",CD_STATE_NOTVALID)~ THEN @31
    == ~%IMOEN_BANTER%~ IF ~InParty("%IMOEN_DV%") InMyArea("%IMOEN_DV%") !StateCheck("%IMOEN_DV%",CD_STATE_NOTVALID)~ THEN @32
    == ~%DYNAHEIR_BANTER%~ IF ~InParty("%IMOEN_DV%") InMyArea("%IMOEN_DV%") !StateCheck("%IMOEN_DV%",CD_STATE_NOTVALID)~ THEN @33
    == ~%IMOEN_BANTER%~ IF ~InParty("%IMOEN_DV%") InMyArea("%IMOEN_DV%") !StateCheck("%IMOEN_DV%",CD_STATE_NOTVALID)~ THEN @34
    == ~%DYNAHEIR_BANTER%~ IF ~InParty("%IMOEN_DV%") InMyArea("%IMOEN_DV%") !StateCheck("%IMOEN_DV%",CD_STATE_NOTVALID)~ THEN @35
    == ~%IMOEN_BANTER%~ IF ~InParty("%IMOEN_DV%") InMyArea("%IMOEN_DV%") !StateCheck("%IMOEN_DV%",CD_STATE_NOTVALID)~ THEN @36
    == ~%DYNAHEIR_BANTER%~ IF ~InParty("%IMOEN_DV%") InMyArea("%IMOEN_DV%") !StateCheck("%IMOEN_DV%",CD_STATE_NOTVALID)~ THEN @37
    == ~%MINSC_BANTER%~ IF ~InParty("%IMOEN_DV%") InMyArea("%IMOEN_DV%") !StateCheck("%IMOEN_DV%",CD_STATE_NOTVALID)~ THEN @38
    == ~%IMOEN_BANTER%~ IF ~InParty("%IMOEN_DV%") InMyArea("%IMOEN_DV%") !StateCheck("%IMOEN_DV%",CD_STATE_NOTVALID)~ THEN @39
    == ~%MINSC_BANTER%~ IF ~InParty("%IMOEN_DV%") InMyArea("%IMOEN_DV%") !StateCheck("%IMOEN_DV%",CD_STATE_NOTVALID)~ THEN @5 
    END
    IF ~~ THEN DO ~RestParty()~ EXIT

    Thanks for help.

  8. Hi jastey, I’ve played your great mod, thank you for your work! I found some issues during gameplay and I want to give a feedback to you:

    - I had a sorcerer (dragon disciple) in the party and he could use Sarevok’s armor. I checked that sorc without kit also can use this armor. So I'm assuming this is a bug in the item.

    - I have also a suggestion that wearing Sarevok’s armor could change appearence of the character to Sarevok sprite. I would love it. Eventually I can try to implement this one if you agree. I saw a similar tutorial to do something like this, somewhere. What do you think?

    - Flaming Fist Healer does not remove those two traps that can be disarmed by player. I think he could disarm them also.

    - In dialogues_ee.d file, there is a part related to BGT. As I understand this code will not be run. Probably you want to keep this dialog however without BGT_VAR active?

    IF WEIGHT #-1
    ~%BGT_VAR%
    Dead("Sarevok")
    !IsGabber(Player1) !InMyArea(Player1)~ victory_npc
    SAY @12 /* ~Greetings to you as well, companion of <CHARNAME>.~ */
    IF ~~ THEN EXIT
    END

    - I noticed that one string in duke eltan is not translated so I made a PR with the fix: https://github.com/Gibberlings3/EndlessBG1/pull/8

    - And also I’ve provided PL translations for your great mod! https://github.com/Gibberlings3/EndlessBG1/pull/9

    Oh, the change includes the above missing translations, so in case of any changes before merging this one, please remember to apply them here as well.

     

    Thanks!

  9. Thank you jastey!

    I found out why my replacement had not worked... I installed my mod over BGEE without modmerge. I thought that installation would fail if I try to install mods when SoD is active. Anyway thank you for your good examples in imoen4ever, I will check correctness of my mod with your examples.

     

    36 minutes ago, jastey said:

    Differences between BG:EE(SoD) and EET is easy: the stringref number of EET is 200,000 + the number of BG:EE(SoD). For BGII(:EE), stringrefs between BGII:EE and EET are the same.

    About EET: it is great to know! It will really help me to align my mod to EET as well.

    For BGT I probably would need to use Miloch and Ascension64 method provided in the link. But base games are more important to me right now. 

  10. Hi,

    I need to replace some dialogs from few characters in BGEE. As an example, let's consider Phlydia's initial dialog (which is #15993), I want to replace it with my @1 in phlydi.tra file.

    I've tried this one: 

    STRING_SET 15993 @1 USING "mymod/phlydi.tra"

    But nothing happened. I opened NI and the game, and Phlydia still answers with #15993. Do I need something more to apply this replacement? I think this way would be the easiest way to replace a pack of dialogs.

    Moreover, as per my understanding, it will not work with EET, because strref will be different, right?

     

    I've also tested altering tlk, but I did something wrong so it's also not working.

    ALTER_TLK_LIST BEGIN 15993 END BEGIN
            PATCH_WITH_TRA ~mymod/phlydi.tra~ BEGIN
                Phy1 = RESOLVE_STR_REF( @1 )
                GET_STRREF %Phy1% phyStr
                GET_STRREF 15993 myStr1
                               
                REPLACE_TEXTUALLY ~%myStr1%~ ~%phyStr%~
            END
        END

    "REPLACE ~%myStr1%~ @1" also did not work.

     

    I've found also this idea: http://www.shsforums.net/topic/27196-bgt-string-references/?p=312437 but it looks like overhead to my simple replacement. Maybe it will be required to apply replacement to EET.

     

    Finnaly, I'm considering decompile all .dlg files and store them in temp folder, then replace strref, and then recompile them to override folder. But still it is more complicated way. 

     

    Thanks,

    Roberciiik

  11. Whoa... You're right - BGT crashes without my mod. Traveling with worldmap works good.

     

    I think AR7230.bcs script is still running even in the another area. Probably game does not unload the scripts from previous location when moved via console. I edited BGT script to check if Alora IsActive() to prevent double activation when Alora is not in AR7230. And it looks like working solution. I will push my fix to BGT repo later.

     

    Thanks a lot!

  12. Hi jastey,

    This mod looks temptingly, I need to play it in my BGT setup.

    I think I found a bug during installation of the second component (More Flavor to Hero...).

    As I understand your code, you don't compile dialogs_ee.d for BGT but you reference one entry from this file for BGT installation:

    Spoiler
    
    // Get state for BELT %victory_01% (in dialogues_ee.d)
    
    /* ~You opened our eyes to the deceit and saved us from a great peril while we remained blind to the threat. By the power bestowed upon me as Duke of the Council of Six of this city I herewith name you "Hero of Baldur's Gate"! In the name of the city let me express our deepest gratitude!~*/
    
    OUTER_SET belt_victory_01 = STATE_WHICH_SAYS 1 IN ~c#endlessbg1/translations/%s/dialogues.tra~ FROM ~BELT~

     

    So my installation fails:

    Spoiler

    Patching: 3 matches found in ACT03.bcs for REPLACE_TEXTUALLY: Opened(\[ANYONE\])
    Extending game scripts ...
    Compiling 1 dialogue file ...
    Couldn't find any suitable string in STATE_WHICH_SAYS
    Stopping installation because of error.

    Am I correct with my small debug?

    Thanks for your time.

×
×
  • Create New...