jastey Posted April 6, 2020 Posted April 6, 2020 I thought I_C_T3 is like I_C_T which - I thought - works the way that all transactions are copied to the NPC interjecting. Meaning, the transactions are performed after the NPC spoke. BG1NPC adds the following interjection to Neb in BG1: /* individual passbacks supplied */ I_C_T3 ~%tutu_scriptbg%NEB%eet_var%~ 8 X#NEB8 == ~%AJANTIS_JOINED%~ IF ~InParty("ajantis") InMyArea("ajantis") !StateCheck("ajantis",CD_STATE_NOTVALID)~ THEN @287 == ~%tutu_scriptbg%NEB%eet_var%~ IF ~InParty("ajantis") InMyArea("ajantis") !StateCheck("ajantis",CD_STATE_NOTVALID)~ THEN @288 == ~%KIVAN_JOINED%~ IF ~InParty("kivan") InMyArea("kivan") !StateCheck("kivan",CD_STATE_NOTVALID)~ THEN @289 == ~%tutu_scriptbg%NEB%eet_var%~ IF ~InParty("kivan") InMyArea("kivan") !StateCheck("kivan",CD_STATE_NOTVALID)~ THEN @290 == ~%DYNAHEIR_JOINED%~ IF ~InParty("dynaheir") InMyArea("dynaheir") !StateCheck("dynaheir",CD_STATE_NOTVALID)~ THEN @291 == ~%tutu_scriptbg%NEB%eet_var%~ IF ~InParty("dynaheir") InMyArea("dynaheir") !StateCheck("dynaheir",CD_STATE_NOTVALID)~ THEN @292 == ~%JAHEIRA_JOINED%~ IF ~InParty("jaheira") InMyArea("jaheira") !StateCheck("jaheira",CD_STATE_NOTVALID)~ THEN @293 == ~%tutu_scriptbg%NEB%eet_var%~ IF ~InParty("jaheira") InMyArea("jaheira") !StateCheck("jaheira",CD_STATE_NOTVALID)~ THEN @294 END And this is how it looks if compiled: Spoiler IF ~~ THEN BEGIN 8 // from: 7.4 20.4 SAY #216964 /* ~Let the solars come and I shall kill them too! In a world without justice, the gods are little more than a divine puppet show. Come, the tunnel's through the wall here, and it is time we cut ourselves free from this confining womb.~ */ IF ~~ THEN DO ~EraseJournalEntry(226843) EraseJournalEntry(226844) EraseJournalEntry(226845) EraseJournalEntry(226841) EraseJournalEntry(226842) EraseJournalEntry(226846) ClearAllActions() StartCutSceneMode() StartCutSceneEx("CAPCUT02",FALSE) ~ SOLVED_JOURNAL #227317 /* ~Afoul of the Law A killer by the name of Neb helped us break out of the Flaming Fist prison.~ */ EXIT IF ~ Global("X#NEB8","GLOBAL",0) InParty("jaheira") InMyArea("jaheira") !StateCheck("jaheira",CD_STATE_NOTVALID) ~ THEN DO ~SetGlobal("X#NEB8","GLOBAL",1) EraseJournalEntry(226843) EraseJournalEntry(226844) EraseJournalEntry(226845) EraseJournalEntry(226841) EraseJournalEntry(226842) EraseJournalEntry(226846) ClearAllActions() StartCutSceneMode() StartCutSceneEx("CAPCUT02",FALSE) ~ EXTERN ~JAHEIJ~ 262 IF ~ Global("X#NEB8","GLOBAL",0) InParty("dynaheir") InMyArea("dynaheir") !StateCheck("dynaheir",CD_STATE_NOTVALID) ~ THEN DO ~SetGlobal("X#NEB8","GLOBAL",1) EraseJournalEntry(226843) EraseJournalEntry(226844) EraseJournalEntry(226845) EraseJournalEntry(226841) EraseJournalEntry(226842) EraseJournalEntry(226846) ClearAllActions() StartCutSceneMode() StartCutSceneEx("CAPCUT02",FALSE) ~ EXTERN ~DYNAHJ~ 157 IF ~ Global("X#NEB8","GLOBAL",0) InParty("kivan") InMyArea("kivan") !StateCheck("kivan",CD_STATE_NOTVALID) ~ THEN DO ~SetGlobal("X#NEB8","GLOBAL",1) EraseJournalEntry(226843) EraseJournalEntry(226844) EraseJournalEntry(226845) EraseJournalEntry(226841) EraseJournalEntry(226842) EraseJournalEntry(226846) ClearAllActions() StartCutSceneMode() StartCutSceneEx("CAPCUT02",FALSE) ~ EXTERN ~KIVANJ~ 319 IF ~ Global("X#NEB8","GLOBAL",0) InParty("ajantis") InMyArea("ajantis") !StateCheck("ajantis",CD_STATE_NOTVALID) ~ THEN DO ~SetGlobal("X#NEB8","GLOBAL",1) EraseJournalEntry(226843) EraseJournalEntry(226844) EraseJournalEntry(226845) EraseJournalEntry(226841) EraseJournalEntry(226842) EraseJournalEntry(226846) ClearAllActions() StartCutSceneMode() StartCutSceneEx("CAPCUT02",FALSE) ~ EXTERN ~AJANTJ~ 224 END Thus, the transactions are added so they are performed before the NPC says the line. (Which in this case leads to the case that the cutscene starts while the dialogue box is still open, leading to a hanging game.) So, the I_C_T3 in this case is compiled like I thought I_C_T2/4 would be. What am I missing? Quote
Recommended Posts
Join the conversation
You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.