- Home /
pick up ammo from specific gun?
Hello! Does anyone know how to do to collect ammunition for a specific weapon? (a box of ammunition that fills the bullets of an assigned weapon). Thank you!
gun script:
var speed = 10;//speed of bullet
var ammo:Rigidbody;//ammo
var currentBullets = 0;//This is the amount RIGHT NOW that the gun has. (should be 0 by default.)
var totalBullets = 30; //TOTAL amount the gun will have
var readynow : boolean = true;
var reloadammo : int = 30;
function Update ()
{
if(totalBullets >0) /////////// I addad
{
if(Input.GetButtonDown("Fire1"))
{
if (currentBullets > 0) //only shoot if you have ammo.
{
readynow = false;//can't shoot
var ammoClone : Rigidbody = Instantiate(ammo, transform.position, transform.rotation);
ammoClone.velocity = transform.forward * speed;
yield WaitForSeconds(.1);// pause between shots
readynow = true;//can shoot
totalBullets--; /////////// I addad
currentBullets--; //subtract one
}
else //if you have less than 1 bullet
{
//perform reload animation
}
}
} /////////// I addad
}
function LateUpdate ()
{
if(readynow)
{
Update();
if(Input.GetKeyDown(KeyCode.R)){
currentBullets = (reloadammo);
readynow = true;
}
}
}
Answer by sujitmarcus · Dec 04, 2018 at 08:36 AM
You can use OnCollusionEnter and check for Tags for validating which ammo is for which guns and equip it. Void OnCollusionEnter(Collusion other){
if (Other.gameobject.tag == "Ak-47")
//Pick Up
}
@sujitmarcus Next time, check for typos, because he might not understand it properly and your code will not work either if he copies it. There were 5 typos and 1 mistake in your code, edit it, so he can accept your answer.
void OnCollisionEnter(Collision other){
if (other.gameObject.tag == "Ak-47") {
//Pick Up
}
}
Your answer
Follow this Question
Related Questions
how do i attach a gun to my character 2 Answers
Gun script not working 3 Answers
Fps Gun Scrpt :) 1 Answer
how to access a specific instance of a script 1 Answer
Ammo Counting, 1 Answer