搜索
查看: 3044|回复: 13

帮忙看下这个代码,40行……

[复制链接]
发表于 2006-5-24 22:53:44 | 显示全部楼层 |阅读模式 来自 广西河池
这个是在管理员个性服装插件的基础上增加和更改了一些东西,目的是想增加一个mm的皮肤来绑定mm玩家,思路是这样:检查玩家的权限是否有“m”权限(原插件是检查是否有“c”权限),有的话指定玩家模型为OP模型。检查玩家是否有“n”权限,有的话指定玩家模型为mm模型。
编译没有错误,没有警告,而且客户端也已经可以下载模型文件了,但是以有"n"权限的ID进入模型并没有改变,也就是模型并没有被更改成mm的模型。
想请教一下,这个,如何改?
帮帮忙,本人是一个实实在在的菜鸟,连基本的都不懂,非常感谢!
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
public plugin_init() {
register_plugin("AMX Admin Model", "1.1.1", "whitemike | C.H.M")
register_event("ResetHUD", "resetModel", "b")
return PLUGIN_CONTINUE
}
public plugin_precache() {
precache_model("models/player/admin_ct/admin_ct.mdl")
precache_model("models/player/admin_te/admin_te.mdl")
precache_model("models/player/mm_ct/mm_ct.mdl")
precache_model("models/player/mm_te/mm_te.mdl")
return PLUGIN_CONTINUE
}
public resetModel(id, level, cid) {
if (get_user_flags(id) & ADMIN_LEVEL_A) {
new CsTeams:userTeam = cs_get_user_team(id)
if (userTeam == CS_TEAM_T) {
cs_set_user_model(id, "admin_te")
}
else if(userTeam == CS_TEAM_CT) {
cs_set_user_model(id, "admin_ct")
if (get_user_flags(id) & ADMIN_LEVEL_B) {
new CsTeams:userTeam = cs_get_user_team(id)
if (userTeam == CS_TEAM_T) {
cs_set_user_model(id, "mm_te")
}
else if(userTeam == CS_TEAM_CT) {
cs_set_user_model(id, "mm_ct")
}
}
else {
cs_reset_user_model(id)
}
}
}
return PLUGIN_CONTINUE
}
发表于 2006-5-24 23:23:49 | 显示全部楼层 来自 华中科技大学韵苑公寓

回复: 帮忙看下这个代码,40行……

[color="Blue"]注意编程排版就不会出现这种错误。{} 错误

[PHP]public resetModel(id, level, cid)
{
        if (get_user_flags(id) & ADMIN_LEVEL_A)
        {
                new CsTeams:userTeam = cs_get_user_team(id)
                if (userTeam == CS_TEAM_T)
                {
                        cs_set_user_model(id, "admin_te")
                }
                else
                {        if (userTeam == CS_TEAM_CT)
                        {
                                cs_set_user_model(id, "admin_ct")
                        }
                }
        }
        else
        {
                if (get_user_flags(id) & ADMIN_LEVEL_B)
                {
                        new CsTeams:userTeam = cs_get_user_team(id)
                        if (userTeam == CS_TEAM_T)
                        {
                                cs_set_user_model(id, "mm_te")
                        }
                        else
                        {
                                if (userTeam == CS_TEAM_CT)
                                {
                                        cs_set_user_model(id, "mm_ct")
                                }
                        }
                }
                else
                {
                        cs_reset_user_model(id)
                }
        }
        return PLUGIN_CONTINUE
}  
[/PHP]
回复

使用道具 举报

 楼主| 发表于 2006-5-25 00:08:56 | 显示全部楼层 来自 广西河池

回复: 帮忙看下这个代码,40行……

太谢谢了
我爱你……!
回复

使用道具 举报

发表于 2006-5-26 13:29:13 | 显示全部楼层 来自 湖南常德

回复: 帮忙看下这个代码,40行……

如果编译拥有A权限 是管理员  拥有B权限是VIP
ADMIN_LEVEL_A  和ADMIN_LEVEL_B 应该改为什么???
回复

使用道具 举报

 楼主| 发表于 2006-6-10 00:38:15 | 显示全部楼层 来自 广西河池

回复: 帮忙看下这个代码,40行……

论坛里面有
#define ADMIN_IMMUNITY (1<<0) /* flag "a" */
#define ADMIN_RESERVATION (1<<1) /* flag "b" */
#define ADMIN_KICK (1<<2) /* flag "c" */
#define ADMIN_BAN (1<<3) /* flag "d" */
#define ADMIN_SLAY (1<<4) /* flag "e" */
#define ADMIN_MAP (1<<5) /* flag "f" */
#define ADMIN_CVAR (1<<6) /* flag "g" */
#define ADMIN_CFG (1<<7) /* flag "h" */
#define ADMIN_CHAT (1<<8) /* flag "i" */
#define ADMIN_VOTE (1<<9) /* flag "j" */
#define ADMIN_PASSWORD (1<<10) /* flag "k" */
#define ADMIN_RCON (1<<11) /* flag "l" */
#define ADMIN_LEVEL_A (1<<12) /* flag "m" */
#define ADMIN_LEVEL_B (1<<13) /* flag "n" */
#define ADMIN_LEVEL_C (1<<14) /* flag "o" */
#define ADMIN_LEVEL_D (1<<15) /* flag "p" */
#define ADMIN_LEVEL_E (1<<16) /* flag "q" */
#define ADMIN_LEVEL_F (1<<17) /* flag "r" */
#define ADMIN_LEVEL_G (1<<18) /* flag "s" */
#define ADMIN_LEVEL_H (1<<19) /* flag "t" */
#define ADMIN_MENU (1<<20) /* flag "u" */
#define ADMIN_USER (1<<25) /* flag "z" */
回复

