插件中赋值遇到:错误
制作的插件给一个字符串赋值,是一个域名类型的"http://127.0.0.1"
但是遇到:符号就不行了,只能得到“http”后面的没有了,这个怎么处理呢? 给字符串赋值,一般都不使用a="xxxxx"的形式,而是用format(a, len, ....)或copy(a, len, src)的形式。 这个知道,关键是这个:的问题,没有这个符号,就都正确,有了它就不行了,到他这里就停止了 没有这样的问题啊。你是怎么写的? register_cvar("amx_http_server1_down", "http://127.0.0.1/cstrike/")
get_cvar_string("amx_http_server1_down", svr1_down, 127)
达到的svr1_down就是http 你在控制台输入 amx_http_server1_down 看一下,这个参数的值是多少。
#include <amxmodx>
#include <amxmisc>
#define PLUGIN_NAME "New Plug-In"
#define PLUGIN_VERSION "1.0"
#define PLUGIN_AUTHOR "Rulzy"
public plugin_init()
{
register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR);
register_cvar("amx_http_server1_down", "http://127.0.0.1/cstrike/")
new svr1_down;
get_cvar_string("amx_http_server1_down", svr1_down, 127)
server_print("amx_http_server1_down: %s", svr1_down);
}用上面的代码,能正常显示为:
amx_http_server1_down: http://127.0.0.1/cstrike/
请注意,register_cvar是注册一个cvar服务器参数,后面跟的值是初始值,如果这个参数已经存在,不管后面的值是多少,其值都不会变的。例如,最开始时,你这个插件上写的是“http”,你运行了服务器,然后你将插件修改为“http://127.0.0.1/cstrike/”,然后换图,则它的值仍然是http。除非你关掉服务器后再重启服务器,或者插件里用set_cvar_string,或在cfg或控制台修改此参数的值。 看了下,确实不是赋值的问题,是
server_cmd("sv_downloadurl %s",svr1_down);
执行这一句以后
发生的问题 原因找到了
server_cmd("sv_downloadurl %s",svr1_down);
%s这个需要有“”才可以! 嗯,应该用 server_cmd("sv_downloadurl ^"%s^"", svr1_down); 才对。 本帖最后由 Cr@zyTreE 于 2009-8-15 09:48 编辑
学习。。。。顶一下。。。。。。。。。。。。。。。。。。
----------------------------------------------------------------
client_cmd("setinfo name ^"%s^"", cnname);
页:
[1]