Jump to content

Need Heelp with cutscene script.


Guest PAPPOLO

Recommended Posts

Guest PAPPOLO

:) Well, hello. As stated, I'm trying, and failing to create a cutscene similar to Cromwell's, but i have trouble making it play and properly running it mid dialog :) . Sometimes it starts csmode but the npc won't do anythind and the scene goes on without closing. Other times it starts but freezes. I've done all I could but no variable, no scripting, no nothing i know how to do works :D . Granted, I've been at it for barely a month, but even following tutorials I can't make It run. Frustrating, to say the least :D .

 

Here's the cutscene script (realy poor, I think, cause the animation freezes it more often than not)

IF
True()
THEN
RESPONSE #100
  CutSceneID("ROSIE")
  Wait(2)
  MoveToPoint([863.499])
  Wait(4)
  Swing()
  CreateVisualEffect(SPCRTWPN)
  Wait(1)
  Swing()
  Wait(1)
  Swing()
  Wait(1)
  EndCutSceneMode()
END

 

And this is the dialog, or rather the .d with .tra reference. Before editing to not include the CS.

IF ~~ THEN BEGIN r6
       SAY @9
       IF ~PartyGoldGT(3000)~ THEN DO ~TakePartyItem("LUCERO0")
                                       TakePartyItem("MYSTCRS1")
     				        TakePartyGold(3000)
                                       DestroyItem("LUCERO0")
  		                        DestroyItem("MYSTCRS1")
  		                        DestroyGold(3000)~ REPLY @11 GOTO r7
       IF ~~ THEN REPLY @10 GOTO r8
END

IF ~~ THEN BEGIN r7      
       SAY @12
       IF ~~ THEN DO ~GiveItemCreate("LUCERO1",PLAYER1,1,0,0)
                      EraseJournalEntry(@30)
                      AddJournalEntry(@26,QUEST)
                      ClearAllActions()
                      StartCutSceneMode()
                      StartCutScene("RoCut")~ GOTO r9
END

IF ~~ THEN BEGIN r8
       SAY @20
       IF ~~ THEN EXIT
END

IF ~~ THEN BEGIN r9
       SAY @13
       IF ~~ THEN REPLY @14 GOTO r17
END

 

It has a couple more segments before it closes that string of dialog. Sometimes it starts AFTER the dialog ends and the party alredy has the sword.

By the way. Without the CS it works perfectly.

 

The sword is called Lucero de Mystra (and yes, my main language is spanish, if there is any misspelled word atribute it to that and my awful skill at typing), and it's ment to be wielded by my Paladin of Mystra BGT kit. The two existing NPCs so far only appear IF the PC is of said class.

 

But all that is unimportant. If anyone can correct the mistake I obviously made, please answer this post. :laugh:;)

Link to comment

This isn't really my strong point, but if CutSceneId() doesn't work well, you could try ActionOverride() to force the creature to perform those actions.

 

Also, this probably won't work (I'm not even sure it will compile):

CreateVisualEffect(SPCRTWPN)

 

You need something like this instead (you could use Myself instead of coordinates also):

CreateVisualEffect("SPCRTWPN",[863.499])

 

But since you say "Without the CS it works perfectly" then why not run it without the cutscene - directly in the dialogue?

Link to comment

Thanks for the sugestion Miloch :) . I'll have to try the AcctionOverride later, cause I'm playin the kit to look for any other mistake at the moment. ActOr means I have to change CSID right? And the animation I should have known needed a location point :laugh: .

And yes, I'm still testin if it runs properly in an actual game. But using debug mode it did work. I want to make it a little more, I dunno, rounded, completed, realistic or something. Wish me luck.

Link to comment
ActOr means I have to change CSID right?
Yeah, you don't need CutSceneId if you use ActionOverride. They should do roughly the same thing, but the IESDP says CutSceneId "appears to only work from a creature script." That doesn't make much sense, since it's obviously used in a cutscene, not a creature script. Maybe it means it uses the creature's scripting variable.
Link to comment

Almost have it. No fancy moving for the NPC but the CS plays, only AFTER the dialog is done. Creates the visual effect and cuts back to play mode.

Funny thin is, it's scripted right in the .d and no .bcs. :) Please, tell me CS are suposed to play from .bcs cause if not I'm just noober tha I thought.

Link to comment

Yes, cutscenes play from a script, but if it's something "small" you can also put it directly into the dialogue.

 

I can only give the advice that if you want to do something similar to an existing game event (in this case, a cutscene like Cromwell) have a look at how it is done in the game (with NI, for example) and copy as much as possible. This way you prevent frustrating things like no spell effects due to wrong syntax. :)

Link to comment

Just finished it, no need to look at the Cromwell CS. It now plays right on time :) , and then finishes the dialog. I'll have to copy it for the second reforge of the sword but that's easy.

 

Here it is, right of the .d

BEGIN ~ROSIE~

 IF ~NumTimesTalkedTo(0)~ THEN BEGIN r1
     SAY @0
     IF ~~ THEN EXIT
 END

 IF ~!NumTimesTalkedTo(0)
     Global("RudeTalk","LOCALS",0)
     Global("NoMonney","LOCALS",0)
     Global("FORGE","GLOBAL",0)
     Kit(Player1,MYSTRA)
     PartyHasItem("LUCERO0")
     PartyHasItem("MYSTCRS1")
     Global("BG1DREAM","GLOBAL",2)~ THEN BEGIN r2
     SAY @1
     IF ~~ THEN REPLY @2 GOTO r3
     IF ~~ THEN REPLY @3 DO ~SetGlobal("RudeTalk","LOCALS",1)~ GOTO r4
 END

 IF ~~ THEN BEGIN r3
     SAY @4
     IF ~~ THEN REPLY @6 GOTO r5
     IF ~~ THEN REPLY @7 GOTO r6
 END

 IF ~~ THEN BEGIN r4
     SAY @5 
     IF ~~ THEN EXIT
 END

 IF ~~ THEN BEGIN r5
     SAY @8
     IF ~~ THEN REPLY @7 GOTO r6
 END

 IF ~~ THEN BEGIN r6
     SAY @9
     IF ~PartyGoldGT(3000)~ THEN  REPLY @11 GOTO r7
     IF ~~ THEN REPLY @10 DO ~SetGlobal("NoMonney","LOCALS",1)~ GOTO r8
 END

 IF ~~ THEN BEGIN r7
     SAY @12
     IF ~~ THEN DO ~SetGlobal("FORGE","GLOBAL",1)
                    TakePartyItem("LUCERO0")
                    TakePartyItem("MYSTCRS1")
  		     TakePartyGold(3000)
                    DestroyItem("LUCERO0")
  		     DestroyItem("MYSTCRS1")
  	 	     DestroyGold(3000)
                    ClearAllActions()
                    StartCutSceneMode()
                    CutSceneID("ROSIE")
                    MoveToPoint([863.499])
                    CreateVisualEffect("SPCRTWPN",[863.499])
                    Swing()
                    MoveToPoint([735.408])
                    FaceObject(Player1)
                    StartDialogNoSet(Player1)
                    EndCutSceneMode()~ EXIT
 END

 IF ~~ THEN BEGIN r8
     SAY @20
     IF ~~ THEN EXIT
 END

 IF ~Global("FORGE","GLOBAL",1)~ THEN BEGIN r9
     SAY @13
     IF ~~ THEN REPLY @14 DO ~SetGlobal("FORGE","GLOBAL",2)
                              GiveItemCreate("LUCERO1",PLAYER1,1,0,0)
                              EraseJournalEntry(@30)
                              AddJournalEntry(@26,QUEST)~ GOTO r17
 END

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...