K, Well I made the shotgun fine, and I started the supershotgun, it works great, but with one problem..When it fires it makes a sound like I'm under water 8 times over. Heres the cog
[edit] fixed the code tags.![http://forums.massassi.net/html/wink.gif [http://forums.massassi.net/html/wink.gif]](http://forums.massassi.net/html/wink.gif)
Can anyone help? Nothing turns up on syntax checking
------------------
Ping (peeng) n. The number of milliseconds it takes between the time my conc bullet has blown you to hell and the time you realize it.
[This message has been edited by SaberMaster (edited July 25, 2003).]
Code:
symbols
model povModel=BowV.3do local
model weaponMesh=BowG.3do local
keyframe mountAnim=BowVmnt.key local
keyframe dismountAnim=BowVdis.key local
keyframe povfireAnim=BowVpst1.key local
keyframe holsterAnim=kyhlstr.key local
sound mountSound=df_bry_ready.wav local
sound dismountSound=PutWeaponAway01.wav local
sound chargeSound=BCChargeUp.wav local
sound fireSound1=BCFire01.wav local
sound fireSound2=BCFire02.wav local
sound outSound=trprout.wav local
template projectile=+crossbowbolt local
template projectile2=+crossbowbolt2 local
template projectile3=+crossbowbolt3 local
flex fireWait=0.6 local
flex delayTime local
flex error local
flex autoAimFOV=30 local
flex autoAimMaxDist=10 local
flex powerBoost local
flex holsterWait local
vector fireOffset local
vector adjOffset local
vector shakePos local
vector shakeAngle local
thing player local
int trackID=-1 local
int channel=-1 local
int holsterTrack local
message startup
message activated
message deactivated
message selected
message deselected
message newplayer
message autoselect
message fire
message killed
message timer
end
# ========================================================================================
code
startup:
player = GetLocalPlayerThing();
Return;
# ........................................................................................
activated:
mode = GetSenderRef();
jkSetWaggle(player, '0.0 0.0 0.0', 0);
// Check Ammo - If we are out, autoselect best weapon.
if(GetInv(player, 12) < 2.0)
{
if((GetAutoSwitch() & 1))
SelectWeapon(player, AutoSelectWeapon(player, 1));
else
PlaySoundThing(outSound, player, 1.0, -1, -1, 0x80);
Return;
}
if(mode == 0)
{
ActivateWeapon(player, 0, mode);
if(channel == -1)
{
channel = PlaySoundThing(chargeSound, player, 0.0, -1, -1, 0x181);
if(channel != -1)
{
ChangeSoundPitch(channel, 0.3, 0.01);
Sleep(0.03);
// looks stupid... but if the user taps quickly deactivated:
// gets called during the sleep, and channel becomes invalid !
if(channel != -1)
{
ChangeSoundVol(channel, 1.0, 0.6);
ChangeSoundPitch(channel, 1.0, 1.2);
}
}
}
}
else
{
powerBoost = GetInv(player, 63);
ActivateWeapon( player, fireWait/powerBoost, mode);
}
Return;
# ........................................................................................
fire:
// 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) < 2.0)
{
SelectWeapon(player, AutoSelectWeapon(player, 1));
Return;
}
SetPOVShake('0.0 -.01 0.0', '2.0 0.0 0.0', .05, 80.0);
dummy = FireProjectile(player, projectile3, fireSound, 8, fireOffset, '3.5 3.0 0', 1.0, 0, autoAimFOV, autoAimMaxDist );
dummy = FireProjectile(player, projectile3, -1, 8, fireOffset, '3.0 3.4 0', 1.0, 0, autoAimFOV, autoAimMaxDist );
dummy = FireProjectile(player, projectile3, -1, 8, fireOffset, '2.0 2.5. 0', 1.0, 0, autoAimFOV, autoAimMaxDist );
dummy = FireProjectile(player, projectile3, -1, 8, fireOffset, '2.5 3.1 0', 1.0, 0, autoAimFOV, autoAimMaxDist );
dummy = FireProjectile(player, projectile3, -1, 8, fireOffset, '1.8 3.1 0', 1.0, 0, autoAimFOV, autoAimMaxDist );
dummy = FireProjectile(player, projectile3, -1, 8, fireOffset, '-1.0 3.4 0', 1.0, 0, autoAimFOV, autoAimMaxDist );
dummy = FireProjectile(player, projectile3, -1, 8, fireOffset, '-1.5.0 2.5. 0', 1.0, 0, autoAimFOV, autoAimMaxDist );
dummy = FireProjectile(player, projectile3, -1, 8, fireOffset, '-0.5.5 3.1 0', 1.0, 0, autoAimFOV, autoAimMaxDist );
dummy = FireProjectile(player, projectile3, -1, 8, fireOffset, '-0.0 3.1 0', 1.0, 0, autoAimFOV, autoAimMaxDist );
ChangeInv(player, 12, -2.0);
jkPlayPOVKey(player, povfireAnim, 1, 0x38);
powerBoost = GetInv(player, 63);
ChangeFireRate(player, fireWait/powerBoost);
Return;
# ........................................................................................
deactivated:
mode = GetSenderRef();
jkSetWaggle(player, '10.0 7.0 0.0', 350);
if(mode == 0)
{
delayTime = DeactivateWeapon(player, mode);
if(channel != -1)
{
StopSound(channel, 0);
channel = -1;
}
// Set a delay, even if we don't fire here.
SetMountWait(player, fireWait/powerBoost);
// Make sure both keys are up before continuing.
if (GetCurWeaponMode() != -1) Return;
// make sure we still have ammo
if(GetInv(player, 12) < 2.0) Return;
// Always fire one projectile straight-ahead
SetPOVShake('0.0 -.01 0.0', '2.0 0.0 0.0', .05, 80.0);
FireProjectile(player, projectile, fireSound2, 18, '0.0207 0.0888 0.00', '0 0 0', 0, 0, autoAimFOV, autoAimFOV*2);
ChangeInv(player, 12, -2.0);
if(delayTime > 0.0)
{
if(GetInv(player, 12) > 0.0)
{
dummy = FireProjectile(player, projectile, fireSound, 8, fireOffset, '3.5 3.0 0', 1.0, 0, autoAimFOV, autoAimMaxDist );
dummy = FireProjectile(player, projectile, -1, 8, fireOffset, '3.0 3.4 0', 1.0, 0, autoAimFOV, autoAimMaxDist );
dummy = FireProjectile(player, projectile, -1, 8, fireOffset, '2.0 2.5. 0', 1.0, 0, autoAimFOV, autoAimMaxDist );
dummy = FireProjectile(player, projectile, -1, 8, fireOffset, '2.5 3.1 0', 1.0, 0, autoAimFOV, autoAimMaxDist );
dummy = FireProjectile(player, projectile, -1, 8, fireOffset, '1.8 3.1 0', 1.0, 0, autoAimFOV, autoAimMaxDist );
dummy = FireProjectile(player, projectile, -1, 8, fireOffset, '-1.0 3.4 0', 1.0, 0, autoAimFOV, autoAimMaxDist );
dummy = FireProjectile(player, projectile, -1, 8, fireOffset, '-1.5 2.5. 0', 2.0, 0, autoAimFOV, autoAimMaxDist );
dummy = FireProjectile(player, projectile, -1, 8, fireOffset, '-0.5 3.1 0', 1.0, 0, autoAimFOV, autoAimMaxDist );
dummy = FireProjectile(player, projectile, -1, 8, fireOffset, '-0.0 3.1 0', 1.0, 0, autoAimFOV, autoAimMaxDist );
}
}
if(delayTime > 1.2)
{
if(GetInv(player, 12) > 0.0)
{
dummy = FireProjectile(player, projectile, fireSound, 8, fireOffset, '3.5 3.0 0', 1.0, 0, autoAimFOV, autoAimMaxDist );
dummy = FireProjectile(player, projectile, -1, 8, fireOffset, '3.0 3.4 0', 1.0, 0, autoAimFOV, autoAimMaxDist );
dummy = FireProjectile(player, projectile, -1, 8, fireOffset, '2.0 2.5. 0', 1.0, 0, autoAimFOV, autoAimMaxDist );
dummy = FireProjectile(player, projectile, -1, 8, fireOffset, '2.5 3.1 0', 1.0, 0, autoAimFOV, autoAimMaxDist );
dummy = FireProjectile(player, projectile, -1, 8, fireOffset, '1.8 3.1 0', 1.0, 0, autoAimFOV, autoAimMaxDist );
dummy = FireProjectile(player, projectile, -1, 8, fireOffset, '-1.0 3.4 0', 1.0, 0, autoAimFOV, autoAimMaxDist );
dummy = FireProjectile(player, projectile, -1, 8, fireOffset, '-1.5 2.5. 0', 1.0, 0, autoAimFOV, autoAimMaxDist );
dummy = FireProjectile(player, projectile, -1, 8, fireOffset, '-0.5 3.1 0', 1.0, 0, autoAimFOV, autoAimMaxDist );
dummy = FireProjectile(player, projectile, -1, 8, fireOffset, '-0.0 3.1 0', 1.0, 0, autoAimFOV, autoAimMaxDist );
}
}
// Play animation and set delay.
jkPlayPOVKey(player, povfireAnim, 1, 0x38);
powerBoost = GetInv(player, 63);
}
else
{
DeactivateWeapon(player, mode);
}
Return;
# ........................................................................................
selected:
// Play external animation
PlayMode(player, 41);
// Set up meshes and models.
jkSetPOVModel(player, povModel);
SetArmedMode(player, 1);
jkSetWeaponMesh(player, weaponMesh);
jkSetWaggle(player, '10.0 7.0 0.0', 350);
// Play sound and animation.
PlaySoundThing(mountSound, player, 1.0, -1, -1, 0x80);
trackID = jkPlayPOVKey(player, mountAnim, 0, 20);
SetMountWait(player, GetKeyLen(mountAnim));
// Set flags, etc.
jkClearFlags(player, 0x5);
SetCurWeapon(player, 5);
// Check Ammo - If we are out, autoselect best weapon.
if(GetInv(player, 12) < 2.0)
{
if((GetAutoSwitch() & 1))
SelectWeapon(player, AutoSelectWeapon(player, 1));
}
Return;
# ........................................................................................
deselected:
PlaySoundThing(dismountSound, player, 1.0, -1, -1, 0x80);
jkPlayPOVKey(player, dismountAnim, 0, 18);[edit] fixed the code tags.
![http://forums.massassi.net/html/wink.gif [http://forums.massassi.net/html/wink.gif]](http://forums.massassi.net/html/wink.gif)
Can anyone help? Nothing turns up on syntax checking
------------------
Ping (peeng) n. The number of milliseconds it takes between the time my conc bullet has blown you to hell and the time you realize it.
[This message has been edited by SaberMaster (edited July 25, 2003).]