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

Project1

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

[已经解决] 属性防御的修正值问题

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
82 小时
注册时间
2010-6-22
帖子
37
跳转到指定楼层
1
发表于 2011-6-3 23:10:21 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x

系统默认的属性防御就像防御那样是1/2伤害,
我想把属性防御改为完全防御该属性,也就是把修正值改为0
不过那句脚本语言在哪啊?rtab的,找不到

Lv2.观梦者

梦石
0
星屑
253
在线时间
574 小时
注册时间
2006-8-25
帖子
969
2
发表于 2011-6-3 23:55:30 | 只看该作者
Game_Actor类
    # 获取对应属性有效度的数值
    table = [0,200,150,100,50,0,-100]
改成
    # 获取对应属性有效度的数值
    table = [0,200,150,100,0,0,-100],那样一件装备属性防御伤害就变成0%
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
82 小时
注册时间
2010-6-22
帖子
37
3
 楼主| 发表于 2011-6-4 00:05:49 | 只看该作者
jhhuang 发表于 2011-6-3 23:55
Game_Actor类
    # 获取对应属性有效度的数值
    table = [0,200,150,100,50,0,-100]

那个状态也有效吗?我就是要弄一个绝对防御的状态
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
253
在线时间
574 小时
注册时间
2006-8-25
帖子
969
4
发表于 2011-6-4 00:11:26 | 只看该作者
本帖最后由 jhhuang 于 2011-6-4 00:12 编辑
老夫子 发表于 2011-6-4 00:05
那个状态也有效吗?我就是要弄一个绝对防御的状态


比如说1件装备火属性防御,那么火属性防御+1
1个状态火属性防御+1
一共+2
[0,200,150,100,50,0,-100]
伤害就是0%这样算的.
火伤害攻击有效1级150%伤害,有效2级,就200%.

鸟解?

PS:注意上面公式= =如果火属性防御达到3级(比如2件火防装+1个火防状态.),那么伤害会变成负100%,伤害变成补血
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
63 小时
注册时间
2008-11-20
帖子
45
5
发表于 2011-6-4 00:30:38 | 只看该作者
楼上……假若我们使用默认的elements_rate
table = [0,200,150,100,50,0,-100]
从装备/状态上获得的属性防御,不是如你所说的那么计算……
用你举的例子,一个火属性魔法,打某人(该人物的火属性有效度=C[100%])
假定伤害为 1000
这个人穿着盔甲,赋予火属性防御  ----->   受到伤害 500
这个人被附加状态,火属性防御    ------>  受到伤害 250
这个人又穿着一盾牌,赋予火属性防御 -->  受到伤害 125

综上可以得到结论:
属性防御,所做的是根据 table里面 D 等级的数量进行修正,每次防御多修正一次。
上述例子有3件火属性防御(注意,并非人物设置里面的那个等级,而是装备/状态栏划勾的属性防御)
则,对于1000点火属性伤害进行属性修正:
根据table D [50%] 3次修正
1000*0.5*0.5*0.5 = 125

点评

额...忘记职业界面设置的属性有效读了.刚看了下脚本,上面写错鸟= =  发表于 2011-6-4 00:45

评分

参与人数 1星屑 +200 梦石 +2 收起 理由
「旅」 + 200 + 2

查看全部评分

回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
253
在线时间
574 小时
注册时间
2006-8-25
帖子
969
6
发表于 2011-6-4 00:46:37 | 只看该作者
本帖最后由 jhhuang 于 2011-6-4 00:52 编辑
老夫子 发表于 2011-6-4 00:05
那个状态也有效吗?我就是要弄一个绝对防御的状态


越是了解深入的东西...过往的基础就忘记了= =
上面那个发错了...那个是职业代入的属性有效度伤害.
下面那句
    # 状态能防御本属性的情况下效果减半
    for i in @states
      if $data_states.guard_element_set.include?(element_id)
        result /= 2
      end
    end
----------------------------------------------------
result /= 2
改成
result = 0


Game_Enemy类是敌人的,也是
result /= 2
改成
result = 0



[0,200,150,100,50,0,-100]
这东西是人物职业或敌人设置的属性有效度....
A=200%B=150%C=100%D=50E=0F=负100%
就是当受到那个属性时受到的伤害.

点评

你也答得很认真,不过我今天没分了  发表于 2011-6-4 14:05

评分

参与人数 1星屑 +200 梦石 +2 收起 理由
「旅」 + 200 + 2

查看全部评分

回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6855
在线时间
1666 小时
注册时间
2008-10-29
帖子
6710

贵宾

7
发表于 2011-6-4 01:06:50 | 只看该作者
本帖最后由 后知后觉 于 2011-6-4 11:51 编辑

那个 table 只是给 属性有效度 用的
属性防御是直接 / 2 的.

全局搜索(Shift+Ctrl+F)
  1. def element_rate
复制代码
默认情况下能搜索到2个结果.一个角色的.一个敌人的.
在角色的定义里有2行  
result /= 2

把这2行 result /= 2 改成
  1. result = 0;break
复制代码
而在敌人的定义里就只有1行.因为敌人没有状态防御.但有属性防御.
把敌人的那行 result /= 2 也改成上面那样.
当然了.你用的不是默认系统.所以在搜索出来不只2个结果的时候就需要在更靠近 Main 的地方进行修改.
不过要注意这个 result 是百分比 而不是直接值.
这样直接设置为 0 的话 虽然直接结果是等于 0 了.
不过也把 其他的一些 伤害吸收(加血)的效果给屏蔽了(同时携带时).
该怎么改你自己试试吧.

点评

很好,我知道为什么找不到那句了……因为rtab里根本没这句……看来我死板了,谢谢  发表于 2011-6-4 14:03
你知道得太多了 (好吧= =我表示我偷懒了.)  发表于 2011-6-4 11:10

评分

参与人数 2星屑 +202 梦石 +2 收起 理由
「旅」 + 200 + 2
老夫子 + 2 认可答案

查看全部评分












你知道得太多了

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-26 03:54

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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