Project1
标题:
那个啥,关于装备装备后加成其他能力的问题
[打印本页]
作者:
艾孜哈尔
时间:
2014-10-11 20:58
标题:
那个啥,关于装备装备后加成其他能力的问题
本帖最后由 艾孜哈尔 于 2014-10-11 20:59 编辑
就是装备武器或防具后使用特技消耗的SP量减少该怎样用脚本表示?还有装备武器和防具后使用完特技后的硬直速度增加?
PS:希望各位大神能教教我怎样做出硬直效果,我用的是CP制,应该和速度有关吧!希望大家能帮我解决这个和第二个问题。我承认一题多问了~~
作者:
艾孜哈尔
时间:
2014-10-12 10:01
自己百度一下,而且好多游戏都有硬直,例如闪之轨迹。
作者:
chd114
时间:
2014-10-12 10:18
CP制速度什么的我没试过···
但是减少消耗的SP还是可以做到的
Game_Battler3里面有一段
#--------------------------------------------------------------------------
# ● 可以使用特技的判定
# skill_id : 特技 ID
#--------------------------------------------------------------------------
def skill_can_use?(skill_id)
# SP 不足的情况下不能使用
if $data_skills[skill_id].sp_cost > self.sp
return false
end
复制代码
这里的条件分歧修改了,
if $data_skills[skill_id].sp_cost > self.sp
复制代码
if $game_switches[1]==true#1号开关打开时所有角色的特技消耗SP减半
if $data_skills[skill_id].sp_cost/2 > self.sp
return false
end
if $data_skills[skill_id].sp_cost > self.sp
return false
end
复制代码
但这样只是判定能用,如果SP不够,你用了技能可能会扣光SP(如果不明白还是往下看···)
在Window_Skill里面
self.contents.draw_text(x + 232, y, 48, 32, skill.sp_cost.to_s, 2)
复制代码
有一句这样的来显示技能消耗的SP,修改了,改成
$spt=0
$spt=0.5 if $game_switches[1]==true
self.contents.draw_text(x + 232, y, 48, 32, (skill.sp_cost*$spt).to_s, 2)
复制代码
不过还没完,刚才改掉的只是显示的SP消耗···
在Scene_Skill里面还有
@actor.sp -= @skill.sp_cost
复制代码
,还是修改掉
@actor.sp -= @skill.sp_cost*0.5 if $game_switches[1]==false#不是技能消耗SP减半就正常减少SP
@actor.sp -= @skill.sp_cost*0.5
复制代码
如果敌人也可以做到这样的效果就要改掉Scene_Skill里面的
@active_battler.sp -= @skill.sp_cost
复制代码
@active_battler.sp -= @skill.sp_cost*0.5 if $game_switches[1]==false#不是技能消耗SP减半就正常减少SP
@active_battler.sp -= @skill.sp_cost*0.5
复制代码
需要注意的是Scene_Skill里面
@actor.sp -= @skill.sp_cost
复制代码
一共有2处,都需要修改···
作者:
chd114
时间:
2014-10-12 11:57
1.我想要的效果不是影响全队的,而是个人的。
复制代码
只要修改条件判定即可,这里用的是
$game_switches[1]
复制代码
是否打开,如果要每个角色单独的···你可以用变量
首先要
$game_variables[1]=[]
复制代码
然后
$game_variables[1][角色编号]=你要的数字
复制代码
(个人喜欢用变量,原因继续往下看)
这里你可以定义小数或者整数
Game_Battler3的
if $data_skills[skill_id].sp_cost > self.sp
复制代码
可以改成
if $data_skills[skill_id].sp_cost*$game_variables[1][self.id] > self.sp
复制代码
如果$game_variables[1][self.id]定义小数,就改成
if $data_skills[skill_id].sp_cost*$game_variables[1][self.id]*1.0 > self.sp
复制代码
防止因为浮点数出现一些稀奇古怪的东西···
Window_Skill的
self.contents.draw_text(x + 232, y, 48, 32, skill.sp_cost.to_s, 2)
复制代码
改成
self.contents.draw_text(x + 232, y, 48, 32, (skill.sp_cost*$game_variables[1][@actor.id]).to_s, 2)
复制代码
同样,用小数就是
self.contents.draw_text(x + 232, y, 48, 32, (skill.sp_cost*$game_variables[1][@actor.id]*1.0).to_s, 2)
复制代码
Scene_Skill里面
@actor.sp -= @skill.sp_cost
复制代码
改成
@actor.sp -= @skill.sp_cost*$game_variables[1][@actor.id]
复制代码
用小数就加个*1.0
@actor.sp -= @skill.sp_cost*$game_variables[1][@actor.id]*1.0
复制代码
最后一个
@active_battler.sp -= @skill.sp_cost
复制代码
同理
作者:
艾孜哈尔
时间:
2014-10-12 12:21
谢了,我这就去测试一下
作者:
chd114
时间:
2014-10-27 21:43
@RyanBern
你还是分一个已经解决吧- -|||自从手动认可取消后我就没回答到几个“已经解决”的问题(误)···
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1