求在规定的时间自动转向预定服插件
现用插件 测试达不到要求代码如下
#include <amxmodx>
#include <amxmisc>
#include <string>
public plugin_init()
{
set_task(59.0, "Get_Thetime", 987123, "", 0, "b")
}
public Get_Thetime()
{
new TheTime
get_time("%H:%M", TheTime, 8)
if ( equal(TheTime, "19:15") ) 规定时间
{
new playerList,pnum
get_players(playerList, pnum)
for ( new i=0; i<pnum; i++ )
{
client_cmd(playerList, "connect 192.168.0.101:27111")
}
}
}
定时转服时间 测试能转服 但是只转在服内的人员才能转而且必须是 当时服务器刷新 或者换图才会激活转服指令 而且 有效时间还是在规定时间一分钟内过了规定时间后 任何连接的人都不会在转服
希望有懂的帮忙修改一下
改成为 比如转服执行时间 开始时间为 20:00 到23:00 结束 这个时间内 不管服内人员 还是服外人员都转到特定服去 转服时间结束后保持正常通道就可以了
最好设置时间 参数可在 amxx.cfg 里设置 我因为手里只有这个这个源码只是作为参考 如果有效果比这更好的 请分享一下 没有的也可在此基础上修改只有能达到目的即可
zhouqundao 发表于 2023-4-14 18:54
register_cvar
这个参数还是不会用
试试吧。没本地测试,可能有点问题~ 分钟的你自己那源码里有案例
get_time后面那个照着改就行
至于增加CVAR,你可以论坛找些插件源码案例看看,很简单的 2013年就屏蔽了connect命令了,你这是活在2013年之前啊? 试试。。。
#include <amxmodx>
#include <amxmisc>
#include <string>
#define PLUGIN "时间转服"
#define VERSION "0.1"
#define AUTHOR "Sea"
public plugin_init()
{
register_plugin(PLUGIN,VERSION,AUTHOR)
}
public client_putinserver(id)
{
set_task(10.0, "ChangeConnect", 987123, "", 0, "b")
}
public client_connect(id)
{
new sTimeH
get_time("%H",sTimeH,3)
new TimeH = str_to_num(sTimeH)
if (TimeH > 20 && TimeH <23)
{
client_cmd(id, "connect 192.168.0.101:27111")
}
return PLUGIN_CONTINUE;
}
public client_disconnected(id)
{
remove_task(id)
}
public ChangeConnect()
{
new sTimeH
get_time("%H",sTimeH,3)
new TimeH = str_to_num(sTimeH)
if (TimeH > 20 && TimeH<23)
{
set_task(60.0, "Get_Thetime", 987123, "", 0, "b")
}
}
public Get_Thetime()
{
for (new i = 1; i <= get_maxplayers(); i++)
{
client_cmd(get_maxplayers(), "connect 192.168.0.101:27111")
}
} 本帖最后由 zhouqundao 于 2023-4-8 17:21 编辑
Sea 发表于 2023-4-7 23:06
试试。。。
写到文本里 但是无法转成插件
不知道是我操作的问题还是 编码的问题 我在可转的源码sma文本里复制粘贴可转插件 但是 在游戏里没有任何反映在规定的时间内不管是在游戏里 还是 重进测试连接 都不会转服 如果你测试过请把你的编码的文本上传一下好吗 在有就是时间设置不一定非要在源码文本里写着 可以在 把时间设定 参数可在 amxx.cfg 里设置 是最好的了非常感谢 2150403846 方便的话 可以加我QQ2150403846 有偿 本帖最后由 Sea 于 2023-4-9 22:10 编辑
zhouqundao 发表于 2023-4-8 17:20
写到文本里 但是无法转成插件
正版的控制台早已经屏蔽了非本地connect, bind等命令了~盗版的不清楚、、、
两个AMXMODX版本
一个1.8.2.0
一个1.9.0.5294
没本地测试过。。。。。 本帖最后由 zhouqundao 于 2023-4-10 14:56 编辑
Sea 发表于 2023-4-9 22:06
正版的控制台早已经屏蔽了非本地connect, bind等命令了~盗版的不清楚、、、
我在你给的源码种编译成插件了。本地测试可以用 说明一下我是cs1.5 测试的 也是要在1.5 服里用的 但是转服时间不知道 怎么回事 比如20点开始设置的 在服里 会延迟半个小时后才会转服结束时间 是正常结束时间不执行转服的!
源码里 if (TimeH > 20 && TimeH <23)
在本地测试的时候能用但是有点小问题 20点整不执行转服到 20:30 才会转服 有时候 到20:40才会转服这是什么情况?
还有能不能在 amxx.cfg 里设置转服时间参数
比如这样就方便多了
使用的是这个源码
编译成功的
Sea 发表于 2023-4-7 23:06
试试。。。
可以把源码 执行时间参数在amxx.cfg里面 设置吗 这样就可以方便很多 不用 在想做修改的时候要在源码里改而且这个源码里的 时间格式整点修改能看懂 分钟格式 是什么样的呢比如修改成 20:21该如何改动? 谢谢了
页:
[1]
2