new NAME[] = "Land" 
new AUTHOR[] =    "Eisbein" 
new VERSION[] =    "1.3" 
 
/*
* AMX Mod X - Version 1.0 SCRIPT
*
* show land 1.3
* see full Countryname in Spectmode!!
* Now with Country-code3 in Playerame!!! (org. St4life)
* Example: Eisbein[DEU] 
* 
* by Eisbein >>peter@rd-4u.de
* You can use /country or /land for your own Country
* 
* mfG PAPA_SCHLUMPF
*/
 
 
#include <amxmodx>
#include <geoip>
 
 
new playerip[17], getcountry[46], country[33][46], code[4], bcode[3], land[4], nname[33], lang[33], geoip_check[3] 
 
 
public plugin_init()
{
  register_plugin(NAME,VERSION,AUTHOR)
  register_event("StatusValue","show_country","bd","1=2")
  register_event("StatusValue","auto_country","bd","1=2")
  register_clcmd("say /country","show_owncountry")
  register_clcmd("say /land","show_owncountry")
  register_cvar("amx_showcountry","1")
  register_cvar("amx_autocountry","1")
} 
 
public client_connect(id)
{
  if (!(get_cvar_num("amx_showcountry") ||("amx_autocountry")))
  {
    return PLUGIN_CONTINUE
  }
 
  get_user_ip(id, playerip, 16, 1)
 
  geoip_country(playerip,getcountry)
  country[id] = getcountry
 
  return PLUGIN_CONTINUE
}
 
public show_country(id)
{ 
  if (!(get_cvar_num("amx_showcountry")))
  {
    return PLUGIN_CONTINUE
  }
 
  new target = read_data(2)
 
  if (target != id && target != 0)
  {
    set_hudmessage(0, 255, 255, -1.0, 0.35, 0, 6.0, 6.0, 0.5, 0.15, 27) 
    show_hudmessage(id,"%s",country[target])
  }
 
  return PLUGIN_CONTINUE
} 
 
public show_owncountry(id)
{
  client_print(id,print_chat,"%s",country[id])
  return PLUGIN_HANDLED
}
 
public client_infochanged(id)
{ 
   if (is_user_connected(id)){ 
      new newname[33] 
      get_user_info(id,"name",newname,32) 
      check_name(id,newname) 
   } 
   return PLUGIN_CONTINUE 
} 
public check_name(id,username[])
{ 
   get_user_ip(id, playerip, 16, 1) 
   if(geoip_code3(playerip,code)){ 
      format(land,4,"[%s]",code) 
      if (contain(username,land) == -1){
         geoip_code3(playerip,code) 
         format(nname,32,"%s[%s]",username,code) // use this for: eisbein[DEU]
//         format(nname,32,"[%s]%s",code,username) // use this for: [DEU]eisbein
         set_user_info(id,"name",nname) 
      } 
   } 
   return PLUGIN_CONTINUE 
}
public auto_country(id)
{ 
    get_user_info(id, "lang", geoip_check, 2) 
    lang[id] = str_to_num(geoip_check) 
 
    get_user_ip(id, playerip, 16, 1) 
    if(equal(geoip_check, "") && geoip_code2(playerip, bcode)) 
    { 
        if(equal(code, "US") || equal(code, "GB")) client_cmd(id, "setinfo lang en") 
        else if(equal(bcode, "FR")) client_cmd(id, "setinfo lang fr") 
        else if(equal(bcode, "DE")) client_cmd(id, "setinfo lang de") 
        else if(equal(bcode, "TR")) client_cmd(id, "setinfo lang tr") 
        else if(equal(bcode, "SE")) client_cmd(id, "setinfo lang sv") 
        else if(equal(bcode, "DK")) client_cmd(id, "setinfo lang da") 
        else if(equal(bcode, "PL")) client_cmd(id, "setinfo lang pl") 
        else if(equal(bcode, "NL")) client_cmd(id, "setinfo lang nl") 
    } 
    return PLUGIN_CONTINUE 
 
}