Jump to content

[OS X] Mod install error


ericp07

Recommended Posts

Hello,

 

At the current stage of development, I've somehow managed to make my NPC mod uninstallable (yay me! *L*). Here's the error message that weidu-mac reports when I tell it to install the mod:

 

ERROR: Failure("resource [EP#HINAB.DLG] not found for 'CHAIN3'")

 

And here's the current long and convoluted WeiDU Log:

 

BACKUP ~Hinaeariel/backup~

AUTHOR ~Eric P. (thustar@yahoo.com)~

 

BEGIN ~Hinaeariel for BG2:ToB~

 

COPY ~Hinaeariel/CRE/EP#MABP.CRE~ ~override~

SAY NAME1 ~Beast of Malar, hunting panther~

SAY NAME2 ~Beast of Malar, hunting panther~

 

COPY ~Hinaeariel/CRE/EP#MABC.CRE~ ~override~

SAY NAME1 ~Beast of Malar, claw slayer~

SAY NAME2 ~Beast of Malar, claw slayer~

 

COPY ~Hinaeariel/itm/EP#Hinb.ITM~ ~override~

SAY NAME1 ~Hinaeariel's bow~

SAY NAME2 ~Hinaeariel's bow~

SAY UNIDENTIFIED_DESC ~Composite bows are log bows or short bows whose staves are made from more than one type of material. This gives greater felxibility, adn makes arrows fired from such bows deliver more damage. Wielding such a powerful bow requires a strength of 18.

 

STATISTICS:

 

THAC0: +2 bonus

Damage: +2 bonus

Weight: 10

Speed Factor: 7

Proficiency Type: Long Bow

Type: 2-handed

Requires: 18 Strength

Not Usable By:

Druid

Cleric

Mage

Thief

Bard

Monk

Kensai

Cavalier~

 

SAY DESC ~Composite Long Bow +2. This composite long bow is made of stout, red-stained wood and animal horn, with carvings of ivy covering the wooden portion. It is enchanted to fire more quickly than a non-magical bow.

 

STATISTICS:

 

THAC0: +2 bonus

Damage: +2 bonus

Weight: 10

Speed Factor: 5

Proficiency Type: Long Bow

Type: 2-handed

Requires: 18 Strength

Not Usable By:

Druid

Cleric

Mage

Thief

Bard

Monk

Kensai

Cavalier~

 

COPY ~Hinaeariel/itm/EP#Hiax.ITM~ ~override~

SAY NAME1 ~Hinaeariel's battleaxe~

SAY NAME2 ~Hinaeariel's battleaxe~

SAY UNIDENTIFIED_DESC ~The most common version of the battle axe is a stout pole four feet in length with a single-edged, trumpet-shaped blade mounted on one end. Battle axes are also called broad axes.

 

STATISTICS:

 

Damage: 1d8

Damage Type: slashing

Weight: 5

Speed Factor: 5

Proficiency Type: Axe

Type: 1-handed

Requires: 10 Strength

Not Usable By:

Druid

Cleric

Mage

Thief

Monk

Beast Master~

 

SAY DESC ~This is a single-bladed battle axe of fine craftsmanship, and is enchanted to be more effective in combat.

 

STATISTICS:

 

THAC0: +2 bonus

Damage: 1d8 + 2

Damage Type: slashing

Weight: 5

Speed Factor: 5

Proficiency Type: Axe

Type: 1-handed

Requires: 10 Strength

Not Usable By:

Druid

Cleric

Mage

Thief

Monk

Beast Master~

 

COPY ~Hinaeariel/itm/EP#Hins.ITM~ ~override~

SAY NAME1 ~Dagnir en`Tigin, Bane of the Beast~

SAY NAME2 ~Hinaeariel's scimitar~

SAY UNIDENTIFIED_DESC ~The long, curved, single-edged blad is characteristic of both the sabre and the scimitar, even though their origins lie in different parts of Faerun. Whereas the sabre was intended mainly for horsemen due to its versatility, the scimitar has a heavier oriental influence. The "shamshir," as it was originally called, is larger, has a greater curve to it, and is tapered to an elongated, sharp point. Thus, it is slightly slower, but tends to be more effective and deadly in combat.

 

STATISTICS:

 

Damage: 1d8

Damage Type: slashing

Weight: 3

Speed Factor: 4

Proficiency Type: Scimitar

Type: 1-handed

Requires: 10 Strength

Not Usable By:

Cleric

Mage

Beast Master~

 

SAY DESC ~Scimitar +2: Dagnir en`Tigin, "Bane of the Beast." This exceptionally crafted scimitar's Elven name is etched into the blade in fine Espruar script. It bears enchantment to be more effective against those who serve the Beast, Malar.

 

