Project1

标题: 反击的设定问题 [打印本页]

作者: 夜狠简单    时间: 2016-5-11 21:53
标题: 反击的设定问题
本帖最后由 夜狠简单 于 2016-5-11 21:58 编辑

使用方法
#对于身中“反击”状态的角色,当收到单独的攻击的时候会自动反击
#反击的模式可以在下面设定

#-cr (counter react)下面设定可以反击的挨打设定:

# 比如设定一个状态名为“反击 -crm”,则受到魔法攻击的时候会自动反击
#-cra50(attack)   =>遭到物理攻击(普攻)的时候50%概率反击。
#-crp  (physical) =>遭到物理伤害(物攻+物理技能)的时候反击。
#-crm  (magic)    =>遭到法术伤害(法术技能)的时候反击。
#-crs  (skill)    =>遭到技能伤害(物理技能+法术技能)的时候反击。
#-1cre7 (element)  =>遭到属性ID为7的攻击的时候反击。

#-ca (counter act)下面设定反击行为:

#比如设置一个状态名叫做“反击 -cas19”,那么受到攻击的时候就会用19号特技反击。
#-caa  (attack)   =>使用物理攻击反击。
#-cas1 (skill)    =>使用ID为1的技能反击。
#-cac  (copy)     =>复制敌人攻击方式(普攻+技能)进行反击。
#-cai1 (item)     =>使用ID为1的物品。
#-cae  (escape)   =>逃跑,敌人使用。

#注意和即时战斗的共同使用问题……

#举例:设置一个状态,使得遭遇物理攻击的时候使用物品4,“反击 -crp -cai4”
@578783944
使用过程遇到一些过程
反击 -cae1
在默认工程里面,我设置史莱姆用特技炎【炎是属性001】打我。但是不会反击。
反击 -crp-cas 这样只会反击攻击


还有希望crp这些能附加概率,概率的值由变量来控制。
作者: 578783944    时间: 2016-5-11 22:08
本帖最后由 578783944 于 2016-5-11 22:09 编辑

我先给你说概率这个问题,其实很简单 你在脚本中 Ctrl+F 搜索下面这段代码
  1. if skill.nil? && (rand(100) < id)
复制代码
按照这个样子修改这句
  1. if skill.nil? || skill.atk_f != 0
复制代码
为下面这样
  1. if (skill.nil? || skill.atk_f != 0) && (rand(100) < id)
复制代码
即可实现
<hr>
至于概率为多少,你可以写crp50 crp60 等等,
当然你也可以把脚本中那个id改成你想要用来控制的变量也可以
作者: 578783944    时间: 2016-5-11 22:18
反击 -cae1
在默认工程里面,我设置史莱姆用特技炎【炎是属性001】打我。但是不会反击。
[line]5[/line]
你这个问题,首先你要明确 -cr 和 -ca 的区别
-cr 代表的是你遭受什么样的攻击才反击
-ca 代表的是受到攻击用什么样的方式反击
然后, 你写的-cae1 是没有定义的,只有 -cae 代表只要收到攻击就会逃跑,这个只定义给敌人
你应该写成 -cre1
作者: 夜狠简单    时间: 2016-5-11 22:23
578783944 发表于 2016-5-11 22:08
我先给你说概率这个问题,其实很简单 你在脚本中 Ctrl+F 搜索下面这段代码按照这个样子修改这句为下面这样 ...

alias original_initialize_before_counter_action initialize
  def initialize
    original_initialize_before_counter_action()
    @counter_action = Game_BattleAction.new
  end  

还有脚本里这和原来的有什么不一样用途吗?我感觉是一样的
这是原来的
#--------------------------------------------------------------------------
  # ● 初始化对像
  #--------------------------------------------------------------------------
  def initialize
    @battler_name = ""
    @battler_hue = 0
    @hp = 0
    @sp = 0
    @states = []
    @states_turn = {}
    @maxhp_plus = 0
    @maxsp_plus = 0
    @str_plus = 0
    @dex_plus = 0
    @agi_plus = 0
    @int_plus = 0
    @Hidden = false
    @immortal = false
    @damage_pop = false
    @damage = nil
    @critical = false
    @animation_id = 0
    @animation_hit = false
    @white_flash = false
    @blink = false
    @current_action = Game_BattleAction.new
  end
作者: 578783944    时间: 2016-5-11 22:26
反击 -crp-cas 这样只会反击攻击
[line]5[/line]
你这个问题,也是定义问题。
说明中定义的cas1 代表用1号技能反击,你如果不写数字,0号技能为空,所以不会用技能反击




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