- Home /
Adding to vars and deleteing a gameobject
I am making a game where the player has to pick up chemicals and craft them. How would I make a script that would, on collision, delete the gameobject, and add to a global var?
This is what I have (includes the crafting script)
on the player
static var onumber : int = 10;
static var hnumber : int = 10;
var water : int = 10;
var HP : int = 10; //HP stands for Hydrogen Peroxide
function Update(){
if(Input.GetKeyDown(KeyCode.Z)){
if(onumber > 0){
if(hnumber > 1){
onumber -= 1;
hnumber -= 2;
water += 1;
}
}
}
if(Input.GetKeyDown(KeyCode.X)){
if(onumber > 1){
if(hnumber > 1){
onumber -= 2;
hnumber -= 2;
HP += 1;
}
}
}
if(Input.GetKeyDown(KeyCode.I)){
onumber += 1;
}
if(Input.GetKeyDown(KeyCode.O)){
hnumber += 1;
}
}
and on the chemical (dropped)
static var onumber;
function OnCollisionEnter(collision : Collision) {
if(collision.gameObject.tag == "Player"){
onumber += 1;
Destroy(collision.gameObject);
}
}
what did I do wrong?
-Thanks, this is REALLY urgent!!!! I need this done by tomorrow!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Answer by kittenkong · Mar 17, 2013 at 01:52 AM
The easiest way to create a global var is to create a script and add it to an object somewhere, call it GameMaster or something like that and GIVE IT ITS OWN TAG. Put all your global variables in that script, then when you access it it will be persistent across the level.
To access it from any other script you can use
gameMaster = GameObject.FindGameObjectsWithTag("GameMaster"); //link to the game master
gameMaster.GetComponent(GameMasterScript).onumber += 1; //alter the global variable
Thats what I do anyway.
Answer by D3Jason1 · Mar 17, 2013 at 01:51 AM
you need to send a message to the script counting the onumber, including the onumber. use the find function to get the object with the script, then sendmessage with filler like ("collision, onumber). then in the main script, have a function collision (integer){ onumber += integer; } use script reference to get the find and sendmessage commands.
Your answer

Follow this Question
Related Questions
How do I delete an object on collision with another object? 1 Answer
Adding varibales from other scripts 3 Answers
Problem with health and level reload system 2 Answers
Accesing variable previously declared? 2 Answers
Custom Collision Detection 4 Answers