STATISTICS:

 

THAC0: +2 bonus

Damage: 1d8 + 2

Damage Type: slashing

Weight: 3

Speed Factor: 4

Proficiency Type: Scimitar

Type: 1-handed

Requires: 10 Strength

Not Usable By:

Cleric

Mage

Beast Master~

 

COPY ~Hinaeariel/CRE/EP#HINA.CRE~ ~override~

 

SAY NAME1 ~Hinaeariel~

SAY NAME2 ~Hinaeariel~

 

SAY BIO ~When you ask her about her past, Hinaeariel smiles, a look of fond remembrance on her face. She tells you that she was born to a ranger mother and a druid father, highly unusual for her people in that they worshipped not only the Seldarine, but also Mielikki, the Supreme Ranger and Lady of the Forest, one of the Powers of Toril. She explains that her extended family lives in a camp that they make in the forest of Cormanthor, far to the east, and that this camp relocates with the seasons. Her parents raised her to respect and revere nature, especially the animal and plant life of the forest, and her mother trained her in the ways of the rangers.

 

After a brief moment of silence, Hinaeariel's expression changes to one of sadness. She goes on to explain how the family camp was attacked one day by followers of Malar, the Great Beast, an evil and destructive Power, when she was approaching adulthood. She chokes a bit in the telling of how she and her mother became separated from her father, and that he was overwhelmed and killed by a group of lycanthropes.

 

After another brief pause, her expression changes to one of grim determination, and she concludes by explaining that it was this event that moved her to decide to dedicate her life to seeking out and destroying Malar's followers wherever she might find them, in addition to performing as a woodland guide to travelers through the forest of Cormanthor, to keep both them and the woods safe from harm.~

 

SAY MORALE ~A rolling stone gathers no moss.~

SAY HAPPY ~We make an excellent team!~

SAY UNHAPPY_ANNOYED ~Mielikki would not approve.~

SAY UNHAPPY_SERIOUS ~I cannot continue down this path!~

SAY UNHAPPY_BREAKING ~I regret that I must leave you for now.~

SAY LEADER ~As Our Lady of the Forest guides me, so Hinll I guide you.~

SAY TIRED ~I'm afraid I can't track much longer without a rest.~

SAY BORED ~Are we ready to move out?~

SAY BATTLE_CRY1 ~Give death!~

SAY BATTLE_CRY2 ~Death to nature's foes!~

SAY BATTLE_CRY3 ~Your life is forfeit!~

SAY BATTLE_CRY4 ~Enemies of Mielikki shall fall!~

SAY DAMAGE ~Ah!~

SAY DYING ~Mielikki, receive my spirit~

SAY HURT ~Oh! I'm hit...badly...~

SAY AREA_FOREST ~Mielikki's domain is the most beautiful of all places in the Realms.~

SAY AREA_CITY ~Such a crowded, dirty, uncomfortable place this is. Why do people live this way?~

SAY AREA_DUNGEON ~I long for the fresh air and the sounds of the forest. We should leave this foul place.~

SAY AREA_DAY ~The light of day lets us appreciate nature's wonders.~

SAY AREA_NIGHT ~Let us tread cautiously under cover of night, as beasts abound.~

SAY SELECT_COMMON1 ~How may this Needle be of service?~

SAY SELECT_COMMON2 ~Shall I track for you?~

SAY SELECT_COMMON3 ~Avavaen?~

SAY SELECT_COMMON4 ~Hmmm?~

SAY SELECT_COMMON5 ~You called?~

SAY SELECT_COMMON6 ~Ready.~

SAY SELECT_ACTION1 ~Got it.~

SAY SELECT_ACTION2 ~As Mielikki directs me.~

SAY SELECT_ACTION3 ~By your command.~

SAY SELECT_ACTION4 ~As good as done.~

SAY SELECT_ACTION5 ~Watch a Needle in action.~

SAY SELECT_ACTION6 ~For the cause.~

SAY SELECT_ACTION7 ~Not a problem.~

SAY SELECT_RARE1 ~To live is to serve.~

