There are three ways to do the distance problem, and they all require the name of the monster's entity. Like Romulator said, the "name" is just the value of the monster entity that is inside the "Name" box in the Level Editor. If, for example, that box looks like this:
Then the name you would use in your script would be
"super_scary_monster".
Now the first approach is what you are currently doing - use Player_GetDistanceToEntity:
float distance = Player_GetDistanceToEntity("super_scary_monster");
The second is getting the positions of both the player and the entity and doing some vector math:
cVector3f pPos = Player_GetPosition();
cVector3f ePos = Map_GetEntity("super_scary_monster").GetPosition();
float distance = (ePos - pPos).Length();
And the third is doing all the math yourself:
cVector3f pPos = Player_GetPosition();
cVector3f ePos = Map_GetEntity("super_scary_monster").GetPosition();
float distance = cMath_Sqrt((pPos.x - ePos.x) * (pPos.x - ePos.x)
+ (pPos.y - ePos.y) * (pPos.y - ePos.y)
+ (pPos.z - ePos.z) * (pPos.z - ePos.z));
The second one is basically what the first one does anyway, and the third one, though somewhat cool (depending on your point of view), is quite verbose, so yeah, you should go ahead and stick to the first one.