Project1

标题: 如何使用脚本来进行某个地图事件的设置 [打印本页]

作者: 近猪者胖    时间: 2007-7-27 18:59
提示: 作者被禁止或删除 内容自动屏蔽
作者: 近猪者胖    时间: 2007-7-27 18:59
提示: 作者被禁止或删除 内容自动屏蔽
作者: 精灵使者    时间: 2007-7-27 19:17
标题不规范。请在标题上明确注明问题。
谢谢合作。
作者: 柳柳    时间: 2007-7-27 21:49
以下引用近猪者胖于2007-7-27 10:59:47的发言:


本贴悬赏额度如下:VIP:0   积分:100   好人卡:1
rmxp中设置了一个地图事件

我通过那个事件页面,调用外部dll的函数,并加入循环以及条件分歧,但是执行几次之后总是崩。。。。
不过我通过脚本写出来,直接在脚本的最前面加入,执行n次也没有问题。(可以确定的是dll肯定没有问题)
忘记说了,在事件编辑器中,我调用dll的脚本语言分成了四段,因为脚本不能超过12行。。。

大致流程是这样的:

loop do
调用dll的一系列函数,由于长度受限,分成了4段脚本。
得到一个参数
if 参数满足一个条件
break
elseif 参数满足另一个条件
输出一句话
else
输出另一句话
end

我把这段程序放到脚本编辑器的最前面,这样的时候是没有问题的,可以一直执行不崩溃。
但是同样的流程在事件编辑页中,通过加入条件分歧以及循环,中断来执行,则总是崩溃。
怎么回事呢?如何解决?
希望高手们不吝赐教。


彩色字很可能就是关键。因为他是分段执行的,也就是当执行第一段的时候,脚本并不会知道你还打算给他第二段,所以在第一段如果不够完整缺少end什么的,直接就出错了。

解决方法有几种简单的:

1、标准方法:把这个过程写成一个函数,在F11那个脚本里面装载这个函数,然后事件中的脚本仅仅调用这个函数就行了。

2、换个修改过的RMXP,能够多输入几行脚本。我自己用的:http://rpg.blue/upload_program/files/RMXP_Hacked EXE.rar

这个能在事件输入40行脚本,不过你得先在脚本编辑器输入好然后粘贴过来。如果框还不够大可以自己用任何一款汉化破解工具继续增大这个框(自己找一下,我忘了以前用的什么软件了)。

3、修改事件,不要每行执行,而是当下一个事件不是“脚本”的时候才执行,如果下一个事件是“脚本”则把下一个事件的语句加到当前脚本。这个可以修改Interpreter 7的def command_355,也可以直接参考http://rpg.blue/web/htm/news213.htm

这一种解决方法可以和第2种结合使用。



如果你在F11那里能执行通过,那么现在这里应该问题不大了。如果还没解决,欢迎上传工程,解决了请自己认可答案,呵呵~{/cy}
作者: 柳柳    时间: 2007-7-28 00:42
我想应该是1.02版。RM用到一定程度,根本就对版本号什么的没有概念了。因为不同版本,比如1.03和1.02,其更改的地方可以说完全没有。如果只是为了更好支持vista,那么本来也可以使用XP兼容模式打开程序的。

像猫子等人用的还是1.00版。我想可能只有新手才会注意版本号吧,因为不知道这个版本号代表什么意义。实际上就是根本没什么意义。
作者: 近猪者胖    时间: 2007-7-31 18:47
提示: 作者被禁止或删除 内容自动屏蔽




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1