SAY SELECT_RARE2 ~With pleasure.~

SAY CRITICAL_HIT ~Feel my wrath!~

SAY CRITICAL_MISS ~Drat! How did *that* happen?~

SAY TARGET_IMMUNE ~My weapon does not harm this one!~

SAY INVENTORY_FULL ~I have all I can carry.~

 

COMPILE ~Hinaeariel/dialogues/EP#Hina.d~

COMPILE ~Hinaeariel/dialogues/EP#HinaB.d~

COMPILE ~Hinaeariel/dialogues/EP#HinaJ.d~

COMPILE ~Hinaeariel/BAF/EP#Hina.baf~

 

EXTEND_TOP ~AR0406.bcs~ ~Hinaeariel/AR0406.baf~

EXTEND_TOP ~ar6200.bcs~ ~Hinaeariel/AR6200.baf~

 

COPY ~Hinaeariel/graphics/EP#HinL.bmp~ ~portraits~

COPY ~Hinaeariel/graphics/EP#HinS.bmp~ ~portraits~

COPY ~Hinaeariel/Epilogue/BlankEpilogue.2da~ ~override~

 

REPLACE_TEXTUALLY ~PORTRAIT~ ~EP#HinL~ // The biggest portrait file you have for the NPC

 

REPLACE 99999 ~The Epilogue itself~

 

COPY ~Hinaeariel/audio/EP#blank.mus~ ~music~

 

COPY_EXISTING ~songlist.2da~ ~override~

 

SET_2DA_ENTRY 0 2 3 ~EP#BLANK.MUS~

 

 

 

ACTION_IF ("%WEIDU_OS%" STRING_COMPARE_CASE ~WIN32~ = 0) THEN BEGIN // if Windows

 

COPY ~Hinaeariel/audio~ ~override~

 

AT_NOW ~Hinaeariel/Hinaaudio.bat~

 

AT_INTERACTIVE_UNINSTALL ~Hinaeariel/Hinaaudiouninstall.bat~

 

END ELSE BEGIN // if OS X or Linux

 

AT_NOW ~sh Hinaeariel/Hinaaudio.sh~

 

AT_UNINSTALL ~sh Hinaeariel/Hinaaudiouninstall.sh~

 

END

 

APPEND ~pdialog.2da~

~EP#Hina EP#HinaP EP#HinaJ EP#HinaD EP#Hin25P EP#Hin25J EP#Hin25D EP#Hina25~

UNLESS ~EP#Hina~

 

APPEND ~interdia.2da~

~EP#Hina EP#HinaB EP#HinB25~

UNLESS ~EP#Hina~

 

How can I fix this? Clearly, the mod's a long, long way from finished, but it worked fine the first time I tested it, before adding all sorts of beginnings of dialog. Rest assured that the voice lines will be rewritten prior to any recording being done :thumbsup:

 

TIA for any help with this!

 

Happy modding,

Eric

Link to comment
ERROR: Failure("resource [EP#HINAB.DLG] not found for 'CHAIN3'")
I'm not for sure what you need to do to fix this. I read through your post (btw you posted your tp2 and not the weidu.log file). But just looking at the error report you listed, I would say that the error is somewhere in your EP#HINAB.D file. If you haven't found your problem yet, you could post that file with your error message again. I'm not the best with dlg files, but I do know of some who rock at them...
Link to comment
ERROR: Failure("resource [EP#HINAB.DLG] not found for 'CHAIN3'")
I'm not for sure what you need to do to fix this. I read through your post (btw you posted your tp2 and not the weidu.log file). But just looking at the error report you listed, I would say that the error is somewhere in your EP#HINAB.D file. If you haven't found your problem yet, you could post that file with your error message again. I'm not the best with dlg files, but I do know of some who rock at them...

 

D'oh! Yeah, I meant to say "Here's the .tp2," not the WeiDU Log :thumbsup:

 

So, here's the contents of EP#HINAB.D:

 

CHAIN

 

IF ~InParty("EP#Hina")

 

InParty("Minsc")

 

!ActuallyInCombat() //This way they are not in combat

 

Global("EP#HinaMinsc","GLOBAL",0)~ // We haven't had this banter before

 

THEN EP#HinaB HinaMinsc1

 

~Minsc, how are you?~

 

DO ~SetGlobal("EP#HinaMinsc","GLOBAL",1)~ // This makes sure that the banter can't happen again

 

