注意事项:
<匹配 简单锁,203号门>,匹配后面有个空格,不同分类间使用半角逗号隔开。
$shijian_kg、$shijian_pp、$item_qian,这三个变量都会在事件结束后被赋值nil(空值)
在一些比较特别的使用情况下,你可能需要先判断这些变量不是空值才使用。
=end
class Game_Battler < Game_BattlerBase
alias use_item_20180122 use_item
def use_item(item)
use_item_20180122(item)
$item_qian = item
if !$game_party.in_battle
x = $game_map.round_x_with_direction($game_player.x, $game_player.direction)
y = $game_map.round_y_with_direction($game_player.y, $game_player.direction)
shijian_20180122 = $game_map.events[$game_map.event_id_xy(x, y)]
if shijian_20180122 != nil && item.note.include?("<匹配 ") && shijian_20180122.instance_variable_get(:@event).name.include?("<匹配 ")
mingzi = shijian_20180122.instance_variable_get(:@event).name
if item.note.match(/<匹配 (\S*)>/)
$shijian_pp = $1.split(",")
if mingzi.match(/<匹配 (\S*)>/)
d_m = $1.split(",")
if $shijian_pp & d_m == []
$shijian_kg = false;SceneManager.goto(Scene_Map);shijian_20180122.start
else
if item.note.match(/<匹配成功消耗 (\d+)>/)
if rand < $1.to_i*0.01
$game_party.gain_item(item, -1)
end
end
$shijian_kg = true;SceneManager.goto(Scene_Map);shijian_20180122.start
end
end
end
else
$shijian_kg =nil
end
end
end#def
end#class
class Game_Interpreter
alias run_20180126 run
def run
run_20180126
$shijian_kg = nil;$shijian_pp = nil;$item_qian = nil #这里将3个变量给赋值空值
end
end
[/pre]
[/fold]