搜索
查看: 3200|回复: 11

麻烦谁帮我修改下显示在线管理员插件

[复制链接]
发表于 2005-11-20 01:45:11 | 显示全部楼层 |阅读模式 来自 中国–广东–深圳
我做了个简单的修改,但是有管理员在线的时候就会显示“目前在线管理XXX”然后接着全部显示VIP用户;管理员不时在就显示全部VIP用户。
谁能告诉我去掉哪部分就不会显示VIP用户吗? :dribble:
附上我改动过的源码:

  1. #include <amxmodx>
  2. #include <amxmisc>

  3. #define MAX_MESSAGES  6
  4. #define X_POS         -1.0
  5. #define Y_POS         -3.0
  6. #define HOLD_TIME     8.0
  7. #define RANDOM_COL

  8. new g_Values[MAX_MESSAGES][3]
  9. new g_Messages[MAX_MESSAGES][384]
  10. new g_MessagesNum
  11. new g_Current
  12. new g_players[32]
  13. new num


  14. public plugin_init() {
  15.   register_plugin("Info. Messages",AMXX_VERSION_STR,"AMXX Dev Team")
  16.   register_dictionary("imessage.txt")
  17.   register_dictionary("common.txt")
  18.   register_srvcmd("amx_adminonline","setMessage")
  19.   register_cvar("amx_freq_adminonline","10")
  20.   new lastinfo[8]
  21.   get_localinfo("lastinfomsg",lastinfo,7)
  22.   g_Current = str_to_num(lastinfo)
  23.   set_localinfo("lastinfomsg","")
  24. }

  25. public infoMessage() {
  26.   new admin[128],vip[128],temp[768]
  27.   new ad_vip[32],p_num,ad_num,v_num,name[32]
  28.   new apos = 0
  29.   new vpos = 0

  30.   if (g_Current >= g_MessagesNum)
  31.     g_Current = 0

  32.   get_players(ad_vip,p_num,"c")
  33.   apos += format(admin[apos],127-apos,"【当前在线管理员】^n__________________________________________^n")
  34.   for (new i=0; i<p_num; i++) {
  35.     if(access(ad_vip[i],ADMIN_IMMUNITY)){
  36.       ad_num++
  37.       get_user_name(ad_vip[i],name,31)
  38.       apos += format(admin[apos],127-apos,"%s ",name)
  39.     }
  40.     if(access(ad_vip[i],ADMIN_RESERVATION) && !access(ad_vip[i],ADMIN_IMMUNITY)){
  41.       v_num++
  42.       get_user_name(ad_vip[i],name,31)
  43.       vpos += format(vip[vpos],127-vpos,"%s ",name)
  44.     }
  45.   }
  46.   if (ad_num == 0)
  47.     format(admin,127,"【欢迎来到XXX1.6服务器】^n__________________________________________^n目前没有OP在线")
  48.   format(temp,767,"%s^n%s%s",g_Messages[g_Current],admin,vip)
  49.   #if defined RANDOM_COL
  50.   set_hudmessage(random_num(25,100), random_num(25,100), random_num(25,1000),
  51.     X_POS, Y_POS, 2, 0.5, HOLD_TIME , 2.0, 2.0, 1)
  52.   #else
  53.   set_hudmessage(g_Values[g_Current][0], g_Values[g_Current][1], g_Values[g_Current][2],
  54.     X_POS, Y_POS, 2, 0.5, HOLD_TIME , 2.0, 2.0, 1)
  55.   #endif
  56.   get_players(g_players,num,"bc")
  57.   for (new i=0; i<num; i++){
  58.     show_hudmessage(g_players[i],temp)
  59.     client_print(g_players[i],print_console,temp)
  60.   }
  61.   ++g_Current
  62.   new Float:freq_im = get_cvar_float("amx_freq_adminonline")
  63.   if ( freq_im > 0.0 ) set_task( freq_im ,"infoMessage",12345)
  64. }

  65. public setMessage() {
  66.   if (g_MessagesNum >= MAX_MESSAGES) {
  67.     server_print("%L",LANG_SERVER,"INF_REACH")
  68.     return PLUGIN_HANDLED
  69.   }
  70.   remove_task(12345)
  71.   read_argv(1,g_Messages[g_MessagesNum],380)
  72.   new hostname[64]
  73.   get_cvar_string("hostname",hostname,63)
  74.   replace(g_Messages[g_MessagesNum],380,"%hostname%",hostname)
  75.   while(replace(g_Messages[g_MessagesNum],380,"\n","^n")){}
  76.   new mycol[12]
  77.   read_argv(2,mycol,11) // RRRGGGBBB
  78.   g_Values[g_MessagesNum][2] = str_to_num(mycol[6])
  79.   mycol[6] = 0
  80.   g_Values[g_MessagesNum][1] = str_to_num(mycol[3])
  81.   mycol[3] = 0
  82.   g_Values[g_MessagesNum][0] = str_to_num(mycol[0])
  83.   g_MessagesNum++
  84.   new Float:freq_im = get_cvar_float("amx_freq_adminonline")
  85.   if ( freq_im > 0.0 ) set_task( freq_im ,"infoMessage",12345)
  86.   return PLUGIN_HANDLED
  87. }

  88. public plugin_end() {
  89.   new lastinfo[8]
  90.   num_to_str(g_Current,lastinfo,7)
  91.   set_localinfo("lastinfomsg",lastinfo)
  92. }