== BMINSC ~Oh! Boo is a hamster!~

 

== EP#HinaB ~Yes, I see that.~

 

= ~He's adorable!~ // only 1 "=" is used when the same character is talking more than once.

 

== BMINSC ~Yes, and butt-kicking!~

 

EXIT

 

CHAIN

 

IF ~InParty("EP#Hina")

 

InParty(Player1)

 

!ActuallyInCombat()

 

Global("HinaPCTalk","GLOBAL",0)~

 

THEN EP#HinaB HinaPC1

 

~<CHARNAME>, how goes it with you?~

 

DO ~("HinaPCTalk","GLOBAL",1)~

 

END

 

IF ~~ THEN REPLY ~I'm fine, Hinaeariel. Thanks for asking!~ GOTO HinaPC1-1

 

IF ~~ THEN REPLY ~Don't ask.~ GOTO HinaPC1-2

 

 

 

// Now, we write the blocks of dialogue that these states lead to.

 

 

 

CHAIN

 

IF ~~ THEN EP#HinaB HinaPC1-1

 

~You're very welcome.~

 

EXIT

 

 

 

CHAIN

 

IF ~~ THEN EP#HinaB HinaPC1-2

 

~Oh…OK.~

 

EXIT

 

CHAIN

 

IF ~InParty("EP#Hina")

 

InParty(Player1)

 

!ActuallyInCombat()

 

Global("HinaPCTalk","GLOBAL",2)~

 

THEN EP#HinaB HinaPC1

 

~<CHARNAME>, how goes it with you?~

 

DO ~("HinaPCTalk","GLOBAL",3) SetGlobalTimer("EP#HinaTimer","GLOBAL",TWO_DAYS)~

 

END

 

IF ~~ THEN REPLY ~I'm well, Hinaeariel. Thanks for asking!~ GOTO HinaPC1-1

 

IF ~~ THEN REPLY ~Don't ask.~ GOTO HinaPC1-2

 

 

 

 

 

CHAIN

 

IF ~~ THEN EP#HinaB HinaPC1-1

 

~No problem.~

 

EXIT

 

 

 

CHAIN

 

IF ~~ THEN EP#HinaB HinaPC1-2

 

~Oh…OK.~

 

EXIT

 

CHAIN

 

IF ~IsGabber(Player1)~

 

THEN EP#HinaJ sFlirt1

 

~(Hinaeariel notices you looking at her)~

 

= ~What is it, <CHARNAME>?~

 

END

 

+~ RandomNum(2,1)~ + ~It is wonderful having you in the group, Hinaeariel.~ GOTO sFlirt1.1

 

+~ RandomNum(2,2)~ + ~It is wonderful having you in the group, Hinaeariel.~ GOTO sFlirt1.2

 

CHAIN

 

IF ~~ THEN EP#HinaJ sFlirt1.1

 

~Why, thank you, <CHARNAME>! It is nice traveling with you as well.~

 

EXIT

 

 

 

CHAIN

 

IF ~~ THEN EP#HinaJ sFlirt1.2

 

~Heh, thanks.~

 

EXIT

 

Maybe I shouldn't be using CHAINs. I don't know. I'd appreciate any guidance in correcting whatever is amiss, and in knowing the most efficient way to write these components. Then I'll be able to concentrate on the content of dialogs ;)

 

Thanks,

Eric

Link to comment

Like I said before, I'm not an expert when it comes to dlg files. But I'm wondering if your EP#Hina.d calls up an external line in the EP#HinaB.d file. I know that when weidu compiles dialogs or scripts any files which are referenced within the file being compiled need to already exist else it fails.

 

After looking at the EP#HinaB.d file that you posted above and taking into account what little I know about weidu's error reporting methods, I would say that the culprit is actually before the compile of EP#HinaB.d. According to your TP2 there is only one file compiled before the EP#HinaB.d and that is:

COMPILE ~Hinaeariel/dialogues/EP#Hina.d~
I don't know. Try re-arranging your file commands so that any required files come first...

 

I hope this helps. I really don't want to steer you wrong... Maybe, just maybe I'll have at least helped you pinpoint the issue a bit more....

Link to comment
Like I said before, I'm not an expert when it comes to dlg files. But I'm wondering if your EP#Hina.d calls up an external line in the EP#HinaB.d file. I know that when weidu compiles dialogs or scripts any files which are referenced within the file being compiled need to already exist else it fails.

 

