Hi!
I have these new sequencer objects that refuses to create when I crouch and fire. I have posted the whole Mod right here because I doubt it is the COG, but Compos Mentis said to post the COG here just incase.
So... Why won't the sequencers create?
/Edward
I have these new sequencer objects that refuses to create when I crouch and fire. I have posted the whole Mod right here because I doubt it is the COG, but Compos Mentis said to post the COG here just incase.
So... Why won't the sequencers create?
Code:
# Jedi Knight Cog Script # # WEAP_SEQCHARGE.COG # # WEAPON 8 Script - Sequencer Charge # # Heartier than the Thermals and the DF IM Mines these are used by placing them on # the ground or on walls. These have both delayed and proximity options. # # - Not affected by MagSealed sectors/surfaces. # # [YB & CYW] # # (C) 1997 LucasArts Entertainment Co. All Rights Reserved # ======================================================================================== symbols model povModel=seqv.3do local model weaponMesh=seqg.3do local keyframe mountAnim=SeqVmnt.key local keyframe dismountAnim=SeqVdis.key local keyframe povfireAnim=SeqVpst1.key local keyframe holsterAnim=kyhlstr.key local flex mountWait local flex fireWait=0.01 local flex holsterWait local template projectile_tpl=+seqchrg2 local template projectile_tpl2=+seqchrg2b local template projectile_tpl3=+seqchrg2f local int projectile local model grenademodel=seq0.3do local model grenademodel2=seq1.3do local model grenademodel3=seq2.3do local sound zeeky=ZeekyBoogyDoog.wav local material flashing=seq0mtp3.mat local int cel local int mode local thing player local int trackID=-1 local int holsterTrack local int selectMode=1 local int i local message startup message activated message deactivated message selected message deselected #message newplayer message autoselect message fire message timer end # ======================================================================================== code startup: // Setup delays and variables. mountWait = GetKeyLen(mountAnim); // Start the material flashing. MaterialAnim( flashing, 4, 1 ); Return; # ........................................................................................ fire: player = GetSourceRef(); mode = GetSenderRef(); // Check that the player is still alive. if(GetThingHealth(player) <= 0) { Return; } if(mode==0) { if(IsCrouching(player)) { if(rand()<.5) { projectile = FireProjectile(player, projectile_tpl2, -1, 16, '0 0.05 0.00', '0 0 0', 1.0, 0, 0.0, 0.0); } else { projectile = FireProjectile(player, projectile_tpl3, -1, 16, '0 0.05 0.00', '0 0 0', 1.0, 0, 0.0, 0.0); } } else { projectile = FireProjectile(player, projectile_tpl, -1, 16, '0 0.05 0.00', '0 0 0', 1.0, 0, 0.0, 0.0); } jkPlayPOVKey(player, povfireAnim, 1, 0x38); } else { if(iscrouching(player)) { for(i=0; i<=GetThingCount(); i=i+1) { if((GetThingModel(i)==grenademodel || GetThingModel(i)==grenademodel2 || GetThingModel(i)==grenademodel3) && GetThingParent(i)==player) { PlaySoundPos(zeeky,GetThingPos(i),1,1,100,0x0); DamageThing(i,1000,0x0,i); } } jkPlayPOVKey(player, povyisnogood, 1, 0x38); print("Sequencers Detonated!"); } else { if(rand()<.5) { FireProjectile(player, projectile_tpl, -1, 16, vectorset((rand()*2.00)-1.00,(rand()*2.00)-1.00,(rand()*2.00)-1.00), vectorset((rand()*2.00)-1.00,(rand()*2.00)-1.00,(rand()*2.00)-1.00), 1.0, 0, 0.0, 0.0); } else if(rand()>.5) { FireProjectile(player, projectile_tpl3, -1, 16, vectorset((rand()*2.00)-1.00,(rand()*2.00)-1.00,(rand()*2.00)-1.00), vectorset((rand()*2.00)-1.00,(rand()*2.00)-1.00,(rand()*2.00)-1.00), 1.0, 0, 0.0, 0.0); } else { FireProjectile(player, projectile_tpl2, -1, 16, vectorset((rand()*2.00)-1.00,(rand()*2.00)-1.00,(rand()*2.00)-1.00), vectorset((rand()*2.00)-1.00,(rand()*2.00)-1.00,(rand()*2.00)-1.00), 1.0, 0, 0.0, 0.0); } if(rand()<.5) jkPlayPOVKey(player, povfireAnim, 1, 0x38); if(rand()<.5) jkPlayPOVKey(player, mountAnim, 1, 0x38); if(rand()<.5) jkPlayPOVKey(player, dismountAnim, 1, 0x38); if(rand()<.5) jkPlayPOVKey(player, holsterAnim, 1, 0x38); } } // If out of ammo try to autoswitch to another weapon // if autoswitch is enabled else just switch to fists. if(GetInv(player, 8) < 1) { if(GetAutoSwitch() & 1) { SelectWeapon(player, AutoSelectWeapon(player, 1)); } else { SelectWeapon(player, 1); } } Return; # ........................................................................................ activated: player = GetSourceRef(); mode = GetSenderRef(); if(mode > 1) Return; jkSetWaggle(player, '0.0 0.0 0.0', 0); ActivateWeapon( player, fireWait, mode ); Return; # ........................................................................................ deactivated: player = GetSourceRef(); mode = GetSenderRef(); jkSetWaggle(player, '10.0 7.0 0.0', 350); DeactivateWeapon( player, mode ); Return; # ........................................................................................ selected: player = GetSourceRef(); PlayMode(player, 40); jkSetPOVModel(player, povModel); SetArmedMode(player, 0); jkSetWeaponMesh(player, weaponMesh); trackID = jkPlayPOVKey(player, mountAnim, 0, 20); jkSetWaggle(player, '10.0 7.0 0.0', 350); SetMountWait(player, GetKeyLen(mountAnim)); jkClearFlags(player, 0x5); SetCurWeapon(player, 8); Return; # ........................................................................................ deselected: player = GetSourceRef(); jkPlayPOVKey(player, dismountAnim, 0, 18); holsterWait = GetKeyLen(holsterAnim); SetMountWait(player, holsterWait); holsterTrack = PlayKey(player, holsterAnim, 1, 0x4); SetTimerEx(holsterWait, 2, 0.0, 0.0); if (trackID != -1) { jkStopPOVKey(player, trackID, 0); trackID = -1; } jkSetWaggle(player, '0.0 0.0 0.0', 0); Return; # ........................................................................................ //newplayer: // player = GetSourceRef(); // // // Make sure that if the player is respawning, the old mount isn't playing anymore. // if (trackID != -1) // jkStopPOVKey(player, trackID, 0); // // Return; # ........................................................................................ autoselect: selectMode = GetSenderRef(); player = GetSourceRef(); // If the player has ammo if(GetInv(player, 8) != 0) { // query for ammo if(selectMode == -1) { ReturnEx(300.0); Return; } if((selectMode == 0) && !(GetAutoPickup() & 2)) { ReturnEx(300.0); Return; } if((selectMode == 1) && !(GetAutoSwitch() & 2)) { ReturnEx(300.0); Return; } if((selectMode == 2) && !(GetAutoPickup() & 2)) { ReturnEx(300.0); Return; } ReturnEx(-2.0); Return; } else { ReturnEx(-1.0); } Return; # ........................................................................................ timer: StopKey(player, holsterTrack, 0.0); Return; end
/Edward