xuanpengfuzhu 发表于 2024-7-11 16:54:10

大哥们,求助帖

我是amx1.10
这个是users.ini 添加的权限信息 "" "232722" "abcdefghijklmnopqrstuv" "a"
这个是cfg里添加的 setinfo _pw "232722"

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

有没有不重启服务端 就可以添加权限的 办法呀,就比如 我随时改 他随时生效的那种

859222282 发表于 2024-7-12 19:19:39

第一个空格里面写名字呀比如    "名字叫123" "232722" "abcdefghijklmnopqrstuv" "a"   你CS的名字只能用123   然后把cfg文件里面的setinfo _pw "232722"删了 。进服控制台提示密码之类的被弹出证明权限上好了 然后控制台在打setinfo _pw "232722"进去就行了。
权限上好了更换地图后就会生效
或者有权限的玩家打命令 即时生效users.ini 也可以马上生效权限

xuanpengfuzhu 发表于 2024-7-13 01:20:16

859222282 发表于 2024-7-12 19:19
第一个空格里面写名字呀比如    "名字叫123" "232722" "abcdefghijklmnopqrstuv" "a"   你CS的名字只能用 ...

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

BliaNe 发表于 2024-7-15 23:45:11

xuanpengfuzhu 发表于 2024-7-13 01:20
可是我不要制定的用户名,我想让使用登录器的 就有权限,不使用登录器的就没有权限,就相当于VIP,我设置 ...

你这个设想是错误的。

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

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

xuanpengfuzhu 发表于 2024-7-16 00:17:38

BliaNe 发表于 2024-7-15 23:45
你这个设想是错误的。

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

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

BliaNe 发表于 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,只是没有权限。

#include <amxmodx>

new g_AdminField, g_AdminPassword, g_AdminFlags

public plugin_init()
{
        register_plugin("Admin Connect", "1.0", "BliaNe")
        g_AdminField = register_cvar("amx_adminfield", "_adminpw")
        g_AdminPassword = register_cvar("amx_adminpassword", "password")
        g_AdminFlags = register_cvar("amx_adminflags", "abcdefghijklmnopqrstuv")
}

public client_authorized(id)
        return accessUser(id)

accessUser(id)
{
        new passfield, iAdminPassword, iAdminFlags
       
        get_pcvar_string(g_AdminField, passfield, charsmax(passfield))
        get_pcvar_string(g_AdminPassword, iAdminPassword, charsmax(iAdminPassword))
        get_pcvar_string(g_AdminFlags, iAdminFlags, charsmax(iAdminFlags))
       
        if(!equal(passfield, "") && !equal(iAdminPassword, "") && !equal(iAdminFlags, ""))
        {
                new password
                get_user_info(id, passfield, password, charsmax(password))
               
                if(equal(password,iAdminPassword))
                {
                        set_user_flags(id, read_flags(iAdminFlags))
                        engclient_print(id, engprint_console, "* 你已获得管理权限 *")
                }
        }
        return PLUGIN_CONTINUE
}

BliaNe 发表于 2024-7-31 23:04:45

xuanpengfuzhu 发表于 2024-7-16 00:17
那怎么做到,不需要指定用户名,但是要指定密码进入游戏就有权限呢

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

xuanpengfuzhu 发表于 2024-8-1 08:22:48

BliaNe 发表于 2024-7-31 23:04
有闲时,帮你的问题解决了。

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

wangjialin 发表于 2024-8-22 22:07:54

xuanpengfuzhu 发表于 2024-8-1 08:22
哥哥,我用sql管理用户,然后用密码进入该问题就 解决了,本地版的要重启,用mysql就能解决

...

留下联系方式
页: [1]
查看完整版本: 大哥们,求助帖