After looking at the EP#HinaB.d file that you posted above and taking into account what little I know about weidu's error reporting methods, I would say that the culprit is actually before the compile of EP#HinaB.d. According to your TP2 there is only one file compiled before the EP#HinaB.d and that is:

COMPILE ~Hinaeariel/dialogues/EP#Hina.d~
I don't know. Try re-arranging your file commands so that any required files come first...

 

I hope this helps. I really don't want to steer you wrong... Maybe, just maybe I'll have at least helped you pinpoint the issue a bit more....

 

Well, here's EP#Hina.d:

 

BEGIN EP#Hina

 

IF ~NumTimesTalkedTo(0)~ THEN BEGIN FirstMeeting

SAY ~Well met, good <SIRMAAM>! My name is Hinaeariel, Needle of Mielikki.~

IF ~GlobalLT("Chapter","GLOBAL",3)~ THEN REPLY ~Well met, Hinaeariel. I am <CHARNAME>, and I seek a villain named Firkraag. Do you know of him?~ GOTO InquireFirkraag

IF ~~ THEN REPLY ~Heya.~ GOTO Greet

IF ~Class(Player1,RANGER)~ THEN REPLY ~I know a ranger when I see one!~ GOTO BothRangers

IF ~~ THEN REPLY ~Go away.~ GOTO GoAway

END

 

IF ~~ THEN BEGIN InquireFirkraag

SAY ~I have not, but I offer my services to help you look for him. I am experienced in tracking.~

IF ~~ THEN REPLY ~Sure. Join the party~ DO ~SetGlobal("HinaearielJoined","LOCALS",1)

JoinParty()~ EXIT

IF ~~ THEN REPLY ~No, thanks. I'll manage without you.~ EXIT

END

 

IF ~~ THEN BEGIN Greet

SAY ~Could you use a wilderness guide in your group? I have spent some time in these lands, exploring and becoming familiar with the wonders and hazards of the surrounding areas.~

IF ~~ THEN REPLY ~Yes, as a matter of fact we could.~ DO ~SetGlobal("HinaearielJoined","LOCALS",1)

JoinParty()~ EXIT

IF ~~ THEN REPLY ~No, thanks. I'll manage without you.~ EXIT

END

 

IF ~~ THEN BEGIN BothRangers

SAY ~Another ranger! Hail and well met, <BROTHERSISTER>. Let us journey together and hunt evil!~

IF ~~ THEN REPLY ~Indeed we shall.~ DO ~SetGlobal("HinaearielJoined","LOCALS",1)

JoinParty()~ EXIT

IF ~~ THEN REPLY ~No need. I can handle things well enough.~ EXIT

END

 

IF ~~ THEN BEGIN GoAway

SAY ~Very well, my <LADYLORD>. Lisse`alus ent laema`lalaith tenna lle aelouva. Sweet water and light laughter until next we meet.~

IF ~~ THEN EXIT

END

 

BEGIN EP#HinaP

 

IF ~Global("HinaearielJoined","LOCALS",1)~ THEN BEGIN KickOut

SAY ~You no longer have need of my services?~

IF ~~ THEN REPLY ~Oh, I misspoke. Please stay.~ DO ~JoinParty()~ EXIT

IF ~~ THEN REPLY ~Not at this time, no.~ DO ~SetGlobal("HinaearielJoined","LOCALS",0)~ EXIT

END

 

IF ~Global("HinaearielJoined","LOCALS",0)~ THEN BEGIN Rejoin

SAY ~Shall we join forces again?~

IF ~~ THEN REPLY ~Certainly. Let's regroup.~ DO ~SetGlobal("HinaearielJoined","LOCALS",1)

JoinParty()~ EXIT

IF ~~ THEN REPLY ~That's right, you are dismissed.~ EXIT

END

 

I can't tell where the conflict lies :thumbsup: I hope someone can spot what needs moving or fixing, so I can get this to work.

 

Thanks again,

Eric

Link to comment

Well, I can't seem to figure it out.

But lets try to track down the problem. In your tp2 comment out your compile lines for the various d files and then reinstall. If you don't get the error then try installing with just one of the d file compiles not commented out. When the error repeats you'll have pinpointed which d file contains the problem. At that point you could do the same thing with the d file to figure out which portion of it is causing the problem.

 

