对于删除触发器后读档不能的解决方案

Posted by 小白 on July 3, 2016

应该有不少人有过经历,删除了一个触发器后,发现不能读旧的存档了,但是可以正常地开新档。 读档时,会弹出这样的窗口: 我翻译一下错误信息。加载错误:文件中的简单触发器有110个,超出了109.

这句话实际想表达的意思是,上次读档时simple_triggers.txt中有110个简单触发器,存档对此做了记录;但这次读档时发现同一文件中只有109个简单触发器,因此无法读档。也就是说因为某种原因少了1个或更多个简单触发器。(奇怪的是,我们如果新增触发器,则不会报错,原因得问骑砍的开发人员了……)

类似地,triggers.txt也会出现这种问题,因为同是触发器文件嘛,而且魔球能读取的触发器就是这个文件里的,所以因为这个文件出错的可能性更大。

至于我们如何知道当前触发器的数量,这很简单,打开<pre>simple_triggers.txt(triggers.txt),看最前面的内容: simple_triggers_file version 1 【109】 -6.000000 0 </pre> 这里的109也就是简单触发器的数量。

那么接下来就是解决方案

第一种,还原相应的文件,当然你的修改(或者是补丁)也跟着还原了;

第二种,是一种投机的方法,但是很有效。上面说到,出错的原因是因为当前触发器的数量少于存档中记忆的数量,换句话说只是数量对不上号,那我们加一个触发器不就行了,新加的触发器内容怎样并无关系,只是为了凑数。

下面给出方法:

首先我们看看弹出给出的信息,究竟是simple_triggers造成错误还是triggers造成错误,这个一定要搞清楚。

1.如果是simple_triggers,则首先将该文件第二行的数字加1(错误信息中提示差几个就加几)!!!然后换行(或者在文件末尾),将如下代码复制粘贴进去:

24.000000 0

如果差多个,就粘贴同样的代码多次即可。这里的代码纯粹凑数,意思是每0小时执行一次,并且什么也不做。当然,你也可以写一个有实际意义的触发器,这个无所谓的。

2.如果是triggers,类似地,首先将该文件第二行的数字加1(错误信息中提示差几个就加几)!!!然后换行(或者在文件末尾),将如下代码复制粘贴进去:

24.000000 0.000000 0.000000 0 0

或者使用魔球,在触发器那里随便新创建一个也是一样的,因为魔球触发器功能那显示的即是triggers.txt里的内容。