设为首页收藏本站新闻投稿

MOD中国同盟社

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 334|回复: 0

[求助] 求一个老友记中文ID插件请看说明,谢谢 [复制链接]

Rank: 7Rank: 7Rank: 7

帖子
217
精华
0
声望
1660 点
金币
235 Mold
被赞许
0 次
注册时间
2010-8-28
发表于 2013-1-27 06:11:38 |显示全部楼层
如题求一个老友记中文ID插件
M6 时已转换中文名
中文名 有权限
有禁止改名功能

有的求发布下,没的帮忙改改这个2.1版也可以。
这个版本就是少个1.0版的禁止改名功能
  1. new const PLUGINNAME[] = "中文ID"

  2. new const VERSION[]    = "2.1"

  3. new const AUTHORS[]    = "poohoo @ 老友记"


  4. #include <amxmodx>

  5. #include <amxmisc>

  6. #include <fakemeta>



  7. new g_SetName[33][32]

  8. new g_SetAllow[33]

  9. new FILE[256]


  10. public plugin_init()

  11. {

  12.    register_plugin(PLUGINNAME, VERSION, AUTHORS)


  13.    new configsdir[128]

  14.    get_configsdir(configsdir, sizeof(configsdir)-1)

  15.    formatex(FILE, sizeof(FILE)-1, "%s/chinese_id.ini", configsdir)


  16.    if (!file_exists(FILE))

  17.       set_fail_state("File (configs/chinese_id.ini) open error.")

  18. }




  19. // 设置 id 需要的名字

  20. public set_name(id, const newname[])

  21. {

  22.    if (strlen(newname)<1)

  23.       return


  24.    g_SetAllow[id] = 1

  25.    copy(g_SetName[id], 31, newname)

  26.    //one_name(id, g_SetName[id], 31)

  27.    set_user_info(id, "name", g_SetName[id])

  28. }


  29. public client_connect(id)

  30. {

  31.    remove_task(id)

  32.    g_SetAllow[id] = 0

  33. }


  34. public client_putinserver(id)

  35. {

  36.    // 延时足够的时间,等待 admin 权限认证插件完成权限设置后,再执行更换名字

  37.    set_task(random_float(3.0,3.0), "get_name_from_file", id)

  38. }


  39. // 从文件里检查是否有对应的中文ID

  40. public get_name_from_file(id)

  41. {

  42.    if (!is_user_connected(id))

  43.       return


  44.    new name[32]

  45.    get_user_name(id, name, 31)


  46.    new set = 0

  47.    new hFile = fopen(FILE, "r")

  48.    if (hFile)

  49.    {

  50.       new line[128], tmpName[64], tmpNameCN[64]


  51.       while (fgets(hFile, line, sizeof(line)-1))

  52.       {

  53.          tmpName = ""

  54.          tmpNameCN = ""

  55.          trim(line)

  56.          if (line[0]==';' || line[0]=='/') continue


  57.          parse(line, tmpName,sizeof(tmpName)-1, tmpNameCN,sizeof(tmpNameCN)-1)

  58.          trim(tmpName)

  59.          trim(tmpNameCN)


  60.          if (strcmp(name, tmpName)==0)

  61.          {

  62.             copy(name, 31, tmpNameCN)

  63.             set = 1

  64.             break

  65.          }

  66.       }

  67.    }

  68.    fclose(hFile)


  69.    // 完成后,设置新的名字

  70.    if (set)

  71.       set_name(id, name)

  72. }
复制代码

www.cs-merang.com

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

回顶部