Project1
标题:
关于使用脚本调用公用事件和用编辑器调用公用事件的区别
[打印本页]
作者:
zhangmdk
时间:
2012-12-10 22:02
标题:
关于使用脚本调用公用事件和用编辑器调用公用事件的区别
再次来请教大家了……
我在小幽的VX实用代码里找到 $game_temp.common_event_id = 编号 这个,是用脚本调用公用事件的方法。
但是现在有段脚本,用$game_temp.common_event_id = 25的方式调用25号公用事件,却没有执行,将脚本改为编辑器的调用公用事件功能一切正常。
事件里的调用代码如下:
$game_message.maxlineex = 8 #MSGBOSX用
$game_variables[521] = @event_id #取当前事件ID
$game_temp.common_event_id = 25 #当前事件名赋值变量520
$current_city_info = $c_db.assoc($game_variables[520]) #$current_city_info 信息数组赋值
复制代码
意思是用系统变量521存储当前事件ID,然后调用25号公用事件,事件的用途是读取系统变量521号ID的地图事件的名称,然后存入系统变量520供后面的功能使用。
之后利用系统变量520的事件名去一个二维数组中索引城市设定数据……
25号公用事件如下:
@event_id = $game_variables[521]
#p @event_id.to_s + "also is 16"
$game_variables[522] = $game_map.map.events[@event_id].name
#p $game_map.map.events[@event_id].name
if $game_map.map.events[@event_id].name[0] == 126 #当事件第一个字符为~ ASCII码为126
$game_variables[520] =
$game_map.map.events[@event_id].name[1,$game_map.map.events[@event_id].name.size-1]
else #否则直接赋值
$game_variables[520] = $game_map.map.events[@event_id].name
end
复制代码
可能和公用事件本身关系不大吧。
问题是为何这里会出现不执行公用事件的问题?我在其他地方使用这种方式调用都正常的说
或者说,这种脚本调用方式可能会有执行的延迟?
作者:
怪蜀黍
时间:
2012-12-11 18:23
事件过于繁忙,于是公共事件就不执行了。
看这个范例,故意造成事件页繁忙,导致公共事件1的脚本
p "公共事件"
复制代码
无法执行。
Project2.rar
(237.9 KB, 下载次数: 33)
2012-12-11 18:23 上传
点击文件名下载附件
作者:
zhangmdk
时间:
2012-12-11 22:49
protosssonny 发表于 2012-12-11 18:23
事件过于繁忙,于是公共事件就不执行了。
看这个范例,故意造成事件页繁忙,导致公共事件1的脚本无法执行。 ...
事件繁忙的意思是指事件页数较多?产生过多的并行判断了?
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1