Calling functions from other scripts with objects

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();
    }
}