If you can locate the offending file or section of code, I'm sure that several people would be much more likely to help as the issue at hand is more narrow in focus.

Link to comment
Well, I can't seem to figure it out.

But lets try to track down the problem. In your tp2 comment out your compile lines for the various d files and then reinstall. If you don't get the error then try installing with just one of the d file compiles not commented out. When the error repeats you'll have pinpointed which d file contains the problem. At that point you could do the same thing with the d file to figure out which portion of it is causing the problem.

 

If you can locate the offending file or section of code, I'm sure that several people would be much more likely to help as the issue at hand is more narrow in focus.

 

Very sensible (and Maclike! :thumbsup: ) approach. I'll give it a shot...

 

Thanks,

Eric

Link to comment
Guest Eric P.

OK, I've found that commenting out all three .d files--EP#Hina.d, EP#HinaB.d, and EP#HinaJ.d--gives me a successful install, and Hinaeariel appears in Area 1200 (Windspear Hills), as she should. Also successful install with EP#Hina.d enabled and with the other two files commented out. When I enable EP#HinaB.d, though, I get the same error I originally got.

 

Here's the content of EP#HinaB.d: (Note: I am a rank amateur modder, as will be obvious in the content of my files)

 

CHAIN

 

IF ~InParty("EP#Hina")

 

InParty("Minsc")

 

!ActuallyInCombat() //This way they are not in combat

 

Global("EP#HinaMinsc","GLOBAL",0)~ // We haven't had this banter before

 

THEN EP#HinaB HinaMinsc1

 

~Minsc, how are you?~

 

DO ~SetGlobal("EP#HinaMinsc","GLOBAL",1)~ // This makes sure that the banter can't happen again

 

== BMINSC ~Oh! Boo is a hamster!~

 

== EP#HinaB ~Yes, I see that.~

 

= ~He's adorable!~ // only 1 "=" is used when the same character is talking more than once.

 

== BMINSC ~Yes, and butt-kicking!~

 

EXIT

 

CHAIN

 

IF ~InParty("EP#Hina")

 

InParty(Player1)

 

!ActuallyInCombat()

 

Global("HinaPCTalk","GLOBAL",0)~

 

THEN EP#HinaB HinaPC1

 

~<CHARNAME>, how goes it with you?~

 

DO ~("HinaPCTalk","GLOBAL",1)~

 

END

 

IF ~~ THEN REPLY ~I'm fine, Hinaeariel. Thanks for asking!~ GOTO HinaPC1-1

 

IF ~~ THEN REPLY ~Don't ask.~ GOTO HinaPC1-2

 

 

 

// Now, we write the blocks of dialogue that these states lead to.

 

 

 

CHAIN

 

IF ~~ THEN EP#HinaB HinaPC1-1

 

~You're very welcome.~

 

EXIT

 

 

 

CHAIN

 

IF ~~ THEN EP#HinaB HinaPC1-2

 

~Oh…OK.~

 

EXIT

 

CHAIN

 

IF ~InParty("EP#Hina")

 

InParty(Player1)

 

!ActuallyInCombat()

 

Global("HinaPCTalk","GLOBAL",2)~

 

THEN EP#HinaB HinaPC1

 

~<CHARNAME>, how goes it with you?~

 

DO ~("HinaPCTalk","GLOBAL",3) SetGlobalTimer("EP#HinaTimer","GLOBAL",TWO_DAYS)~

 

END

 

IF ~~ THEN REPLY ~I'm well, Hinaeariel. Thanks for asking!~ GOTO HinaPC1-1

 

IF ~~ THEN REPLY ~Don't ask.~ GOTO HinaPC1-2

 

 

 

 

 

CHAIN

 

IF ~~ THEN EP#HinaB HinaPC1-1

 

~No problem.~

 

EXIT

 

 

 

CHAIN

 

IF ~~ THEN EP#HinaB HinaPC1-2

 

~Oh…OK.~

 

EXIT

 

CHAIN

 

IF ~IsGabber(Player1)~

 

THEN EP#HinaJ sFlirt1

 

~(Hinaeariel notices you looking at her)~

 

= ~What is it, <CHARNAME>?~

 

END

 

+~ RandomNum(2,1)~ + ~It is wonderful having you in the group, Hinaeariel.~ GOTO sFlirt1.1

 

