积木GM论坛 发表于 2015-11-8 21:30:10

关于常见的例如回收脚本出现脚本死循环的处理办法

关于常见的例如回收脚本出现脚本死循环的处理办法

如M2报错信息提示:
[脚本死循环] NPCManage 位置:0(0:0) 命令:GOTO @封号分类 [脚本死循环] NPCManage 位置:0(0:0) 命令:GOTO @刷新 #CALL [\牛牛\变量数据\变量申明.txt] @斗牛私人变量 #CALL [\游戏登陆\登陆分类.txt] @登陆分类 #CALL [\游戏登陆\封号分类.txt] @封号分类 #CALL [\元宝捐款\元宝捐款数据.txt] @刷新 #CALL [\游戏登陆\禁止登陆.txt] @禁止登陆 BREAK

解决方法: 找到你的 Mir200\Envir\QuestDiary\游戏登陆\封号分类.txt Mir200\Envir\QuestDiary\元宝捐款\元宝捐款数据.txt 检查里面的 @封号分类 和 @刷新 特别是多看下goto 语句

一般是这个死循环 也就是goto来goto去都是这语句 修改D:\Mirserver\Mir200\!Setup.txt文件里的goto循环次数. ScriptGotoCountLimit=10 ;默认是10次,如果循环次数多的话把10改成,重启服务器。
相信开过传奇的朋友都会遇到个这样的问题,就是M2一直报错,但是脚本又没有错,导致正常的有关联的脚本都无法正常使用了,这个问题如何解决就好呢?
传奇引擎脚本死循环,我们很多朋友都有碰到过,以前我也有碰到过,还花了我大半天时间才找出原因来。
下面我们就来分析一下为什么会形成死循环,以及解决方法。 脚本死循环,指的是脚本的代码看起来没什么异常,
但是在游戏里会出现无法的解决方法 点击某些按钮的问题,引擎也会报错,下面我来谈一下解决脚本死循环的办法:


很多GM论坛或技术分享给出以下的解决方法:
D:/MirServer/Mir200/!setup.txt文件中查找:ScriptGotoCountLimi= 建议大家将“=”后面的数值设置为:10000-50000
其实从实际的测试及应用来看,此方法并不能够解决死循环问题。

正确的解决方法是在频繁使用goto语句(比如回收类型)的脚本中,将GOTO循环语句先进行一段跳转,再回到循环语句中,具体解决脚本示例如下:

[@战神回收-1]
#IF
#ACT
goto @战神回收
BREAK

[@战神回收]
#IF
checkitem 战神头盔 1
#ACT
take 战神头盔 1
goto @战神回收-1
break

#IF
checkitem 战神项链 1
#ACT
take 战神项链 1
INC M88 1
goto @战神回收-1
break

............

关键就在于红字显示的跳转语句的调整,各位新手或老手GM可以按此方法即可解决死循环问题。

lxoelgjvbnds 发表于 2015-11-9 00:31:27

看起来好像不错的样子

hjdfsdas 发表于 2015-11-9 02:01:39

大人,此事必有蹊跷!

672342fd0 发表于 2015-11-9 03:46:22

LZ帖子不给力,勉强给回复下吧

monye 发表于 2015-11-9 04:58:37

:lol很好~~

难受的新 发表于 2015-11-9 05:25:08

看起来不错

百思不得骑姐 发表于 2015-11-9 07:05:05

找到好贴不容易,我顶你了,谢了

fengider 发表于 2015-11-9 08:50:33

不知该说些什么。。。。。。就是谢谢

cocococo 发表于 2015-11-9 10:39:58

广告位,,坐下看看

xiaosage 发表于 2015-11-9 11:54:25

支持一下:lol
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 关于常见的例如回收脚本出现脚本死循环的处理办法