Jump to content

How exactly does I_C_T3 work?


jastey

Recommended Posts

Posted

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?

 

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...