搜索
查看: 9500|回复: 10

权限问题

[复制链接]
发表于 2016-8-24 20:16:37 | 显示全部楼层 |阅读模式 来自 中国–广东–深圳
求助,帮忙加个ADMIN_IMMUNITY权限,非常感谢!~

#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>

const m_fGrenadeState = 114;

new exp;
new cvar_radius;

public plugin_init()
{
        register_plugin("GrenadeEffect", "1.0", "xxx");  
        cvar_radius = register_cvar("explosion_radius", "200");  //爆炸半径
        RegisterHam(Ham_Think, "grenade", "fw_ThinkGrenade");
}

public plugin_precache()
        exp = precache_model("sprites/shockwave.spr");

public fw_ThinkGrenade(ent) 
{
    // Invalid entity 无效的实体
        if (!pev_valid(ent))
                return HAM_IGNORED;
        
        if (get_pdata_int(ent, m_fGrenadeState) & (1<<0))
        {
                blastcircles(ent);
        }       
        return HAM_IGNORED;
}

public blastcircles(id) 
{
        client_print(0,print_center,"集束炫丽烈性手雷");  //客户端打印信息给那个玩家。0是所有人 print_chat 左下角聊天区域,print_center 中心
        new Float:forigin[3];
        pev(id, pev_origin, forigin);
        new blast = get_pcvar_num(cvar_radius);
        
        engfunc(EngFunc_MessageBegin, MSG_PAS, SVC_TEMPENTITY, forigin)
        write_byte(TE_BEAMCYLINDER)     //圆筒
        engfunc(EngFunc_WriteCoord,forigin[0])
        engfunc(EngFunc_WriteCoord,forigin[1])
        engfunc(EngFunc_WriteCoord,forigin[2] - 16)
        engfunc(EngFunc_WriteCoord,forigin[0])
        engfunc(EngFunc_WriteCoord,forigin[1])
        engfunc(EngFunc_WriteCoord,forigin[2] - 16 + blast)
        write_short(exp)
        write_byte(6) 
        write_byte(2) 
        write_byte(6) 
        write_byte(90)  //
        write_byte(4)   //
        write_byte(238) //
        write_byte(130) //
        write_byte(238) 
        write_byte(250) 
        write_byte(5) 
        message_end()
}
发表于 2016-8-25 00:28:45 | 显示全部楼层 来自 中国–广东–深圳
#include <amxmodx>
#include <engine>
#include <fakemeta>

new exp;
new cvar_radius;

public plugin_init()
{
        register_plugin("GrenadeEffect", "1.0", "xxx");  
        cvar_radius = register_cvar("explosion_radius", "200");  //爆炸半径
}

public plugin_precache()
        exp = precache_model("sprites/shockwave.spr");

public grenade_throw(id,greindex,wpn)
{
        if(get_user_flags(id) & ADMIN_IMMUNITY)
        {
                blastcircles(greindex);
        }       
        return PLUGIN_CONTINUE;
}

public blastcircles(id) 
{
        client_print(0,print_center,"集束炫丽烈性手雷");  //客户端打印信息给那个玩家。0是所有人 print_chat 左下角聊天区域,print_center 中心
        new Float:forigin[3];
        pev(id, pev_origin, forigin);
        new blast = get_pcvar_num(cvar_radius);
        
        engfunc(EngFunc_MessageBegin, MSG_PAS, SVC_TEMPENTITY, forigin)
        write_byte(TE_BEAMCYLINDER)     //圆筒
        engfunc(EngFunc_WriteCoord,forigin[0])
        engfunc(EngFunc_WriteCoord,forigin[1])
        engfunc(EngFunc_WriteCoord,forigin[2] - 16)
        engfunc(EngFunc_WriteCoord,forigin[0])
        engfunc(EngFunc_WriteCoord,forigin[1])
        engfunc(EngFunc_WriteCoord,forigin[2] - 16 + blast)
        write_short(exp)
        write_byte(6) 
        write_byte(2) 
        write_byte(6) 
        write_byte(90)  //
        write_byte(4)   //
        write_byte(238) //
        write_byte(130) //
        write_byte(238) 
        write_byte(250) 
        write_byte(5) 
        message_end()
}
回复

使用道具 举报

发表于 2016-8-25 08:14:37 | 显示全部楼层 来自 中国–广东–佛山
楼上正解,但是我建议在if(get_user_flags(id) & ADMIN_IMMUNITY)后面加上if(get_user_flags(id) &ADMIN_IMMUNITY && is_user_alive),不然死了也会有特效.
回复

