Project1

标题: 无装备攻击防御力与装备攻防叠加 [打印本页]

作者: wingcyx    时间: 2008-5-25 04:38
标题: 无装备攻击防御力与装备攻防叠加
本人今天在制作游戏时突然发现,
原来在游戏源程序中角色装备的时候会出现很多问题。
在角色不装备武器时,不管力量值多大!攻击敌人都只能是 0 -_-|||
让我相当的郁闷!这样即使角色升级到99,如果不用装备,不也是废人一个。
后来用了朋友给我的一个空手攻防能力的脚本!
用了之后,夷?角色不用装备有攻击防御力了!万岁!~~~~~~·
-_-|||可是……问题又来了!
角色不装备比装备武器的攻击力还要强?郁闷!什么逻辑来的?
这不是乱套了吗?而且!只要第二个角色不装备!进入战斗攻击敌人!立马出错!
郁闷!算了!不用这个脚本了!

情急之下自己写下了一个 无装备攻击防御力与装备攻防叠加 的脚本!

使用方法

复制全部脚本内容,在Main脚本之前按insert,插入此脚本全部内容。

#==============================================================================
#无装备攻击防御力 + 装备攻防叠加 V1.0 by 果冻叮当猫
#==============================================================================

#攻击力修正值(非0,否则出错,默认 1 直接调用力量值)
AT = 10
#防御力修正值(非0,否则出错,默认 1 直接调用灵巧值)
DF = 10
#魔法防御力修正值(非0,否则出错,默认 1 直接调用魔力值)
MDF = 10
#闪躲率修正值(非0,否则出错,推荐使用 1)
SD = 1

#==============================================================================
# ■ Game_Actor
#------------------------------------------------------------------------------
#  处理角色的类。本类在 Game_Actors 类 ($game_actors)
# 的内部使用、Game_Party 类请参考 ($game_party) 。
#==============================================================================
class Game_Actor < Game_Battler
  
#--------------------------------------------------------------------------
# ● 获取基本攻击力
#--------------------------------------------------------------------------
  def base_atk
    weapon = $data_weapons[@weapon_id]
    return weapon != nil ? base_str / AT + weapon.atk : base_str / AT
  end
  
#--------------------------------------------------------------------------
# ● 获取基本物理防御
#--------------------------------------------------------------------------
  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 + base_dex / DF
  end
  
#--------------------------------------------------------------------------
# ● 获取基本魔法防御
#--------------------------------------------------------------------------
  def base_mdef
    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]
    mdef1 = weapon != nil ? weapon.mdef : 0
    mdef2 = armor1 != nil ? armor1.mdef : 0
    mdef3 = armor2 != nil ? armor2.mdef : 0
    mdef4 = armor3 != nil ? armor3.mdef : 0
    mdef5 = armor4 != nil ? armor4.mdef : 0
    return mdef1 + mdef2 + mdef3 + mdef4 + mdef5 +base_int / MDF
  end
  
#--------------------------------------------------------------------------
# ● 获取基本回避修正
#--------------------------------------------------------------------------
  def base_eva
    armor1 = $data_armors[@armor1_id]
    armor2 = $data_armors[@armor2_id]
    armor3 = $data_armors[@armor3_id]
    armor4 = $data_armors[@armor4_id]
    eva1 = armor1 != nil ? armor1.eva : 0
    eva2 = armor2 != nil ? armor2.eva : 0
    eva3 = armor3 != nil ? armor3.eva : 0
    eva4 = armor4 != nil ? armor4.eva : 0
    return eva1 + eva2 + eva3 + eva4 + SD     #base_agi / SD
  end

end

这是本人第一次所写出来的脚本!
对于使用此脚本出现其他问题的朋友请直接评论或者联系本人!
请各位多多提出一些宝贵的意见!

作者: 死武王    时间: 2008-5-25 20:44
提示: 作者被禁止或删除 内容自动屏蔽
作者: 凌冰    时间: 2008-5-25 21:17
这个用起来不报错吗?话说AT等值也不是全局变量,也没有定义在模块里,直接调用到函数里不报错吗?诡异!
作者: wingcyx    时间: 2008-5-25 21:25
不会报错!用了没事!
呵呵!不过还是感谢你提出宝贵的意见!本人将继续研究!
作者: 凌冰    时间: 2008-5-25 21:36
以下引用wingcyx于2008-5-25 13:25:58的发言:

不会报错!用了没事!
呵呵!不过还是感谢你提出宝贵的意见!本人将继续研究!


[本贴由作者于 2008-5-25 13:26:36 最后编辑]

回去试一试,保持怀疑态度。。。。
作者: wingcyx    时间: 2008-5-25 21:57
有怀疑态度是好事!我喜欢!呵呵!
这位朋友你对脚本很有研究对吧?
以后在制作过程有什么问题希望您可以帮我忙哦!再次谢谢你了!
作者: havealook    时间: 2008-5-25 22:55
貌似早就有这类脚本了吧?{/gg}
教程:http://rpg.blue/web/htm/news392.htm
脚本:http://rpg.blue/web/htm/news150.htm
作者: wingcyx    时间: 2008-5-26 00:11
那些用了之后有错误!而且很麻烦!所以我才自己写的!
作者: 沉影不器    时间: 2008-5-26 03:10
提示: 作者被禁止或删除 内容自动屏蔽
作者: wingcyx    时间: 2008-5-26 07:23
常量不会有问题啊!游戏结束之前都是可以使用的变量!所以就不会报错咯!
作者: 凌冰    时间: 2008-5-26 16:05
既然沉影也那么说,估计是我小白了
look不要那么说,新人崭露,应支持才对
我也是新人{\hx\}
作者: 禾西    时间: 2008-5-26 18:32
以下引用凌冰于2008-5-26 8:05:21的发言:
我也是新人{\hx\}

Kill 飛僞新人~

AT等等是樓主定義在 Object 當中常量,所有在 Object 當中定義的東西都全局通用.
雖然「語句「寫得有點繁複,但是「編程意識」不錯。新人支持個 XD
作者: 禾西    时间: 2008-6-1 15:02
沒有下文,只好感謝共享。
wingcyx.積分 += 50
作者: 84671379    时间: 2010-8-29 06:06
提示: 作者被禁止或删除 内容自动屏蔽




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