eason39 发表于 2009-6-26 19:49:31

想找一个玩家进入服务器第一局首局固定7秒,其他局不限制

本帖最后由 eason39 于 2009-6-26 19:52 编辑

类似于DK和175进入后固定玩家。。那位提供下?谢谢#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>

new check = 0

#define X_POS -1.0
#define Y_POS 0.5
#define HOLE_TIME 7.0

public plugin_init()
{
        register_plugin("block player","1.0","anzzy")
        RegisterHam(Ham_Spawn, "player", "Player_Spawn", 1)
        register_logevent("EventRoundStart", 2, "1=Round_Start");
}

public EventRoundStart(id) //情况一:死了等待开局检查
{
        if(check == 1) //检查过的就不检查
        return PLUGIN_HANDLED;

        check = 1
        set_pev(id,pev_flags,pev(id,pev_flags) | FL_FROZEN) //block player

        set_hudmessage(255,0, 0, X_POS, Y_POS, 1, 0.5, HOLE_TIME, 0.1, 0.1, -1);
        show_hudmessage(id,"进入服务器 7 秒内不能走动.")
        set_task(7.0,"remove",id)
        return PLUGIN_CONTINUE;
}

public Player_Spawn(id) //情况二:开局后才进入出生的,不排除刚进入等待开局
{
        if(check==1) //检查过的就不检查
        return PLUGIN_HANDLED;

        set_task(1.0,"checks",id)
        set_hudmessage(255,0, 0, X_POS, Y_POS, 1, 0.5, HOLE_TIME, 0.1, 0.1, -1);
        show_hudmessage(id,"进入服务器 7 秒内不能走动.")
        return PLUGIN_CONTINUE;
}

public checks(id)
{
        if(!is_user_alive(id)) //地图夹死的,跳过
        return PLUGIN_HANDLED;
        set_pev(id,pev_flags,pev(id,pev_flags) | FL_FROZEN) //block player
        set_task(6.0,"remove",id)
        return PLUGIN_CONTINUE;
}

public remove(id)
{
        new flags = pev(id,pev_flags)
        flags &= ~FL_FROZEN
        set_pev(id,pev_flags,flags)
}

public client_connect(id)
{
        check = 0
}

public client_disconnect(id)
{
        remove_task(id)
}这个是ANZZY帮我写的,但有个BUG,就是每局都会卡7秒,能否修改为首局限制7秒,其他局不限制?

LittleKu 发表于 2009-6-27 08:31:22

register_logevent("EventRoundStart", 2, "1=Round_Start");的意思是每局都要执行!
楼主,那个注释是谁写的!什么情况一,情况二吖!RegisterHam(Ham_Spawn, "player", "Player_Spawn", 1)
是玩家出身时所要执行的命令!!你看现在你应该知道为什么每局都会卡7秒了吧!

eason39 发表于 2009-6-27 13:05:34

本帖最后由 eason39 于 2009-6-27 13:25 编辑

register_logevent("EventRoundStart", 2, "1=Round_Start");的意思是每局都要执行!
楼主,那个注释是谁写的!什么情况一,情况二吖!RegisterHam(Ham_Spawn, "player", "Player_Spawn", 1)
是玩家出身时所要执行 ...
kk阿朗 发表于 2009-6-27 08:31 http://www.dt-club.net/forum/images/common/back.gif

KK 谢谢你的回答,因为作者帮我写这个插件,他也困在这个问题上,现在只能做到每局卡玩家7秒,不知道怎么做到玩家首局卡7秒。KK能否帮忙修改下插件? 谢谢 我不会写插件.:lol

此插件是为了防暴力作弊器缩写,因为就算玩家不挂载SXE进入服务器,服务器默认会给该玩家至少7秒时间走动时间,这7秒已经跟致命了,呵呵. 足以杀光服务器里的人.
页: [1]
查看完整版本: 想找一个玩家进入服务器第一局首局固定7秒,其他局不限制