复制代码

麻烦各位了~~~
发表于 2005-11-20 06:13:15 | 显示全部楼层 来自 日本

回复: 麻烦谁帮我修改下显示在线管理员插件

这里好像不允许发布此类帖子了。应该发到一般问题区?
回复

使用道具 举报

发表于 2005-11-20 09:10:41 | 显示全部楼层 来自 中国–福建–龙岩

回复: 麻烦谁帮我修改下显示在线管理员插件

你先显示VIP再显示OP不就可以了。
或则在OP的判断再添加个识别语句。 :D
回复

使用道具 举报

 楼主| 发表于 2005-11-21 03:10:04 | 显示全部楼层 来自 中国–广东–深圳–南山区

回复: 麻烦谁帮我修改下显示在线管理员插件

VIP太多了,现在就只想让他显示在线管理员。平时白天32人都是VIP……那要显示到何年何月哦。
我把VIP段源码去掉,编译的时候会出错说什么 “compile遇到异常错误,会被WINDOWS关闭”
麻烦各位了  :burn:
回复

使用道具 举报

发表于 2005-11-21 08:47:11 | 显示全部楼层 来自 中国–福建–龙岩

回复: 麻烦谁帮我修改下显示在线管理员插件

那你把VIP的标示码改了。:D
例如 OP为 O,VIP没有O。 :byebye:
回复

使用道具 举报

 楼主| 发表于 2005-11-21 10:42:56 | 显示全部楼层 来自 中国–广东–深圳

回复: 麻烦谁帮我修改下显示在线管理员插件

Post by 金闪闪
那你把VIP的标示码改了。:D
例如 OP为 O,VIP没有O。 :byebye:

闪闪~~~
说到底还是不帮我  :qqb019:
回复

使用道具 举报

发表于 2005-11-21 11:23:33 | 显示全部楼层 来自 中国–福建–龙岩

回复: 麻烦谁帮我修改下显示在线管理员插件

Post by AE86
闪闪~~~
说到底还是不帮我  :qqb019:

帮什么?不是给你建议了么?:D

你还是老老实实地看users.ini的中文注释。
你完全可以 custom level VIP的。
:eek:
回复

使用道具 举报

 楼主| 发表于 2005-11-21 23:29:29 | 显示全部楼层 来自 中国–广东–深圳–南山区

回复: 麻烦谁帮我修改下显示在线管理员插件

:brick:
闪闪,偶像的是不是该给粉丝一点贡献啊 :boss:
回复

使用道具 举报

发表于 2005-11-22 09:11:55 | 显示全部楼层 来自 中国–福建–龙岩

回复: 麻烦谁帮我修改下显示在线管理员插件

我都说了这么白了,你还不了解么?
只好再说一次了。
users.ini的中m,n,o,p,q,r,s,t是custom level(自定义级别)。
如果有:
"CHM"        "admin"        "abcdefghijklmnopqrstu"        "a" ;这是OP了。
"VIP"        "vip"        "abcdefghijklmnopqrsu"        "a" ;这是VIP了,为何?少了t了。
那么你的sma中的access()是否能改改呢?

:D

继续努力,你快成大师了。
回复

使用道具 举报

 楼主| 发表于 2005-11-23 05:22:32 | 显示全部楼层 来自 中国–广东–深圳–南山区

回复: 麻烦谁帮我修改下显示在线管理员插件

Post by 金闪闪
继续努力,你快成大师了。

大师?
有点看不懂~~~ :p
回复

使用道具 举报

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

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