加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 魔法☆梅莉 于 2017-11-9 19:23 编辑
#这个脚本的功能是当主角行走到迷宫中的某个隐藏事件(不限于物品、暗道等)一定距离内时,发出语音提示。 #要提示的迷宫隐藏事件,在事件的名称前缀写作<Hid=n>,n不为零即可。 #ME文件夹下需要有一个名为remind的音乐文件,当然也可以自行指定。 #作者:梅林 #可以不标注作者随意拿去使用,需要注意的是可能与功能类似的脚本产生冲突。 #有问题或者意见、以及功能修改需求时,可以找我。 class Game_Event < Game_Character #设定提示距离(x+y),默认为20 REMIND_DISTANCE = 20 #设定调用的公共事件,默认20 REMIND_EVENT = 20 attr_accessor :style attr_accessor :action_reminded alias merlin20171109_initialize initialize def initialize(map_id, event) @style = 0 @action_reminded = 0 merlin20171109_initialize(map_id, event) end #取得事件的名字 def get_name return @event.name end #当需要提示时,播放语音,默认为remind,并执行公共事件 def hidden_remind if @style != 0 Audio.me_play("Audio/ME/remind", 100, 100) $game_temp.reserve_common_event(REMIND_EVENT) end end #判定某物体是否已被提示过,如已被提示过则不继续 def already_reminded? return @action_reminded == 1 end #若玩家距离指定事件距离以内则触发提示 def within_distance? sx = distance_x_from($game_player.x).abs sy = distance_y_from($game_player.y).abs sx + sy < REMIND_DISTANCE end #事件的更新 alias merlin20171109_update update def update if within_distance? if already_reminded? else hidden_remind @action_reminded = 1 end else end merlin20171109_update end end class Game_Map alias merlin20171109_distance_setup_events setup_events def setup_events merlin20171109_distance_setup_events for i in @map.events.keys @events[i].style = $1.to_i if @events[i].get_name =~ /<Hid\s*=\s*(\d+)\s*>/ end end end
#这个脚本的功能是当主角行走到迷宫中的某个隐藏事件(不限于物品、暗道等)一定距离内时,发出语音提示。
#要提示的迷宫隐藏事件,在事件的名称前缀写作<Hid=n>,n不为零即可。
#ME文件夹下需要有一个名为remind的音乐文件,当然也可以自行指定。
#作者:梅林
#可以不标注作者随意拿去使用,需要注意的是可能与功能类似的脚本产生冲突。
#有问题或者意见、以及功能修改需求时,可以找我。
class Game_Event < Game_Character
#设定提示距离(x+y),默认为20
REMIND_DISTANCE = 20
#设定调用的公共事件,默认20
REMIND_EVENT = 20
attr_accessor :style
attr_accessor :action_reminded
alias merlin20171109_initialize initialize
def initialize(map_id, event)
@style = 0
@action_reminded = 0
merlin20171109_initialize(map_id, event)
end
#取得事件的名字
def get_name
return @event.name
end
#当需要提示时,播放语音,默认为remind,并执行公共事件
def hidden_remind
if @style != 0
Audio.me_play("Audio/ME/remind", 100, 100)
$game_temp.reserve_common_event(REMIND_EVENT)
end
end
#判定某物体是否已被提示过,如已被提示过则不继续
def already_reminded?
return @action_reminded == 1
end
#若玩家距离指定事件距离以内则触发提示
def within_distance?
sx = distance_x_from($game_player.x).abs
sy = distance_y_from($game_player.y).abs
sx + sy < REMIND_DISTANCE
end
#事件的更新
alias merlin20171109_update update
def update
if within_distance?
if already_reminded?
else
hidden_remind
@action_reminded = 1
end
else
end
merlin20171109_update
end
end
class Game_Map
alias merlin20171109_distance_setup_events setup_events
def setup_events
merlin20171109_distance_setup_events
for i in @map.events.keys
@events[i].style = $1.to_i if @events[i].get_name =~ /<Hid\s*=\s*(\d+)\s*>/
end
end
end
|