What I'm trying to do is create an entity with some text above it and then create another with different text and so on and so forth. Everything works accordingly except all the entities show the same text.

For example, I create ent1 and the text says 'Testing1', then I create ent2 and the text says 'Testing2'...however the text above ent1 also says 'Testing2' and obviously I need it to stay as it was.

Any ideas? Here is the quick and dirty example code:
Code:

var EntLoc[3]=-1536,-896,50; //the firstloc of the entity
var StrIndex = 1;

entity* TestEnt;

string Warlock = <warlock.mdl>;

string TestString1 (Testing1);
string TestString2 (Testing2);
string TestString3 (Testing3);
string TestString4 (Testing4);
string TestString5 (Testing5);
string TestString6 (Testing6);
string TestString7 (Testing7);
string TestString8 (Testing8);

TEXT TestStr
{
strings = 8;
string = TestString1,TestString2,TestString3,TestString4,TestString5,TestString6,TestString7,TestString8;
}


function CreateEntTest();
function DrawText();

function DrawText()
{
var TextPos; //where the text should appear
TestEnt = my;
while(1)
{
vec_set(TextPos,vector(my.x,my.y,my.z+55)); //sets the 'text' above the model.Play with the + values
vec_set(temp,TextPos);
vec_to_screen(temp,camera);
if (c_trace(TextPos,camera.x,IGNORE_ME|IGNORE_PASSABLE)==0&&temp!=0)
{
draw_text(TestStr.string[StrIndex],temp.x,temp.y,vector(255,50,50));
}
wait(1);
}
}

function CreateEntTest()
{
ent_create(Warlock,EntLoc,DrawText);
EntLoc.x+=256;
StrIndex +=1;
}

on_a=CreateEntTest();