赞 | 411 |
VIP | 0 |
好人卡 | 11 |
积分 | 392 |
经验 | 242285 |
最后登录 | 2025-1-13 |
在线时间 | 5737 小时 |
Lv5.捕梦者
- 梦石
- 0
- 星屑
- 39163
- 在线时间
- 5737 小时
- 注册时间
- 2006-11-10
- 帖子
- 6638
|
-。-,N久没动了,当成脚本复习做了次....
- #--------------------------------------------------------------------------
- # ● 生成特技行动结果
- #--------------------------------------------------------------------------
- def make_skill_action_result
- # 获取特技
- @skill = $data_skills[@active_battler.current_action.skill_id]
- # 如果不是强制行动
- unless @active_battler.current_action.forcing
- # 因为 SP 耗尽而无法使用的情况下
- unless @active_battler.skill_can_use?(@skill.id)
- # 清除强制行动对像的战斗者
- $game_temp.forcing_battler = nil
- # 移至步骤 1
- @phase4_step = 1
- return
- end
- end
- # 消耗 SP
- @active_battler.sp -= @skill.sp_cost
- #############菜刀王到此一游############################
- if @skill.id == 50 #技能ID
- @active_battler.hp -= 1000 #使用这个技能消耗的HP
- end
- #############菜刀王到此一游############################
- # 刷新状态窗口
- @status_window.refresh
- # 在帮助窗口显示特技名
- @help_window.set_text(@skill.name, 1)
- # 设置动画 ID
- @animation1_id = @skill.animation1_id
- @animation2_id = @skill.animation2_id
- # 设置公共事件 ID
- @common_event_id = @skill.common_event_id
- # 设置对像侧战斗者
- set_target_battlers(@skill.scope)
- # 应用特技效果
- for target in @target_battlers
- target.skill_effect(@active_battler, @skill)
- end
- end
复制代码
替换SCENE BATTLE4里相同的内容就可以了,做记号的地方是技能的设置,默认为50号技能使用后会消耗掉角色的1000HP。
不过,这样即使角色的HP不到1000也可以使用,使用后角色死亡- -...
要限制HP不足不可以使用,可以到GAME BATTLER3用下面的脚本替换原来的。
- #--------------------------------------------------------------------------
- # ● 可以使用特技的判定
- # skill_id : 特技 ID
- #--------------------------------------------------------------------------
- def skill_can_use?(skill_id)
- # SP 不足的情况下不能使用
- if $data_skills[skill_id].sp_cost > self.sp
- return false
- end
- ##############菜刀王到此一游#########################
- return false if skill_id == 50 and self.hp < 1000
- ####################################################
- # 战斗不能的情况下不能使用
- if dead?
- return false
- end
- # 沉默状态的情况下、物理特技以外的特技不能使用
- if $data_skills[skill_id].atk_f == 0 and self.restriction == 1
- return false
- end
- # 获取可以使用的时机
- occasion = $data_skills[skill_id].occasion
- # 战斗中的情况下
- if $game_temp.in_battle
- # [平时] 或者是 [战斗中] 可以使用
- return (occasion == 0 or occasion == 1)
- # 不是战斗中的情况下
- else
- # [平时] 或者是 [菜单中] 可以使用
- return (occasion == 0 or occasion == 2)
- end
- end
复制代码 版主对此帖的认可:『正确解答,补上悬赏积分100分+1卡(=250分),感激你的热情解答...』,积分『+350』。 |
|