Skip to content

Help Requested: Vondo does not have a name!

karnagekarnage Member Posts: 92
Hi, sorry to be such a bother.

This character I am trying to create, "Vondo"; I have him tagging along in a game I am running. He has no name,: Dialog boxes, control tip text, character sheet. The commands to give him a name were included in my .tp2 file so I do not understand this.

Comments

  • prophet1prophet1 Member Posts: 172
    edited December 2013
    Without having a look at the tp2 code where you're copying the CRE file, it's hard to say what is going wrong for you.

    If the COPY occurs in ACTION_IF block, make sure the check passes and the block is actually executed.
    If you're installing on vanilla BG2 (not BG2EE) and you have a copy of dialog.tlk in "lang" subfolder like I do (to satisfy latest versions of DLTCEP), then make sure to copy it back to your main game folder after installing your mod, since weidu will be using that .tlk, not the one actually used by the game.
  • karnagekarnage Member Posts: 92
    Okay, you lost me completely. What is BG2EE? I've seen that phrase many times over in my internet research, but I don't have a clue what that means or how to tell if I have it.

    Here is my .tp2:

    BACKUP ~zkwmod01vondo\backup~
    AUTHOR ~ghreyfain@pocketplane.net~
    BEGIN ~Vondo the NPC for BG2:ToB~

    // The following is the copying of Vondo's portraits
    COPY ~zkwmod01vondo\kwvondol.bmp~ ~portraits\vondol.bmp~
    COPY ~zkwmod01vondo\kwvondos.bmp~ ~portraits\vondos.bmp~

    // The following is the copying of Vondo's .cre file.

    COPY ~zkwmod01vondo\KWVondo.cre~ ~override\Vondo.cre~

    // The following is assigning Vondo's name to the CRE file.
    SAY NAME1 ~Vondo~
    SAY NAME2 ~Vondo~

    // The following is assigning Vondo's sound sets.
    SAY SELECT_COMMON4 ~Blah blah blah.~ [Vondo1] // [Vondo1] is the name of the .wav
    SAY SELECT_COMMON5 ~Give the word.~ [Vondo2]
    SAY SELECT_COMMON6 ~Point the way.~ [Vondo3]
    SAY SELECT_ACTION1 ~I'm on the job.~ [Vondo4]
    SAY SELECT_ACTION2 ~As you wish.~ [Vondo5]

    // The following is telling WeiDU to compile the .d files

    COMPILE ~zkwmod01vondo\kwvondo.d~

    // The following is compilling the script and placing it in the override.

    COMPILE ~zkwmod01vondo\kwVondo.baf~

    // The following is appending what we wrote in AR1000.baf to the bottom of
    // AR1000.bcs

    EXTEND_TOP ~Ar1000.bcs~ ~zkwmod01vondo\ar1000.baf~

    --------------
    PS -- I am working on a 2nd TP2 that will replace EXTEND_TOP with EXTEND_BOTTOM as has been recommended to me, but I'm saving those changes elsewhere until I uninstall what I already have, if that makes sense.
  • karnagekarnage Member Posts: 92
    Oh, I see. "Export Allowed" is under "flags". I have (no flags set).
  • prophet1prophet1 Member Posts: 172
    edited December 2013
    karnage said:

    Okay, you lost me completely. What is BG2EE? I've seen that phrase many times over in my internet research, but I don't have a clue what that means or how to tell if I have it.

    BG2EE = Baldur's Gate 2 Enhanced Edition
    These are the forums for the Enhanced Edition games, after all. :)

    EEs have the dialog.tlk under "lang" subfolder in your installation folder, while the BG2 vanilla has it in the main folder (one with the baldur.exe and chitin.key files). If you're modding non-EE BG2, and you have created the lang subfolder and copied the .tlk in there for whatever reason (I did so because DLTCEP editor complains otherwise), then weidu will append any new strrefs to that file, instead of the one in the installation folder. That might cause the problem you're having (missing strrefs), which is why I brought it up.

    I don't see anything wrong with your TP2 code, except maybe the portraits usually go into override folder too (unless you specifically want them to be selectable as an option for the player during character creation). So it installs without any errors or warnings (check the .DEBUG file to make sure), but the NPC still has no name? Have you tried re-installing to be sure? Check if he has a name if you open the CRE file in Near Infinity.
  • karnagekarnage Member Posts: 92
    Okay, I straightened out the "name" thing. It has to do with filenames, adapting someone else's work to my style (with zkw instead of j#), not understanding what referred to filenames and what referred to variables (thus exceeding the old DOS rule of 8 characters) and the like.

    ---------------------------

    I completely removed everything Vondo, went through the files with fine toothed combs, made sure all filenames were consistent with each other and reinstalled.

    ---------------------------

    The Kickout is still not working;
    I found my mistake. The variable name still says "zkwvondojoined" but everywhere else the variable name is "zkwvond-------", LoL. Details, details, details ... I'll un/reinstall and check it again.

    ---------------------------

    Something else, though. Here is my .baf script:

    //*Combat*
    IF
    AttackedBy([ANYONE],DEFAULT)
    THEN
    RESPONSE #100
    AttackReevaluate(LastAttackerOf(Myself),30)
    END

    IF
    See(NearestEnemyOf(Myself))
    THEN
    RESPONSE #100
    AttackReevaluate(NearestEnemyOf(Myself),30)
    END


    // * Initiates dialog
    IF
    See([PC])
    NumTimesTalkedTo(0)
    THEN
    RESPONSE #100
    Dialogue(Nearest([PC]))
    END

    -----------------------------

    When attacked, Vondo does attack back, as I want him to, but the circle does not turn red. In all this redoing and undoing, I once had it working so that it did turn red and he was an enemy; I have no idea what I did different last time.
  • karnagekarnage Member Posts: 92
    Still not working (red circle)
    Still not working (kickout)
    Here is the kickout script:

    BEGIN zkwVondP

    IF ~Global("zkwVondJoined","LOCALS",1)~ THEN BEGIN KickOut
    SAY ~You are now kicking me out.~
    IF ~~ THEN REPLY ~No! Forgive my mispoken words. We want you to stay in the party.~ DO ~JoinParty()~ EXIT
    IF ~~ THEN REPLY ~I do not need you in the party right now.~ DO ~SetGlobal("zkwVondJoined","LOCALS",0)~ EXIT
    END

    IF ~Global("ZkwVondJoined","LOCALS",0)~ THEN BEGIN Rejoin
    SAY ~You want me to rejoin?~
    IF ~~ THEN REPLY ~That's right Vondo, get back in formation.~ DO ~SetGlobal("zkwVondJoined","LOCALS",1)
    JoinParty()~ EXIT
    IF ~~ THEN REPLY ~That's right, I don't want you in the party.~ EXIT
    END

    ---------------------------------
    Instead, he says, "It has been a pleasure adventuring with you" and I have 2 responses: "Get back in the party" or "Bye".
  • prophet1prophet1 Member Posts: 172
    For the red circle, use Enemy() action. But you'd want to make sure he only goes red if attacked by a player character AND he's not already in party. Otherwise he could turn on the party if attacked whenever someone gets charmed, or dominated, or berserking, or confused, or ... you get the picture.

    As for the kickout dialog, check the char's scripts. Probably one of them is the default multiplayer DPLAYER3.BCS, which sets the dialog to MULTIG on kick-out. Removing the script should fix that.
  • karnagekarnage Member Posts: 92
    I checked them all.

    The CRE files in my OVERRIDE and my source folder (ZKWVOND) have the correct DLG and Default Script files listed.

    But the CRE file in my BALDUR.GAM has been changed from ZKWVOND.DLG to MULTIG.DLG; the default script has been changed to DPLAYER2; the other characters in the game are also DPLAYER2 but the default script reflects their correct default scripts rather than MULTIG.DLG; so for some reason, after bringing Vondo into the game, the source .DLG file was changed.

    Could this be because BG2 could not find a ZKWVONDJ file?
  • karnagekarnage Member Posts: 92
    Following my latest thought about zkwvondj, I re-referenced the tutorial I was using and found that I forgot lines about the .2da and pdiag files. Corrected, uninstalled, installed, and it works now:

    // This appends to the pdiag file; the first is the death variable, then the P file (before joining);
    // then the J file (joined); then the D file (dream script); the remaining are TOB files.
    // Beyond the death variable, these must conform to old DOS rules.
    APPEND ~pdialog.2da~
    ~zkwVondDeath zkwVondP zkwVondJ zkwVondD zVond25P zVond25J zVond25D zVond25~
    UNLESS ~zkwVondDeath~

    // The Interdia.2da file is for party banter and romance dialogs.
    APPEND ~interdia.2da~
    ~zkwVondDeath zkwvondB zvondB25~
    UNLESS ~zkwVondDeath~

    I hate it when I ask questions I already have the answer to, LoL!

Sign In or Register to comment.