Guest PAPPOLO Posted November 30, 2010 Share Posted November 30, 2010 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 . 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 . 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. Link to comment
Miloch Posted December 1, 2010 Share Posted December 1, 2010 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
PAPPOLO Posted December 1, 2010 Share Posted December 1, 2010 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 . 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
Miloch Posted December 1, 2010 Share Posted December 1, 2010 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
PAPPOLO Posted December 1, 2010 Share Posted December 1, 2010 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
jastey Posted December 2, 2010 Share Posted December 2, 2010 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
PAPPOLO Posted December 2, 2010 Share Posted December 2, 2010 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
Recommended Posts
Archived
This topic is now archived and is closed to further replies.