搜索
查看: 19941|回复: 56

[AMXX 带源码] 这个插件可能很多人都在找源码!

[复制链接]
发表于 2009-5-17 20:19:50 | 显示全部楼层 |阅读模式 来自 中国–广东–广州
本帖最后由 kk阿朗 于 2009-8-19 10:33 编辑
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <csstats>
  4. #include <cstrike>
  5. #include <li_geoip>

  6. new players[33][32], motd[2048], iLen, inum, szstate[4], name[32], stats[8], body[8]

  7. public plugin_init()
  8. {
  9.         register_plugin("Motd info of player", "1.0", "K.K.Lv")
  10.         
  11.         register_clcmd("say", "checksay")
  12.         register_clcmd("say_team", "checksay")
  13. }

  14. public showinfoa(id, pos)
  15. {
  16.         if (pos < 0)
  17.                 return PLUGIN_HANDLED
  18.         new k = 0, star = pos * 32
  19.         new host_name[128]
  20.         get_cvar_string("hostname", host_name, 127)
  21.         
  22.         get_players(players[id], inum)
  23.         
  24.         iLen = format(motd, 2047,"<meta charset=UTF-8><style>body{color:#ccFFFF;background-color:#445555;margin-top:5}.one{background-color:#aa9963}.two{background-color:#447866}td{font-size:12px}</style><center><b><font size=4>玩家信息来源表 一</b><table width=650>");
  25.         iLen += format(motd[iLen], 2047-iLen, "%s","<tr bgcolor=#000065><td>#<td>昵称<td>玩家排名<td>玩家IP<td>所在城市</tr>");
  26.         new end = star + 32
  27.         if (end > inum)
  28.                 end = inum
  29.         new b = inum - 16
  30.         if (b < 0)
  31.                 b = 0
  32.         for (new a = star; a < inum - b; ++a)
  33.         {
  34.                 if (equal(szstate,"one")) copy(szstate,3,"two")
  35.                 else copy(szstate,3,"one")
  36.                
  37.                 new ipaddress[16], country[40], area[64]
  38.                 get_user_ip(players[id][a], ipaddress, 16, 1)
  39.                 geoip_info(ipaddress, country, area, 39, 63)
  40.                
  41.                 get_user_name(players[id][a], name, 31)
  42.                 new rank_pos = get_user_stats(players[id][a], stats, body)
  43.                
  44.                 iLen += format(motd[iLen], 2047-iLen,"<tr class=%s><td>%d<td>%s<td>%d<td>%s<td>%s-%s^n", szstate, ++k, name, rank_pos, ipaddress, country, area)
  45.         }
  46.         
  47.         show_motd(id, motd, host_name)
  48.         
  49.         return 0;
  50. }

  51. public showinfob(id, pos)
  52. {
  53.         if (pos < 0)
  54.                 return PLUGIN_HANDLED
  55.         new k = 16, star = pos * 32
  56.         new host_name[128]
  57.         get_cvar_string("hostname", host_name, 127)
  58.         get_players(players[id], inum)
  59.         
  60.         iLen = format(motd, 2047,"<meta charset=UTF-8><style>body{color:#ccFFFF;background-color:#445555;margin-top:5}.one{background-color:#aa9963}.two{background-color:#447866}td{font-size:12px}</style><center><b><font size=4>玩家信息来源表 二</b><table width=650>")
  61.         iLen += format(motd[iLen], 2047-iLen, "%s","<tr bgcolor=#000065><td>#<td>昵称<td>玩家排名<td>玩家IP<td>所在城市</tr>")
  62.         new end = star + 32
  63.         if (end > inum)
  64.                 end = inum
  65.         for (new a = star + 16; a < end; ++a)
  66.         {
  67.                 if (equal(szstate,"one")) copy(szstate,3,"two")
  68.                 else copy(szstate,3,"one")
  69.                
  70.                 new ipaddress[16], country[40], area[64]
  71.                 get_user_ip(players[id][a], ipaddress, 16, 1)
  72.                 geoip_info(ipaddress, country, area, 39, 63)
  73.                
  74.                 get_user_name(players[id][a], name, 31)
  75.                 new rank_pos = get_user_stats(players[id][a], stats, body)
  76.                
  77.                 iLen += format(motd[iLen], 2047-iLen,"<tr class=%s><td>%d<td>%s<td>%d<td>%s<td>%s-%s^n", szstate, ++k, name, rank_pos, ipaddress, country, area)
  78.         }
  79.         
  80.         show_motd(id, motd, host_name)
  81.         
  82.         return 0;
  83. }

  84. public cmdShowInfocheck(id, pos)
  85. {
  86.         new playersunm = get_playersnum()
  87.         if (!(playersunm > 16))
  88.                 return PLUGIN_HANDLED
  89.         showinfob(id, pos)
  90.         return PLUGIN_CONTINUE
  91. }

  92. public checksay(id, pos)
  93. {
  94.         new said[32]
  95.         read_args(said, 31)
  96.         
  97.         if (equali(said, "^"/info1^"") || equali(said, "^"info1^""))
  98.                 showinfoa(id, pos)
  99.         else if (equali(said, "^"/info2^"") || equali(said, "^"info2^""))
  100.                 cmdShowInfocheck(id, pos)
  101.         return PLUGIN_CONTINUE
  102. }
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注个册吧

×
发表于 2009-5-17 21:07:19 | 显示全部楼层 来自 中国–广东–东莞
本帖最后由 yangxi2008 于 2009-5-17 21:20 编辑

顶一下, 精神可佳

需要那么多函数么 郁闷  看得眼花


什么原因啊

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注个册吧

×
回复

使用道具 举报

 楼主| 发表于 2009-5-17 21:52:53 | 显示全部楼层 来自 中国–广东–广州
2# yangxi2008


是因为你的源码格式没有保存为utf-8格式,所以才这样!!
回复

使用道具 举报

发表于 2009-5-17 22:10:32 | 显示全部楼层 来自 中国–广东–深圳–宝安区
:loveliness:
看不明白是什么
但好像很有意思
是TOP15还是类似的东东
不过在那个显示玩家IP有是怎么记录的呢,是记录最后一次登陆IP还是什么
不过我建议最好不好显示IP地址,因为泄漏IP地址总不是什么好事
回复

使用道具 举报

 楼主| 发表于 2009-5-17 22:56:16 | 显示全部楼层 来自 中国–广东–广州
4# wan482


这个显示的是当前在服务器上的玩家信息!
回复

使用道具 举报

发表于 2009-5-18 00:02:19 | 显示全部楼层 来自 中国–安徽–合肥
最多可以显示多少人??
回复

使用道具 举报

 楼主| 发表于 2009-5-18 00:22:12 | 显示全部楼层 来自 中国–广东–广州
6# Hebe


32个人!!!
回复

使用道具 举报

发表于 2009-5-18 02:51:19 | 显示全部楼层 来自 中国–湖北–黄石
不错,有点意思
回复

使用道具 举报

发表于 2009-5-18 08:59:28 | 显示全部楼层 来自 中国–广东–东莞
不可能哟  绝对的UTF-8 无ROM 格式
回复

使用道具 举报

发表于 2009-5-18 10:22:00 | 显示全部楼层 来自 中国–辽宁–本溪
很不错,方便大伙
回复

使用道具 举报

游客
回复
您需要登录后才可以回帖 登录 | 注个册吧

快速回复 返回顶部 返回列表