HLMOD.HU Forrás Megtekintés - www.hlmod.hu
  1. #include <amxmodx>
  2. #include <geoip>
  3.  
  4. #define MAX_COUNTRYS 15
  5.  
  6. new g_Mode
  7. new g_CC[MAX_COUNTRYS+1][4]
  8. new g_Countries
  9. new CountyList[128]
  10.  
  11. public plugin_init()
  12. {
  13. register_plugin("Csak Magyar","0.1","PHP")
  14. register_cvar("sv_country_name","HUN")
  15. register_cvar("sv_country","1")
  16. }
  17.  
  18. public plugin_cfg()
  19. {
  20. g_Mode = get_cvar_num("sv_country")
  21.  
  22. new CvarInfo[MAX_COUNTRYS*3+MAX_COUNTRYS+2]
  23. get_cvar_string("sv_country_name",CvarInfo,MAX_COUNTRYS*3+MAX_COUNTRYS+2)
  24.  
  25. g_Countries = ExplodeString( g_CC, MAX_COUNTRYS, 3, CvarInfo, ',' )
  26.  
  27. for(new i=0;i<=g_Countries;i++)
  28. format(CountyList,127,"%s %s",CountyList,g_CC[i])
  29. }
  30. stock ExplodeString( p_szOutput[][], p_nMax, p_nSize, p_szInput[], p_szDelimiter )
  31. {
  32. new nIdx = 0, l = strlen(p_szInput)
  33. new nLen = (1 + copyc( p_szOutput[nIdx], p_nSize, p_szInput, p_szDelimiter ))
  34. while( (nLen < l) && (++nIdx < p_nMax) )
  35. nLen += (1 + copyc( p_szOutput[nIdx], p_nSize, p_szInput[nLen], p_szDelimiter ))
  36. return nIdx
  37. }
  38. stock IsConInArray(Con[4])
  39. {
  40. for(new i=0;i<=g_Countries;i++)
  41. {
  42. if(equal(Con,g_CC[i]))
  43. return 1
  44. }
  45. return 0
  46. }
  47. stock IsLocalIp(IP[32])
  48. {
  49. new tIP[32]
  50.  
  51. copy(tIP,3,IP)
  52. if(equal(tIP,"10.") || equal(tIP,"127"))
  53. return 1
  54. copy(tIP,7,IP)
  55. if(equal(tIP,"192.168"))
  56. return 1
  57.  
  58. return 0
  59. }
  60. public client_connect(id)
  61. {
  62. new userip[32]
  63. new CC[4]
  64. get_user_ip(id,userip,31,1)
  65.  
  66. geoip_code3(userip,CC)
  67. if(strlen(userip) == 0)
  68. {
  69. get_user_ip(id,userip,31,1)
  70. if(!IsLocalIp(userip))
  71. log_amx("%s hiba a geoip-ben",userip)
  72. return PLUGIN_HANDLED
  73. }
  74.  
  75. if(g_Mode == 1 && !IsConInArray(CC))
  76. {
  77. server_cmd("kick #%d Only ppl from %s are allowed",get_user_userid(id),CountyList)
  78.  
  79. new Name[32]
  80. get_user_name(id,Name,31)
  81. client_print(0,print_chat,"%s kirugva mert nem magyar!",Name)
  82. }
  83. else if(g_Mode == 2 && IsConInArray(CC))
  84. {
  85. server_cmd("kick #%d No %s are allowed on this server",get_user_userid(id),CC)
  86.  
  87. new Name[32]
  88. get_user_name(id,Name,31)
  89. client_print(0,print_chat,"%s Kirugva mert nem magyar",Name)
  90. }
  91. return PLUGIN_HANDLED
  92. }
  93. /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
  94. *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1038\\ f0\\ fs16 \n\\ par }
  95. */
  96.