Thanks
WeiDU Compiler Error
Started by Quitch, Sep 25 2002 10:21 AM
22 replies to this topic
#21
Posted 29 September 2002 - 08:52 PM
#22 -jcompton-
Posted 30 September 2002 - 06:30 AM
For a from-scratch development, one of the more interesting uses of simultaneous compile is to allow mod NPCs to interject into new content. The Imoen Romance guy uses TP2 ACTION_IF to detect if Tashia is installed, and if she is, the COMPILE statement contains an extra .d with Tashia interjections that point out to labels in the core .d files.
This is an interesting idea but unfortunately I have yet to think of a good way to attack the problem of multiple NPCs without getting into geometric growth. (since with 2 NPCs, you need 4 different combinations of COMPILE lines, and it goes from there in a rather ugly fashion...)
This is an interesting idea but unfortunately I have yet to think of a good way to attack the problem of multiple NPCs without getting into geometric growth. (since with 2 NPCs, you need 4 different combinations of COMPILE lines, and it goes from there in a rather ugly fashion...)
#23
Posted 30 September 2002 - 09:50 AM
My traditional method is "ALLOW_MISSING". I'm assuming this tashia-banter.d file say something like this:
EXTEND_BOTTOM IMOEN possible_banter
IF ~InParty("Tashia")~ THEN REPLY @100 EXTERN TASHIA banter
END
APPEND TASHIA
IF ~~ THEN BEGIN banter
SAY @1000
IF ~~ THEN EXIT
END
Then saying "ALLOW_MISSING TASHIA.DLG" will do what you want, and you can always compile that D file. A one-state TASHIA.DLG file will be created with that banter if tashia is not installed, but in that case she'll never be in the party, so it will all work out.
EXTEND_BOTTOM IMOEN possible_banter
IF ~InParty("Tashia")~ THEN REPLY @100 EXTERN TASHIA banter
END
APPEND TASHIA
IF ~~ THEN BEGIN banter
SAY @1000
IF ~~ THEN EXIT
END
Then saying "ALLOW_MISSING TASHIA.DLG" will do what you want, and you can always compile that D file. A one-state TASHIA.DLG file will be created with that banter if tashia is not installed, but in that case she'll never be in the party, so it will all work out.