| 
 
| 赞 | 1 |  
| VIP | 6 |  
| 好人卡 | 2 |  
| 积分 | 1 |  
| 经验 | 10779 |  
| 最后登录 | 2020-5-5 |  
| 在线时间 | 386 小时 |  
 Lv1.梦旅人 
	梦石0 星屑60 在线时间386 小时注册时间2006-12-10帖子231 | 
| 
本帖最后由 derdfyga 于 2011-10-8 00:16 编辑
x
加入我们,或者,欢迎回来。您需要 登录 才可以下载或查看,没有帐号?注册会员  
 过程比较简单,改动的地方不大.
 1:在数据库添加三个戒指,名字分别为复活戒指\护身戒指\复制戒指,也可以随便取名.
 2:在class Game_Actor、class Game_Enemy和class Game_Battler里各添加一个  def mofa_s?(type=0,itemid=1) 。
 在class Game_Actor257行处插入:特殊装备ID必须与数据库的戒指ID对上号,不然效果会混淆。
 在class Game_Enemy96行插入复制代码  #--------------------------------------------------------------------------
  # ● 特殊装备特效
  #type:       装备类型0为道具,1为防具,2为武器,
  #itemid:     装备ID
  #--------------------------------------------------------------------------
  def mofa_s?(type=0,itemid=1) ##
#    @m=type
#    @n=itemid
    case itemid
    when 33 #特殊装备ID
      if type==1 #0为道具,1为防具,2为武器,
        for armor in armors.compact 
          return true if armor.name=="复制戒指" 
        end
      end
    when 31
      if type==1 #0为道具,1为防具,2为武器,
        for armor in armors.compact 
          return true if armor.name=="护身戒指" 
        end
      end
    when 32
      if type==1 #0为道具,1为防具,2为武器,
        for armor in armors.compact 
          return true if armor.name=="复活戒指" 
        end
      end
    end
    return false
  end
在class Game_Battler196左右行插入(一定要插入在前一个方法完成之后。)复制代码  #--------------------------------------------------------------------------
  # ● 特殊装备特效
  #type:       装备类型0为道具,1为防具,2为武器,
  #itemid:     装备ID
  #--------------------------------------------------------------------------
  def mofa_s?(type=0,itemid=1) ##
    return false
  end
de]复制代码  #--------------------------------------------------------------------------
  # ● 特殊装备特效
  #type:       装备类型0为道具,1为防具,2为武器,
  #itemid:     装备ID
  #--------------------------------------------------------------------------
  def mofa_s?(type=0,itemid=1) ##
    return mofa_s?(type,itemid)
  end
3:上面弄好了,则开始弄它的效果。
首先是复制戒指效果,在class Game_Battler 的  def make_obj_damage_value(user, obj)当中damage = obj.base_damage                        之后插入。
[/co[code]    ###########复制戒指偷学敌人的特技.
    if self.mofa_s?(1,33)  #参数1为防具,33为复制戒指的ID 
      self.learn_skill(obj.id) and p"偷学到怪物特技:#{obj.name}" unless rand(100)>=30 and self.skill_learn?(obj.id)
    end      
     ##########
注:p 为复制怪物魔法成功后提示,此提示很直接,若是不想用这个方法,则需要加一个标志,然后在战斗函数中显示出来。复活戒指就是用的这种显示方法,可以参照。
 若是只定义一个复制戒指,就算完成了。OK了。
 
 4:护身戒指和复活戒指效果,在def execute_damage(user)函数中找到self.hp -= @hp_damage,然后将下面的代码替换它就行了。
 复制代码    ###########护身戒指效果
    if self.mofa_s?(1,31)
      if @hp_damage>self.mp
        @hp_damage-=self.mp
        self.mp=0
        self.hp -= @hp_damage
      else
        self.mp -= @hp_damage
      end
    else
      self.hp -= @hp_damage
    end
    self.mp -= @mp_damage
    
    ###########复活戒指效果
    if self.mofa_s?(1,32) and rand(100)>=70
      self.hp = self.maxhp if self.hp <= 0
      @huhuo_x=true
    end
注:所有戒指效果完成。
若是复活戒指要有提示的话,则在class Game_Battler中第31行添加 attr_reader   :huhuo_x
然后在80行左右添加@huhuo_x=false。
最后在class Scene_Battle中  def display_hp_damage(target, obj = nil)的最末尾,也就是wait(30)之后添加:
工程 下载:复制代码    #########复活戒指
    if target.huhuo_x
      text = "复活戒指发挥奇效!"
      $game_message.texts.push(text)
      wait_for_message
    end
 特殊戒指的制作.rar
(239.66 KB, 下载次数: 621) 
 | 
 |