cityhonghu 发表于 2009-9-20 22:44:26

回合结束的代码是?(已解决)

本帖最后由 cityhonghu 于 2009-9-21 23:02 编辑

如题,请问判断一局结束(包括埋包)的判断代码要如何写?

sakulekingz 发表于 2009-9-21 01:19:58

#include <amxmodx>
#include <amxmisc>

public plugin_init()
{
        register_plugin("end round", "1.0", "KIN");
        register_event("SendAudio", "end_round", "a", "2&%!MRAD_terwin", "2&%!MRAD_ctwin", "2&%!MRAD_rounddraw");
}

public end_round()
{
        client_print(0, print_center, "本局结束");
}

cityhonghu 发表于 2009-9-21 03:31:10

谢谢sakulekingz
2&%!这个正确吗?不是乱码?

jiunnwoei2629 发表于 2009-9-21 14:42:26

當然不是亂碼
"&" 表示包含關係,比如說"2&Bread",則表示若第二個參數中包含"Bread"則條件成立
"=" 表示完全相符,比如說"2=Bread",則表示第二個參數必須是"Bread",條件才成立
"!" 表示不包含,比如說"4!Bread",則表示第四個參數中不得包含"Bread",這樣條件才成立
">"和"<" 和代數意義相同,比如說"3>15"則表示第3個參數必須大於15才行

cityhonghu 发表于 2009-9-21 14:49:16

本帖最后由 cityhonghu 于 2009-9-21 14:53 编辑

jiunnwoei2629
谢谢你,讲得真详细。

顺便问一下 "SendAudio" "2&%!MRAD_terwin", "2&%!MRAD_ctwin", "2&%!MRAD_rounddraw" 分别代表什么?

sakulekingz 发表于 2009-9-21 15:19:23

"SendAudio" "2&%!MRAD_terwin", "2&%!MRAD_ctwin", "2&%!MRAD_rounddraw"其实这个可以直接从字面意思理解

cityhonghu 发表于 2009-9-21 15:34:12

"SendAudio" 这个有什么特殊意义吗 ?
我可以替换成我想要的文字吗?改为其他文字时,还能判断回合结束吗?

sakulekingz 发表于 2009-9-21 17:49:34

SendAudio是游戏的音频事件

Rulzy 发表于 2009-9-21 17:54:57

本帖最后由 Rulzy 于 2009-9-21 17:58 编辑

"SendAudio" 这个有什么特殊意义吗 ?
我可以替换成我想要的文字吗?改为其他文字时,还能判断回合结束吗?
cityhonghu 发表于 2009-9-21 15:34 http://www.dt-club.net/forum/images/common/back.gif当然不能随便换,包括后面的参数,都不能随便写的,事件是要根据实际情况的。就是因为CS在一局结束时,就会发送SendAudio这个消息,而这个消息的第二个参数就会包含“%!MRAD_terwin”、“%!MRAD_ctwin”、“%!MRAD_rounddraw”的其中一个,所以可以用这个事件来代表一局结束。也可以用下面这段代码:register_logevent("eEndRound", 2, "0=World triggered", "1=Round_End")这是因为一局结束时,CS就会记录这个日志。

jiunnwoei2629 发表于 2009-9-21 20:00:16

"SendAudio" 这个有什么特殊意义吗 ?
我可以替换成我想要的文字吗?改为其他文字时,还能判断回合结束吗?
cityhonghu 发表于 2009-9-21 15:34 http://www.dt-club.net/forum/images/common/back.gif

事件"SendAudio"顧名思義是向客戶端發送聲音的,而第二個參數則表示發送的聲音類型,比如說此例中的"%!MRAD_terwin"表示T方獲勝,還有"=%!MRAD_ctwin"(表示CT方勝利),"=%!MRAD_rounddraw"(表示平局)。
页: [1] 2
查看完整版本: 回合结束的代码是?(已解决)