Project1

标题: 空手攻防脚本问题 [打印本页]

作者: ejenyang    时间: 2008-3-5 22:32
标题: 空手攻防脚本问题
#=========================================================================
# 本脚本来自www.66RPG.com,使用和转载请保留此信息
#=========================================================================

# 空手的攻击防御力           by Claimh
#------------------------------------------------------------------
# http://www.k3.dion.ne.jp/~claimh/
#========================================================================

module Arm_Element
  ARM_ATK = []
  ARM_PDEF = []
  ARM_MDEF = []
  ARM_ELEMENT = []
  ARM_ELE_PLUS = []
  ARM_ELE_MINUS = []
  ARM_ANIMATION1 = []
  ARM_ANIMATION2 = []
  #===================================================================
  # 自定义开始
  #====================================================================
  # 空手时1号角色攻击力与力量值的百分比关系(60%)
  ARM_ATK[1] = 0.6
  # 空手时2号角色攻击力与力量值的百分比关系(70%),以下类推,不一一举例。
  ARM_ATK[1] = 0.7

  # 空手时1号角色防御力与灵巧值的百分比关系(60%)
  ARM_PDEF[1] = 0.6

  # 空手时1号角色魔法防御力与速度值的百分比关系(60%)
  ARM_MDEF[1] = 0.6

  # 空手时攻击方动画编号
  ARM_ANIMATION1[1] = 1

  # 空手时挨打方动画编号
  ARM_ANIMATION2[1] = 4

  #————以下几个慎用,是空手时的属性增减,不推荐修改

  ARM_ELEMENT[1] = [1]
  ARM_ELE_PLUS[1] = []
  ARM_ELE_MINUS[1] = []
end

class Game_Actor < Game_Battler
  include Arm_Element
  #--------------------------------------------------------------------
  #------------------------------------------------------------------
  alias base_atk_arm base_atk
  def base_atk
    if @weapon_id == 0 and ARM_ATK[@actor_id] != nil
      return $data_actors[@actor_id].parameters[2, @level] * ARM_ATK[@actor_id]
    end
    return base_atk_arm
  end

  #--------------------------------------------------------------------
  #-------------------------------------------------------------------
  alias base_pdef_arm base_pdef
  def base_pdef
    if @weapon_id == 0 and ARM_PDEF[@actor_id] != nil
      return base_pdef_arm + $data_actors[@actor_id].parameters[3, @level] * ARM_PDEF[@actor_id]
    end
    return base_pdef_arm
  end

  #--------------------------------------------------------------------
  #--------------------------------------------------------------------
  alias base_mdef_arm base_mdef
  def base_mdef
    if @weapon_id == 0 and ARM_MDEF[@actor_id] != nil
      return base_mdef_arm + $data_actors[@actor_id].parameters[4, @level] * ARM_MDEF[@actor_id]
    end
    return base_mdef_arm
  end

  #------------------------------------------------------------------
  #--------------------------------------------------------------
  alias element_set_arm element_set
  def element_set
    if @weapon_id == 0 and ARM_ELEMENT[@actor_id] != []
      return ARM_ELEMENT[@actor_id]
    end
    return element_set_arm
  end

  #-----------------------------------------------------------------
  #-------------------------------------------------------------------
  alias plus_state_set_arm plus_state_set
  def plus_state_set
    if @weapon_id == 0 and ARM_ELE_PLUS[@actor_id] != []
      return ARM_ELE_PLUS[@actor_id]
    end
    return plus_state_set_arm
  end

  #-------------------------------------------------------------------
  #------------------------------------------------------------------
  alias minus_state_set_arm minus_state_set
  def minus_state_set
    if @weapon_id == 0 and ARM_ELE_MINUS[@actor_id] != []
      return ARM_ELE_MINUS[@actor_id]
    end
    return minus_state_set_arm
  end

  #------------------------------------------------------------------
  #-----------------------------------------------------------------
  alias animation1_id_arm animation1_id
  def animation1_id
    if @weapon_id == 0 and ARM_ANIMATION1[@actor_id] != nil
      return ARM_ANIMATION1[@actor_id]
    end
    return animation1_id_arm
  end

  #---------------------------------------------------------------------
  #------------------------------------------------------------------
  alias animation2_id_arm animation2_id
  def animation2_id
    if @weapon_id == 0 and ARM_ANIMATION2[@actor_id] != nil
      return ARM_ANIMATION2[@actor_id]
    end
    return animation2_id_arm
  end
end



