- Home /
Get a gun off a wall
I have a gun on a wall with the following script, I was wonder if I can have it so you have to walk up to the gun on the wall to get it, right now if you press "2" at anytime in the game you change to the gun.
My script
private var message = false; private var gunTaken = false; //A variable for if you have taken the gun
function OnTriggerEnter(other : Collider){ message = true; }
function OnTriggerExit(other : Collider){ //if we exit the collider we cant pick it up message = false; }
function OnGUI () { if (message && !gunTaken){ //if you haven't taken the gun GUI.Box (Rect (600, 350, 250, 40), "Press 2 to take this gun"); if (Input.GetKeyDown("2")) { //if you take the gun it is taken gunTaken = true; } } }
Answer by Chronos-L · Mar 20, 2013 at 12:59 AM
2 scripts:
GunHolder.js
//Attach to a empty, create a working collider for the empty //Parent the gun to the empty and set it as the currentGun of the empty //Tag it as "WeaponHolder" var gun : GameObject;
SwapGun.js
//Attach it to a empty, create a working trigger, parent it to your player private var touchedWeaponHolder : GunHolder; var currentGun : GameObject;
function OnTriggerEnter( other : Collider ) {
if( other.gameObject.CompareTag("WeaponHolder") ) {
touchedWeaponHolder = other.gameObject.GetComponent("GunHolder");
}
}
function OnTriggerExit( other : Collider ) {
if( other.gameObject.CompareTag("WeaponHolder") ) {
touchedWeaponHolder = null;
}
}
function OnGUI() {
//Change display depends on touchedWeaponHolder
}
function Update {
if( Input.GetKeyDown(KeyCode.2) && touchedWeaponHolder ) {
//(Incomplete Code) You can do 2 different things here:
// - Grab new gun, and keep your old gun in the inventory
Keep(currentGun);
currentGun = gunHolder.gun ;
Destroy( gunHolder.gameObject );
// - Swap new gun with old gun
GameObject temp = currentGun;
currentGun = gunHolder.gun ;
gunHolder.gun = temp;
//You can put the change-gun codes here or in the GunHolder.js, up to you
}
}
Your answer
Follow this Question
Related Questions
Multiple Cars not working 1 Answer
Dart/Bullet comes out pointing up 1 Answer
I need help with Javascript 2 Answers
My gun wont fire ! 1 Answer
Reload help 1 Answer