![]() |
The Black Wyrm's Lair Terms of Use |
![]() ![]() ![]() ![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() GOD Retired team member Posts: 1728 Joined: 14-July 04 From: Ireland ![]() |
I have the following problem with a cutscene. It's probably something basic but I'm just not seeing it.
The npc is not in the party when pc starts talking to him but was previously: In the P dialog: CODE IF ~Global("bwtouchnopay","GLOBAL",2)!GlobalTimerExpired("bwtouchnopayt","GLOBAL")~ notearnedindrow SAY ~Blah blah.~ + ~PartyGoldGT(9999)~ + ~Yes, I have changed my mind.~ DO ~SetGlobal("bwtouchnopay","GLOBAL",3)SetGlobal("kickout","LOCALS",0) JoinParty() ~ EXIT + ~PartyGoldLT(10000)~ + ~I simply do not have the money.~ EXIT ++ ~You will have to make do on your own.~ EXIT END Then in the npc's script: CODE IF Global("bwtouchnopay","GLOBAL",3) THEN RESPONSE #100 StartCutSceneMode() StartCutScene("bwtoumov") END But the cutscene doesn't start, it doesn't even go into cutscene mode. I've tried starting it all in the dialog and not in script but that doesn't work either. The npc does join the party though. The bwtoumov cutscene is compiled and looks fine. |
|
|
![]()
Post
#2
|
|
![]() The Raven ![]() Mod Developer Posts: 590 Joined: 4-September 04 From: California, USA ![]() |
I'm going to go with the simple idea, and maybe you didn't see this, but most likely I'm wrong...
What's your party gold at? And, it's been a while since I modded, but CutSceneID()? This post has been edited by Awake: Feb 11 2007, 02:03 AM -------------------- And can we finally say that the bhaal spawn idea has had the final nail hammered in its coffin?
Member of the World Transition Project And the raven, never flitting, still is sitting, still is sitting On the pallid bust of Pallas just above my chamber door; And his eyes have all the seeming of a demon's that is dreaming, And the lamp-light o'er him streaming throws his shadow on the floor; And my soul from out that shadow that lies floating on the floor Shall be lifted - nevermore! Like dealing with terrorists by giving them explosives |
|
|
![]()
Post
#3
|
|
![]() Mathematical poet Retired team member Posts: 159 Joined: 9-July 04 From: Prague, Czech Republic ![]() |
CODE IF Global("bwtouchnopay","GLOBAL",3) THEN RESPONSE #100 StartCutSceneMode() StartCutScene("bwtoumov") END Maybe, it could be an issue with cut-scene itself, maybe no - don't forget to set bwtouchnopay variable to 4 or something - here you have "always true" block. So due to this the cut-scene proceeding could be prevented from launching... maybe not ![]() BTW try to replace cut-scene actions with something simple - DisplayString action, for instance. Then you will see whether the block is actually processed... -------------------- |
|
|
![]()
Post
#4
|
|
![]() The Islander ![]() Member of Graphics Dept. Posts: 365 Joined: 31-January 05 From: Queens, NY ![]() |
You can try ClearAllActions() before the cutscene
|
|
|
![]()
Post
#5
|
|
![]() The Tactician ![]() Distinguished Developer Posts: 7793 Joined: 1-December 05 ![]() |
QUOTE CODE SetGlobal("bwtouchnopay","GLOBAL",3)SetGlobal("kickout","LOCALS",0) Also, try adding a space between the two SetGlobal actions. -------------------- Improved Anvil
![]() Cheating is not confined to using external software or the console commands. Abusing the flaws and limitations of the game engine to do something that a human Dungeon Master would not accept or allow is cheating. |
|
|
![]()
Post
#6
|
|
![]() GOD Retired team member Posts: 1728 Joined: 14-July 04 From: Ireland ![]() |
I'll try the DisplayStringHead() thing first I think! At least I'll know if the Cutscene is actually starting or not.
I was thinking it might have something to do with the npc not being in the party but like I said the JoinParty() does happen. Can one Action fire and not another that comes before it or should there be errors? @Awake: lol EDIT: DisplayStringHead did not work. EDIT: Spacing of Globals does not work either. Everything looks fine for the dialog/script in NI too. |
|
|
![]()
Post
#7
|
|
![]() GOD Retired team member Posts: 1728 Joined: 14-July 04 From: Ireland ![]() |
This doesn't seem right...I checked in NI and when the npc has rejoined the party the only script running on him is DPLAYER2.
Obviously this means that the block in his personal script won't run because its not active. I don't recall this ever happening to any other npc I've tried. EDIT: Yes his personal script is assigned in his cre file at install and the other blocks work before he leaves the party. |
|
|
![]()
Post
#8
|
|
![]() Mathematical poet Retired team member Posts: 159 Joined: 9-July 04 From: Prague, Czech Republic ![]() |
Rabain: has the variable bwtouchnopay really value 3 after the joining npc in party (check it via console or savegame editors or varchecker
![]() Isn't there any typo in assigning script in cre file? -------------------- |
|
|
![]()
Post
#9
|
|
![]() GOD Retired team member Posts: 1728 Joined: 14-July 04 From: Ireland ![]() |
I've checked in ShadowKeeper and in NI and the global is being set to the correct value.
However since his personal script is no longer on him after rejoining the party nothing in it is firing. It's not that there is a typo...his script is no longer on him at all after he rejoins! Only DPLAYER2 is running, all other script fields are empty even though before he left the party he had a script assigned to both the Override and Default slots. |
|
|
![]()
Post
#10
|
|
![]() GOD Retired team member Posts: 1728 Joined: 14-July 04 From: Ireland ![]() |
Adding ChangeAiScript() to the dialogue fixed it.
Is this normal behaviour or have I just never noticed what goes on when a party member leaves and rejoins the party? |
|
|
![]()
Post
#11
|
|
![]() Mathematical poet Retired team member Posts: 159 Joined: 9-July 04 From: Prague, Czech Republic ![]() |
Rabain: mmm... what about pdialog.2da? There is column called 25OVERRIDE_SCRIPT_FILE. Could it be any interference here?
Or npclevel.2da - you cre is maybe replaced by different cre file according this file... Here could be some issue too... yep, ChangeAiScript() can fix it, however the problem still left hidden ![]() -------------------- |
|
|
![]()
Post
#12
|
|
![]() GOD Retired team member Posts: 1728 Joined: 14-July 04 From: Ireland ![]() |
I thought the 25 files where only used once you've started playing ToB?
|
|
|
![]()
Post
#13
|
|
![]() Mathematical poet Retired team member Posts: 159 Joined: 9-July 04 From: Prague, Czech Republic ![]() |
Rabain: yep, prefix 25 is used for ToB scripts and dialogs. i've meant it just for the case you're trying you scripts/characters in started ToB game.
-------------------- |
|
|
![]()
Post
#14
|
|
![]() GOD Retired team member Posts: 1728 Joined: 14-July 04 From: Ireland ![]() |
No worries, I've bypassed that problem with ChangeAiScript() for now.
Next problem, Cutscene starts but only goes as far as just after FadeFromcolour() CODE IF True() THEN RESPONSE #100 CutSceneId("bwtouchx") Wait(1) ActionOverride(PLAYER1,MoveToPoint([1512.1354])) ActionOverride(PLAYER2,MoveToPoint([1450.1352])) ActionOverride(PLAYER3,MoveToPoint([1473.1294])) ActionOverride(PLAYER4,MoveToPoint([1416.1313])) ActionOverride(PLAYER5,MoveToPoint([1443.1254])) ActionOverride(PLAYER6,MoveToPoint([1391.1271])) FadeToColor([20.0],0) ActionOverride(PLAYER1,LeaveAreaLUA("AR2200","",[4600.1100],14)) ActionOverride(PLAYER2,LeaveAreaLUA("AR2200","",[4430.930],14)) ActionOverride(PLAYER3,LeaveAreaLUA("AR2200","",[4430.930],14)) ActionOverride(PLAYER4,LeaveAreaLUA("AR2200","",[4430.930],14)) ActionOverride(PLAYER5,LeaveAreaLUA("AR2200","",[4430.930],14)) ActionOverride(PLAYER6,LeaveAreaLUA("AR2200","",[4430.930],14)) Wait(1) FadeFromColor([20.0],0) MoveToPoint([4640.1080]) EndCutSceneMode() ActionOverride(Player1,StartDialogueNoSet("DADROW18")) END Then it just stops and stays in cutscene mode. FadeToColour does happen but anything after. I've tried ActionOverride for the MovetoPoint but it doesn't work either. |
|
|
![]()
Post
#15
|
|
![]() The Islander ![]() Member of Graphics Dept. Posts: 365 Joined: 31-January 05 From: Queens, NY ![]() |
Shouldn't the last two cutscene actions be
ActionOverride("DADROW18",StartDialogueNoSet(Player1)) EndCutSceneMode() |
|
|
![]()
Post
#16
|
|
![]() GOD Retired team member Posts: 1728 Joined: 14-July 04 From: Ireland ![]() |
I don't think it really matters when you End the cutscene, so long as it ends at some stage appropriate to what you want to happen.
Its not getting as far as the MoveToPoint anyway. Also now that I've updated my dialogues its back to not even starting again! Its not been a good day. |
|
|
![]()
Post
#17
|
|
![]() The Islander ![]() Member of Graphics Dept. Posts: 365 Joined: 31-January 05 From: Queens, NY ![]() |
What I mean is that perhaps DADROW18 must start dialog, not Player1?
|
|
|
![]()
Post
#18
|
|
Forum Member Posts: 53 Joined: 22-March 05 ![]() |
The game assigns scripts when a character joins the party based on the 2DA files. Make sure the 2DA files are correct for your NPC (so that the game can assign the script and dialogue files that your NPC should be running).
Dialogue automatically ends cutscene mode, so it doesn't matter where you put EndCutSceneMode() (or even if you use it at all). Player1 doesn't really ever have a dialogue file assigned, so your StartDialogueNoSet() isn't going to do anything (as HERD suggests, you want DADROW18 to initiate dialogue with Player1). Make sure that "bwtouchx" is a valid script name. If it's not a character that's in the party, you need to move it to AR2200 with the party (using MoveBetweenAreas()). This post has been edited by devSin: Feb 11 2007, 09:23 PM |
|
|
![]()
Post
#19
|
|
![]() GOD Retired team member Posts: 1728 Joined: 14-July 04 From: Ireland ![]() |
Basically what happens is that the character joins the party in one area and then the cutscene moves the whole party to another area and commences dialog with DADROW18.
At the moment what is happening is that the character joins the party but no cutscene starts. I am back to where I was several posts ago with no scripts running on the npc after rejoining other than DPlayer2. Can someone point out to me which part of which 2da needs to be updated in order to assign a script to the npc. As noted previously the personal script was on the npc before he left the party but obviously removed and not replaced when he rejoined. bwtouchx is the DV (scriptname) of the npc. I was under the impression that the personal script you assign to the cre when you create it or at install (as some do now) should stay on the npc throughout its life in SoA. The script is replaced by the 25Override script listed in pdialog.2da at the start of ToB. Am I wrong on any of this? You're both probably right about the DADROW18 having to initiate conversation...I just can't get that far at the moment. I have changed the script so he starts the convo with player1. Thanks! |
|
|
![]()
Post
#20
|
|
![]() GOD Retired team member Posts: 1728 Joined: 14-July 04 From: Ireland ![]() |
Okay I figured it out, never place an npc's personal script in the Default slot or it will be erased when he leaves the party and replaced by Dplayer2.
The Override slot will follow the npc throughout its life in SoA. In or out of the party. I must check which slot is filled by pdialog in ToB and if it is indeed the Override slot. Absolutely everything is working fine now! |
|
|
![]() ![]() |
![]() |
Lo-Fi Version | Time is now: 20th April 2025 - 09:07 AM |