First thing:> ] [trigger list near line 19, column 31 of 5eRace\dlg\JTFLAY.d] PARSE WARNING at line 19 column 1-25 Near Text: ) [Class] argument [BARBARIAN] not found in [Class.IDS] Processing 1 dialogues/scripts ... Adding JTFLAY to internal list of available DLGs [JTFLAY.DLG] saved 234 states, 619 trans, 6 strig, 174 ttrig, 421 actions Compiling 1 dialogue file ...
I don't see JTFLAY.d in your attachment, but you want to check for a barbarian, you should check for the fighter class and for the barbarian kit. Yes, the barbarian is considered a fighter kit, not a class.
As for this:
[5eRace\dlg\JETAF.d] PARSE ERROR at line 218 column 1-16 Near Text: BEGIN syntax error
[5eRace\dlg\JETAF.d] ERROR at line 218 column 1-16 Near Text: BEGIN Parsing.Parse_error ERROR: parsing [5eRace\dlg\JETAF.d]: Parsing.Parse_error ERROR: compiling [5eRace\dlg\JETAF.d]! Stopping installation because of error.
Line 218 looks okay...I believe that weidu doesn't always tell the truth. Buuuuut, you seem to have two blocks that have the same title (and 218 is one of them--218-224 to be specific):
IF ~~ THEN BEGIN JET1_CONFIRM //////Confirm choices SAY ~Are you sure?~ IF ~~ THEN REPLY ~Yes, this will be my training~ GOTO JET1_CONFIRM1 IF ~~ THEN REPLY ~No, let me look again~ GOTO JET1_1 END
IF ~~ THEN BEGIN JET1_CONFIRM //CAST choices
See the bolded text. Perhaps the second one is supposed to be "JET1_CONFIRM1" (?)
It should work once you change the name of the block.
By 'wrong' I meant that it doesn't always tell you the exact line that is the problem. Here is was lines 218 and 224, so it was partially right
Unfortunately this is NOT the problem. It used to be correctly written and it gave the same error. I fixed it back, and it gives the same error. I delete the Jet1_confirm block (the first such instance) and the error is reported in the next block regardless. I mean I MUST be doing something wrong, but it's been nearly a week of staring at this and I can't for the life of me figure out what it is!
EDIT: now i feel like an idiot...missed an END on the line before...thanks for the help fellas!
IF ~~ THEN BEGIN JET1_CONFIRM //////Confirm choices SAY ~Are you sure?~ IF ~~ THEN REPLY ~Yes, this will be my training~ GOTO JET1_FINAL IF ~~ THEN REPLY ~No, let me look again~ GOTO JET1_1 END
IF ~~ THEN BEGIN JET1_FINAL //CAST choices SAY ~Excellent. May your decisions prove provident~ IF ~Global("STRATT2P1", "Global", 1)~ THEN DO ~ForceSpellRES("JTSTR", Player1)~ DO ~SetGlobal("STRATT2P1", "Global", 0)~ IF ~Global("DEXATT2P1", "Global", 1)~ THEN DO ~ForceSpellRES("JTDEX", Player1)~ DO ~SetGlobal("DEXATT2P1", "Global", 0)~ IF ~Global("CONATT2P1", "Global", 1)~ THEN DO ~ForceSpellRES("JTCON", Player1)~ DO ~SetGlobal("CONATT2P1", "Global", 0)~ IF ~Global("INTATT2P1", "Global", 1)~ THEN DO ~ForceSpellRES("JTINT", Player1)~ DO ~SetGlobal("INTATT2P1", "Global", 0)~ IF ~Global("WISATT2P1", "Global", 1)~ THEN DO ~ForceSpellRES("JTWIS", Player1)~ DO ~SetGlobal("WISATT2P1", "Global", 0)~ IF ~Global("CHAATT2P1", "Global", 1)~ THEN DO ~ForceSpellRES("JTCHA", Player1)~ DO ~SetGlobal("CHAATT2P1", "Global", 0)~ IF ~Global("STRATT1P1", "Global", 1)~ THEN DO ~ForceSpellRES("JTSTR", Player1)~ DO ~SetGlobal("STRATT1P1", "Global", 0)~ IF ~Global("DEXATT1P1", "Global", 1)~ THEN DO ~ForceSpellRES("JTDEX", Player1)~ DO ~SetGlobal("DEXATT1P1", "Global", 0)~ IF ~Global("CONATT1P1", "Global", 1)~ THEN DO ~ForceSpellRES("JTCON", Player1)~ DO ~SetGlobal("CONATT1P1", "Global", 0)~ IF ~Global("INTATT1P1", "Global", 1)~ THEN DO ~ForceSpellRES("JTINT", Player1)~ DO ~SetGlobal("INTATT1P1", "Global", 0)~ IF ~Global("WISATT1P1", "Global", 1)~ THEN DO ~ForceSpellRES("JTWIS", Player1)~ DO ~SetGlobal("WISATT1P1", "Global", 0)~ IF ~Global("CHAATT1P1", "Global", 1)~ THEN DO ~ForceSpellRES("JTCHA", Player1)~ DO ~SetGlobal("CHAATT1P1", "Global", 0)~ IF ~Global("CFEAT1P1", "Global", 1)~ THEN DO ~ForceSpellRES("CFEAT1A", Player1)~ IF ~Global("CFEAT1P1", "Global", 2)~ THEN DO ~ForceSpellRES("CFEAT1B", Player1)~ IF ~Global("CFEAT1P1", "Global", 3)~ THEN DO ~ForceSpellRES("CFEAT1C", Player1)~ IF ~Global("CFEAT3P1", "Global", 1)~ THEN DO ~ForceSpellRES("CFEAT3A", Player1)~ IF ~Global("CFEAT3P1", "Global", 2)~ THEN DO ~ForceSpellRES("CFEAT3B", Player1)~ IF ~Global("CFEAT3P1", "Global", 3)~ THEN DO ~ForceSpellRES("CFEAT3C", Player1)~ IF ~Global("CFEAT4P1", "Global", 1)~ THEN DO ~ForceSpellRES("CFEAT4A", Player1)~ IF ~Global("CFEAT4P1", "Global", 2)~ THEN DO ~ForceSpellRES("CFEAT4B", Player1)~ IF ~Global("CFEAT4P1", "Global", 3)~ THEN DO ~ForceSpellRES("CFEAT4C", Player1)~ IF ~Global("CFEAT5P1", "Global", 1)~ THEN DO ~ForceSpellRES("CFEAT5A", Player1)~ DO ~RemoveSpellRES("CFEAT5", Player1)~ IF ~Global("CFEAT5P1", "Global", 2)~ THEN DO ~ForceSpellRES("CFEAT5B", Player1)~ IF ~Global("CFEAT5P1", "Global", 3)~ THEN DO ~ForceSpellRES("CFEAT5C", Player1)~ IF ~Global("CFEAT6P1", "Global", 1)~ THEN DO ~ForceSpellRES("CFEAT6A", Player1)~ IF ~Global("CFEAT6P1", "Global", 2)~ THEN DO ~ForceSpellRES("CFEAT6B", Player1)~ IF ~Global("CFEAT6P1", "Global", 3)~ THEN DO ~ForceSpellRES("CFEAT6C", Player1)~ IF ~Global("CFEAT7P1", "Global", 1)~ THEN DO ~ForceSpellRES("JTCLRC", Player1)~ IF ~Global("CFEAT7P1", "Global", 2)~ THEN DO ~ForceSpellRES("JTFGHT", Player1)~ IF ~Global("CFEAT8P1", "Global", 1) Race(Player1, HALFLING)~ THEN DO ~ForceSpellRES("CFEAT8B", Player1)~ IF ~Global("CFEAT8P1", "Global", 1) !Race(Player1, HALFLING)~ THEN DO ~ForceSpellRES("CFEAT8A", Player1)~ IF ~Global("CFEAT9P1", "Global", 1)~ THEN DO ~ForceSpellRES("CFEAT9A", Player1)~ IF ~Global("CFEAT9P1", "Global", 2)~ THEN DO ~ForceSpellRES("CFEAT9B", Player1)~ IF ~Global("CFEAT9P1", "Global", 3)~ THEN DO ~ForceSpellRES("CFEAT9C", Player1)~ IF ~Global("TFEAT1P1", "Global", 1)~ THEN DO ~ForceSpellRES("TFEAT1", Player1)~ IF ~Global("TFEAT2P1", "Global", 1)~ THEN DO ~ForceSpellRES("TFEAT2", Player1)~ IF ~Global("TFEAT3P1", "Global", 1)~ THEN DO ~ForceSpellRES("TFEAT3", Player1)~ IF ~Global("TFEAT4P1", "Global", 1)~ THEN DO ~ForceSpellRES("TFEAT4", Player1)~ IF ~Global("HFEAT1P1", "Global", 1)~ THEN DO ~ForceSpellRES("HFEAT1", Player1)~ IF ~Global("HFEAT2P1", "Global", 1)~ THEN DO ~ForceSpellRES("HFEAT2", Player1)~ IF ~Global("HFEAT3P1", "Global", 1)~ THEN DO ~ForceSpellRES("HFEAT3", Player1)~ IF ~Global("HFEAT4P1", "Global", 1)~ THEN DO ~ForceSpellRES("HFEAT4", Player1)~ IF ~Global("HFEAT5P1", "Global", 1)~ THEN DO ~ForceSpellRES("HFEAT5", Player1)~ IF ~Global("HFEAT6P1", "Global", 1)~ THEN DO ~ForceSpellRES("HFEAT6", Player1)~ IF ~Global("MFEAT1P1", "Global", 1)~ THEN DO ~ForceSpellRES("MFEAT1", Player1)~ IF ~Global("MFEAT2P1", "Global", 1)~ THEN DO ~ForceSpellRES("MFEAT2", Player1)~ IF ~Global("MFEAT4P1", "Global", 1)~ THEN DO ~ForceSpellRES("MFEAT4", Player1)~ IF ~Global("MFEAT3P1", "Global", 1) Class(Player1, MAGE) Class(Player1, BARD) Class(Player1, SORCERER)~ THEN DO ~ForceSpellRES("MFEAT3A",Player1)~ IF ~Global("MFEAT3P1", "Global", 1) Class(Player1, CLERIC) Class(Player1, DRUID) Class(Player1, RANGER) Class(Player1, PALADIN)~ THEN DO ~ForceSpellRES("MFEAT3B",Player1)~ IF ~Global("MFEAT3P1", "Global", 2) Class(Player1, MAGE) Class(Player1, BARD) Class(Player1, SORCERER)~ THEN DO ~ForceSpellRES("MFEAT3C",Player1)~ IF ~Global("MFEAT3P1", "Global", 2) Class(Player1, CLERIC) Class(Player1, DRUID) Class(Player1, RANGER) Class(Player1, PALADIN)~ THEN DO ~ForceSpellRES("MFEAT3D",Player1)~ IF ~~ THEN REPLY ~Thank you~ EXIT END
So I've banged my head against this wall enouogh and now I'm bleeding. Whilst I await the paramedics if anyone can spot what the heck I did wrong, I'd be quite obliged. The bold section is what weidu is calling the parsing error, at IF column 1-2...so something is quite wrong either in the BEGIN statement or the format of all the IF's below it. I'm guessing it has something to do with the latter. I deleted the SAY statement and that did nothing either.
So I *TRIED* to get the .dlg file to work by taking out the whole last section of spells being cast and move it to a .baf script instead (I figure I'll be summoning a invisible creature to run/cast all this anyway, so start with the script then move to the dialog, then back to the script to cast the spells). The result is a much smaller .dlg file, but it still won't work. It's now the last line that's causing the error. Anyway, I'm TOTALLY at a loss of what I've done wrong. There's "END"s everywhere and "BEGIN"s and "~"s. Anyhow, I figure i'm missing an elementary something or other...
...that said, there's not a ton of .dlg writing info out there...
Is it possible to make a kit of a multiclass? As an example, base class Fighter/Mage and kit being Magic Knight? So you can only be that kit if you're the multiclass Fighter/Mage.
@Roman215 You can 'kind of' do that. We are doing something similar in the faiths and powers mod. You basically create the kit, and then you have to add the kit using the 'invisible monster' trick. It's a little involved to describe if you're not familiar with some basics...
Anyhow, I figure i'm missing an elementary something or other...
Yeah, so that elementary something or other was the second END at the end...I'm an idiot and hope i didn't waste too much of anyone's time. That said, I appreciate the help SO MUCH! And i'll sure I'll have another boneheaded question in no time
Anyhow, I figure i'm missing an elementary something or other...
Yeah, so that elementary something or other was the second END at the end...I'm an idiot and hope i didn't waste too much of anyone's time. That said, I appreciate the help SO MUCH! And i'll sure I'll have another boneheaded question in no time
Comments
I attached the debug file as well...
]
[trigger list near line 19, column 31 of 5eRace\dlg\JTFLAY.d] PARSE WARNING at line 19 column 1-25
Near Text: )
[Class] argument [BARBARIAN] not found in [Class.IDS]
Processing 1 dialogues/scripts ...
Adding JTFLAY to internal list of available DLGs
[JTFLAY.DLG] saved 234 states, 619 trans, 6 strig, 174 ttrig, 421 actions
Compiling 1 dialogue file ...
I don't see JTFLAY.d in your attachment, but you want to check for a barbarian, you should check for the fighter class and for the barbarian kit. Yes, the barbarian is considered a fighter kit, not a class.
As for this:
[5eRace\dlg\JETAF.d] PARSE ERROR at line 218 column 1-16
Near Text: BEGIN
syntax error
[5eRace\dlg\JETAF.d] ERROR at line 218 column 1-16
Near Text: BEGIN
Parsing.Parse_error
ERROR: parsing [5eRace\dlg\JETAF.d]: Parsing.Parse_error
ERROR: compiling [5eRace\dlg\JETAF.d]!
Stopping installation because of error.
Line 218 looks okay...I believe that weidu doesn't always tell the truth. Buuuuut, you seem to have two blocks that have the same title (and 218 is one of them--218-224 to be specific):
IF ~~ THEN BEGIN JET1_CONFIRM //////Confirm choices
SAY ~Are you sure?~
IF ~~ THEN REPLY ~Yes, this will be my training~ GOTO JET1_CONFIRM1
IF ~~ THEN REPLY ~No, let me look again~ GOTO JET1_1
END
IF ~~ THEN BEGIN JET1_CONFIRM //CAST choices
See the bolded text. Perhaps the second one is supposed to be "JET1_CONFIRM1" (?)
Heh, it's very easy to miss something!
...the barbarian thing won't be an issue...
...more importantly, if weidu is wrong then what do i do?!? It won't install like it is...
By 'wrong' I meant that it doesn't always tell you the exact line that is the problem. Here is was lines 218 and 224, so it was partially right
EDIT: now i feel like an idiot...missed an END on the line before...thanks for the help fellas!
...that said, there's not a ton of .dlg writing info out there...
@Roman215 You can 'kind of' do that. We are doing something similar in the faiths and powers mod. You basically create the kit, and then you have to add the kit using the 'invisible monster' trick. It's a little involved to describe if you're not familiar with some basics...