TC官方合作论坛

标题: 循环脚本,反复的开启关闭两个线程,会出错,请大神说... [打印本页]

作者: axunrun    时间: 2015-12-28 11:13
标题: 循环脚本,反复的开启关闭两个线程,会出错,请大神说...
使用循环脚本,反复开启与关闭两个线程,线程之间留下了足够的等待时间,运行十几次以后,会出现两个线程状态都是开启,但是其中一个不运行的情况,可以确认的是用变量做了识别开关,不会重复开启同一个线程,每个线程都是单次的启动然后关闭。请哪位大神诊断下这种情况。
循环里采用的是以下依次打开的方式
      case 0
            如果(线程获取状态(A)==假&&A开关==0)
                   A线程ID=线程开启("A","")
            结束
            等待(300)
            如果(线程获取状态(B)==假&&B开关==0)
                   B线程ID=线程开启("B","")
            结束

     case 1
        如果(A开关==1&&B开关==1)
            如果(线程获取状态(A线程ID)==真)
                线程关闭(A线程ID)
            结束
            等待(300)
            如果(线程获取状态(B线程ID)==真)
                线程关闭(B线程ID)
            结束
         结束


游戏脚本经常会遇到使用这种情况,特别回合制的游戏,多人组队,所以请哪位大神帮忙看看

作者: 332475520    时间: 2015-12-28 11:22
TC 线程有这个BUG
作者: axunrun    时间: 2015-12-28 12:17
332475520 发表于 2015-12-28 11:22
TC 线程有这个BUG

有什么其他办法可以解决么?
作者: 言术    时间: 2015-12-28 12:46
  1. case 0
  2. 如果(A线程ID==0)
  3.     A线程ID=线程开启("A","")
  4. 结束
  5. 等待(300)
  6. 如果(B线程ID==0)
  7.     B线程ID=线程开启("B","")
  8. 结束

  9. case 1
  10. 如果(A线程ID!=0)
  11.     线程关闭(A线程ID)
  12.     A线程ID=0
  13. 结束
  14. 等待(300)
  15. 如果(B线程ID!=0)
  16.     线程关闭(B线程ID)
  17.     B线程ID=0
  18. 结束
复制代码

作者: axunrun    时间: 2015-12-28 12:52
本帖最后由 axunrun 于 2015-12-28 12:53 编辑
言术 发表于 2015-12-28 12:46

兄台,我出的问题是反复开启关闭,十几次后其中一个会失效。。。。。这个能解决么?
作者: 言术    时间: 2015-12-28 12:56
axunrun 发表于 2015-12-28 12:52
兄台,我出的问题是反复开启关闭,十几次后其中一个会失效。。。。。这个能解决么? ...

我也不知道,你试试,只是换种写法而已
作者: axunrun    时间: 2015-12-28 12:57
言术 发表于 2015-12-28 12:56
我也不知道,你试试,只是换种写法而已

恩, 谢谢,我先试试
作者: 332475520    时间: 2015-12-28 15:20
没办法解决的  你用长时间了就知道 TC线程有这个BUG的  不是我们能解决的   只有换别的思路  不要循环开启关闭暂停恢复线程就行了




欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1