赞 | 46 |
VIP | 0 |
好人卡 | 0 |
积分 | 315 |
经验 | 0 |
最后登录 | 2024-10-24 |
在线时间 | 249 小时 |
Lv5.捕梦者
- 梦石
- 24
- 星屑
- 7482
- 在线时间
- 249 小时
- 注册时间
- 2020-12-4
- 帖子
- 306
|
本帖最后由 纯属小虫 于 2023-5-29 10:40 编辑
楼上的哥们说的基本对了,不过要考虑显示、以及使用条件,总共有三处要改:
1:技能消耗的显示
2:技能使用SP需求
3:技能使用后SP消耗
1.Window_Skill 类 draw_item(index) 定义里
找到 : self.contents.draw_text(x + 232, y, 48, 32, skill.sp_cost.to_s, 2)
改成 :
sp_cost = skill.sp_cost.to_s
sp_cost *= 0.9 if self.is_a?(Actior) and self.weapon_id == .............. 或者是防具 self.armor1_id ==.......... 条件自己选吧
self.contents.draw_text(x + 232, y, 48, 32, sp_cost, 2)
2. Game _Battler 类 skill_can_use?(skill_id) 定义里
# SP 不足的情况下不能使用
if $data_skills[skill_id].sp_cost > self.sp
return false
end
这一行加一个条件,改成
# SP 不足的情况下不能使用
sp_cost = $data_skills[skill_id].sp_cost
sp_cost *= 0.9 if self.is_a?(Actior) and self.weapon_id == .............. 或者是防具 self.armor1_id ==.......... 条件自己选吧
if sp_cost > self.sp
return false
end
3. Scene_Battle 4 类 make_skill_action_result 定义里
# 消耗 SP
@active_battler.sp -= @skill.sp_cost
改成:
# 消耗 SP
sp_cost = @skill.sp_cost
sp_cost *= 0.9 if @active_battler.is_a?(Actior) and @active_battler.weapon_id == .............. 或者是防具 @active_battler.armor1_id ==.......... 条件自己选吧
@active_battler.sp -= sp_cost
应该是还有更简单的修改方法的.....不过脚本学艺不精,只能凑合着用了
哦 对了,最好不要用*0.9 而是用 a = a * 9 / 10 或者转换为int 不然小数点很难搞
|
|