使用道具 举报

 楼主| 发表于 2016-8-25 08:58:11 | 显示全部楼层 来自 中国–广东–深圳
感谢管理员的帮助!
原本是扔手雷光环插件,加权限后不知道是什么样子的,下班后测试看看。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注个册吧

×
回复

使用道具 举报

 楼主| 发表于 2016-8-25 09:31:05 | 显示全部楼层 来自 中国–广东–深圳
机子卡大叔 发表于 2016-8-25 08:14
楼上正解,但是我建议在if(get_user_flags(id) & ADMIN_IMMUNITY)后面加上if(get_user_flags(id) &ADMIN_IMM ...

是扔手雷特效,没必要加验证死/活吧!
难道玩家活着扔出去有特效,在手雷爆炸前玩家死了,特效会消失吗?
下班后试试看!
回复

使用道具 举报

发表于 2016-8-25 12:42:35 | 显示全部楼层 来自 中国–广东–佛山
tly111222 发表于 2016-8-25 09:31
是扔手雷特效,没必要加验证死/活吧!
难道玩家活着扔出去有特效,在手雷爆炸前玩家死了,特效 ...

这只是个建议,你爱听不听
回复

使用道具 举报

 楼主| 发表于 2016-8-25 14:11:42 | 显示全部楼层 来自 中国–广东–深圳
机子卡大叔 发表于 2016-8-25 12:42
这只是个建议,你爱听不听

   ..........................
回复

使用道具 举报

 楼主| 发表于 2016-8-25 18:07:19 | 显示全部楼层 来自 中国–广东–深圳
k1nader 发表于 2016-8-25 00:28
#include
#include
#include

插件原版是手雷特效光环,加了权限后,变成了管理员扔手雷自己发光环--手雷的光环没了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注个册吧

×
回复

使用道具 举报

发表于 2016-8-25 19:54:15 | 显示全部楼层 来自 中国–广东–深圳
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>

const m_fGrenadeState = 114;

new exp;
new cvar_radius;

public plugin_init()
{
        register_plugin("GrenadeEffect", "1.0", "xxx");  
        cvar_radius = register_cvar("explosion_radius", "200");  //爆炸半径
        RegisterHam(Ham_Think, "grenade", "fw_ThinkGrenade");
}

public plugin_precache()
        exp = precache_model("sprites/shockwave.spr");

public fw_ThinkGrenade(ent) 
{
    // Invalid entity 无效的实体
        if (!pev_valid(ent))
                return HAM_IGNORED;
        
        if (get_pdata_int(ent, m_fGrenadeState) & (1<<0))
        {
                new id = pev(ent, pev_owner);
                if (is_user_connected(id) && get_user_flags(id) & ADMIN_IMMUNITY)
                {
                         blastcircles(ent);
                }
        }       
        return HAM_IGNORED;
}

public blastcircles(id) 
{
        client_print(0,print_center,"集束炫丽烈性手雷");  //客户端打印信息给那个玩家。0是所有人 print_chat 左下角聊天区域,print_center 中心
        new Float:forigin[3];
        pev(id, pev_origin, forigin);
        new blast = get_pcvar_num(cvar_radius);
        
        engfunc(EngFunc_MessageBegin, MSG_PAS, SVC_TEMPENTITY, forigin)
        write_byte(TE_BEAMCYLINDER)     //圆筒
        engfunc(EngFunc_WriteCoord,forigin[0])
        engfunc(EngFunc_WriteCoord,forigin[1])
        engfunc(EngFunc_WriteCoord,forigin[2] - 16)
        engfunc(EngFunc_WriteCoord,forigin[0])
        engfunc(EngFunc_WriteCoord,forigin[1])
        engfunc(EngFunc_WriteCoord,forigin[2] - 16 + blast)
        write_short(exp)
        write_byte(6) 
        write_byte(2) 
        write_byte(6) 
        write_byte(90)  //
        write_byte(4)   //
        write_byte(238) //
        write_byte(130) //
        write_byte(238) 
        write_byte(250) 
        write_byte(5) 
        message_end()
}
回复

使用道具 举报

 楼主| 发表于 2016-8-25 20:29:09 | 显示全部楼层 来自 中国–广东–深圳
k1nader 发表于 2016-8-25 19:54
#include
#include
#include

! 谢谢!非常感谢!
回复

使用道具 举报

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

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