+~ RandomNum(2,2)~ + ~It is wonderful having you in the group, Hinaeariel.~ GOTO sFlirt1.2

 

CHAIN

 

IF ~~ THEN EP#HinaJ sFlirt1.1

 

~Why, thank you, <CHARNAME>! It is nice traveling with you as well.~

 

EXIT

 

 

 

CHAIN

 

IF ~~ THEN EP#HinaJ sFlirt1.2

 

~Heh, thanks.~

 

EXIT

 

I'd greatly appreciate any help in correcting this, so I can get the mod to work properly and continue working on it. Heh, needs a LOT more work :thumbsup:

 

Thanks,

Eric

Link to comment

I'm also not really familiar with dialogues, but there are some things that just don't look right. :thumbsup:

First there are two actions with a missing action name.

[DO ~("HinaPCTalk","GLOBAL",1)~ and DO ~("HinaPCTalk","GLOBAL",3) ...]

And you do use CHAINs where it's not necessary. (BEGIN is your friend here.)

Link to comment
I'm also not really familiar with dialogues, but there are some things that just don't look right. :thumbsup:

First there are two actions with a missing action name.

[DO ~("HinaPCTalk","GLOBAL",1)~ and DO ~("HinaPCTalk","GLOBAL",3) ...]

And you do use CHAINs where it's not necessary. (BEGIN is your friend here.)

 

So, are you saying that I've written HinaPCTalk, but haven't defined that in the file? If that's the case, I can fix it easily enough.

 

I've removed all instances of the CHAIN command, correcting these to "IF...then BEGIN..." statements.

 

Latest syntax error with this EP#HinaB.d file when I try installing is at the first DO ~SetGlobal(...)~ command. Now I'm lost...how should I fix this?

 

Thanks again,

Eric

Link to comment

I meant that you forgot to place "SetGlobal" before the parentheses. :thumbsup:

 

Actually, I think you need to do more reading on how dialogues and WeiDU work.

You need to be aware of states, that the order of the states matters, etc.

 

Also note that CHAIN can not create the dialogue file.

 

Below is my attempt to correct your code, but be aware that this is my first dialogue code. So there may be some errors:

 

BEGIN ~EP#HinaB~

IF ~InParty("EP#Hina")
InParty(Player1)
!ActuallyInCombat()
Global("HinaPCTalk","GLOBAL",0)~
THEN BEGIN HinaPC1
SAY ~<CHARNAME>, how goes it with you?~
IF ~~ THEN REPLY ~I'm fine, Hinaeariel. Thanks for asking!~
	DO ~SetGlobal("HinaPCTalk","GLOBAL",1)~
	GOTO HinaPC1-1
IF ~~ THEN REPLY ~Don't ask.~
	DO ~SetGlobal("HinaPCTalk","GLOBAL",1)~
	GOTO HinaPC1-2
END

IF ~InParty("EP#Hina")
InParty(Player1)
!ActuallyInCombat()
Global("HinaPCTalk","GLOBAL",2)~
THEN BEGIN HinaPC2
SAY ~<CHARNAME>, how goes it with you?~
IF ~~ THEN REPLY ~I'm well, Hinaeariel. Thanks for asking!~
	DO ~SetGlobal("HinaPCTalk","GLOBAL",3)
		SetGlobalTimer("EP#HinaTimer","GLOBAL",TWO_DAYS)~
	GOTO HinaPC2-1
IF ~~ THEN REPLY ~Don't ask.~
	DO ~SetGlobal("HinaPCTalk","GLOBAL",3)
		SetGlobalTimer("EP#HinaTimer","GLOBAL",TWO_DAYS)~
	GOTO HinaPC2-2
END

IF ~~ THEN BEGIN HinaPC1-1
SAY ~You're very welcome.~
END

IF ~~ THEN BEGIN HinaPC1-2
SAY ~Oh…OK.~
END

IF ~~ THEN BEGIN HinaPC2-1
SAY ~No problem.~
END

IF ~~ THEN BEGIN HinaPC2-2
SAY ~Oh…OK.~
END

// When EP#HinaJ already exists use APPEND here
BEGIN EP#HinaJ

IF ~IsGabber(Player1)~
THEN BEGIN sFlirt1
SAY ~(Hinaeariel notices you looking at her)~
	= ~What is it, <CHARNAME>?~
+~ RandomNum(2,1)~ + ~It is wonderful having you in the group, Hinaeariel.~
	 GOTO sFlirt1.1
