搜索
查看: 640|回复: 8

大哥们,求助帖

[复制链接]
发表于 2024-7-11 16:54:10 | 显示全部楼层 |阅读模式 来自 中国–贵州–黔东南苗族侗族自治州
我是amx1.10  
这个是users.ini 添加的权限信息 "" "232722" "abcdefghijklmnopqrstuv" "a"
这个是cfg里添加的 setinfo _pw "232722"

我用命令 setinfo _pw "232722" 进入游戏 为什么没有权限呀,,,

有没有不重启服务端 就可以添加权限的 办法呀,就比如 我随时改 他随时生效的那种
发表于 2024-7-12 19:19:39 | 显示全部楼层 来自 中国–北京–北京–朝阳区
第一个空格里面写名字呀  比如    "名字叫123" "232722" "abcdefghijklmnopqrstuv" "a"   你CS的名字只能用123   然后把cfg文件里面的setinfo _pw "232722"删了 。进服  控制台提示密码之类的被弹出  证明权限上好了 然后控制台在打setinfo _pw "232722"  进去就行了。
权限上好了更换地图后就会生效
或者有权限的玩家打命令 即时生效users.ini 也可以马上生效权限
回复

使用道具 举报

 楼主| 发表于 2024-7-13 01:20:16 | 显示全部楼层 来自 中国–贵州–黔东南苗族侗族自治州
859222282 发表于 2024-7-12 19:19
第一个空格里面写名字呀  比如    "名字叫123" "232722" "abcdefghijklmnopqrstuv" "a"   你CS的名字只能用 ...

可是我不要制定的用户名,我想让使用登录器的 就有权限,不使用登录器的就没有权限,就相当于VIP,我设置名字了 就没用了
回复

使用道具 举报

发表于 2024-7-15 23:45:11 | 显示全部楼层 来自 中国–上海–上海–虹口区
xuanpengfuzhu 发表于 2024-7-13 01:20
可是我不要制定的用户名,我想让使用登录器的 就有权限,不使用登录器的就没有权限,就相当于VIP,我设置 ...

你这个设想是错误的。

其一、setinfo 会储存到 config 中,所以只要第一次使用登录器之后,就不用在使用登录器了。

其二、"" "password" "权限" "a" 这样的语法是错误的,所以不会有权限。
回复

使用道具 举报

 楼主| 发表于 2024-7-16 00:17:38 | 显示全部楼层 来自 中国–贵州–黔东南苗族侗族自治州
BliaNe 发表于 2024-7-15 23:45
你这个设想是错误的。

其一、setinfo 会储存到 config 中,所以只要第一次使用登录器之后,就不用在使用 ...

那怎么做到,不需要指定用户名,但是要指定密码进入游戏就有权限呢
回复

使用道具 举报

发表于 2024-7-31 00:02:48 | 显示全部楼层 来自 中国–香港–新界–荃湾区
本帖最后由 BliaNe 于 2024-7-31 22:47 编辑

开源,是一种互联网精神。本着取之于民用之于民的原则,本人将代码开源在DT-CLUB上。
强烈鄙视拿着别人的代码成果进行商业盈利的现状。


以下代码实现玩家进服时,仅匹配 config 中 setinfo 相应字段的密码,就能获得权限。
如果不使用 user.ini 来分配权限,使用本插件后就可不用再开启admin.amxx。

代码提供3个自定义参数
//自定义setinfo密码前缀
amx_adminfield "_adminpw"
//自定义获取权限的密码
amx_adminpassword "password"
//自定义获取的权限
amx_adminflags "abcdefghijklmnopqrstuv"

玩家食用方法:
打开Cs1.6控制台并输入 setinfo "_adminpw" "password" 前缀密码需要与自定义参数保持一致,然后进服就能获取服务器 amx_adminflags 参数设定的权限。
如果已经在服务器中,输入 setinfo "_adminpw" "password" 后重新进服就可以获得权限。
没有输入密码或者密码错误时不会被服务器kick,只是没有权限。


  1. #include <amxmodx>

  2. new g_AdminField, g_AdminPassword, g_AdminFlags

  3. public plugin_init()
  4. {
  5.         register_plugin("Admin Connect", "1.0", "BliaNe")
  6.         g_AdminField = register_cvar("amx_adminfield", "_adminpw")
  7.         g_AdminPassword = register_cvar("amx_adminpassword", "password")
  8.         g_AdminFlags = register_cvar("amx_adminflags", "abcdefghijklmnopqrstuv")
  9. }

  10. public client_authorized(id)
  11.         return accessUser(id)

  12. accessUser(id)
  13. {
  14.         new passfield[32], iAdminPassword[32], iAdminFlags[32]
  15.        
  16.         get_pcvar_string(g_AdminField, passfield, charsmax(passfield))
  17.         get_pcvar_string(g_AdminPassword, iAdminPassword, charsmax(iAdminPassword))
  18.         get_pcvar_string(g_AdminFlags, iAdminFlags, charsmax(iAdminFlags))
  19.        
  20.         if(!equal(passfield, "") && !equal(iAdminPassword, "") && !equal(iAdminFlags, ""))
  21.         {
  22.                 new password[32]
  23.                 get_user_info(id, passfield, password, charsmax(password))
  24.                
  25.                 if(equal(password,iAdminPassword))
  26.                 {
  27.                         set_user_flags(id, read_flags(iAdminFlags))
  28.                         engclient_print(id, engprint_console, "* 你已获得管理权限 *")
  29.                 }
  30.         }
  31.         return PLUGIN_CONTINUE
  32. }
复制代码
回复

使用道具 举报

发表于 2024-7-31 23:04:45 | 显示全部楼层 来自 中国–上海–上海–虹口区
xuanpengfuzhu 发表于 2024-7-16 00:17
那怎么做到,不需要指定用户名,但是要指定密码进入游戏就有权限呢

有闲时,帮你的问题解决了。
回复

使用道具 举报

 楼主| 发表于 2024-8-1 08:22:48 | 显示全部楼层 来自 中国–贵州–贵阳
BliaNe 发表于 2024-7-31 23:04
有闲时,帮你的问题解决了。

哥哥,我用sql管理用户,然后用密码进入该问题就 解决了,本地版的要重启,用mysql就能解决

回复

使用道具 举报

发表于 2024-8-22 22:07:54 | 显示全部楼层 来自 中国–贵州–贵阳
xuanpengfuzhu 发表于 2024-8-1 08:22
哥哥,我用sql管理用户,然后用密码进入该问题就 解决了,本地版的要重启,用mysql就能解决

...

留下联系方式
回复

使用道具 举报

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

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