Project1

标题: 关于空轨菜单2.01的CP怎么用 [打印本页]

作者: 艾孜哈尔    时间: 2014-3-2 08:42
标题: 关于空轨菜单2.01的CP怎么用
RT,我不知道这个CP怎么用,用战技的时候耗的是SP。所以我想请教各位大大们,怎么样才能让攻击时加5CP,防御时4CP,挨打时3CP和使用战技和S战技耗CP。

作者: kinguanghua    时间: 2014-3-5 18:10
本帖最后由 kinguanghua 于 2014-3-8 15:40 编辑

好久木有来看了 竟然还有人在用我做的东西 太感动了 这个其实得自己加的
本身我写的界面中是没有这个功能的 当然角色的属性里面已经添加了CP这个属性
需要的就是修改技能相关的脚本 追加消耗CP这块
晚点我下班回去看看这块吧 应该是很好改的

把下面这段代码加上去应该就OK了
actor里面本身加了一个属性叫cp_store
然后给它外部负值为了不超过定值加了一个函数gain_cp
RUBY 代码复制
  1. #==============================================================================
  2. # ■ Scene_Battle (分割定义 4)
  3. #------------------------------------------------------------------------------
  4. #  处理战斗画面的类。
  5. #==============================================================================
  6.  
  7. class Scene_Battle
  8.   #--------------------------------------------------------------------------
  9.   # ● 生成特技行动结果
  10.   #--------------------------------------------------------------------------
  11.   alias old_kgh_make_skill_action_result make_skill_action_result
  12.   def make_skill_action_result
  13.  
  14.      [url=home.php?mod=space&uid=260100]@skill[/url] = $data_skills[@active_battler.current_action.skill_id]
  15.     # 如果不是强制行动
  16.     unless @active_battler.current_action.forcing
  17.       # 因为 SP 耗尽而无法使用的情况下
  18.       unless @active_battler.skill_can_use?(@skill.id)
  19.         # 清除强制行动对像的战斗者
  20.         $game_temp.forcing_battler = nil
  21.         # 移至步骤 1
  22.         @phase4_step = 1
  23.         return
  24.       end
  25.     end
  26.     # 消耗 SP
  27.  
  28.     # 异界的月追加CP消耗
  29.     if @skill.element_set.include?(KGH::Crafts_Skill) or
  30.       @skill.element_set.include?(KGH::S_Crafts_Skill)
  31.       @active_battler.gain_cp([email]-@skill.sp_cost[/email])
  32.     else
  33.       @active_battler.sp -= @skill.sp_cost
  34.     end  
  35.  
  36.     # 刷新状态窗口
  37.     @status_window.refresh
  38.     # 在帮助窗口显示特技名
  39.     @help_window.set_text(@skill.name, 1)
  40.     # 设置动画 ID
  41.     @animation1_id = @skill.animation1_id
  42.     @animation2_id = @skill.animation2_id
  43.     # 设置公共事件 ID
  44.     @common_event_id = @skill.common_event_id
  45.     # 设置对像侧战斗者
  46.     set_target_battlers(@skill.scope)
  47.     # 应用特技效果
  48.     for target in @target_battlers
  49.       target.skill_effect(@active_battler, @skill)
  50.     end
  51.   end
  52. end
  53.  
  54. #==============================================================================
  55. # ■ Game_Actor 追加
  56. #------------------------------------------------------------------------------
  57. #    角色结晶槽的升级接口函数为:
  58. #    <Game_Actor实例>.cs_levelup(结晶槽ID, 升级幅度) 升级幅度省略则为1
  59. #==============================================================================
  60. class Game_Actor < Game_Battler
  61.   #--------------------------------------------------------------------------
  62.   # ● 检测技能是否可用,与默认方法略微不同
  63.   #     skill_id   : 技能ID
  64.   #--------------------------------------------------------------------------
  65.   def skill_can_use?(skill_id)
  66.     #如果是CP技能
  67.     if $data_skills[skill_id].element_set.include?(KGH::Crafts_Skill) or
  68.       $data_skills[skill_id].element_set.include?(KGH::S_Crafts_Skill)
  69.       # CP 不足的情况下不能使用
  70.       if $data_skills[skill_id].sp_cost > self.cp_store
  71.         return false
  72.       end
  73.     end
  74.     return super
  75.   end
  76. end
      
作者: 艾孜哈尔    时间: 2014-3-7 22:33
thank you!
作者: 艾孜哈尔    时间: 2014-3-7 22:42
kinguanghua 发表于 2014-3-5 18:10
好久木有来看了 竟然还有人在用我做的东西 太感动了 这个其实得自己加的
本身我写的界面中是没有这个功能的 ...

咋用?请详细说明,并且这段脚本加在哪里?
作者: kinguanghua    时间: 2014-3-8 15:05
本帖最后由 kinguanghua 于 2014-3-8 15:41 编辑
艾孜哈尔 发表于 2014-3-7 22:42
咋用?请详细说明,并且这段脚本加在哪里?


这段你加到main上面就好了
如果有用其他的战斗系统 就搜索一下上面我重新定义的两个函数 然后把相应部分加进去就好了
make_skill_action_result
skill_can_use?(skill_id)
这两个函数

上面代码中
@skill = $data_skills[@active_battler.current_action.skill_id]
等于@skill = $data_skills[@active_battler.current_action.skill_id]
代码帖的时候怎么也删除不掉那几个恶心的url字
作者: 艾孜哈尔    时间: 2014-3-8 16:07
kinguanghua 发表于 2014-3-8 15:05
这段你加到main上面就好了
如果有用其他的战斗系统 就搜索一下上面我重新定义的两个函数 然后把相应部分 ...


那这个脚本应该可以像我期望的那样吧?




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