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

MOD中国同盟社

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1251|回复: 5

一起来参考下这个代码 [复制链接]

Rank: 3Rank: 3

帖子
59
精华
0
声望
399 点
金币
23 Mold
被赞许
0 次
注册时间
2011-8-23
发表于 2012-5-26 23:17:52 |显示全部楼层
本帖最后由 (22:21:06) 于 2012-5-27 07:49 编辑

#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <float>
new jumpnum[33] = 0
new bool:dojump[33] = false
public plugin_init()
{
        register_plugin("MultiJump","1.0","twistedeuphoria")
        register_cvar("amx_maxjumps","1")
}
public client_putinserver(id)
{
        jumpnum[id] = 0
        dojump[id] = false
}
public client_disconnect(id)
{
        jumpnum[id] = 0
        dojump[id] = false
}
public client_PreThink(id)
{
        new nbut = get_user_button(id)
        new obut = get_user_oldbutton(id)
        if(get_user_flags(id) & ADMIN_IMMUNITY)  //这样对嗎
{
  return PLUGIN_CONTINUE
}
       if((nbut & IN_JUMP) &&!(get_entity_flags(id) & FL_ONGROUND) && !(obut & IN_JUMP))
        {
                if(jumpnum[id] < get_cvar_num("amx_maxjumps"))
                {
                        dojump[id] = true
                        jumpnum[id]  
                        return PLUGIN_CONTINUE
                }
        }
        if((nbut & IN_JUMP) && (get_entity_flags(id) & FL_ONGROUND))
        {
                jumpnum[id] = 0
                return PLUGIN_CONTINUE
        }
        return PLUGIN_CONTINUE
}
public client_PostThink(id)
{
    if(get_user_flags(id) & ADMIN_IMMUNITY)  //这样对嗎
{
  return PLUGIN_CONTINUE
}
   if(dojump[id] == true)
        {
                new Float:velocity[3]        
                entity_get_vector(id,EV_VEC_velocity,velocity)
                velocity[2] = random_float(265.0,285.0)
                entity_set_vector(id,EV_VEC_velocity,velocity)
                dojump[id] = false
                return PLUGIN_CONTINUE
        }
        return PLUGIN_CONTINUE
}
试着把它改为A权限的玩家可以使用,但经测试,编译是成功了!但在游戏里无效额……在AMXX.CFG和CVAR.INI也都加上命令了,我也拥有A权限啊,该开起的模块也都开了。请行家能手指点迷津……?
狭路相逢勇者胜,手起刀落人抬走!

使用道具 举报

Rank: 3Rank: 3

帖子
59
精华
0
声望
399 点
金币
23 Mold
被赞许
0 次
注册时间
2011-8-23
发表于 2012-5-27 07:50:44 |显示全部楼层
难道是代码哪里出了问题?
狭路相逢勇者胜,手起刀落人抬走!

使用道具 举报

Rank: 10Rank: 10Rank: 10

帖子
1250
精华
0
声望
3577 点
金币
470 Mold
被赞许
45 次
注册时间
2010-7-13

可爱小猫

发表于 2012-5-28 06:48:13 |显示全部楼层
你写的是:如果id有×权限,返回。
也就是无视的意思。
你那个代码乱七八糟的连括号都对不起好难看。
        //如果id没有×权限。
        if (!(get_user_flags(id) & ADMIN_IMMUNITY))
        {
                return PLUGIN_CONTINUE        //返回
        }
已有 1 人评分被赞许 收起 理由
(22:21:06) + 1 赞一个!

总评分: 被赞许 + 1   查看全部评分

使用道具 举报

Rank: 3Rank: 3

帖子
59
精华
0
声望
399 点
金币
23 Mold
被赞许
0 次
注册时间
2011-8-23
发表于 2012-5-28 18:27:48 |显示全部楼层
本帖最后由 (22:21:06) 于 2012-5-28 18:29 编辑

在这多问一句为什么这样
if (!(get_user_flags(id) & ADMIN_IMMUNITY))
        {
写能通过?而这样
if (get_user_flags(id) & ADMIN_IMMUNITY)
        {
写却不行呢?
狭路相逢勇者胜,手起刀落人抬走!

使用道具 举报

Rank: 10Rank: 10Rank: 10

帖子
1250
精华
0
声望
3577 点
金币
470 Mold
被赞许
45 次
注册时间
2010-7-13

可爱小猫

发表于 2012-5-28 18:34:20 |显示全部楼层
//如果id没有(!)权限(get_user_flags) ADMIN_IMMUNITY
if (!(get_user_flags(id) & ADMIN_IMMUNITY))

//如果id有权限(get_user_flags) ADMIN_IMMUNITY
if (get_user_flags(id) & ADMIN_IMMUNITY)


return PLUGIN_CONTINUE可以理解为不进行。
也就是如果没有权限,不进行。
你写的是如果有权限,不进行。

使用道具 举报

Rank: 3Rank: 3

帖子
59
精华
0
声望
399 点
金币
23 Mold
被赞许
0 次
注册时间
2011-8-23
发表于 2012-5-29 23:19:50 |显示全部楼层
水蛭 发表于 2012-5-28 18:34
//如果id没有(!)权限(get_user_flags) ADMIN_IMMUNITY
if (!(get_user_flags(id) & ADMIN_IMMUNITY))

哦……原来这样!
Thank you.
狭路相逢勇者胜,手起刀落人抬走!

使用道具 举报

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

回顶部