- Home /
Weapon script
Hi, I have 4 weapons child to my weapon camera, I have a pick up script, 1st one below, then the weapon change script, 2nd one below, what I'm trying to do is only allow weapons to appear that the player has picked up by checking GlobalVars.js
I've been trying for hours with mixed results, any help would be appreciated, thanks.
function OnTriggerEnter (other : Collider){
if(other.gameObject.tag == "Player"){
if(transform.tag == "Hand Gun"){
globalVars.GetComponent(GlobalVars).haveHandGun = true;
}else if(transform.tag == "M16"){
globalVars.GetComponent(GlobalVars).haveM16 = true;
}else if(transform.tag == "PPSH41"){ // Set the weapons to true in GlobalVars.js when picked up
globalVars.GetComponent(GlobalVars).havePPSH41 = true;
}else if(transform.tag == "Bazooka"){
globalVars.GetComponent(GlobalVars).haveBazooka = true;
}
}
}
function changeWeapon(){
selectedWeapon++;
if(selectedWeapon == Camera.main.transform.childCount){
selectedWeapon = 0;
}
SelectWeapon (selectedWeapon); // Call the seletedWeapon function()
}
// Select another weapon
function SelectWeapon (index : int){
for (var i=0;i<Camera.main.transform.childCount;i++)
{
if (i == index){
Camera.main.transform.GetChild(i).gameObject.SetActive(true);
// Set the currentWeappon var in GlobalVars to the Weapon being used
globalVars.GetComponent(GlobalVars).currentWeapon = Camera.main.transform.GetChild(i).transform;
}
else
{
Camera.main.transform.GetChild(i).gameObject.SetActive(false);
}
}
}
You never check if you are allowed to choose this weapon, there would be a check before doing anything else in the SelectWeapon function.
I agree, these are the scripts before doing anything with them, I just needed to sleep on it, I've sorted it out now, thanks.
Your answer
Follow this Question
Related Questions
Save what you write in textarea as variable? 1 Answer
One of my scripts can't find the variable from this script 1 Answer
Animation.Play(useVar) 0 Answers
variable doesn't change 1 Answer