HLMOD.HU Forrás Megtekintés - www.hlmod.hu
  1. // indy_geoip.sma
  2. // Written by Indiana
  3.  
  4. // Fordította: BBk - Death of Legend
  5.  
  6. #include <amxmodx>
  7. #include <amxmisc>
  8. #include <geoip>
  9.  
  10. public plugin_init() {
  11. register_plugin("Show GeoIP", "0.2", "Indiana")
  12. register_clcmd("amx_whogeo","cmdWhoGeoIP",ADMIN_LEVEL_D,"- megjeleniti a jatekosok orszagait")
  13. register_clcmd("amx_whostats","cmdWhoStats",ADMIN_LEVEL_D,"- megjeleniti az orszagok statisztikajat")
  14. register_dictionary("adminslots.txt")
  15. return PLUGIN_CONTINUE
  16. }
  17.  
  18. public cmdWhoStats(id,level,cid) {
  19. if (!cmd_access(id, level, cid, 1))
  20. return PLUGIN_HANDLED
  21.  
  22. new players[32], inum
  23. new ip[17],ccode_a[46]
  24.  
  25. new StringList[32][46]
  26. new IntList[32]
  27. new ii, icount, inow
  28.  
  29. icount = 0
  30.  
  31. get_players(players,inum)
  32. for (new a = 0; a < inum; ++a) {
  33. get_user_ip(players[a],ip,16,1)
  34. geoip_country ( ip, ccode_a , 45 )
  35.  
  36. inow = -1
  37. for (ii = 0; ii < icount; ++ii) {
  38. if(equal(StringList[ii],ccode_a)) {
  39. inow = ii
  40. }
  41. }
  42.  
  43. if(inow==-1) {
  44. copy(StringList[icount], 45, ccode_a)
  45. IntList[icount]=1
  46. icount++
  47. } else {
  48. IntList[inow]++
  49. }
  50. }
  51.  
  52. new message[512], part[128]
  53. copy(message,511,"Orszagok a szerveren:")
  54.  
  55. for (new b = 0; b < icount; ++b) {
  56. format( part , 127 , "^n %03d%% (%02d) %s",(IntList[b]*100/inum),IntList[b],StringList[b])
  57. add(message,511,part)
  58. }
  59.  
  60. set_hudmessage( 150, 150, 255, 0.02, -1.0 , 0, 1.0, 12.0, 0.1, 0.2,2)
  61. show_hudmessage(0,message)
  62.  
  63. return PLUGIN_HANDLED
  64. }
  65.  
  66. public cmdWhoGeoIP(id,level,cid) {
  67. if (!cmd_access(id, level, cid, 1))
  68. return PLUGIN_HANDLED
  69.  
  70. new players[32], inum
  71. new authid[32], name[32]
  72. new ip[17],ccode_a[3],ccode_c[46]
  73.  
  74. get_players(players,inum)
  75. for (new a = 0; a < inum; ++a) {
  76. get_user_authid(players[a],authid,31)
  77. get_user_name(players[a],name,31)
  78.  
  79. get_user_ip(players[a],ip,16,1)
  80. geoip_code2 ( ip, ccode_a )
  81. geoip_country ( ip, ccode_c, 45 )
  82.  
  83. console_print(id,"%2d %-16.16s %-20.20s %s %s", players[a],name,authid,ccode_a,ccode_c)
  84. }
  85. return PLUGIN_HANDLED
  86. }
  87.  
  88. /*
  89. public client_connect(id) {
  90. new ip[17],ccode_a[3]
  91. get_user_ip(id,ip,16,1)
  92. geoip_code2 ( ip, ccode_a )
  93. if(equali(ccode_a,"DE")) return PLUGIN_CONTINUE
  94. if(equali(ccode_a,"AT")) return PLUGIN_CONTINUE
  95. if(equali(ccode_a,"CH")) return PLUGIN_CONTINUE
  96.  
  97. new lReason[64]
  98. format(lReason,63,"%L",id,"DROPPED_RES")
  99. server_cmd("kick #%d ^"%s^"", get_user_userid(id), lReason )
  100. return PLUGIN_HANDLED
  101. }
  102. */
  103.