- Home /
Decreasing a variable with triggers?
I am using Javascript to make it so that when the player touches the fire in my scene they lose "Armor Points." However, when I step into the Trigger box the number does not change. Again, I am using Javascript and these are they two scripts I am using to try to achieve what I am going for. Any help would be greatly appreciated!
This section is my main cameraScript. It is attached to the Main Camera Controller and is where I declare my static var armor.
static var ammo;
static var enemyhealth;
static var armor;
function Start() {
ammo= 6;
enemyhealth= 9;
}
function OnGUI() {
GUI.skin = customSkin;
GUI.Box(Rect(20,130,130,75),"Armor Points 100");
GUI.Box(Rect(384,50,275,50),"Enemy Health "+ enemyhealth);
GUI.Box(Rect(20,20,185,75),"Health Points 14/14");
GUI.Box(Rect(500,450,190,75),"Ammo Count "+ ammo);
if(enemyhealth>=9){
GUI.DrawTexture(Rect(390,75,25,25), myLogo1);
GUI.DrawTexture(Rect(420,75,25,25), myLogo1);
GUI.DrawTexture(Rect(450,75,25,25), myLogo1);
GUI.DrawTexture(Rect(480,75,25,25), myLogo1);
GUI.DrawTexture(Rect(510,75,25,25), myLogo1);
GUI.DrawTexture(Rect(540,75,25,25), myLogo1);
GUI.DrawTexture(Rect(570,75,25,25), myLogo1);
GUI.DrawTexture(Rect(600,75,25,25), myLogo1);
GUI.DrawTexture(Rect(630,75,25,25), myLogo1); }
if(enemyhealth>=8){ GUI.DrawTexture(Rect(420,75,25,25), myLogo1);
GUI.DrawTexture(Rect(450,75,25,25), myLogo1);
GUI.DrawTexture(Rect(480,75,25,25), myLogo1);
GUI.DrawTexture(Rect(510,75,25,25), myLogo1);
GUI.DrawTexture(Rect(540,75,25,25), myLogo1);
GUI.DrawTexture(Rect(570,75,25,25), myLogo1);
GUI.DrawTexture(Rect(600,75,25,25), myLogo1);
GUI.DrawTexture(Rect(630,75,25,25), myLogo1); }
if(enemyhealth>=7){ GUI.DrawTexture(Rect(450,75,25,25), myLogo1);
GUI.DrawTexture(Rect(480,75,25,25), myLogo1);
GUI.DrawTexture(Rect(510,75,25,25), myLogo1);
GUI.DrawTexture(Rect(540,75,25,25), myLogo1);
GUI.DrawTexture(Rect(570,75,25,25), myLogo1);
GUI.DrawTexture(Rect(600,75,25,25), myLogo1);
GUI.DrawTexture(Rect(630,75,25,25), myLogo1); }
if(enemyhealth>=6){ GUI.DrawTexture(Rect(480,75,25,25), myLogo1);
GUI.DrawTexture(Rect(510,75,25,25), myLogo1);
GUI.DrawTexture(Rect(540,75,25,25), myLogo1);
GUI.DrawTexture(Rect(570,75,25,25), myLogo1);
GUI.DrawTexture(Rect(600,75,25,25), myLogo1);
GUI.DrawTexture(Rect(630,75,25,25), myLogo1); }
if(enemyhealth>=5){ GUI.DrawTexture(Rect(510,75,25,25), myLogo1);
GUI.DrawTexture(Rect(540,75,25,25), myLogo1);
GUI.DrawTexture(Rect(570,75,25,25), myLogo1);
GUI.DrawTexture(Rect(600,75,25,25), myLogo1);
GUI.DrawTexture(Rect(630,75,25,25), myLogo1); }
if(enemyhealth>=4){ GUI.DrawTexture(Rect(540,75,25,25), myLogo1);
GUI.DrawTexture(Rect(570,75,25,25), myLogo1);
GUI.DrawTexture(Rect(600,75,25,25), myLogo1);
GUI.DrawTexture(Rect(630,75,25,25), myLogo1); }
if(enemyhealth>=3){ GUI.DrawTexture(Rect(570,75,25,25), myLogo1);
GUI.DrawTexture(Rect(600,75,25,25), myLogo1);
GUI.DrawTexture(Rect(630,75,25,25), myLogo1); }
if(enemyhealth>=2){ GUI.DrawTexture(Rect(600,75,25,25), myLogo1);
GUI.DrawTexture(Rect(630,75,25,25), myLogo1); }
if(enemyhealth>=1){ GUI.DrawTexture(Rect(630,75,25,25), myLogo1); }
if(enemyhealth<=0){ GUI.Box(Rect(600,200,200,40),"YOU WIN!"); }
if(ammo>=6){
GUI.DrawTexture(Rect(505,490,30,30), myLogo);
GUI.DrawTexture(Rect(535,490,30,30), myLogo);
GUI.DrawTexture(Rect(565,490,30,30), myLogo);
GUI.DrawTexture(Rect(595,490,30,30), myLogo);
GUI.DrawTexture(Rect(625,490,30,30), myLogo);
GUI.DrawTexture(Rect(655,490,30,30), myLogo); }
if(ammo>=5){
GUI.DrawTexture(Rect(535,490,30,30), myLogo);
GUI.DrawTexture(Rect(565,490,30,30), myLogo);
GUI.DrawTexture(Rect(595,490,30,30), myLogo);
GUI.DrawTexture(Rect(625,490,30,30), myLogo);
GUI.DrawTexture(Rect(655,490,30,30), myLogo); }
if(ammo>=4){
GUI.DrawTexture(Rect(565,490,30,30), myLogo);
GUI.DrawTexture(Rect(595,490,30,30), myLogo);
GUI.DrawTexture(Rect(625,490,30,30), myLogo);
GUI.DrawTexture(Rect(655,490,30,30), myLogo); }
if(ammo>=3){
GUI.DrawTexture(Rect(595,490,30,30), myLogo);
GUI.DrawTexture(Rect(625,490,30,30), myLogo);
GUI.DrawTexture(Rect(655,490,30,30), myLogo); }
if(ammo>=2){
GUI.DrawTexture(Rect(625,490,30,30), myLogo);
GUI.DrawTexture(Rect(655,490,30,30), myLogo); }
if(ammo>=1){
GUI.DrawTexture(Rect(655,490,30,30), myLogo); }
if(ammo<=0){
GUI.Box(Rect(500,400,200,40),"RELOAD!"); }
} function Update(){
if( Input.GetKeyDown("r") ){
ammo=6; } if(cameraScript.enemyhealth<=0){
Application.LoadLevel(2); } }
This second script is for the trigger box that currently is not decreasing the number when you step into the trigger box.
static var armor;
function OnTriggerEnter()
{
cameraScript.armor-=1;
}
try unityGE$$anonymous$$S.com for excellent beginner articles
Your answer

Follow this Question
Related Questions
OnTriggerEnter2D working only on original prefab and not on its copies 1 Answer
OnTriggerEnter is not working! I have tried absolutely everything I can think of. 1 Answer
Peculiar multiple-rigidbody-trigger problem. 2 Answers
How to make Parent object's script ignore trigger component on children 1 Answer
Can not get OnTriggerEnter and OnCollisionEnter to work!? 1 Answer