+~ RandomNum(2,2)~ + ~It is wonderful having you in the group, Hinaeariel.~
	 GOTO sFlirt1.2
END

IF ~~ THEN BEGIN sFlirt1.1
SAY ~Why, thank you, <CHARNAME>! It is nice traveling with you as well.~
END

IF ~~ THEN BEGIN sFlirt1.2
SAY ~Heh, thanks.~
END

// additional END here if you changed BEGIN to APPEND above
// END

CHAIN
IF ~InParty("EP#Hina")
	InParty("Minsc")
	!ActuallyInCombat() //This way they are not in combat
	Global("EP#HinaMinsc","GLOBAL",0)~ // We haven't had this banter before
THEN EP#HinaB HinaMinsc1
	~Minsc, how are you?~
DO ~SetGlobal("EP#HinaMinsc","GLOBAL",1)~
	== BMINSC ~Oh! Boo is a hamster!~
	== EP#HinaB ~Yes, I see that.~
	= ~He's adorable!~
	== BMINSC ~Yes, and butt-kicking!~
EXIT

Link to comment

I meant that you forgot to place "SetGlobal" before the parentheses. :thumbsup:

 

Actually, I think you need to do more reading on how dialogues and WeiDU work.

You need to be aware of states, that the order of the states matters, etc.

 

Also note that CHAIN can not create the dialogue file.

 

Below is my attempt to correct your code, but be aware that this is my first dialogue code. So there may be some errors:

 

[snip]

 

Thanks, I'll give it a try!

 

- E

Link to comment

OK, now it's EP#HinaJ.d that's having problems and preventing the mod from installing. The error is with REPLY, but I don't know how to fix it.

 

Content of EP#HinaJ.d:

 

BEGIN EP#HinaJ

 

IF ~IsGabber(Player1)~

 

THEN BEGIN PID1

 

SAY ~(Hinaeariel sees you looking at her strangely.)~

 

= ~Mani naa ta, <CHARNAME>? (What is it?)~

 

END

 

IF ~~ THEN REPLY ~Just seeing how you were.~ GOTO PID1-1

 

IF ~~ THEN REPLY ~You’re a nice gal, Hinaeariel!~ GOTO PID1-2

 

IF ~~ THEN BEGIN PID1-1

 

SAY ~I’m fine, thanks!~

 

EXIT

 

IF ~~ THEN BEGIN PID1-2

 

SAY ~Diolalle, <CHARNAME>! (Thank you!)~

 

EXIT

 

//Tree of Life

INTERJECT PLAYER1 33 TreeofLifeVariableForEP#Hina

== PLAYER1 IF ~IsValidForPartyDialog("EP#Hina")~ THEN ~Hinaeariel, the capable ranger who has fought by your side; is she ready to risk her life in the following battle?~

END

++ ~Hinaeariel, there's no point in you coming any further. You don't have to risk your life.~ EXTERN EP#HinaJ Option1

++ ~Hinaeariel, are you sure you want to do this?~ EXTERN EP#HinaJ Option2

++ ~Hinaeariel, you've come with me this far. Will you stand or fall with me now?~ EXTERN EP#HinaJ Option3

 

APPEND EP#HinaJ

IF ~~ THEN BEGIN Option1

SAY ~I believe in putting my life on the line for a just cause, <CHARNAME>, and what we face beyond this point certainly qualifies. Lead the way!~ COPY_TRANS PLAYER1 33

END

 

IF ~~ THEN BEGIN Option2

SAY ~I am sure, <CHARNAME>. You can count on me.~ COPY_TRANS PLAYER1 33

END

 

IF ~~ THEN BEGIN Option3

SAY ~I will stand with you till the end, <CHARNAME>, and my blades will strike in your name.~ COPY_TRANS PLAYER1 33

END

END

 

How can I make this one work? I think the mod will install after I've fixed this file.

 

Thanks!

Eric

Link to comment
Move the END before the two replys after them. (They belong to the state and END indicates the end of the state.)

And also replace the EXITs with ENDs.

 

Changes made. The only other thing I needed to change besides this was to change Hinaeariel's spawning area from 0406 to 1200 in the .tp2. Installation successful! :thumbsup:

 

I'm not entirely clear on the difference between EXIT and END, so I'll check the WeiDU docs for both entries.

 

Thanks!!!

Eric

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...