Project1
标题:
怎么让不带武器时无法使用物理技能?请高手们帮帮忙!
[打印本页]
作者:
459974518
时间:
2011-8-20 01:11
提示:
作者被禁止或删除 内容自动屏蔽
作者:
orzfly
时间:
2011-8-20 04:24
class Game_Actor < Game_Battler
#没有武器时不能使用的技能 ID。如果等号右边整个换成 nil 不留中括号,则所有技能都需要武器。
skills_cannot_use_without_weapon = [1, 2, 3, 4, 5]
def skill_can_use?(skill_id)
if not skill_learn?(skill_id)
return false
end
if weapon_id == 0
if (skills_cannot_use_without_weapon.nil?)
return false
else
return false if skills_cannot_use_without_weapon.include?(skill_id)
end
end
return super
end
end
复制代码
作者:
癫狂侠客
时间:
2011-8-20 09:36
没试过,不过首先LZ自己要先定义那些是物理技能,那些是魔法技能,
然后在脚本里分歧就好了.
感觉没有必要这么做,LZ自行斟酌吧!
作者:
凌空飘雪
时间:
2011-8-20 10:47
可以在 Game_Battle3 的 开头部分更改 def skill_can_use?(skill_id) 的内容
增加一个使用的是否是物理技能与角色是否装备了武器的判断
再决定满足这个条件时是不能使用技能或是可以使用,就行了
如下:
#==============================================================================
# ■ Game_Battler (分割定义 3)
#------------------------------------------------------------------------------
# 处理战斗者的类。这个类作为 Game_Actor 类与 Game_Enemy 类的
# 超级类来使用。
#==============================================================================
class Game_Battler
#--------------------------------------------------------------------------
# ● 可以使用特技的判定
# skill_id : 特技 ID
#--------------------------------------------------------------------------
def skill_can_use?(skill_id)
# SP 不足的情况下不能使用
if $data_skills[skill_id].sp_cost > self.sp
return false
end
# 战斗不能的情况下不能使用
if dead?
return false
end
#**********************************************
#如果技能的攻击力(与技能威力是两回事,是关于角色物理攻击力对该技能伤害的影响
# 有多大,一般用来判断是否为物理技能) > 0 且 角色没有装备武器
#返回值 = 不能使用
if $data_skills[skill_id].atk_f > 0 and $data_weapons[self.weapon_id] == nil
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
end
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1