The way you did it totally suck.
You should create some database (file, vault or sql) and retrieve names from there.
PHP Code:
#include <amxmodx>
#define MAX_PLAYERS 32
new g_name[MAX_PLAYERS + 1][32]
new bool:g_lock_name[MAX_PLAYERS + 1]
public change_player_name(id){
//this function must change player name to g_name[id]
}
public client_infochanged(id){ //called when player changes name
new name[32]
get_user_info(id, "name", name, 31)
if(g_lock_name[id] && !equals(name, g_name[id]))
change_player_name(id)
}
public load_name(id){
new ip[32]
get_user_ip(id, ip, 31)
//now using ip retrieve player name from database
//and store it in g_name[id]
//if name was found in database then
//g_lock_name[id] = true
}
public client_connect(id){
g_lock_name[id] = false
load_name(id)
if(g_lock_name[id])
change_player_name(id)
}
__________________