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 → making my own scimitar cog
making my own scimitar cog
2001-10-23, 12:16 PM #1
fusing elements of conc rifle, strifle and saber, well amazingly enough it didnea work.
Before I added the create saber bit it was fine:


its a long one, please help [http://forums.massassi.net/html/smile.gif]

model povModel=scmv.3do local
model weaponMesh=scmg.3do local

keyframe mountAnim=scmvmnt.key local
keyframe dismountAnim=scmvdis.key local
keyframe povfireAnim=scmvhit1.key local
keyframe povfireAnim2=scmvhit2.key local
keyframe holsterAnim=kyhlstr.key local
keyframe sideslash=kysabrr1.key local
keyframe dblslash=simhit.key local


sound mountSound=scimitar.wav local
sound dismountSound=PutWeaponAway01.wav local
sound fireSound=SwingFist01.wav local
sound outSound=.wav local

template projectile=+punch local
template projectile2=+punch local

flex damage local
flex bladeLen local
flex holsterWait local

thing player local
thing antagonist local

vector ppos local
vector apos local
vector diff local
vector thrust local

flex damage local
flex type local
flex dot local

thing player local

vector randVec local

flex fireWait=0.8 local
flex holsterWait local
flex powerBoost local
flex autoAimFOV=25 local
flex autoAimMaxDist=5 local

int dummy local
int trackID=-1 local
int fireChannel=-1 local
int holsterTrack local
int mode local

message activated
message deactivated
message selected
message deselected
message autoselect
message fire
message timer
message pulse
message killed

end

# ========================================================================================

code

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

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

// Check Ammo - If we are out, autoselect best weapon.
if(GetInv(player, 12) < 40.0)
{
PlaySoundThing(outSound, player, 1.0, -1, -1, 0x80);
if(GetAutoSwitch() & 1)
SelectWeapon(player, AutoSelectWeapon(player, 1));
Return;
}


SetPOVShake('0.0 -.03 0.0', '4.0 0.0 0.0', .05, 80.0);
if(mode == 0)
{
jkEnableSaber( player, 160, 0.3, 1.2 );
shakePos = VectorScale(RandVec(),.001);
shakeAngle = VectorScale(RandVec(),.5);

jkPlayPOVKey(player, povfireAnim2, 1, 0x38);
PlayKey(player, dblslash, 1, 0x38);
ChangeInv(player, 11, -30.0);

ChangeFireRate(player, fireWait/powerBoost);
}
else
{
jkEnableSaber( player, 40, 0.15, 0.25 );
shakePos = VectorScale(RandVec(),.001);
shakeAngle = VectorScale(RandVec(),.5);

jkPlayPOVKey(player, povfireAnim, 1, 0x38);
PlayKey(player, sideslash, 1, 0x38);

ChangeInv(player, 11, -15.0);
}


// Provide a kick backwards
ApplyForce(player, VectorScale(GetThingLVec(player), 0));

powerBoost = GetInv(player, 63);
ChangeFireRate(player, fireWait2/powerBoost);

Return;


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

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

jkSetWaggle(player, '0.0 0.0 0.0', 0);
powerBoost = GetInv(player, 63);
ActivateWeapon(player, fireWait/powerBoost, mode);
Return;

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

deactivated:
player = GetSourceRef();
jkSetWaggle(player, '10.0 7.0 0.0', 350);
DeactivateWeapon(player, mode);
Return;

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

selected:
player = GetSourceRef();

PlayMode(player, 42);
PlaySoundThing(mountSound, player, 1.0, -1, -1, 0x80);
jkSetPOVModel(player, povModel);
SetArmedMode(player, 1);
jkSetWeaponMesh(player, weaponMesh);
jkSetWaggle(player, '10.0 7.0 0.0', 350);
trackID = jkPlayPOVKey(player, mountAnim, 0, 20);
SetMountWait(player, GetKeyLen(mountAnim));
jkClearFlags(player, 0x5);
SetCurWeapon(player, 3);
SetPulse(0.05);
SetActorFlags(player, 0x2000);
jkDisableSaber(player);


Return;

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

deselected:
player = GetSourceRef();

PlaySoundThing(dismountSound, player, 1.0, -1, -1, 0x80);
jkPlayPOVKey(player, dismountAnim, 0, 0x18);
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);
SetPulse(0);
ClearActorFlags(player, 0x2000);
jkDisableSaber(player);


Return;

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

autoselect:
player = GetSourceRef();

// If the player has the weapon
if(GetInv(player, 3) != 0.0)
{
// If the player has ammo
if(GetInv(player, 11) != 0.0)
{
ReturnEx(600.0);
}
else
{
ReturnEx(-1.0);
}
}
else
{
ReturnEx(-1.0);
}

Return;

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

timer:
StopKey(player, holsterTrack, 0.0);
Return;
# ........................................................................................

pulse:
ChangeInv(player, 11, 20.0);
Return;

#...........................................................................................
killed:
SetPulse(0);
Return;


end



------------------

We are the oldest of the clans, far older than the fools of the Camarilla...

Anna Ismy Hashshan Ibn Khayyin, Anna Assamite
Code:
if(getThingFlags(source) & 0x8){
  do her}
elseif(getThingFlags(source) & 0x4){
  do other babe}
else{
  do a dude}

↑ Up to the top!