Project1

标题: 如何隐藏战斗中的指定技能类型(已解决) [打印本页]

作者: 世界第一中二    时间: 2018-9-5 17:22
标题: 如何隐藏战斗中的指定技能类型(已解决)
本帖最后由 世界第一中二 于 2018-9-6 22:10 编辑

如图1,我设定了四种技能类型
如图2,战斗中会将四种技能类型全部显示出来
被动和生活技能在战斗中不会被使用到,是只能在菜单里使用的技能
如何隐藏在战斗场景中被动和生活技能这两项,仅显示特技和魔法这两项技能类型呢?
恳请各位大佬帮帮忙

$QYRV]72A@E6R39_}IB6VTO.png (67.23 KB, 下载次数: 24)

图1

图1

_F(D3ZJ[KVC}GG1@1(@8867.png (293.35 KB, 下载次数: 23)

图2

图2

作者: 穿越时空之剑    时间: 2018-9-5 19:22
本帖最后由 穿越时空之剑 于 2018-9-5 19:25 编辑

RUBY 代码复制
  1. ======================
  2. # ★ RGSS3_被动技能 Ver1.01
  3. #==============================================================================
  4. =begin
  5.  
  6. 作者:tomoaky
  7. webサイト:ひきも記 ([url]http://hikimoki.sakura.ne.jp/[/url])
  8.  
  9. 技能备注:
  10. <被动 5> 、
  11. 学会该技能后,5号武器的能力值+特性会全部应用于角色身上。
  12.  
  13. 2012.02.24  Ver1.01
  14.  ・パッシブスキルのみを習得している場合に発生する不具合を修正
  15.  
  16. 2012.02.17 Ver1.0
  17.   公開
  18.  
  19. =end
  20.  
  21. #==============================================================================
  22. # □ 設定項目
  23. #==============================================================================
  24. module TMPASSIVE
  25.   INVISIBLE_TYPE = [3,4]      # 战斗指令中不显示的技能类型
  26. end
  27.  
  28. #==============================================================================
  29. # ■ RPG::Skill
  30. #==============================================================================
  31. class RPG::Skill
  32.   #--------------------------------------------------------------------------
  33.   # ○ パッシブスキルの効果(武器ID)を返す
  34.   #--------------------------------------------------------------------------
  35.   def passive_effect
  36.     @passive_effect ||= /<被动\s*(\d+)\s*>/ =~ @note ? $1.to_i : 0
  37.   end
  38. end
  39.  
  40. #==============================================================================
  41. # ■ Game_Actor
  42. #==============================================================================
  43. class Game_Actor
  44.   #--------------------------------------------------------------------------
  45.   # ● 追加スキルタイプの取得
  46.   #--------------------------------------------------------------------------
  47.   alias tmpassive_game_actor_added_skill_types added_skill_types
  48.   def added_skill_types
  49.     if $game_party.in_battle
  50.       tmpassive_game_actor_added_skill_types - TMPASSIVE::INVISIBLE_TYPE
  51.     else
  52.       tmpassive_game_actor_added_skill_types
  53.     end
  54.   end
  55.   #--------------------------------------------------------------------------
  56.   # ● 特徴を保持する全オブジェクトの配列取得
  57.   #--------------------------------------------------------------------------
  58.   alias tmpassive_game_actor_feature_objects feature_objects
  59.   def feature_objects
  60.     tmpassive_game_actor_feature_objects + passive_skills
  61.   end
  62.   #--------------------------------------------------------------------------
  63.   # ● 通常能力値の加算値取得
  64.   #--------------------------------------------------------------------------
  65.   alias tmpassive_game_actor_param_plus param_plus
  66.   def param_plus(param_id)
  67.     passive_skills.inject(tmpassive_game_actor_param_plus(param_id)) {
  68.       |r, item| r += item.params[param_id] }
  69.   end
  70.   #--------------------------------------------------------------------------
  71.   # ○ 習得しているパッシブスキルの効果(武器オブジェクト)の配列を返す
  72.   #--------------------------------------------------------------------------
  73.   def passive_skills
  74.     result = ((@skills.collect {|id| $data_skills[id] }).collect {
  75.       |skill| $data_weapons[skill.passive_effect] }).compact
  76.     result
  77.   end
  78. end

作者: 七重    时间: 2018-9-5 21:19
本帖最后由 七重 于 2018-9-6 20:32 编辑
  1. class Window_ActorCommand < Window_Command
  2.   alias krst_161004_add_skill_commands add_skill_commands
  3.   def add_skill_commands
  4.     @actor.added_skill_types.sort.each do |stype_id|
  5.       if ( $data_system.skill_types[stype_id] == "被动"  || $data_system.skill_types[stype_id] == "生活技能")
  6.       else
  7.       name = $data_system.skill_types[stype_id]
  8.       add_command(name, :skill, true, stype_id)
  9.       end
  10.     end
  11.   end
  12. end
复制代码


很久以前写的。
名称为被动以及生活技能的技能类型在战斗中不显示。




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