搜索
查看: 12164|回复: 32

含有"HLTV"的这句代码是表示什么意思啊?

[复制链接]
发表于 2007-11-28 13:02:36 | 显示全部楼层 |阅读模式 来自 中国–甘肃–兰州
我发现了一个问题,就是无论哪个插件,如果源代码里有下面这句代码的话,都只能在CS1.6里运行,对CS1.5根本就没有任何作用,一旦使用在CS1.5里,控制台就会报错:
register_event( "HLTV" , "EVENT_NewRound" , "a" , "1=0" , "2=0" );
[AMXX] Inavailable event name "HLTV" (即无效的HLTV事件)
究竟含有HLTV这句代码是什么意思啊?是表示开局时的事件吗?为什么这句代码不支持CS1.5呢?
register_event( "DeathMsg" , "on_DeathMsg" , "a" );
register_event( "CurWeapon" , "on_CurWeapon" , "be" , "1=1" );
register_event( "HideWeapon" , "on_CurWeapon" , "b" );
register_event( "ResetHUD" , "on_ResetHud" , "b" );
register_event( "TextMsg" , "on_GameRestart" , "a" , 2&#Game_will_restart_in" );

register_event( "HLTV" , "EVENT_NewRound" , "a" , "1=0" , "2=0" );
发表于 2007-11-30 22:38:13 | 显示全部楼层 来自 中国–广东–中山

回复: 含有"HLTV"的这句代码是表示什么意思啊?

AMXX维基百科上面关于HLTV的条目:
HLTV
Note: No Information available for this message.

Note: On new round is fired with both arguments equal to 0.

Name: HLTV
Structure:
byte ClientID
byte Unknown

Is this helpful?
:D
回复

使用道具 举报

 楼主| 发表于 2007-12-1 16:12:59 | 显示全部楼层 来自 中国–甘肃–兰州

回复: 含有"HLTV"的这句代码是表示什么意思啊?

Hmmm... What does it mean? 哈,"apocalyptic"是"世界末日"的意思吧?

好了,言归正传,apocalyptic楼主,你说能不能用其它代码来替换它呢?主要是要确保能在CS1.5里运行.就因为这一句代码没有解决,却导致了整个War3FT3.0_RC8插件无法完美支持CS1.5......:sweat:

我试过把那句代码改成以下的三种形式(去掉了"HLTV"),但都失败了~~~
1.register_logevent( "EVENT_NewRound" ,2 , "0=World triggered" , "1=Round_Start" );
2.register_event( "RoundState" , "EVENT_EndRound" , "a" , "1=3" , "1=4");
3.register_event( "TextMsg" , "EVENT_NewRound" , "a" , "1=0" , "2=0" );
解决War3FT3.0_RC8无法在CS1.5里运行的方法:
http://www.dt-club.net/forum/thread/70/37281.htm
回复

使用道具 举报

发表于 2007-12-6 12:23:44 | 显示全部楼层 来自 中国–广东–惠州

回复: 含有"HLTV"的这句代码是表示什么意思啊?

试下
  1. register_event("ResetHUD", "eventResetHud", "be")
复制代码
  1. register_event("RoundTime", "eventStartRound", "bc")
复制代码
回复

使用道具 举报

 楼主| 发表于 2007-12-6 20:02:14 | 显示全部楼层 来自 中国–甘肃–兰州

回复: 含有"HLTV"的这句代码是表示什么意思啊?

zwfgdlc楼主,我按照你的代码修改了,但没能测试成功,不过还是要谢谢你的热心帮忙.

控制台出现了以下错误信息:
L 12/06/2007 - 19:50:28: Function "eventStartRound" was not found
L 12/06/2007 - 19:50:28: [AMXX] Displaying debug trace (plugin "war3ft.amxx")
L 12/06/2007 - 19:50:28: [AMXX] Run time error 19: function not found
L 12/06/2007 - 19:50:28: [AMXX] [0] war3ft.sma:: plugin_init (line 170)
L 12/06/2007 - 19:50:30: Invalid CVAR pointer
L 12/06/2007 - 19:50:30: [AMXX] Displaying debug trace (plugin "war3ft.amxx")
L 12/06/2007 - 19:50:30: [AMXX] Run time error 10: native error (native "log_amx")
L 12/06/2007 - 19:50:30: [AMXX] [0] war3ft.sma::client_connect (line 358)
L 12/06/2007 - 19:50:34: Invalid CVAR pointer
L 12/06/2007 - 19:50:34: [AMXX] Displaying debug trace (plugin "war3ft.amxx")
L 12/06/2007 - 19:50:34: [AMXX] Run time error 10: native error (native "log_amx")
L 12/06/2007 - 19:50:34: [AMXX] [0] db_common.inl:: DB_FetchUniqueID (line 302)
L 12/06/2007 - 19:50:34: [AMXX] [1] war3ft.sma::client_putinserver (line 304)
L 12/06/2007 - 19:50:38: Invalid CVAR pointer
L 12/06/2007 - 19:50:38: [AMXX] Displaying debug trace (plugin "war3ft.amxx")
L 12/06/2007 - 19:50:38: [AMXX] Run time error 10: native error (native "log_amx")
L 12/06/2007 - 19:50:38: [AMXX] [0] events.inl::EVENT_PlayerInitialSpawn (line 361)
L 12/06/2007 - 19:50:38: [AMXX] [1] events.inl::on_ResetHud (line 334)
L 12/06/2007 - 19:51:13: Invalid CVAR pointer
L 12/06/2007 - 19:51:13: [AMXX] Displaying debug trace (plugin "war3ft.amxx")
L 12/06/2007 - 19:51:13: [AMXX] Run time error 10: native error (native "log_amx")
L 12/06/2007 - 19:51:13: [AMXX] [0] clientCommands.inl::CMD_Handle (line 420)
L 12/06/2007 - 19:51:13: [AMXX] [1] clientCommands.inl::cmd_Say (line 267)
L 12/06/2007 - 19:51:21: Invalid CVAR pointer

我把war3ft.sma源代码上传一下,麻烦zwfgdlc楼主再看看是什么原因.

本帖子中包含更多资源

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

×
回复

使用道具 举报

发表于 2007-12-6 20:51:03 | 显示全部楼层 来自 中国–广东–惠州–惠城区

回复: 含有"HLTV"的这句代码是表示什么意思啊?

你注册了HLTV事件,但却没有事件触发的函数.
  1. Function "eventStartRound" was not found
复制代码
应该这样
[php]
register_event( "HLTV" , "EVENT_NewRound" , "a" , "1=0" , "2=0" );
//加上下面这几行
public EVENT_NewRound()
{
...............
}
[/php]

你发的源码,跟你发的出错日志对不上
回复

使用道具 举报

发表于 2007-12-7 10:28:09 | 显示全部楼层 来自 中国–广东–中山

回复: 含有"HLTV"的这句代码是表示什么意思啊?

我只是觉得有点不太对劲。HLTV是一个HL游戏事件,理论上说所有的HL系列游戏都有这个事件,怎么CS1.5就没有呢?
我没有编写过1.5的插件,这方面不太清楚。在1.6里面,HLTV事件代表回合开始(不是玩家出生),即使服务器里面没有玩家,每个回合开始的时候都有一个HLTV事件。
我前面提到的“On new round is fired with both arguments equal to 0.”意思是“开局的时候两个参数等于0”或者“两个参数为0的时候,这个事件发生在开局时”(我虽然能读懂英文的意思,但是还不能准确地用中文翻译出来,sorry!)
至于另一位朋友提及的ResetHUD事件(重设HUD信息),我通常用于判断玩家切换武器。而RoundTime则表示游戏界面上的回合时间被重设。

更详细的信息,请参阅:
http://wiki.amxmodx.org/index.php/Half-Life_1_Game_Events
回复

使用道具 举报

 楼主| 发表于 2007-12-7 14:42:51 | 显示全部楼层 来自 中国–甘肃–兰州

回复: 含有"HLTV"的这句代码是表示什么意思啊?

你注册了HLTV事件,但却没有事件触发的函数.

register_event( "HLTV" , "EVENT_NewRound" , "a" , "1=0" , "2=0" );
//加上下面这几行
public EVENT_NewRound()
{
...............
}
魔兽插件v3.0的源代码里其实也只有一句含有"HLTV"的代码,同时里面也并没有关于EVENT_NewRound事件的触发函数,却在CS1.6里运行良好.但为何一用到CS1.5里就出问题了呢?着实让人费解啊......
回复

使用道具 举报

发表于 2007-12-7 22:14:37 | 显示全部楼层 来自 中国–上海–上海–松江区

回复: 含有"HLTV"的这句代码是表示什么意思啊?

帮忙顶,如果HLTV不解决,有许多类似插件不能用于CS1.5。
回复

使用道具 举报

发表于 2007-12-8 07:50:17 | 显示全部楼层 来自 中国–福建–漳州

回复: 含有"HLTV"的这句代码是表示什么意思啊?

HLTV这个事件,参数1和2都为0,一般用于判断“新的一局”,即冻结时间算在内,但CS1.5确实没有这个事件,所以,如果不是特别需要把冻结时间也算在内的话,可以使用Round_Start(一局开始,指冻结时间结束后开始)。
回复

使用道具 举报

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

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