搜索
查看: 2152|回复: 17

求在规定的时间自动转向预定服插件

[复制链接]
发表于 2023-4-4 20:00:41 | 显示全部楼层 |阅读模式 来自 浙江嘉兴
现用插件 测试达不到要求

代码如下

#include <amxmodx>
#include <amxmisc>
#include <string>

public plugin_init()
{
        set_task(59.0, "Get_Thetime", 987123, "", 0, "b")
}

public Get_Thetime()
{
        new TheTime[9]
        get_time("%H:%M", TheTime, 8)
        if ( equal(TheTime, "19:15") )    规定时间
        {
                  new playerList[32],pnum
                  get_players(playerList, pnum)
                  for ( new i=0; i<pnum; i++ )
                  {
                           client_cmd(playerList[i], "connect 192.168.0.101:27111")
                 }
        }
}  


定时转服时间    测试能转服 但是只转在服内的人员才能转  而且必须是 当时服务器刷新 或者换图  才会激活转服指令   而且 有效时间还是在规定时间一分钟内  过了规定时间后 任何连接的人都不会在转服  



希望有懂的  帮忙修改一下     
  
改成为   比如  转服执行时间 开始时间为 20:00    到  23:00   结束   这个时间内 不管服内人员 还是服外人员  都转到特定服去    转服时间结束后  保持正常通道就可以了


最好设置时间   参数可在 amxx.cfg 里设置    我因为手里只有这个  这个源码只是作为参考   如果有效果比这更好的   请分享一下    没有的也可在此基础上修改  只有能达到目的即可  

发表于 2023-4-14 22:57:20 | 显示全部楼层 来自 广东湛江
zhouqundao 发表于 2023-4-14 18:54
register_cvar

这个参数  还是不会用  



试试吧。没本地测试,可能有点问题~

本帖子中包含更多资源

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

×
回复 0 1

使用道具 举报

发表于 2023-4-14 12:55:32 | 显示全部楼层 来自 北美地区
分钟的你自己那源码里有案例
get_time后面那个照着改就行

至于增加CVAR,你可以论坛找些插件源码案例看看,很简单的
回复 1 0

使用道具 举报

发表于 2023-4-7 23:06:31 | 显示全部楼层 来自 北美地区
试试。。。

  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <string>

  4. #define PLUGIN    "时间转服"
  5. #define VERSION   "0.1"
  6. #define AUTHOR    "Sea"

  7. public plugin_init()
  8. {
  9.         register_plugin(PLUGIN,VERSION,AUTHOR)
  10. }

  11. public client_putinserver(id)
  12. {
  13.         set_task(10.0, "ChangeConnect", 987123, "", 0, "b")
  14. }

  15. public client_connect(id)
  16. {
  17.         new sTimeH[4]
  18.         get_time("%H",sTimeH,3)
  19.         new TimeH = str_to_num(sTimeH)
  20.         if (TimeH > 20 && TimeH <23)
  21.         {
  22.                 client_cmd(id, "connect 192.168.0.101:27111")
  23.         }
  24.         return PLUGIN_CONTINUE;
  25. }

  26. public client_disconnected(id)
  27. {
  28.           remove_task(id)
  29. }

  30. public ChangeConnect()
  31. {
  32.         new sTimeH[4]
  33.         get_time("%H",sTimeH,3)
  34.         new TimeH = str_to_num(sTimeH)
  35.         if (TimeH > 20 && TimeH<23)
  36.         {
  37.                 set_task(60.0, "Get_Thetime", 987123, "", 0, "b")
  38.         }
  39. }

  40. public Get_Thetime()
  41. {
  42.         for (new i = 1; i <= get_maxplayers(); i++)
  43.         {
  44.         client_cmd(get_maxplayers(), "connect 192.168.0.101:27111")
  45.         }
  46. }  
复制代码
回复 1 0

使用道具 举报

 楼主| 发表于 2023-4-8 17:20:40 | 显示全部楼层 来自 亚太地区
本帖最后由 zhouqundao 于 2023-4-8 17:21 编辑


写到文本里 但是无法转成插件





本帖子中包含更多资源

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

×
回复

使用道具 举报

 楼主| 发表于 2023-4-8 18:07:57 | 显示全部楼层 来自 浙江舟山
不知道是我操作的问题还是   编码的问题   我在可转的源码sma  文本里复制粘贴  可转插件   但是 在游戏里没有任何反映  在规定的时间内  不管是在游戏里 还是 重进测试连接 都不会转服    如果你测试过  请把你的编码的文本上传一下好吗     在有就是  时间设置不一定非要在源码文本里写着   可以在 把时间设定 参数可在 amxx.cfg 里设置   是最好的了  非常感谢
回复

使用道具 举报

 楼主| 发表于 2023-4-8 18:12:23 | 显示全部楼层 来自 浙江舟山
2150403846    方便的话 可以加我QQ  2150403846    有偿
回复

使用道具 举报

发表于 2023-4-9 18:09:39 | 显示全部楼层 来自 英国
2013年就屏蔽了connect命令了,你这是活在2013年之前啊?
回复

使用道具 举报

发表于 2023-4-9 22:06:55 | 显示全部楼层 来自 北美地区
本帖最后由 Sea 于 2023-4-9 22:10 编辑
zhouqundao 发表于 2023-4-8 17:20
写到文本里 但是无法转成插件


正版的控制台早已经屏蔽了非本地connect, bind等命令了~盗版的不清楚、、、




两个AMXMODX版本
一个1.8.2.0
一个1.9.0.5294


没本地测试过。。。。。

本帖子中包含更多资源

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

×
回复

使用道具 举报

 楼主| 发表于 2023-4-10 14:43:26 | 显示全部楼层 来自 亚太地区
本帖最后由 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 里设置  转服时间参数   


比如这样就方便多了







使用的是这个源码






编译成功的


本帖子中包含更多资源

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

×
回复

使用道具 举报

 楼主| 发表于 2023-4-11 15:13:03 | 显示全部楼层 来自 亚太地区

可以把源码 执行时间参数  在amxx.cfg  里面 设置吗   这样就可以  方便很多   不用 在想做修改的时候  要在源码里改  而且这个源码里的 时间格式  整点修改能看懂    分钟格式 是什么样的呢  比如修改成 20:21  该如何改动?   谢谢了
回复

使用道具 举报

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

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