Project1
标题:
这个“武器决定技能”如何设定空手状态时能有特定技能
[打印本页]
作者:
yanglibin0409
时间:
2011-11-12 11:21
标题:
这个“武器决定技能”如何设定空手状态时能有特定技能
本帖最后由 yanglibin0409 于 2011-11-13 19:06 编辑
#==============================================================================
# ■ Game_Battler
#------------------------------------------------------------------------------
# 处理战斗者的类。这个类作为 Game_Actor 类与 Game_Enemy 类的
# 超级类来使用。
#==============================================================================
SW_SET = [17,18,19,20,21,22,23,24] # 此处设定武器和技能关联的属性id
#==============================================================================
class Game_Battler
#--------------------------------------------------------------------------
# ● 判断是否可以使用技能
# skill : 技能
# self.weapons : 武器id的数组
#--------------------------------------------------------------------------
def skill_can_use?(skill)
if self.is_a?(Game_Actor)
$data_weapons[0] = RPG::Weapon.new
$data_weapons[0].element_set =[]
sw_boolean = false # 判断武器和技能关联
s = SW_SET & $data_skills[skill.id].element_set
if s.empty?
sw_boolean = true
else
for i in s
if $data_weapons[self.weapon_id].element_set.include?(i)
sw_boolean = true
break
end
end
end
$data_weapons[0] = nil
return false if sw_boolean == false
end
return false unless skill.is_a?(RPG::Skill)
return false unless movable?
return false if silent? and skill.spi_f > 0
return false if calc_mp_cost(skill) > mp
if $game_temp.in_battle
return skill.battle_ok?
else
return skill.menu_ok?
end
end
end
复制代码
class Game_Actor
# 武器属性的起始ID,一定要让这些属性连在一起
Weapon_Type_Begin = 21
# 武器属性的结束ID
Weapon_Type_End = 27
# 下面生成一个属性的数组,可以无视
Weapon_Types = (Weapon_Type_Begin..Weapon_Type_End).to_a
#--------------------------------------------------------------------------
# ● 可用技能判断
# skill : 技能
#--------------------------------------------------------------------------
def skill_can_use?(skill)
return false unless skill_learn?(skill)
skill_types = (skill.element_set & Weapon_Types)
if skill_types.empty?
# 无属性技能,任何武器都可以使用
return super
else
# 有属性技能,根据现在装备的武器来决定是否可以使用
return false if @weapon_id == 0
weapon_types = ($data_weapons[@weapon_id].element_set & Weapon_Types)
if (weapon_types & skill_types).empty?
return false
else
return super
end
end
end
# 注意:
# 技能可以设置多种武器属性,比如锐器钝器均可使用,这样多种武器也可以使用同一
# 技能。
end
复制代码
这是两个不同版本的 武器决定技能脚本,
想做一个 只有 无装备武器时 才能 释放 的技能,根据这两个脚本如何 修改呢?
也就是 当空手时, 武器的属性默认为 27 这样,就能根据27这个属性设定一个 “空手”属性了
yanglibin0409于2011-11-13 18:15补充以下内容:
没人知道么?? 我实在不想 在武器栏 里有个 “空手”武器 - - 这样就有点假了~~
dsu_plus_rewardpost_czw
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1