shooting scripts wuth unity

does anyone have a java script they could send me where u click the mouse or u press something to make yur character shoot. plz help and thank u for reading this comment. ;)

Try the 3rd person shooter tutorial.

var Bullet : Transform;

function Update ()
{
    if(Input.GetButtonDown("Fire1"))
    {
    Instantiate(Bullet,transform.position,Quaternion.identity);

    Bullet.rigidbody.AddForce(transform.forward * 1000);
    }    
}

When you press the left mouse button you will shoot. I know this is a old post but i thought that i would post this anyway. :)

ok, you have to change the variable
example:

var whatever you want as a bullet : Transform;

function Update ()
{
if(Input.GetButtonDown(“Fire1”))
{
Instantiate(whatever u want as a bullet,transform.position,Quaternion.identity);

whatever you want as a bullet.rigidbody.AddForce(transform.forward * 1000);
}    

}

all you do is put whatever your bullet name is in the variable, and after Instantiate, and before rigidbody. hope this helps :slight_smile:

-Create a Gameobject.
-Assign this script to it.
-Create a sphere, rename it to Bullet.
-Add component-> rigidbody to the Bullet.
-In the Gameobject´s inspector, drag from the hierarchy´s Bullet to the inspectors transform slot.

Shoot some stuff!

var Bullet : Transform;

function Update ()
{
    if(Input.GetButtonDown("Fire1"))
    {
    Instantiate(Your Bullet,transform.position,Quaternion.identity);

    Your Bullet.rigidbody.AddForce(transform.forward
  • 1000);
    }
    }

I hope this helps.

the same prob th spawns the bullet without force

I have made an advanced script here is it

var range = 100.0;
var fireRate = 0.05;
var force = 10.0;
var damage = 5.0;
var bulletsPerClip = 40;
var clips = 20;
var reloadTime = 0.5;
var hitParticles : ParticleEmitter;
var muzzleFlash : Renderer;
var noClips = false;
var BloodEmitter: GameObject;

private var bulletsLeft : int = 0;
private var nextFireTime = 0.0;
private var m_LastFrameShot = -1;

function Start () {
hitParticles = GetComponentInChildren(ParticleEmitter);

// We don't want to emit particles all the time, only when we hit something.
if (hitParticles)
hitParticles.emit = false;
bulletsLeft = bulletsPerClip;
}

function LateUpdate() {
pickup();
if (muzzleFlash) {
// We shot this frame, enable the muzzle flash
if (m_LastFrameShot == Time.frameCount) {
muzzleFlash.enabled = true;

if (audio) {
if (!audio.isPlaying)
audio.Play();
audio.loop = true;
}
} else {
// We didn't, disable the muzzle flash
muzzleFlash.enabled = false;
enabled = false;

// Play sound
if (audio)
{
audio.loop = false;
}
}
}
}

function Fire () {
if (noClips == false){
if (bulletsLeft == 0)
return;

// If there is more than one bullet between the last and this frame
// Reset the nextFireTime
if (Time.time - fireRate > nextFireTime)
nextFireTime = Time.time - Time.deltaTime;

// Keep firing until we used up the fire time
while( nextFireTime < Time.time && bulletsLeft != 0) {
FireOneShot();
nextFireTime += fireRate;
}
}
}

function FireOneShot () {
var direction = transform.TransformDirection(Vector3.forward);
var hit : RaycastHit;

// Did we hit anything?
if (Physics.Raycast (transform.position, direction, hit, range)) {
// Apply a force to the rigidbody we hit
if (hit.rigidbody)
hit.rigidbody.AddForceAtPosition(force * direction, hit.point);

// Place the particle system for spawing out of place where we hit the surface!
// And spawn a couple of particles
if (hitParticles) {
hitParticles.transform.position = hit.point;
hitParticles.transform.rotation = Quaternion.FromToRotation(Vector3.up, hit.normal);
hitParticles.Emit();
}

// Send a damage message to the hit object	
hit.collider.SendMessageUpwards("ApplyDamage", damage, SendMessageOptions.DontRequireReceiver);
}

bulletsLeft--;

// Register that we shot this frame,
// so that the LateUpdate function enabled the muzzleflash renderer for one frame
m_LastFrameShot = Time.frameCount;
enabled = true;

// Reload gun in reload Time	
if (bulletsLeft == 0)
Reload();	
}

function Reload () {

// Wait for reload time first - then add more bullets!
yield WaitForSeconds(reloadTime);

// We have a clip left reload
clips--;
bulletsLeft = bulletsPerClip;
}

function GetBulletsLeft () {
return bulletsLeft;
}

function Update (){
if (clips == 0){
print("get Ammo");
noClips = true;
}
}

function pickup(){
}