Project1

标题: 持有道具 y 时习得技能 x的脚本改造求指导 [打印本页]

作者: 负零    时间: 2015-2-6 16:10
标题: 持有道具 y 时习得技能 x的脚本改造求指导
我曾尝试过新增一个参数z,实现需同时持有两个指定物品才能学会技能的效果。因为对正则表达以及对备注方法的不了解,导致效果没有办法实现,特此请教,谢谢。以下是脚本
#============================================================================
#  〇 require Taroxd基础设置
#     使用方法:在角色处备注 <learn x by y>,表示当持有道具 y 时习得技能 x
#============================================================================

class RPG::Actor < RPG::BaseItem
  #--------------------------------------------------------------------------
  # ● 获取由 [技能id, 物品] 构成的数组
  #--------------------------------------------------------------------------
  def learn_skill_by_item
    @learn_skill_by_item ||=
    @note.scan(/<learn\s*(\d+)\s*by\s*(\d+)>/i).map {|(x, y)|
      [x.to_i, $data_items[y.to_i]] }
  end
end

class Game_Actor < Game_Battler
  #--------------------------------------------------------------------------
  # ● 获取添加的技能
  #--------------------------------------------------------------------------
  def_with :added_skills do |old|
    actor.learn_skill_by_item.each {|(skill_id, item)|
      old.push(skill_id) if $game_party.has_item?(item) }
    old
  end
end
作者: taroxd    时间: 2015-2-6 16:24
用 \s* 代替空格,用 (\d+) 代替数字,然后爱怎么改怎么改




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