设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2618|回复: 6
打印 上一主题 下一主题

[已经解决] 求教怎么调用二刀流主手武器的攻击力和副手武器的攻击力

[复制链接]

Lv2.观梦者

梦石
0
星屑
642
在线时间
165 小时
注册时间
2012-4-18
帖子
264
跳转到指定楼层
1
发表于 2013-11-1 20:02:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 salvareless 于 2013-11-2 00:14 编辑

实在想不出来了,还是发个帖子问问各路大神吧。

如题,怎么在伤害公式中调用二刀流职业主手武器的攻击力,和副手武器的攻击力。(最好还能调用角色在无装备无状态下的原本攻击力)

自己试了试,返回的不是nil就是0,要么直接错误。想用装备栏id来调用来着,一看,尼玛,主副手的id都是0= =

求各路大神解答。

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21626
在线时间
9413 小时
注册时间
2012-6-19
帖子
7118

开拓者短篇九导演组冠军

2
发表于 2013-11-1 22:08:28 | 只看该作者
  1. a.equips[0]
  2. a.equips[1]
复制代码
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
642
在线时间
165 小时
注册时间
2012-4-18
帖子
264
3
 楼主| 发表于 2013-11-1 23:12:29 | 只看该作者
喵呜喵5 发表于 2013-11-1 22:08

测试了,这个无效啊,不能造成伤害。而且看上去他是获取0号位和1号为的武器的信息,我只要其中的攻击力这一个数据诶………………还有一个问题,好像二刀流主副手的装备栏id都是0的。
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21626
在线时间
9413 小时
注册时间
2012-6-19
帖子
7118

开拓者短篇九导演组冠军

4
发表于 2013-11-1 23:36:37 | 只看该作者
抱歉,因为你似乎有脚本基础所以我就说的比较简便了还以为你能看懂…………

a.equips[0]
获取技能使用者主手的装备信息
a.equips[1]
获取技能使用者副手的装备信息(如果是二刀流就是武器,如果非二刀流就是盾牌)

a.equips[0].id
主手装备的ID
a.equips[0].name
主手装备的名字

a.equips[0].etype_id
主手装备的装备类型
0: 武器
1: 盾牌
2: 头盔
3: 铠甲
4: 饰品

a.equips[0].params[n]
主手装备对能力值的变化
n分别对应:
0: 体力上限
1: 魔力上限
2: 物理攻击
3: 物理防御
4: 魔法攻击
5: 魔法防御
6: 敏捷值
7: 幸运值

现在你知道该怎么做了吧?

点评

谢谢帮助,塞个糖(不知道能不能塞诶)  发表于 2013-11-2 00:13

评分

参与人数 1星屑 +200 收起 理由
熊喵酱 + 200 认可答案+幫LZ代塞

查看全部评分

回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
642
在线时间
165 小时
注册时间
2012-4-18
帖子
264
5
 楼主| 发表于 2013-11-1 23:44:40 | 只看该作者
= =这个么,因为一直没有找到中文的帮助文件(其实是很懒,没去仔细找找),都是修改现成脚本和看默认的脚本学了些,基本功不扎实。原来是a.equips[0].params[2]啊。之前自己捣鼓的时候试了很多诸如:a.equips[0].params(2),或者a.equips[0].param(2),再或者a.equips[0].atk之类的。太苦逼了。

谢谢你的帮助。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3298
在线时间
1120 小时
注册时间
2009-4-15
帖子
815
6
发表于 2013-11-2 00:23:59 | 只看该作者
技能的伤害公式,你不一定在数据库设定的界面写,也可以改脚本。我抛砖引玉吧。
RUBY 代码复制
  1. class Game_Battler < Game_BattlerBase
  2.   #--------------------------------------------------------------------------
  3.   # ● 计算伤害
  4.   #--------------------------------------------------------------------------
  5.   def make_damage_value(user, item)
  6.     if item.is_a?(RPG::Skill)#如果使用的是技能(在VA里发动技能就是使用物品,所以有这个判定)
  7.       case item.id#技能id
  8.         when 218#比如218号技能的技能伤害你想自己写不引用数据库里的设定。另外,在这里的设定,等同于在数据库技能公式伤害的设定。user=a,self=b,value代表伤害公式计算结果。
  9.            value = 0
  10.           value = user.atk if user.weapons.include?($data_weapons[155])#举例,如果装备了155号武器,并且发动的是218号技能,那么伤害结果=a.atk,否则就是0.
  11.         else #218号技能以外的情况
  12.           value = item.damage.eval(user, self, $game_variables)#这个就是取数据库设定的计算公式了。
  13.       end
  14.     end
  15.     value *= item_element_rate(user, item)#离散度
  16.     value *= pdr if item.physical?#是否物理伤害
  17.     value *= mdr if item.magical?#是否魔法伤害
  18.     value *= rec if item.damage.recover?#这个不记得了,懒得查……
  19.     value = apply_critical(value) if @result.critical#好像是物理伤害加深
  20.     value = apply_variance(value, item.damage.variance)#同上魔法伤害加深
  21.     value = apply_guard(value)#防御状态
  22.     @result.make_damage(value.to_i, item)#返回最终计算结果
  23.   end
  24. end

评分

参与人数 1星屑 +132 收起 理由
熊喵酱 + 132 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
642
在线时间
165 小时
注册时间
2012-4-18
帖子
264
7
 楼主| 发表于 2013-11-2 00:27:39 | 只看该作者
嗯嗯~~~我去看了你推荐的帖子,里面有提到这个方法。只不过就用到两个公式而且也写得下(无聊测了一下公式栏可以放下100个字符= =我好无聊),于是就偷懒没有用这个方法,公式我已经写出来了。放在那张帖子上了。
回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-15 18:57

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表