I am aware this is everywhere however my question is a little more specific to objects. The issue i have is the code that is being called has assigned objects to it, the only way i could get it to work was to add “static var” to my ‘var’s’, however on my unity client it won’t let me assign the objects to it.
Script 1:
#pragma strict
import UnityEngine.UI;
static var player_hp : float = 0;
static var hp_value_player : String ="";
static var player_damage_red_range : boolean = false;
static var player_damage_blue_range : boolean = false;
static var myText : Text;
function Start ()
{
}
function Update () {
}
static function hp_player()
{
player_damage_red_range = false;
if (myText != null)
{
player_hp = float.Parse(myText.text);
}
}
static function dot_damage()
{
player_hp -= Time.deltaTime * 1;
hp_value_player= player_hp.ToString();
myText.text = player_hp.ToString("f0"); << Error is here (It is trying to modify a text however the unity client won't let me link them)
}
Script 2 (The script that is calling from another)
function OnTriggerStay (trigger_red : Collider)
{
//yield WaitForSeconds (3);
if (player_damage_red_range == true)
{
player_health.dot_damage(); << Line where its calling
}
}
New to calling functions from other scripts.
Any help is appreciated
Thanks
To make it easier to understand here is my 2 scripts
player_hp:
#pragma strict
import UnityEngine.UI;
static var player_hp : float = 0;
static var hp_value_player : String ="";
//static var player_damage_red_range : boolean = false;
//static var player_damage_blue_range : boolean = false;
static var myText : Text;
var Red_trigger : trigger;
function Start ()
{
}
function Update () {
}
static function hp_player()
{
if (myText != null)
{
player_hp = float.Parse(myText.text);
}
}
static function dot_damage()
{
player_hp -= Time.deltaTime * 1;
hp_value_player= player_hp.ToString();
myText.text = player_hp.ToString("f0");
}
trigger:
#pragma strict
import UnityEngine.UI;
var Militia : GameObject;
var hp_red_text : GameObject;
var cube : GameObject;
var trigger_red : GameObject;
var red_hp : int = 100;
var red_range : boolean = false;
var hp_value_red : String ="";
var hp_real_red : TextMesh;
//var player_hp : float = 0;
//var hp_value_player : String ="";
var player_damage_red_range : boolean = false;
//var myText : Text;
var Player_health : player_health;
function Start ()
{
Militia.SetActive(false);
hp_red_text.SetActive(false);
red_range = false;
player_health.hp_player();
player_damage_red_range = false;
}
function Update ()
{
if(Input.GetMouseButtonDown(0))
{
if(red_range == true)
{
red_hp = red_hp - 25;
hp_value_red= red_hp.ToString();
//hp_real = GetComponent<TextMesh>();
hp_real_red.text = hp_value_red;
if (red_hp <=0)
{
Destroy (cube);
Destroy (Militia);
Destroy(hp_red_text);
Destroy(trigger_red);
red_range = false;
}
}
}
}
function OnTriggerEnter (trigger_red : Collider)
{
Militia.SetActive(true);
hp_red_text.SetActive(true);
red_range = true;
player_damage_red_range = true;
}
function OnTriggerExit (trigger_red : Collider)
{
if (red_hp >0)
{
Militia.SetActive(false);
hp_red_text.SetActive(false);
red_range = false;
player_damage_red_range = false;
}
}
function OnTriggerStay (trigger_red : Collider)
{
//yield WaitForSeconds (3);
if (player_damage_red_range == true)
{
player_health.dot_damage();
}
}