Massassi Forums Logo

This is the static archive of the Massassi Forums. The forums are closed indefinitely. Thanks for all the memories!

You can also download Super Old Archived Message Boards from when Massassi first started.

"View" counts are as of the day the forums were archived, and will no longer increase.

ForumsCog Forum → My Sequencers won't work
My Sequencers won't work
2004-12-18, 5:38 AM #1
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?

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
Edward's Cognative Hazards

↑ Up to the top!