Author Topic: How do I add "reload times" to guns?  (Read 661 times)

I was wondering how to add reload times to guns. For example, I would fire 20 bullets from a gun, then have to wait 3 seconds before firing again. And if i did this, could I add a reloading sound during the 3 seconds?

This belongs in mod disscussion.

No, it doesn't. He's asking for help with code, so it belongs here.

This is my Desert Eagle script. After you fire the 8th time, it reloads. Its time consuming for me to make this one let alone 20.

Code: [Select]
   // Initial start up state
stateName[0]                     = "Activate";
stateTimeoutValue[0]             = 1;
stateTransitionOnTimeout[0]       = "Ready";
stateSound[0] = startSound;
//----------------------fire1-------------------------------------------------------
stateName[1]                     = "Ready";
stateTransitionOnTriggerDown[1]  = "Fire";
stateSequence[1]                = "ready";

stateAllowImageChange[1]         = true;


stateName[2]                    = "Fire";

stateTransitionOnTriggerUp[2]     = "Ready2";
stateTimeoutValue[2]            = 0.06;
stateEmitter[2] = playerJetGroundEmitter;
stateEmitterTime[2] = 0.05;

stateEmitterNode[2] = "muzzleNode";
stateFire[2]                    = true;
stateAllowImageChange[2]        = false;
stateSequence[2] = "fire";
stateSound[2] = DesertEagleShot1Sound;
      stateScript[2]                  = "onFire";
stateWaitForTimeout[2] = true;
      stateEjectShell[2]       = true;
//----------------------fire2-------------------------------------------------------
stateName[3]                     = "Ready2";
stateTransitionOnTriggerDown[3]  = "Fire2";

stateAllowImageChange[3]         = true;


stateName[4]                    = "Fire2";

stateTransitionOnTriggerUp[4]     = "Ready3";
stateTimeoutValue[4]            = 0.06;
stateFire[4]                    = true;
stateEmitter[4] = playerJetGroundEmitter;
stateEmitterTime[4] = 0.05;

stateEmitterNode[4] = "muzzleNode";
stateAllowImageChange[4]        = false;
stateSound[4] = DesertEagleShot1Sound;
      stateScript[4]                  = "onFire";
stateWaitForTimeout[4] = true;
stateSequence[4] = "fire";
      stateEjectShell[4]       = true;
//----------------------fire3-------------------------------------------------------
stateName[5]                     = "Ready3";
stateTransitionOnTriggerDown[5]  = "Fire3";

stateAllowImageChange[5]         = true;


stateName[6]                    = "Fire3";

stateTransitionOnTriggerUp[6]     = "Ready4";
stateTimeoutValue[6]            = 0.06;
stateFire[6]                    = true;
stateEmitter[6] = playerJetGroundEmitter;
stateEmitterTime[6] = 0.05;

stateEmitterNode[6] = "muzzleNode";
stateAllowImageChange[6]        = false;
      stateScript[6]                  = "onFire";
stateSound[6] = DesertEagleShot1Sound;
stateWaitForTimeout[6] = true;
stateSequence[6] = "fire";
      stateEjectShell[6]       = true;
//----------------------fire4-------------------------------------------------------
stateName[7]                     = "Ready4";
stateTransitionOnTriggerDown[7]  = "Fire4";

stateAllowImageChange[7]         = true;


stateName[8]                    = "Fire4";

stateTransitionOnTriggerUp[8]     = "Ready5";
stateTimeoutValue[8]            = 0.06;
stateFire[8]                    = true;
stateEmitter[8] = playerJetGroundEmitter;
stateEmitterTime[8] = 0.05;

stateEmitterNode[8] = "muzzleNode";
stateAllowImageChange[8]        = false;
      stateScript[8]                  = "onFire";
stateSound[8] = DesertEagleShot1Sound;
stateWaitForTimeout[8] = true;
stateSequence[8] = "fire";
      stateEjectShell[8]       = true;
//----------------------fire5-------------------------------------------------------
stateName[9]                     = "Ready5";
stateTransitionOnTriggerDown[9]  = "Fire5";