#=====================================================================
# 本脚本来自www.66RPG.com,使用和转载请保留此信息
#====================================================================
我放在自己做的游戏里没有效果,但是新建一个工程可以用
不知道有没有大大能帮我看看可能是什么原因,我修改了什么数值才没效果了? [LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: wy29    时间: 2008-3-5 22:45
提示: 作者被禁止或删除 内容自动屏蔽
作者: ejenyang    时间: 2008-3-5 22:51
{/pz}什么意思啊,不是空手攻击,是空手的时候属性不是都是0 。 0。0

作者: wy29    时间: 2008-3-5 23:13
提示: 作者被禁止或删除 内容自动屏蔽
作者: ejenyang    时间: 2008-3-5 23:20
{/fd}我知道啊,我是使用的1号角色,什么装备都没穿,属性全部显示0
本来用了我贴的那个脚本,空手时候也有基本属性的
不是我用错了,而是我插了很多别的脚本进去
我就想问问有没人知道是什么原因才冲突了

作者: wy29    时间: 2008-3-5 23:48
提示: 作者被禁止或删除 内容自动屏蔽
作者: ejenyang    时间: 2008-3-6 00:06
{/ll}没用,贴带MAIN前面了,还是显示全是0{/dk}{/dk}
作者: wy29    时间: 2008-3-6 00:23
提示: 作者被禁止或删除 内容自动屏蔽
作者: ejenyang    时间: 2008-3-6 00:31
{/fd}有看没有懂,汗,我哭了,一看就晓得我对脚本没有爱
作者: 水迭澜    时间: 2008-3-6 00:32
你说说你用了什么其他脚本吧...
作者: ejenyang    时间: 2008-3-6 00:38
就66RPG的几个整合脚本,。然后双远景图的,还有人物跟随,还有1个描绘敌人血的
还有1个全动画战斗的脚本

作者: ejenyang    时间: 2008-3-6 00:42
我把Game_Actor里的#--------------------------------------------------------------------------
  # ● 获取基本攻击力
  #--------------------------------------------------------------------------
  def base_atk
    weapon = $data_weapons[@weapon_id]
    return weapon != nil ? weapon.atk : 0
  end
0那改成30了,然后就了游戏也变30,这样是不是就对了?
作者: 水迭澜    时间: 2008-3-6 00:43
几个整合脚本?= =|||||
具体是RTAB那些?
RTAB似乎有改Game_Actor,
你在脚本里按ctrl+shift+f4,看看有没有你插入的脚本能搜索到class Game_Actor吧、

p.s LS的基本没错,你也可以把30换成变量~
作者: ejenyang    时间: 2008-3-6 00:46
那如果搜到了要改成什么呢
class Game_Actor < Game_Battler我就搜到4句这个
如果我把刚才那个基本攻击改成30
那我换武器是60攻击,能不能弄成30+60呢,现在换完还是60
而且升级了属性会加,但不加攻防,那要这些属性做什么呢
作者: 水迭澜    时间: 2008-3-6 00:53
可以的
设置成
    return weapon != nil ? weapon.atk + base_str: base_str
这个是攻击力的。
你也可以改成其他~~~


P。S
居然重定义了4次么………………难怪OJZ ……= =

再p.s
str好像跟技能威力有关吧……=      =|||
作者: ejenyang    时间: 2008-3-6 01:01
return weapon != nil ? weapon.atk + base_str: base_str
那如果防御就 base_def    base_mdef这样吗

def base_pdef
    weapon = $data_weapons[@weapon_id]
    armor1 = $data_armors[@armor1_id]
    armor2 = $data_armors[@armor2_id]
    armor3 = $data_armors[@armor3_id]
    armor4 = $data_armors[@armor4_id]
    pdef1 = weapon != nil ? weapon.pdef : 0
    pdef2 = armor1 != nil ? armor1.pdef : 0
    pdef3 = armor2 != nil ? armor2.pdef : 0
    pdef4 = armor3 != nil ? armor3.pdef : 0
    pdef5 = armor4 != nil ? armor4.pdef : 0
    return pdef1 + pdef2 + pdef3 + pdef4 + pdef5
  end这样好长,我不是很看懂,这个防御的,要插在哪?
作者: 水迭澜    时间: 2008-3-6 01:05
要改就改return那里~
但是个人的属性没有def的
只有四个
base_str 力量
base_dex 灵活
base_agi 速度
base_int 魔力/智慧

另外关于 return weapon != nil ? weapon.atk + base_str: base_str
这个个东西,意思是,如果weapon != nil 成立就return冒号前边那个公式,否则就后一个~
= =

作者: ejenyang    时间: 2008-3-6 01:20
汗,不晓得改了什么,设置了初期装备进游戏都没有的
郁闷,明明把可用装备,初期装备都勾上了
作者: 水迭澜    时间: 2008-3-6 01:34
- -|||……不用着急,先新建立一个工程看看有没问题,然后一个个把你的脚本加进去吧
P。S 先结了这帖吧~ [LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~




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