Project1

标题: 关于战斗技能SP消耗的问题 [打印本页]

作者: fbeds    时间: 2015-7-8 20:58
标题: 关于战斗技能SP消耗的问题
呵呵呵,是的,我就是那个逗比楼主,我上个帖子的问题刚解决完,我又来问新问题喽……其实本来很多问题华为上面都有的,不过现在华为挂了,所以造成了我不得不一直来问问题的情况……
这次问题很简单,大家知道,使用技能时耗费的SP是固定的数值,可是我想让某个技能,使用它后无论使用者有多少SP,都消耗
50%的SP,这个怎么设置?
作者: 无忧谷主幻    时间: 2015-7-8 22:00
该技能消耗HP设定为0,然后链接上公共事件
详细做法如图所示

(请不要在意变量的名字)
作者: 美丽晨露    时间: 2015-7-8 22:06
在Scene_Battle 4内生成特技结果那里
获取特技
@skill = $data_skills[@active_battler.current_action.skill_id]
之下
#特技81号 魔法消耗一半
    if @skill_id = 81
    @active_battler.sp -=  @active_battler.sp / 2
  end
数据库该特技魔法消耗设置为0即可。

附上范例:
魔法灵.zip (200.72 KB, 下载次数: 84)

作者: fbeds    时间: 2015-7-9 10:47
额……好吧,是我没说清楚。我说的消耗50%SP是指的该角色SP上限的50%,并不是已有SP的50%,否则该技能不就是可以一直发动了吗?而且在角色的SP低于50%时就无法选择该技能发动,这个怎么设置?
作者: 芯☆淡茹水    时间: 2015-7-9 11:01
LS们都忽略了一个重要问题:技能能否使用 。
比如:最大SP 100 , 现在SP 40 , 虽然SP不够,但还是可以使用技能。使用技能减SP50, 现在SP为 0 。
作者: 芯☆淡茹水    时间: 2015-7-9 11:08
本帖最后由 芯☆淡茹水 于 2015-7-9 17:10 编辑

插入下面这段,再使用 2L 的方法
  1. class Game_Battler
  2. #消耗一半SP的技能ID。
  3. SPECIAL_SKILLS = [11,12,13]
  4.   alias add_skill_can_use_xdrs skill_can_use?
  5.   def skill_can_use?(skill_id)
  6.     return false if SPECIAL_SKILLS.include?(skill_id) and self.sp < (self.maxsp / 2)
  7.     add_skill_can_use_xdrs(skill_id)
  8.   end
  9. end
复制代码

作者: fbeds    时间: 2015-7-9 13:38
芯☆淡茹水 发表于 2015-7-9 11:08
插入下面这段,再使用 2L 的方法

第7行有问题。
作者: fbeds    时间: 2015-7-9 20:05
谢谢!已成功。
作者: 妖精蕾贝卡    时间: 2015-7-9 20:14
本帖最后由 妖精蕾贝卡 于 2015-7-9 20:27 编辑

魔法灵(改).zip (201.46 KB, 下载次数: 63)
根據3樓自行修改的,難度不大。
主要判斷SP是否一半和技能是否可用。
全局搜索蕾貝卡可以查找修改的地方。
作者: 妖精蕾贝卡    时间: 2015-7-9 20:22
芯☆淡茹水 发表于 2015-7-9 11:08
插入下面这段,再使用 2L 的方法

這種判斷感覺略麻煩。
直接在Game_Actor內判斷skill序號和魔法多少會方便。
作者: fbeds    时间: 2015-7-10 08:09
妖精蕾贝卡 发表于 2015-7-9 20:14
根據3樓自行修改的,難度不大。
主要判斷SP是否一半和技能是否可用。
全局搜索蕾貝卡可以查找修改的地方。 ...

谢了!这回所有问题都解决了!
作者: fbeds    时间: 2015-7-10 08:29
妖精蕾贝卡 发表于 2015-7-9 20:22
這種判斷感覺略麻煩。
直接在Game_Actor內判斷skill序號和魔法多少會方便。

虽然说在普通工程中确实有效了……不过……问题又来了……我还用了一个RTAB的战斗系统脚本,好像有了这个脚本后那些判定都无效了?怎么回事……
作者: 妖精蕾贝卡    时间: 2015-7-10 19:57
fbeds 发表于 2015-7-10 08:29
虽然说在普通工程中确实有效了……不过……问题又来了……我还用了一个RTAB的战斗系统脚本,好像有了这个 ...

RTAB重置了battle內的腳本,解決方法就是把修改的部分放入RTAB中相應的位置。
作者: fbeds    时间: 2015-7-11 15:34
妖精蕾贝卡 发表于 2015-7-10 19:57
RTAB重置了battle內的腳本,解決方法就是把修改的部分放入RTAB中相應的位置。 ...

谢了,自己解决了!




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