Project1

标题: 怎样实现技能使用条件 [打印本页]

作者: zzaihj    时间: 2015-10-26 14:06
标题: 怎样实现技能使用条件
我创建了一种新的技能种类  除灵   想实现只有对付阴灵类(自己建的)敌人才能使用  (其他的攻击  特技  魔法对其无效)
还有就是除灵类的技能分为两类   第一种是让阴灵实体化    第二类就是实体化后才能使用的技能
我自己的想法是实体化以前的技能是让对手减少MP   敌人MP为0以后才能使用第二阶段技能对敌人造成伤害
查看了论坛里的帖子  发现都是VX的

不知道VA里面  怎么才能实现我说的功能

作者: 午睡的风铃    时间: 2015-10-26 18:08
本帖最后由 午睡的风铃 于 2015-10-26 18:13 编辑

有个未经测试的想法,也未经深思,仅供参考。

技能A:实体化之前用来对MP造成伤害的
技能伤害类型:魔力值伤害
伤害公式:比如  b.element_rate(13)>1?a.mat-b.mdf:0
当目标的13号属性抗性大于100%时,伤害公式为a.mat-b.mdf,否则是0
需要在数据库中专门给阴灵系敌人准备个属性,并在特性里设定下属性抗性,这个属性仅供伤害公式判断用,
除灵类技能属性随意,其他系敌人也不要设定对此属性的抗性

技能B:实体化后的技能,扣除目标HP值
伤害公式是b.mp==0?a.mat-b.mdf:0

为了敌人能免疫其他攻击,可以考虑,任选其一
1):设置除灵类技能命中类型为必定命中,成功几率100,阴灵系敌人的回避和魔法回避为100
2):设置除灵类技能命中类型为必定命中,成功几率100,阴灵系敌人物理伤害和魔法伤害加成为0
3):单独给除灵类技能设置一个属性,阴灵系敌人对此属性以外的属性抗性全部为0,并且保证游戏中其他全部攻击类技能的属性不为无
4):其他……
作者: zzaihj    时间: 2015-10-26 19:34
午睡的风铃 发表于 2015-10-26 18:08
有个未经测试的想法,也未经深思,仅供参考。

技能A:实体化之前用来对MP造成伤害的

我目前就是这样做的  但是这样做是攻击没伤害
我希望达成的目标是技能无法使用
有本质上的区别
能不用脚本的方法我基本上都想全了
效果差不多 但是谁不希望自己的游戏完美呢……

作者: zzaihj    时间: 2015-10-26 21:32
本帖最后由 zzaihj 于 2015-10-26 21:53 编辑

我的想法是在敌人的备注栏加一个 编号
在技能判定是否使用时  有编号的为 ture
但是找不到VA里关于技能判定的代码  Game_Battler里找了半天
最后在Game_BattlerBase里找到这么一行
#--------------------------------------------------------------------------
  # ● 判定技能类型是否被禁用
  #--------------------------------------------------------------------------
  def skill_type_sealed?(stype_id)
    features_set(FEATURE_STYPE_SEAL).include?(stype_id)
  end
我怎么修改可以实现我的目标

关于第二个目标我的想法是利用
if enemy.mp=0 skill[3,4,5,6].occasion=1
else  skill[3,4,5,6]=4
还有这样编写可不可以  可以的话这段代码放在哪里??
求大神指点迷津
作者: 三途亚梦    时间: 2015-10-27 17:48
看你的意思似乎只是想让玩家不使用错误的技能?
作者: jianyulei    时间: 2015-10-28 11:32
扣魔和扣血的公式可以写在一个技能里面,中间用;隔开,两个都要写上判定条件对方的MP是否为0,扣血的公式必须写在最后面
幽灵敌人的无敌用状态设置,可以使用开战附加状态的插件,也可以手动写敌群事件。效果是除了除灵类属性的攻击外其他属性伤害有效度全变为0。然后除灵技能可以去除这个状态,如果必须要敌人MP为0才能去除状态的话可以参考最上面一行。
作者: zzaihj    时间: 2015-10-29 11:44
jianyulei 发表于 2015-10-28 11:32
扣魔和扣血的公式可以写在一个技能里面,中间用;隔开,两个都要写上判定条件对方的MP是否为0,扣血的公式 ...

技能无效和技能不能使用不是一个概念啊
作者: jianyulei    时间: 2015-10-30 13:52
zzaihj 发表于 2015-10-29 11:44
技能无效和技能不能使用不是一个概念啊

你的要求里本身有无效和不能使用两种概念,而我不知道你所指的不能使用时什么意思,是战斗的时候没有幽灵系敌人技能就灰显不能使用?或者是其他什么效果?
我想了下要技能不能使用这个条件本身就需要插脚本了,我是没见过完全符合要求的专用脚本,如果没有专用脚本的话就需要用其他有 技能发动条件 的脚本来根据要求更改,但因为不是专用的,所以需要改到敌群,甚至每个有幽灵系敌人的敌群都需要改。这是不符合制作效益的。
我认为如果不懂脚本自己没法做出这个效果,也有没有能做出这个效果的人帮忙就应该退而求其次想想其他办法,只要能做到效果相同就行,不一定非要达到一步不差。
我本人也不懂脚本,做技能的时候都是想办法用事件和其他已有的脚本来完成。虽然经常能想出一些很特别、很有效,同时也很有意思的想法,但不会脚本这项前提不允许我将想法制作出来,这时候我会退而求其次,做出类似的效果,如果完全无法实现,那么我抛弃原有想法,想个同样有意思但同时也可行的效果就行了。这是不懂脚本却想做出好游戏的人的基本心态,没有这种心态肯定会做不到一半弃坑。
作者: zzaihj    时间: 2015-10-30 21:43
jianyulei 发表于 2015-10-30 13:52
你的要求里本身有无效和不能使用两种概念,而我不知道你所指的不能使用时什么意思,是战斗的时候没有幽灵 ...

经过三天的努力钻研
我终于写出正确的脚本了
谢谢了




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