查看: 3372|回复: 3

[已经解决] 如何用事件脚本判断装备的属性数值如防具布衣物防是5?

[复制链接]
梦石
0
星屑
3784
在线时间
933 小时
注册时间
2017-1-19
回帖
156
发表于 2020-4-23 00:36:31 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
还有如武器匕首物攻是10,以及装备属性提升如用事件脚本给匕首物攻到15。用事件脚本是否可以实现?
梦石
3
星屑
7336
在线时间
608 小时
注册时间
2019-9-15
回帖
112

R考场第七期金奖

发表于 2020-4-23 01:31:08 | 显示全部楼层
本帖最后由 Cupidk爱呗茶 于 2020-4-23 02:37 编辑

啊啊啊理解确实有点问题 感谢猫大指出

点评

$data_xxx会在读档的时候重置,而且会影响所有的装备/物品  发表于 2020-4-23 02:27
********
回复

使用道具 举报

梦石
3
星屑
7336
在线时间
608 小时
注册时间
2019-9-15
回帖
112

R考场第七期金奖

发表于 2020-4-23 22:02:14 | 显示全部楼层
本帖最后由 Cupidk爱呗茶 于 2020-4-23 23:25 编辑

研究了一下 大概思路是吧武器额外数据存储到$game_system 然后在从RPG::EquipItem调用以获取到增加的数值
使用方法 :将脚本复制到脚本编辑器▼ 插件脚本 后即可 具体用法请查看脚本注释
最后 如使用该脚本有任何意外情况都可以联系层主哦
顺便获取装备属性是可以直接调用系统默认方法 ↓
[pre lang="ruby" line="1"]$data_armors[道具ID].params[属性ID]  # 护甲
$data_weapons[道具ID].params[属性ID]  # 武器
#属性ID与下方脚本说明相同[/pre]
[pre lang="ruby" line="1"]#随意增减装备属性的小插件
#
# 脚本说明
#  属性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+$game_system.params(:weapon,@id,i)) :
  data.push(@params+$game_system.params(:armor,@id,i)) }
return data
end
end
[/pre]
********
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部