使用道具 举报

发表于 2006-6-10 19:39:17 | 显示全部楼层 来自 湖南常德

回复: 帮忙看下这个代码,40行……

谢谢楼主  我已经搞定
现在有个问题
如果我想在这个上面 再加种模型  代码该从哪里加?

看看我是否加对了!
[PHP]#include <amxmodx>
#include <amxmisc>
#include <cstrike>

public plugin_init() {
register_plugin("AMX Admin Model", "1.1.1", "whitemike | C.H.M")
register_event("ResetHUD", "resetModel", "b")
return PLUGIN_CONTINUE
}

public plugin_precache() {
precache_model("models/player/mxctadmin/mxctadmin.mdl")
precache_model("models/player/mxtadmin/mxtadmin.mdl")
precache_model("models/player/mxctvip/mxctvip.mdl")
precache_model("models/player/mxtvip/mxtvip.mdl")
precache_model("models/player/mxmmct/mxmmct.mdl")
precache_model("models/player/mxmmt/mxmmt.mdl")

return PLUGIN_CONTINUE
}

public resetModel(id, level, cid)
{
    if (get_user_flags(id) & ADMIN_IMMUNITY)
    {
        new CsTeams:userTeam = cs_get_user_team(id)
        if (userTeam == CS_TEAM_T)
        {
            cs_set_user_model(id, "mxtadmin")
        }
        else
        {   
            if (userTeam == CS_TEAM_CT)
            {
                cs_set_user_model(id, "mxctadmin")
            }
        }
    }
    else
    {
        if (get_user_flags(id) & ADMIN_LEVEL_A)
        {
            new CsTeams:userTeam = cs_get_user_team(id)
            if (userTeam == CS_TEAM_T)
            {
                cs_set_user_model(id, "mxmmt")
            }
            else
            {
                if (userTeam == CS_TEAM_CT)
                {
                    cs_set_user_model(id, "mxmmct")
                }
            }
        }
        else
        {
           if (get_user_flags(id) & ADMIN_RESERVATION)
           {
               new CsTeams:userTeam = cs_get_user_team(id)
                if (userTeam == CS_TEAM_T)
               {
                   cs_set_user_model(id, "mxtvip")
               }
               else
               {
                   if (userTeam == CS_TEAM_CT)
                   {
                       cs_set_user_model(id, "mxctvip")
                   }
               }
           }
           else
           {
               cs_reset_user_model(id)
           }
       }
       return PLUGIN_CONTINUE
}  
[/PHP]
回复

使用道具 举报

发表于 2006-6-11 15:09:54 | 显示全部楼层 来自 湖南常德

回复: 帮忙看下这个代码,40行……

顶啊
高手解决一下!!~~
回复

使用道具 举报

发表于 2006-6-12 17:49:19 | 显示全部楼层 来自 湖南常德

回复: 帮忙看下这个代码,40行……

会的朋友进来看看啊!~
我顶上去!~~
急啊。。
谢谢!
回复

使用道具 举报

发表于 2006-6-12 21:05:47 | 显示全部楼层 来自 华南理工大学

回复: 帮忙看下这个代码,40行……

public plugin_precache() {
precache_model("models/player/mxctadmin/mxctadmin.mdl")
precache_model("models/player/mxtadmin/mxtadmin.mdl")
precache_model("models/player/mxctvip/mxctvip.mdl")
precache_model("models/player/mxtvip/mxtvip.mdl")
precache_model("models/player/mxmmct/mxmmct.mdl")
precache_model("models/player/mxmmt/mxmmt.mdl")


在这里按照格式加入呀?
你说的话我不是很理解。
回复

使用道具 举报

发表于 2006-6-13 01:20:23 | 显示全部楼层 来自 湖南常德

回复: 帮忙看下这个代码,40行……

谢谢您的关注!
对啊  模型位置已经加了
你仔细看一下我的 代码
kinsprite 的代码 只有2种 模型(管理和 MM)
我现在想加 3种模型 (管理 ;MM;VIP)
但是我不知道 代码从哪里加起 。。。我发的代码 是我自己加的 但是不能编译~!
请问 是哪里出错! 该如何加??
谢谢了!
回复

使用道具 举报

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

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