Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #pragma strict
- var Range : float = 1000;
- var Force : float = 1000;
- static var Clips : int = 20;
- var BulletPerClip : int = 32;
- var ReloadTime : float = 3.3;
- var Damage : int = 100;
- var BulletsLeft : int = 0;
- var ShootTimer : float = 0;
- var ShootCooler : float = 0.9;
- public var ShootAudio : AudioClip;
- public var ReloadAudio : AudioClip;
- function Update () {
- if(ShootTimer > 0) {
- ShootTimer -= Time.deltaTime;
- }
- if(ShootTimer < 0) {
- ShootTimer = 0;
- }
- if(Input.GetMouseButtonDown(0) && BulletsLeft) {
- if(ShootTimer == 0) {
- PlayShootAudio();
- RayShoot();
- ShootTimer = ShootCooler;
- }
- }
- }
- function Start() {
- BulletsLeft = BulletPerClip;
- }
- function RayShoot () {
- //GameObject.Find("Animation Name").animation.Play("Shoot"); Needs an animation to shoot
- var Hit : RaycastHit;
- var DirectionRay = transform.TransformDirection(Vector3.forward);
- Debug.DrawRay(transform.position, DirectionRay * Range, Color.blue);
- if(Physics.Raycast(transform.position, DirectionRay, Hit, Range)) {
- if(Hit.rigidbody) {
- Hit.rigidbody.AddForceAtPosition(DirectionRay * Force, Hit.point);
- Hit.collider.SendMessageUpwards("ApplyDamage" , Damage ,SendMessageOptions.DontRequireReceiver);
- }
- }
- BulletsLeft --;
- if(BulletsLeft < 0) {
- BulletsLeft = 0;
- }
- if(BulletsLeft == 0) {
- Reload();
- }
- }
- function Reload () {
- PlayReloadAudio();
- //GameObject.Find("Animation Name").animation.Play("Reload"); Needs an animation to Reload
- yield WaitForSeconds(ReloadTime);
- if(Clips > 0) {
- BulletsLeft = BulletPerClip;
- Clips -= 1;
- }
- }
- function PlayShootAudio () {
- audio.PlayOneShot( ShootAudio);
- }
- function PlayReloadAudio () {
- audio.PlayOneShot( ReloadAudio);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement