So currently my snipers are a little weird when it comes to using them aggressively. When they are fired you have to wait for the TimeoutValue to finish before you can unscope. I set these time out values to match up with the gun firing sound because the gun firing sound has the Bolt action as well, and it prevents players from spamming the snipers. But this prevents the snipers from being "aggressive" because you have this stupid time out before you unscope.
I want to get around this time out, i want players to be able to unscope there snipers whenever they feel like it whether its right after they fire, or 5 seconds after they fire, can you help me out?
State Sequence if you need it:
stateName[0] = "Activate";
stateTimeoutValue[0] = 0.15;
stateTransitionOnTimeout[0] = "LoadCheckA";
stateName[1] = "Ready";
stateTransitionOnNoAmmo[1] = "ReloadStart";
stateTransitionOnTimeout[1] = "Ready";
stateTimeoutValue[1] = 0.00;
stateTransitionOnTriggerDown[1] = "Fire";
stateAllowImageChange[1] = true;
stateSequence = "idle";
stateName[2] = "Fire";
stateTransitionOnTimeout[2] = "reloadrooster";
stateTransitionOnTriggerUp[2] = "reloadrooster";
stateWaitForTimeout[2] = false;
stateTimeoutValue[2] = 0.50;
stateFire[2] = true;
stateAllowImageChange[2] = false;
stateScript[2] = "onFire";
stateSequence[2] = "Fire";
stateEmitter[2] = testmuzzleFireEmitter;
stateEmitterTime[2] = 0.01;
stateEmitterNode[2] = "muzzleNode";
stateSound[2] = GOLFire;
stateName[3] = "reloadrooster";
stateTimeoutValue[3] = 0.7;
stateAllowImageChange[3] = false;
stateEmitter[3] = gunSmokeEmitter;
stateEmitterTime[3] = 0.04;
stateEmitterNode[3] = "muzzleNode";
stateSequence[3] = "Reload";
stateTransitionOnTimeout[3] = "Wait";
stateName[4] = "Wait";
stateEjectShell[2] = true;
stateTimeoutValue[4] = 0.001;
stateScript[4] = "onBounce";
stateTransitionOnTimeout[4] = "LoadCheckA";
//Torque switches states instantly if there is an ammo/noammo state, regardless of stateWaitForTimeout
stateName[5] = "LoadCheckA";
stateScript[5] = "onLoadCheck";
stateTimeoutValue[5] = 0.00;
stateTransitionOnTimeout[5] = "LoadCheckB";
stateName[6] = "LoadCheckB";
stateTransitionOnAmmo[6] = "Ready";
stateTransitionOnNoAmmo[6] = "ReloadWait";
stateName[7] = "ReloadWait";
stateTimeoutValue[7] = 0.0;
stateScript[7] = "";
stateTransitionOnTimeout[7] = "ReloadStart";
stateWaitForTimeout[7] = true;
stateName[8] = "ReloadStart";
stateTimeoutValue[8] = 2.0;
stateScript[8] = "onReloadStart";
stateTransitionOnTimeout[8] = "Reloaded";
stateWaitForTimeout[8] = true;
stateName[9] = "Reloaded";
stateTimeoutValue[9] = 0.3;
stateScript[9] = "onReloaded";
stateTransitionOnTimeout[9] = "Ready";
};