ericp07 Posted March 14, 2008 Share Posted March 14, 2008 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 TIA for any help with this! Happy modding, Eric Link to comment
plainab Posted March 14, 2008 Share Posted March 14, 2008 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
ericp07 Posted March 14, 2008 Author Share Posted March 14, 2008 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 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
plainab Posted March 14, 2008 Share Posted March 14, 2008 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
ericp07 Posted March 15, 2008 Author Share Posted March 15, 2008 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 I hope someone can spot what needs moving or fixing, so I can get this to work. Thanks again, Eric Link to comment
plainab Posted March 15, 2008 Share Posted March 15, 2008 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
ericp07 Posted March 15, 2008 Author Share Posted March 15, 2008 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! ) approach. I'll give it a shot... Thanks, Eric Link to comment
Guest Eric P. Posted March 16, 2008 Share Posted March 16, 2008 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 Thanks, Eric Link to comment
Taimon Posted March 16, 2008 Share Posted March 16, 2008 I'm also not really familiar with dialogues, but there are some things that just don't look right. 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
ericp07 Posted March 16, 2008 Author Share Posted March 16, 2008 I'm also not really familiar with dialogues, but there are some things that just don't look right. 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
Taimon Posted March 17, 2008 Share Posted March 17, 2008 I meant that you forgot to place "SetGlobal" before the parentheses. 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
ericp07 Posted March 17, 2008 Author Share Posted March 17, 2008 I meant that you forgot to place "SetGlobal" before the parentheses. 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
ericp07 Posted March 18, 2008 Author Share Posted March 18, 2008 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
Taimon Posted March 18, 2008 Share Posted March 18, 2008 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. Link to comment
ericp07 Posted March 18, 2008 Author Share Posted March 18, 2008 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! 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
Recommended Posts
Archived
This topic is now archived and is closed to further replies.