Project1

标题: 請教怎樣製作只允許第一回合才能使用的技能。 [打印本页]

作者: 妖精蕾贝卡    时间: 2015-5-21 14:48
标题: 請教怎樣製作只允許第一回合才能使用的技能。
本帖最后由 妖精蕾贝卡 于 2015-5-21 18:18 编辑

RUBY 代码复制
  1. return false if skill.id == 88 and $game_troop.turn_count > 1

這樣做的話,雖然第一回合可以選擇技能,但第二回合還是可以選擇技能使用。
但就是不會出技能而已。請問怎麼修改才能達成第二回合不能選擇這個技能使用了?
作者: 正太君    时间: 2015-5-21 17:49
万一我想留到第二回合再用不就bug了吗...
作者: 妖精蕾贝卡    时间: 2015-5-21 18:17
正太君 发表于 2015-5-21 17:49
万一我想留到第二回合再用不就bug了吗...

修改一下,就只允許第一回合才能使用的技能?
有辦法實現嗎?
作者: 正太君    时间: 2015-5-21 21:30
本帖最后由 正太君 于 2015-5-21 21:32 编辑

Project1.rar (238.38 KB, 下载次数: 70)
RUBY 代码复制
  1. class Game_Battler
  2.   #--------------------------------------------------------------------------
  3.   # ● 可以使用技能的判定
  4.   #     skill : 技能
  5.   #--------------------------------------------------------------------------
  6.   def skill_can_use?(skill)
  7.     return false unless skill.is_a?(RPG::Skill)
  8.     return false unless movable?
  9.     return false if silent? and skill.spi_f > 0
  10.     return false if calc_mp_cost(skill) > mp
  11.     return false if skill.id == 1 and $game_troop.end_turn > 0 # 聪聪
  12.     if $game_temp.in_battle
  13.       return skill.battle_ok?
  14.     else
  15.       return skill.menu_ok?
  16.     end
  17.   end
  18. end
  19.  
  20. class Game_Troop < Game_Unit
  21.   attr_accessor :end_turn  # 聪聪
  22.   #--------------------------------------------------------------------------
  23.   # ● 清除
  24.   #--------------------------------------------------------------------------
  25.   def clear
  26.     @screen.clear
  27.     @interpreter.clear
  28.     @event_flags.clear
  29.     @enemies = []
  30.     @turn_count = 0
  31.     @names_count = {}
  32.     @can_escape = false
  33.     @can_lose = false
  34.     @preemptive = false
  35.     @surprise = false
  36.     @turn_ending = false
  37.     @forcing_battler = nil
  38.     @end_turn = 0       # 聪聪
  39.   end
  40. end  
  41.  
  42. class Scene_Battle < Scene_Base
  43.   #--------------------------------------------------------------------------
  44.   # ● 回合结束
  45.   #--------------------------------------------------------------------------
  46.   def turn_end
  47.     $game_troop.turn_ending = true
  48.     $game_party.slip_damage_effect
  49.     $game_troop.slip_damage_effect
  50.     $game_party.do_auto_recovery
  51.     $game_troop.preemptive = false
  52.     $game_troop.surprise = false
  53.     process_battle_event
  54.     $game_troop.end_turn += 1  # 聪聪
  55.     $game_troop.turn_ending = false
  56.     start_party_command_selection
  57.   end
  58. end

作者: 妖精蕾贝卡    时间: 2015-5-21 22:13
正太君 发表于 2015-5-21 21:30
class Game_Battler
  #--------------------------------------------------------------------------
  ...

測試可行,十分感謝你的幫助




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