Project1

标题: 状态改变属性有效度的写法 [打印本页]

作者: y967    时间: 2018-6-11 18:47
标题: 状态改变属性有效度的写法
怪物只有固定的属性有效度,如果状态改变属性有效度呢,当拥有3号状态时,1号属性为1.5倍伤害,2号属性为0.5倍伤害,4号状态时,1号属性为0.5倍伤害,2号属性为2倍伤害,该怎么写...

作者: 灯笼菜刀王    时间: 2018-6-11 20:23
搜索 element_rate  

用 @states.include?(state_id) 给 table 开分歧就行了
作者: 灯笼菜刀王    时间: 2018-6-12 15:46
本帖最后由 灯笼菜刀王 于 2018-6-12 15:47 编辑

emmm,如果不懂脚本写法的话,先F1的入门看一遍,了解下基本的结构,然后再来玩这个

咱就假设你已经看过F1了,明白这些句子是干嘛用的了

栗子:我方game actor 和敌人game enemy 都有element_rate 这个函数,它就是用来判断属性有效度的

然后这个方法下面可以看到这句

# 获取对应属性有效度的数值
table = [0,200,150,100,50,0,-100]

具体数值就是这个数组了,代表了各个等级的伤害比例。从数字上可以判断出,它是按 (第一个0没用到,属于占坑用,因为数组是按0号开始算,无视它就行)ABCDEF这样排列

所以,你想要改不同的属性比例,那就改变里面的数字就可以了

然后,想要不同的状态下有不同的比例,那只要复制一份,然后套个分歧,满足这个条件的时候用新的数组就好了

if @states.include?(1)   #当中了1号状态的时候
  table = [0,1000,1000,1000,1000,1000,1000]   #所有属性全部十倍伤害
elsif $game_variables[1]  #1号开关打开的时候
  table = [0,0,0,0,0,0,0]  #所有属性全部0伤害
else
table = [0,200,150,100,50,0,-100]  
end

就这样,想要条件下用什么比例,一个一个加上去就OK.
作者: 灯笼菜刀王    时间: 2018-6-13 11:47
本帖最后由 灯笼菜刀王 于 2018-6-13 12:08 编辑

还不会用的话,那你就乖乖的去game_battle3  一个一个在 self.hp -= self.damage 之前加上分歧

if self.states.include?(1) and skill.element_set.include?(1)  #第一个括号里的是状态ID,第二个括号里的是属性ID, 然后 self.damage 乘上你要的比例就好了。

要怎么变一个一个塞,像你主楼的效果,塞个4次就可以了,以后每多加个属性再多 N² 次分歧而已, 另外,记得平砍,技能,物品都要塞一次,至于4倍伤害什么的,自己解决

=========================================================================

咱最后给你的用法例子
[0,-100,0,100,50,150,200]

比例换成这样做会如何?  答案:数据库设置的属性逆转,原本火A的敌人变火属性吸收,水F的敌人变2倍伤害。

[0,100,0,0,0,0,0]

这样会如何? 答案 : 数据库设置的属性,只有属性A才能造成伤害,其他都是0,火A的敌人用火攻可以造成伤害,其他属性全部免疫,

[0,50,100,100,100,100,100]

这样会如何?  答案: 数据库设置的属性,属性A的敌人伤害减半,其他正常。 火A的敌人受到火属性攻击伤害减半,水A的敌人受到水属性攻击伤害减半

-----------------------------------

以上栗子,简单的说,就是,你可以在数据库里设置好某些敌人的弱点,然后通过调整比例,来控制这个弱点的伤害比例,同时不会影响到其他没设置该等级的人(让C都是100,也就是第4个数)

推荐用法: 使用加菲斑竹的“战斗阶段5个公共事件脚本” 在伤害计算前的公共事件里调整比例,就可以直接影响这次技能的结果,然后调回原本的比例,就不会对其他技能和其他敌人有任何影响,而且更容易调整自己需要的效果。

此脚本使用要求:熟悉每个战斗阶段在脚本里的位置,否则你无法驾驭。 自重。
作者: Tsar_NicholasII    时间: 2018-6-14 00:08
按状态和按属性来一个一个设置伤害即可
作者: y967    时间: 2018-6-14 06:36
灯笼菜刀王 发表于 2018-6-13 11:47
还不会用的话,那你就乖乖的去game_battle3  一个一个在 self.hp -= self.damage 之前加上分歧

...

如果那数组里的那6个数是属性有效度,我有点明白了,你的意思是先在敌人设置属性有效度,尽量把各个属性的有效度设置的不一样,通过改变数组有效度的比例来达到改变怪对属性有效度的伤害....
虽然离我预想的精确改变有点不一样,但这样也是一种方法,而且可以达到生克的效果,无意间获得了我想要的生克效果...只是设定的部分变成了怪物属性有效度里设置...现在明白了




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1