This spans 2 cogs, but ideally, I'd like to consolodate the SetThingModel command into marinerboam while still telling 01_mclothes the status of Tahben's attire.
[marinerboam]
[01_mclothes]
I believe that both check out with ParSec.
It's the SetThingModel commands that are boggling me, THE MODEL DOESN'T CHANGE!
Thy help is appreciated.
[marinerboam]
Code:
# Jedi Knight Cog Script # # Cutscene: Kyle and Officer Mitchell # # By Anthony Piggott (akpiggott@jediknights.co.uk) for BoaM1 # # Script not Supported by LucasArts Entertainment Co. # # USED BY ROX WITH ANTHONY'S PERMISSION: Slightly Modified # # 4.26.02 - Now with a frame for the door, as well as an edited script. # # ======================================================================================== symbols message startup message entered thing player local sector printsector sound beep thing iopos thing ioposwalk thing playpos thing ioactor thing iofficer thing cam thing marinercam thing tahbencam thing marinerdoor keyframe talk1=kktlk1.key keyframe talk2=kktlk2.key keyframe talk3=kktlk3.key int kyletalks local int old_camera local sound soundGoal0=accomplish1.wav local material ioface=kkfagoat.mat local material kyface=kkfagoat.mat local int AnimHandle local sound mitell=00gamorwakeup02.wav local sound micarida=00gamorwakeup02.wav local thing newcam1 sound kymitchell=00gamorwakeup02.wav local sound kydetain1=00gamorwakeup02.wav local sound kydetain2=00gamorwakeup02.wav local sound kyonemore=00gamorwakeup02.wav local sound kybetter=00gamorwakeup02.wav local cog 01_mclothes_cog int status=0 local int fps end # ======================================================================================== code startup: player = GetLocalPlayerThing(); AiSetMode(ioactor, 0x2000); AiSetMode(iofficer, 0x2000); Return; entered: While(status==0) { player = GetLocalPlayerThing(); if(GetInv(player, 11) < 50) SetInv(player, 11, 50.0); SetFireWait(player, -1); SetMountWait(player, 0); TeleportThing(ioactor, iopos); TeleportThing(player, playpos); SetActorFlags(player, 0x800000); SetActorFlags(player, 0xa00000); StopThing(player); SetCameraFocus(0, cam); SetCurrentCamera(0); AISetLookPos(ioactor, GetThingPos(ioposwalk)); AISetMovePos(ioactor, GetThingPos(ioposwalk)); Sleep(2.0); SetCameraFocus(0, newcam1); SetCurrentCamera(0); kyletalks = playkey(ioactor, talk1, 1, 0x0); playsoundlocal(kymitchell, 1, 0, 0x0); AnimHandle=materialanim(kyface, fps, 1); Print("Tahben: Ho there, good sir! Could the rumours be true?"); sleep(1); stopAnim(AnimHandle); SetMaterialCel(kyface,0); sleep(1); AnimHandle=materialanim(kyface, fps, 1); sleep(1); stopAnim(AnimHandle); SetMaterialCel(kyface,0); Stopkey(ioactor, kyletalks, 0); sleep(2); kyletalks = playkey(ioactor, talk2, 1, 0x0); playsoundlocal(kydetain1, 1, 0, 0x0); AnimHandle=materialanim(kyface, fps, 1); SetCameraFocus(0, tahbencam); SetCurrentCamera(0); Print("Tahben: Is it true that you alone survived the Sea Serpent?"); sleep(1); Stopkey(ioactor, kyletalks, 0); stopAnim(AnimHandle); sleep(1); playsoundlocal(mitell, 1, 0, 0x0); AnimHandle=materialanim(ioface, fps, 1); SetCameraFocus(0, marinercam); SetCurrentCamera(0); Print("Mariner: Bah... leave an old man to himself..."); sleep(1); stopAnim(AnimHandle); SetMaterialCel(ioface,0); sleep(2); kyletalks = playkey(ioactor, talk3, 1, 0x0); playsoundlocal(kyonemore, 1, 0, 0x0); AnimHandle=materialanim(kyface, fps, 1); SetCameraFocus(0, tahbencam); SetCurrentCamera(0); Print("Tahben: I must know how to slay such a beast."); sleep(3); stopAnim(AnimHandle); SetMaterialCel(kyface,0); Stopkey(ioactor, kyletalks, 0); sleep(1); SetCameraFocus(0, cam); SetCurrentCamera(0); sleep(1); playsoundlocal(kydetain2, 1, 0, 0x0); AnimHandle=materialanim(kyface, fps, 1); SetCameraFocus(0, cam); SetCurrentCamera(0); Print("You: For in doing so, I shall free these shores from its malice."); sleep(3); stopAnim(AnimHandle); SetMaterialCel(kyface,0); sleep(1); AnimHandle=materialanim(ioface, fps, 1); playsoundlocal(micarida, 1, 0, 0x0); SetCameraFocus(0, marinercam); SetCurrentCamera(0); Print("Mariner: Bah... good of Xanthus... hmph"); sleep(3); Print("Mariner: ...I shall reveal my secret, but I request thy leaving mine abode."); sleep(6); SetCameraFocus(0, tahbencam); SetCurrentCamera(0); Print("Mariner: Seek to fire my spear 'pon her scaled brow or ribbed under, only there can she be slain."); sleep(3); stopAnim(AnimHandle); SetMaterialCel(ioface,0); //jkPrintUNIString(player, 350); //playsoundlocal(soundGoal0, 1, 0, 0x0); //SetGoalFlags(player, 0, 2); sleep(3); SetCameraFocus(0, newcam1); SetCurrentCamera(0); sleep(3); AnimHandle=materialanim(kyface, fps, 1); playsoundlocal(kybetter, 1, 0, 0x0); SetCameraFocus(0, cam); SetCurrentCamera(0); Print("You: Thank you, good sir, and I shall leave thee as promised."); sleep(1); stopAnim(AnimHandle); SetMaterialCel(kyface,0); sleep(1); AnimHandle=materialanim(kyface, fps, 1); sleep(1); stopAnim(AnimHandle); SetMaterialCel(kyface,0); SetCameraFocus(0, marinercam); SetCurrentCamera(0); Print("Mariner: That iron can thou walk'st in is no gear for the sea."); sleep(1); Print("Mariner: Take these lighter clothes."); sleep(3); SendMessage(01_mclothes_cog, user0); SetCameraFocus(0, tahbencam); SetCurrentCamera(0); Print("Mariner: Thank you, good sir."); sleep(1); // start GrisAdd SetCameraFocus(0, newcam1); SetCurrentCamera(0); MoveToFrame(ioactor, 1, 1); WaitForStop(ioactor); MoveToFrame(marinerdoor, 1, 3); MoveToFrame(ioactor, 0, 1); WaitForStop(ioactor); // end GrisAdd TeleportThing(player, playpos); AIClearMode(iofficer, 0x2000); SetCameraFocus(0, player); SetCurrentCamera(old_camera); ClearActorFlags(jkGetLocalPlayer(), 0xa00000); status=1; // Hmmm... let's add something... -Grismath } Return; # ........................................................................................ end
[01_mclothes]
Code:
# Jedi Knight Cog Script # # 01_MCLOTHES.COG # # THE RITES OF XANTHUS TOTAL CONVERSION # # Description # # I hope I did it right this time. :] # # -by Lord_Grismath # 5.18.02 # This Cog is Not supported by LucasArts Entertainment Co symbols message startup message pulse message user0 int plrflags local model tclothes model tarmor=kk.3do local model clothes model armor thing player local int wear=1 local int slow=0 local end # ======================================================================================== code startup: player = GetLocalPlayerThing(); setpulse(1.0); return; user0: if(wear == 1) { SetActorExtraSpeed(player, 1.2); SetThingModel(player, tclothes); wear=0; } else { SetActorExtraSpeed(player, 1); SetThingModel(player, tarmor); wear=1; } return; pulse: plrflags = GetThingFlags(player); if(plrflags & 0x2000000) { if(wear == 1) { if(slow == 0) { SetActorExtraSpeed(player, -1.5); SetGravity(6); slow = 1; } } DamageThing(player, 3.0, 0x1, player); } Else { if(slow == 1) { SetActorExtraSpeed(player, 0); SetGravity(4); slow = 0; } } return; # ........................................................................................ end
I believe that both check out with ParSec.
It's the SetThingModel commands that are boggling me, THE MODEL DOESN'T CHANGE!
Thy help is appreciated.