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 → Knife cog I cant do it
Knife cog I cant do it
2002-04-12, 6:04 AM #1
Since GBK didnt reply, Im on my own on this one.

The cog: if railcharge(examp) = 1 or more
then knife shows up, certain keys are used,
else / otherwise

normal fists

But it just goes wierd
I'll show the necessary bits:

model povModel2=fistv.3do
model povModel=fistknfv.3do
model weaponMesh=fistg.3do

keyframe mountAnim=fistvmntkf.key local
keyframe mountAnim2=fistvmnt.key local
keyframe dismountAnim=FistVdis.key local
keyframe povfireAnim1=fistvkill.key local
keyframe povfireAnim2=fistvkill2.key local
keyframe povslashAnim1=fistvl.key local
keyframe povslashAnim2=fistvr.key local
keyframe holsterAnim=kyhlstr.key local
keyframe throwknfanim=fistvthrw.key local

sound punchSound1=swingfist01.wav local
sound punchSound2=swingfist04.wav local
sound fireSound1=knife1.wav local
sound fireSound2=knife2.wav local
sound throwSound=swingfist01.wav local

template projectile=+slash local
template projectile2=+knife local
template projectile3=+punch local
flex leftWait=0.4 local
flex rightWait=0.43 local
flex leftknifeWait=0.4 local
flex rightknifeWait=0.4 local
flex mountWait local
code

startup:
player = jkGetLocalPlayer();

// Setup delays.
leftWait = GetKeyLen(povslashAnim1);
rightWait = GetKeyLen(povslashAnim2);
leftknifeWait = GetKeyLen(povfireAnim1);
rightknifeWait = GetKeyLen(povfireAnim2);

mountWait = GetKeyLen(mountAnim);

Return;

# ........................................................................................

fire:
// Check that the player is still alive.
if(GetThingHealth(player) <= 0)
{
Return;
}

if(GetInv(player, 15) < 1.0)

{

// Alternate fists.
if(nextAnim == 0)
{
SetPOVShake('-0.01 -.01 0.0', '1.0 0.0 0.0', .05, 80.0);
PlaySoundThing(punchSound1, player, 1.0, 0.5, 2.5, 0x80);
FireProjectile(player, projectile3, -1, 8, '-0.02 0.03 0', '0 0 0', 1.0, 0, 0.0, 0.0);

SetFireWait(player, leftWait);
}
else
{
SetPOVShake('0.01 -.01 0.0', '1.0 0.0 0.0', .05, 80.0);
PlaySoundThing(punchSound2, player, 1.0, 0.5, 2.5, 0x80);
FireProjectile(player, projectile3, -1, 18, '0.02 0.03 0', '0 0 0', 1.0, 0, 0.0, 0.0);
SetFireWait(player, rightWait);
}

jkPlayPOVKey(player, povslashAnim1[nextAnim], 1, 0x0a);
nextAnim = 1-nextAnim;

}

// Alternate slash.
if(nextAnim == 0)
{
SetPOVShake('-0.01 -.01 0.0', '1.0 0.0 0.0', .05, 80.0);
PlaySoundThing(fireSound1, player, 1.0, 0.5, 2.5, 0x80);
FireProjectile(player, projectile, -1, 8, '-0.02 0.03 0', '0 0 0', 1.0, 0, 0.0, 0.0);

SetFireWait(player, leftknifeWait);
}
else
{
SetPOVShake('0.01 -.01 0.0', '1.0 0.0 0.0', .05, 80.0);
PlaySoundThing(fireSound2, player, 1.0, 0.5, 2.5, 0x80);
FireProjectile(player, projectile, -1, 18, '0.02 0.03 0', '0 0 0', 1.0, 0, 0.0, 0.0);
SetFireWait(player, rightknifeWait);
}

jkPlayPOVKey(player, povfireAnim1[nextAnim], 1, 0x0a);
nextAnim = 1-nextAnim;

Return;

# ........................................................................................

activated:
player = GetSourceRef();
mode = GetSenderRef();

jkSetWaggle(player, '0.0 0.0 0.0', 0);
ActivateWeapon( player, leftWait, 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);
jkSetWaggle(player, '10.0 7.0 0.0', 350);
SetArmedMode(player, 0);
jkSetWeaponMesh(player, weaponMesh);
// Clear saber flags, and allow activation of the weapon
jkClearFlags(player, 0x5);
SetCurWeapon(player, 1);

if(GetInv(player, 15) < 1.0)

{

// Setup the meshes and models.
jkSetPOVModel(player, povModel2);


// Play the animation (NOLOOP + UNIQUE + ENDPAUSE).
// The animation is held at the last frame after it is played.
trackID = jkPlayPOVKey(player, mountAnim2, 0, 20);
SetMountWait(player, mountWait);

}
// Setup the meshes and models.
jkSetPOVModel(player, povModel);

// Play the animation (NOLOOP + UNIQUE + ENDPAUSE).
// The animation is held at the last frame after it is played.
trackID = jkPlayPOVKey(player, mountAnim, 0, 20);
SetMountWait(player, mountWait);


Return;

# ........................................................................................

deselected:
player = GetSourceRef();

// Stop the mount's last frame animation, and play the dismount.
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;



------------------
Is it a squid?
Is it a ferret?
both !
its ruthervain-man

yes!
ruthervain - man! :
with the power to disrupt and ultimately kill any thread that he replies to.
Code:
if(getThingFlags(source) & 0x8){
  do her}
elseif(getThingFlags(source) & 0x4){
  do other babe}
else{
  do a dude}

↑ Up to the top!