设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
12
返回列表 发新帖
打印 上一主题 下一主题

如何制作需装备装备和持有物品才能使用技能

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
466 小时
注册时间
2006-2-25
帖子
1863
11
发表于 2008-7-2 02:52:31 | 只看该作者
  1. class Game_Actor < Game_Battler
  2.   
  3.   def skill_can_use?(skill)
  4.     super
  5.     if skill.element_set.include?(5)
  6.       for item in $game_party.items
  7.         return true if item.element_set.include?(5)
  8.       end
  9.       return false
  10.     end
  11.   end
  12.   
  13.   def attackable?
  14.     for weapon in self.weapons
  15.       if weapon.element_set.include?(5)
  16.         for item in $game_party.items
  17.           return true if item.element_set.include?(5)
  18.         end
  19.         return false
  20.       end
  21.     end
  22.     return true
  23.   end
  24.   
  25. end

  26. class Scene_Battle

  27.   def update_actor_command_selection
  28.     if Input.trigger?(Input::B)
  29.       Sound.play_cancel
  30.       prior_actor
  31.     elsif Input.trigger?(Input::C)
  32.       case @actor_command_window.index
  33.       when 0  # 攻击
  34.         if @active_battler.attackable?
  35.           Sound.play_decision
  36.           @active_battler.action.set_attack
  37.           start_target_enemy_selection
  38.         else
  39.           Sound.play_buzzer
  40.         end
  41.       when 1  # 特技
  42.         Sound.play_decision
  43.         start_skill_selection
  44.       when 2  # 防御
  45.         Sound.play_decision
  46.         @active_battler.action.set_guard
  47.         next_actor
  48.       when 3  # 物品
  49.         Sound.play_decision
  50.         start_item_selection
  51.       end
  52.     end
  53.   end
  54.   
  55. end
复制代码

按你给我的要求做了- -
记得把武器啊.技能啊.箭筒的属性打上"弓"
就是属性的第5个..
"弓"一定要放在第5个属性.不然脚本得修改
你测试下吧
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (暗夜天使)

名侦探小柯

梦石
0
星屑
3299
在线时间
3619 小时
注册时间
2006-9-6
帖子
37400

开拓者贵宾第3届短篇游戏大赛主流游戏组亚军第5届短篇游戏比赛亚军

12
 楼主| 发表于 2008-7-2 03:51:37 | 只看该作者
以下引用诡异の猫于2008-7-1 18:52:31的发言:

class Game_Actor < Game_Battler
  
  def skill_can_use?(skill)
    super
    if skill.element_set.include?(5)
      for item in $game_party.items
        return true if item.element_set.include?(5)
      end
      return false
    end
  end
  
  def attackable?
    for weapon in self.weapons
      if weapon.element_set.include?(5)
        for item in $game_party.items
          return true if item.element_set.include?(5)
        end
        return false
      end
    end
    return true
  end
  
end

class Scene_Battle

  def update_actor_command_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      prior_actor
    elsif Input.trigger?(Input::C)
      case @actor_command_window.index
      when 0  # 攻击
        if @active_battler.attackable?
          Sound.play_decision
          @active_battler.action.set_attack
          start_target_enemy_selection
        else
          Sound.play_buzzer
        end
      when 1  # 特技
        Sound.play_decision
        start_skill_selection
      when 2  # 防御
        Sound.play_decision
        @active_battler.action.set_guard
        next_actor
      when 3  # 物品
        Sound.play_decision
        start_item_selection
      end
    end
  end
  
end

按你给我的要求做了- -
记得把武器啊.技能啊.箭筒的属性打上"弓"
就是属性的第5个..
"弓"一定要放在第5个属性.不然脚本得修改
你测试下吧

话说其他技能没法用了……
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
466 小时
注册时间
2006-2-25
帖子
1863
13
发表于 2008-7-2 03:56:29 | 只看该作者
  1. class Game_Actor < Game_Battler
  2.   
  3.   def skill_can_use?(skill)
  4.     return false unless skill.is_a?(RPG::Skill)
  5.     return false unless movable?
  6.     return false if silent? and skill.spi_f > 0
  7.     return false if calc_mp_cost(skill) > mp
  8.     if skill.element_set.include?(5)
  9.       for item in $game_party.items
  10.         return true if item.element_set.include?(5)
  11.       end
  12.       return false
  13.     end
  14.     if $game_temp.in_battle
  15.       return skill.battle_ok?
  16.     else
  17.       return skill.menu_ok?
  18.     end
  19.   end
  20.   
  21.   def attackable?
  22.     for weapon in self.weapons
  23.       if weapon.element_set.include?(5)
  24.         for item in $game_party.items
  25.           return true if item.element_set.include?(5)
  26.         end
  27.         return false
  28.       end
  29.     end
  30.     return true
  31.   end
  32.   
  33. end

  34. class Scene_Battle
  35.   #--------------------------------------------------------------------------
  36.   # ● 更新选择角色指令
  37.   #--------------------------------------------------------------------------
  38.   def update_actor_command_selection
  39.     if Input.trigger?(Input::B)
  40.       Sound.play_cancel
  41.       prior_actor
  42.     elsif Input.trigger?(Input::C)
  43.       case @actor_command_window.index
  44.       when 0  # 攻击
  45.         if @active_battler.attackable?
  46.           Sound.play_decision
  47.           @active_battler.action.set_attack
  48.           start_target_enemy_selection
  49.         else
  50.           Sound.play_buzzer
  51.         end
  52.       when 1  # 特技
  53.         Sound.play_decision
  54.         start_skill_selection
  55.       when 2  # 防御
  56.         Sound.play_decision
  57.         @active_battler.action.set_guard
  58.         next_actor
  59.       when 3  # 物品
  60.         Sound.play_decision
  61.         start_item_selection
  62.       end
  63.     end
  64.   end
  65. end
复制代码

恩.了解
试试吧- -
系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (暗夜天使)

名侦探小柯

梦石
0
星屑
3299
在线时间
3619 小时
注册时间
2006-9-6
帖子
37400

开拓者贵宾第3届短篇游戏大赛主流游戏组亚军第5届短篇游戏比赛亚军

14
 楼主| 发表于 2008-7-2 04:05:44 | 只看该作者
完工了……
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-12-25 22:24

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表