本帖最后由 Cupidk爱呗茶 于 2020-4-23 23:25 编辑
研究了一下 大概思路是吧武器额外数据存储到$game_system 然后在从RPG::EquipItem调用以获取到增加的数值
使用方法 :将脚本复制到脚本编辑器▼ 插件脚本 后即可 具体用法请查看脚本注释
最后 如使用该脚本有任何意外情况都可以联系层主哦
顺便获取装备属性是可以直接调用系统默认方法 ↓
$data_armors[道具ID].params[属性ID] # 护甲 $data_weapons[道具ID].params[属性ID] # 武器 #属性ID与下方脚本说明相同
$data_armors[道具ID].params[属性ID] # 护甲
$data_weapons[道具ID].params[属性ID] # 武器
#属性ID与下方脚本说明相同
#随意增减装备属性的小插件 # # 脚本说明 # 属性ID介绍 #0: 体力上限 #1: 魔力上限 #2: 物理攻击 #3: 物理防御 #4: 魔法攻击 #5: 魔法防御 #6: 敏捷值 #7: 幸运值 #装备类型: 武器【:weapon】 护甲【:armor】 #$game_system.params(武器类型,道具ID,属性ID,属性增减数值) #脚本范例↓↓ #$game_system.params(:weapon,1,3,100) #1号武器物理防御属性增加100点 #$game_system.params(:armor,1,3,-100) #1号护甲物理防御属性降低100点 #============================================================================== # ■ Game_System #============================================================================== class Game_System alias new_initialize initialize def initialize new_initialize @weapon = Array.new($data_weapons.size) {[0]*8} @armor = Array.new($data_armors.size) {[0]*8} end #-------------------------------------------------------------------------- # ● 额外属性获取方法 #-------------------------------------------------------------------------- def params(lei,id,params,par=0) return @weapon[id][params] = @weapon[id][params] + par if lei==:weapon return @armor[id][params] = @armor[id][params] + par if lei==:armor end end #============================================================================== # ■ RPG::EquipItem #============================================================================== class RPG::EquipItem < RPG::BaseItem #-------------------------------------------------------------------------- # ● 获取武器与护甲的能力数组 #-------------------------------------------------------------------------- def params data=[] @params.size.times {|i| self.is_a?(RPG::Weapon) ? data.push(@params[i]+$game_system.params(:weapon,@id,i)) : data.push(@params[i]+$game_system.params(:armor,@id,i)) } return data end end
#随意增减装备属性的小插件
#
# 脚本说明
# 属性ID介绍
#0: 体力上限
#1: 魔力上限
#2: 物理攻击
#3: 物理防御
#4: 魔法攻击
#5: 魔法防御
#6: 敏捷值
#7: 幸运值
#装备类型: 武器【:weapon】 护甲【:armor】
#$game_system.params(武器类型,道具ID,属性ID,属性增减数值)
#脚本范例↓↓
#$game_system.params(:weapon,1,3,100) #1号武器物理防御属性增加100点
#$game_system.params(:armor,1,3,-100) #1号护甲物理防御属性降低100点
#==============================================================================
# ■ Game_System
#==============================================================================
class Game_System
alias new_initialize initialize
def initialize
new_initialize
@weapon = Array.new($data_weapons.size) {[0]*8}
@armor = Array.new($data_armors.size) {[0]*8}
end
#--------------------------------------------------------------------------
# ● 额外属性获取方法
#--------------------------------------------------------------------------
def params(lei,id,params,par=0)
return @weapon[id][params] = @weapon[id][params] + par if lei==:weapon
return @armor[id][params] = @armor[id][params] + par if lei==:armor
end
end
#==============================================================================
# ■ RPG::EquipItem
#==============================================================================
class RPG::EquipItem < RPG::BaseItem
#--------------------------------------------------------------------------
# ● 获取武器与护甲的能力数组
#--------------------------------------------------------------------------
def params
data=[]
@params.size.times {|i| self.is_a?(RPG::Weapon) ?
data.push(@params[i]+$game_system.params(:weapon,@id,i)) :
data.push(@params[i]+$game_system.params(:armor,@id,i)) }
return data
end
end
|