找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1346|回复: 14

[已解决] 等级模型问题

[复制链接]

该用户从未签到

发表于 2011-5-1 10:52:09 | 显示全部楼层 |阅读模式
本帖最后由 badmonkey 于 2011-5-1 11:46 编辑

求助
已有皮肤插件,源码也会修改
请问如何定义等级皮肤,比如不同的等级显示不同皮肤,
那个LEVEL_A之类是不是要加载权限m就可以?如有了解的麻烦详解下。
拜托!

该用户从未签到

发表于 2011-5-1 10:57:40 | 显示全部楼层
坐待楼下解答
  • TA的每日心情
    慵懒
    2024-5-10 10:58
  • 签到天数: 8 天

    [LV.3]偶尔看看II

    发表于 2011-5-1 11:41:44 | 显示全部楼层
    我也不知道。。坐等楼下解答

    该用户从未签到

    发表于 2011-5-1 11:54:42 | 显示全部楼层
    提示: 作者被禁止或删除 内容自动屏蔽

    该用户从未签到

     楼主| 发表于 2011-5-1 13:01:04 | 显示全部楼层
    都是楼下解答,,!哪位大神知道的回复下,。!谢谢了!

    该用户从未签到

    发表于 2011-5-1 13:09:02 | 显示全部楼层
    全在等我???我打酱油!

    该用户从未签到

    发表于 2011-5-1 13:09:16 | 显示全部楼层
    程序员你好,不同的玩家模型可以套用if做判断!也可以通过权限来判断,例如:
    1. #define ADMIN_ALL  0 /* everyone */
    2. #define ADMIN_IMMUNITY  (1<<0) /* flag "a" */
    3. #define ADMIN_RESERVATION (1<<1) /* flag "b" */
    4. #define ADMIN_KICK  (1<<2) /* flag "c" */
    5. #define ADMIN_BAN  (1<<3) /* flag "d" */
    6. #define ADMIN_SLAY  (1<<4) /* flag "e" */
    7. #define ADMIN_MAP  (1<<5) /* flag "f" */
    8. #define ADMIN_CVAR  (1<<6) /* flag "g" */
    9. #define ADMIN_CFG  (1<<7) /* flag "h" */
    10. #define ADMIN_CHAT  (1<<8) /* flag "i" */
    11. #define ADMIN_VOTE  (1<<9) /* flag "j" */
    12. #define ADMIN_PASSWORD  (1<<10) /* flag "k" */
    13. #define ADMIN_RCON  (1<<11) /* flag "l" */
    14. #define ADMIN_LEVEL_A  (1<<12) /* flag "m" */
    15. #define ADMIN_LEVEL_B  (1<<13) /* flag "n" */
    16. #define ADMIN_LEVEL_C  (1<<14) /* flag "o" */
    17. #define ADMIN_LEVEL_D  (1<<15) /* flag "p" */
    18. #define ADMIN_LEVEL_E  (1<<16) /* flag "q" */
    19. #define ADMIN_LEVEL_F  (1<<17) /* flag "r" */
    20. #define ADMIN_LEVEL_G  (1<<18) /* flag "s" */
    21. #define ADMIN_LEVEL_H  (1<<19) /* flag "t" */
    22. #define ADMIN_MENU  (1<<20) /* flag "u" */
    23. #define ADMIN_ADMIN  (1<<24) /* flag "y" */
    24. #define ADMIN_USER  (1<<25) /* flag "z" */
    25. #define FLAG_KICK  (1<<0) /* flag "a" */
    26. #define FLAG_TAG  (1<<1) /* flag "b" */
    27. #define FLAG_AUTHID  (1<<2) /* flag "c" */
    28. #define FLAG_IP   (1<<3) /* flag "d" */
    29. #define FLAG_NOPASS  (1<<4) /* flag "e" */
    30. #define FLAG_CASE_SENSITIVE (1<<10) /* flag "k" */
    复制代码

    详细查看inc

    ADMIN_ALL 为全部玩家
    ADMIN_IMMUNITY 为拥有免疫的权限玩家拥有
    以此类推
    1. ; 权限解释:
    2. ; a - immunity (不能被踢出、封禁、惩罚等)
    3. ; b - reservation (能通过预留通道进入服务器)
    4. ; c - amx_kick command (拥有踢人权限)
    5. ; d - amx_ban and amx_unban commands (拥有封禁玩家权限)
    6. ; e - amx_slay and amx_slap commands (拥有惩罚玩家的权限)
    7. ; f - amx_map command (拥有更换地图的权限)
    8. ; g - amx_cvar command (not all cvars will be available) (拥有在游戏中更改【部分】参数的权限)
    9. ; h - amx_cfg command (可以加载某个AMX cfg 设置文件权限)
    10. ; i - amx_chat and other chat commands (可以用管理员身份发布信息)
    11. ; j - amx_vote and other vote commands (可以发起投票)
    12. ; k - access to sv_password cvar (by amx_cvar command) (可以给服务器加密码)
    13. ; l - access to amx_rcon command and rcon_password cvar (by amx_cvar command) (可以通过用rcon命令来以OP【主机】的身份来登陆服务器)
    14. ; 上面权限为默认管理员权限设置
    复制代码

    1. ;3
    2. ; m - custom level A (自定义权限A,专门为需要设置额外权限的插件而准备)
    3. ; n - custom level B
    4. ; o - custom level C
    5. ; p - custom level D
    6. ; q - custom level E
    7. ; r - custom level F
    8. ; s - custom level G
    9. ; t - custom level H
    10. ; u - menu access (拥有打开管理员菜单的权限)
    11. ; 此为第三方插件备用权限
    复制代码
    如你上述:ADMIN_LEVEL_A 为拥有“m”权限使用,具体权限设置依所需权限设置。第三方插件推荐使用coder3不推荐使用coder2

    例如:

    1.         if (flags ADMIN_LEVEL_A){     // 拥有“m” 则更换为T为ADT,CT为ADCT 可以继续判断条件不成立则不做动作
    2.                 if (userTeam == CS_TEAM_T)
    3.                         cs_set_user_model(id, "ADT")
    4.                 else if(userTeam == CS_TEAM_CT)
    5.                         cs_set_user_model(id, "ADCT")
    6.                 else
    7.                         cs_reset_user_model(id)   
    8.         }
    复制代码

    该用户从未签到

     楼主| 发表于 2011-5-1 13:14:24 | 显示全部楼层
    谢谢了。。

    该用户从未签到

    发表于 2011-5-1 13:33:39 | 显示全部楼层
    回复 badmonkey 的帖子

    1. public resetModel(id, level, cid) {

    2. if (!is_user_connected(id)) return PLUGIN_CONTINUE

    3. new flags = get_user_flags(id)

    4. new CsTeams:userTeam = cs_get_user_team(id)

    复制代码
    1. Syntax:
    2. is_user_connected ( index )
    3. Type:
    4. Native
    5. Notes:
    6. index is a player index from 1 to 32.
    复制代码
    1. get_user_flags - Gets flags from player. Set index to 0 if you want to read flags from server.
    2. Syntax
    3. get_user_flags ( index,id=0 )
    4. Type
    5. Native
    6. Notes

    7. index,is a player index from 1 to 32.
    复制代码

    具体详见:
    1. http://www.amxmodx.org/doc/index.html?page=source%2Ffunctions%2Fcore%2Fget_user_flags.htm
    复制代码

    该用户从未签到

     楼主| 发表于 2011-5-1 13:47:58 | 显示全部楼层
    本帖最后由 badmonkey 于 2011-5-1 13:49 编辑

    谢谢了,不想要模型太多,所以你给的例子里面我可以不管它是T还是CT,都让他为同一模型AD,应该不会出什么问题吧?

    if (flags ADMIN_LEVEL_A){     // 拥有“m” 则更换为T为ADT,CT为ADCT 可以继续判断条件不成立则不做动作

                    if (userTeam == CS_TEAM_T)

                            cs_set_user_model(id, "ADT") //改为AD

                    else if(userTeam == CS_TEAM_CT)

                            cs_set_user_model(id, "ADCT")//改为AD

                    else

                            cs_reset_user_model(id)   

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

    本版积分规则

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