stateAllowImageChange[9]         = true;


stateName[10]                    = "Fire5";

stateTransitionOnTriggerUp[10]     = "Ready6";
stateTimeoutValue[10]            = 0.06;
stateEmitter[10] = playerJetGroundEmitter;
stateEmitterTime[10] = 0.05;
stateSequence[10] = "fire";
stateEmitterNode[10] = "muzzleNode";
stateFire[10]                    = true;
stateAllowImageChange[10]        = false;
      stateScript[10]                  = "onFire";
stateSound[10] = DesertEagleShot1Sound;
stateWaitForTimeout[10] = true;
      stateEjectShell[10]       = true;
//----------------------fire6-------------------------------------------------------
stateName[11]                     = "Ready6";
stateTransitionOnTriggerDown[11]  = "Fire6";

stateAllowImageChange[11]         = true;


stateName[12]                    = "Fire6";

stateTransitionOnTriggerUp[12]     = "Ready7";
stateTimeoutValue[12]            = 0.06;
stateEmitter[12] = playerJetGroundEmitter;
stateEmitterTime[12] = 0.05;
stateSequence[12] = "fire";
stateEmitterNode[12] = "muzzleNode";
stateFire[12]                    = true;
stateAllowImageChange[12]        = false;
      stateScript[12]                  = "onFire";
stateSound[12] = DesertEagleShot1Sound;
stateWaitForTimeout[12] = true;
      stateEjectShell[12]       = true;
//----------------------fire7-------------------------------------------------------
stateName[13]                     = "Ready7";
stateTransitionOnTriggerDown[13]  = "Fire7";

stateAllowImageChange[13]         = true;


stateName[14]                    = "Fire7";

stateTransitionOnTriggerUp[14]     = "Ready8";
stateTimeoutValue[14]            = 0.06;
stateFire[14]                    = true;
stateEmitter[14] = DesertEagleFlashEmitter;
stateEmitterTime[14] = 0.05;
stateSequence[14] = "fire";
stateEmitterNode[14] = "muzzleNode";
stateAllowImageChange[14]        = false;
      stateScript[14]                  = "onFire";
stateSound[14] = DesertEagleShot1Sound;
stateWaitForTimeout[14] = true;
      stateEjectShell[14]       = true;
//----------------------fire8-------------------------------------------------------
stateName[15]                     = "Ready8";
stateTransitionOnTriggerDown[15]  = "Fire8";


stateAllowImageChange[15]         = true;


stateName[16]                    = "Fire8";

stateTransitionOnTriggerUp[16]     = "pause";//---------reload
stateTimeoutValue[16]            = 0.06;
stateFire[16]                    = true;
stateSound[16] = DesertEagleShot1Sound;
stateSequence[16] = "fire";
stateAllowImageChange[16]        = false;
      stateScript[16]                  = "onFire";
stateWaitForTimeout[16] = true;
stateEmitter[16] = playerJetGroundEmitter;
stateEmitterTime[16] = 0.05;

stateEmitterNode[16] = "muzzleNode";
      stateEjectShell[16]       = true;


stateName[17] = "pause";

stateTimeoutValue[17]            = 0.2;
stateTransitionOnTimeout[17]     = "Reload";


stateName[18]                    = "reload";

stateTransitionOnTimeout[18]       = "Ready";
stateTimeoutValue[18]            = 1;

stateAllowImageChange[18]        = false;//exec("add-ons/weapon_deserteagle.cs");
stateSound[18] = gunreloadSound;
stateEmitter[18] = DesertEagleSmokeEmitter;
stateEmitterTime[18] = 0.2;

stateEmitterNode[18] = "muzzleNode";
stateWaitForTimeout[18] = true;








};
« Last Edit: July 08, 2008, 02:04:12 PM by Peaceful War »

No, it doesn't. He's asking for help with code, so it belongs here.

I'll have you know I posted before the topic was moved.

Weapons with reloads are nice and all but it's not worth all the effort if it has a large clip. But they work great with ammo systems.