hmm, dont think this will be solved like this...
I had some problems too and the string is visible even when the player its not visible, when it is behind other models, not in the view.

Is there a way to solve this without using trace or scan routines?
The code below is in a multiplayer environment

Code:

function paint_DRAW_STRING()
{
while(1)
{
vec_set (temp_vec, vector(my.x,my.y,my.z + 50);
if (null != vec_to_screen(temp_vec, camera))
{
if (my._PLAYER_NUMBER == 1)
{
str_cpy (PDrawText, str_player1Name);
}
if (my._PLAYER_NUMBER == 2)
{
str_cpy (PDrawText, str_player2Name);
}
if (my._PLAYER_NUMBER == 3)
{
str_cpy (PDrawText, str_player3Name);
}
if (my._PLAYER_NUMBER == 4)
{
str_cpy (PDrawText, str_player4Name);
}

//--- doesnt appear on itself
if (my.clipped != on)
{
draw_text(PDrawText,temp_vec.x-20,temp_vec.y,vector(0,0,255));
}
}
wait(1);
}
}