I didn't really look at it, but just a note:
Code:
if(task_exists(iClient))
remove_task(iClient);
Don't check if the tasks exists just remove it.
-----
Also you don't really need to:
Code:
static newangle[3]
get_user_origin( iClient, newangle )
gSpawnPosition[iClient][0] = newangle[0];
gSpawnPosition[iClient][1] = newangle[1];
gSpawnPosition[iClient][2] = newangle[2];
Just do:
Code:
get_user_origin( iClient, gSpawnPosition[iClient])