命令位置问题。
看了一些插件,register_cvar命令都是在public plugin_init()函数里面。可不可以在其他函数里包含register_cvar ?
比如如下
public event_say(id) {
new text, cmd, url
read_args(text,63)
remove_quotes(text)
parse(text, cmd, 31, url, 31)
if(equal(cmd, "/web"))
web_browser(id,url)
if(equal(cmd, "/sxe")) {
register_cvar("amx_web_url", "http://page1")
web_browser(id,"")
}
if(equal(cmd, "/tools")) {
register_cvar("amx_web_url", "http://page2")
web_browser(id,"") }
return PLUGIN_CONTINUE
}
回复: 命令位置问题。
注册一个CVAR参数,其语法为:register_cvar("参数名", "参数值")只有还没有注册过这个参数时,注册此参数时,其值才为后面的参数值;如果此参数已经存在,则其值不会改变。所以,像你那样根本就是不合理的。你应该写成类似于这样:
public plugin_init()
{
....
register_cvar("amx_web_url", "http://page1")
....
}
public event_say(id) {
new text, cmd, url
read_args(text,63)
remove_quotes(text)
parse(text, cmd, 31, url, 31)
if(equal(cmd, "/web"))
web_browser(id,url)
if(equal(cmd, "/sxe"))
{
set_cvar_string("amx_web_url", "http://page1")
web_browser(id,"")
}
if(equal(cmd, "/tools")) {
set_cvar_string("amx_web_url", "http://page2")
web_browser(id,"")
}
return PLUGIN_CONTINUE
}
页:
[1]