ttbs123 发表于 2008-10-29 20:25:42

请问如何判断回合时间结束

例如一回合3分钟,当时间到0:00时,怎么获取这个事件呢?
本来正常结束是警察胜利,我想获取这个事件,改成全部警察和匪徒都处死。

apocalyptic 发表于 2008-10-29 20:42:33

回复: 请问如何判断回合时间结束

开局的时候开始倒数,时间为静止时间+回合时间,倒数完毕之后如果还没有结束,就把所有活着的人处死。但要注意如果回合提前结束就要提前结束倒数。

ttbs123 发表于 2008-10-29 21:10:51

回复: 请问如何判断回合时间结束

Post by apocalyptic
开局的时候开始倒数,时间为静止时间+回合时间,倒数完毕之后如果还没有结束,就把所有活着的人处死。但要注意如果回合提前结束就要提前结束倒数。
这个我之前试过,但出现不准的情况,而且更糟糕的是一开局会自动处死所有人的bug
后来我提取丧尸插件的判断事件,但不知道为什么不起作用
register_message(get_user_msgid("TextMsg"),"msg_textmsg")

public msg_textmsg(msgid, dest, id)
{
if(get_msg_arg_int(1) != 4)
return PLUGIN_CONTINUE

static txtmsg
get_msg_arg_string(2, txtmsg, 24)

if(equal(txtmsg, "Game_bomb_drop"))
return PLUGIN_HANDLED
else if(equal(txtmsg, "Terrorists_Win"))
else if(equal(txtmsg, "CTs_Win"))
else if(equal(txtmsg, "Target_Saved"))
{
new players, playersnum
get_players(players,playersnum,"a")
for(new a = 0; a < playersnum; ++a) user_kill(players)
if (playersnum) {
   set_hudmessage(245, 229, 9, -1.0, -1.0, 0, 6.0, 3.0, 1.1, 0.0, 3)
   show_hudmessage(0, "时间结束,所有人必需死亡")
}
}

return PLUGIN_CONTINUE
}

Rulzy 发表于 2008-10-30 01:31:40

回复: 请问如何判断回合时间结束

#include <amxmodx>
#include <amxmisc>

public plugin_init()
{
    register_plugin("Kill on Round End", "1.0", "Rulzy");
    register_logevent("eEndRound", 2, "0=World triggered", "1=Round_End");
}

public eEndRound()
{
    new maxplayers = get_maxplayers();
    for(new i=1;i<=maxplayers;i++)
    {
      if(!is_user_connected(i)) continue;
      user_kill(i);
    }
    set_hudmessage(245, 229, 9, -1.0, -1.0, 0, 6.0, 3.0, 1.1, 0.0, 3);
    show_hudmessage(0, "时间结束,所有人必须死亡");
}

ttbs123 发表于 2008-10-30 01:43:43

回复: 请问如何判断回合时间结束

谢谢Rulzy大哥,我明天试试。
页: [1]
查看完整版本: 请问如何判断回合时间结束