Project1

标题: 想设定某些技能(或状态等)的额外属性怎么办啊。。。 [打印本页]

作者: 耀眼的毛玉    时间: 2013-10-3 19:44
标题: 想设定某些技能(或状态等)的额外属性怎么办啊。。。
本帖最后由 耀眼的毛玉 于 2013-10-5 11:48 编辑

比如现在想设定灵力伤害技能的体力伤害数值,不同的技能该数值不同,所以想问应该怎么做:
基本思路是可以直接在灵力伤害那块代码写上if条件(或其他类似的语句和方法)来实现,但是if后面的语句怎么写啊……(比如我要设定的技能的编号是100,设定其hp_damage为固定的1000)
现在进度:我在game_battleaction那里找到了技能编号对应的变量skill_id,然后用的这个变量的方法那里引入一个和它数值相同的全局变量(为了把这个变量传递给其他类和方法……),然后再game_battler那里的make_obj_damage_value(计算伤害)那里用if条件实现了不同灵力伤害技能的体力伤害设定(比如抽灵强的技能体力伤害低,抽灵弱的体力伤害高),但存在数据会被覆盖还有无法正确判断使用者的问题。

最后预期效果是:使用某个技能,对方受到X点伤害,同时对方损失Y点灵力(X、Y为根据不同公式计算得出的值,不同技能的公式也不同。)
我是刚开始学习的编程小白~~求助啊




最新进度:搜索“使用技能后给自己附加状态”的脚本的时候偶然看到了这里边if语句的写法:
原: if item.is_a?(RPG::Skill) and item.id == 37
自改: if obj.is_a?(RPG::Skill) and obj.id == XX
经简单测试BUG已经被修正,不知有没有别的BUG……暂时按已解决算吧
作者: 丿梁丶小柒    时间: 2013-10-3 23:06
技能下面不是有伤害数值设定么。
数据库>技能  
如果需要添加属性那么技能右边有属性可勾选,详细可以点击右上角的问号然后点击属性就可以看到详细了
作者: 耀眼的毛玉    时间: 2013-10-4 10:32
丿梁丶小柒 发表于 2013-10-3 23:06
技能下面不是有伤害数值设定么。
数据库>技能  
如果需要添加属性那么技能右边有属性可勾选,详细可以点击 ...

貌似没法实现吧,勾选灵力伤害属性之后就只有灵力伤害没有体力伤害了,我也没找到设置体力伤害的地方。用属性来实现灵力体力双伤害的话本质上应该会和我想的方法一样而且更麻烦。(我现在靠照葫芦画瓢改代码已经实现了固定公式的灵力体力双伤害)
作者: 耀眼的毛玉    时间: 2013-10-4 10:43
好了,第一个思路已经实现了,我在game battleaction那里找到了技能编号对应的变量skill id,然后用的这个变量的方法那里引入一个和它数值相同的全局变量(为了把这个变量传递给其他类和方法……),然后再game battler那里的make_obj_damage_value(计算伤害)那里用if条件实现了不同灵力伤害技能的体力伤害设定(比如抽灵强的技能体力伤害低,抽灵弱的体力伤害高)
作者: 耀眼的毛玉    时间: 2013-10-4 11:39
还是有不足啊,经试验这个方法只对己方技能有效,敌方技能因为貌似没用到battleaction的内容所以没有这个效果,只能用统一公式了……求完善




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