Project1

标题: 【自问答】如何使角色拥有空手攻击力? [打印本页]

作者: 天地有正气    时间: 2015-10-23 22:35
标题: 【自问答】如何使角色拥有空手攻击力?
问:如何使角色拥有空手攻击力,即攻击力不仅受装备影响

思路:在Game_Battler里面相关定义里修改攻击力算法,这里我倾向于在Game_Battler里面修改而不是在Game_Actor里面修改。
首先,请打开我们的脚本编辑器,在Game_Battler 1的180行左右找到攻击力的定义部分(如图1)。

观察这一段内容,不难发现,n就是处理后的攻击力,由于攻击力还受状态的百分比影响,所以使用Integer(n)取整数。
于是,我们可以在return前面添加如下代码。
  1. n += str if self.is_a?(Game_Actor) # 如果是角色,则攻击力加上自己的力量数值。
复制代码
这边需要解释的内容有两个,is_a是可以判定一个对象是否是一个类的实例的方法,括号里的就是类名。
if语句通常是由if和end组成的,但如果仅有一行,也可以写成   执行内容 if 表达式,这样看起来更简洁明了,不是吗?
修改后的Game_Battler 1 如图2。

这样修改好了之后,角色的攻击力受力量影响,但是如果不装备武器,不会显示动画,于是我们可以到Scene_Battle里面修改相关的语句。
通过搜索,我们可以找到Scene_Battle 4 186行左右的脚本(如图3)。

看到了吗?@active_battler就是正在行动的角色,@animation2_id就是即将在被攻击的人身上播放的动画。
于是我们就可以写一句条件分歧来播放空手动画。
  1. @animation2_id = 4 if @active_battler.is_a?(Game_Actor) and @active_battler.weapon_id == 0
复制代码
其中,前面一部分是判定是否是角色,后面一部分是判定是否没有武器。修改后的代码如图4。

现在,我们可以说大功告成了!测试一下看看,是不是有攻击力了呢?


@RyanBern 召唤版主申请自问答贴,其他几位版主的id记不太清楚了,就只艾特RB君吧~
作者: RyanBern    时间: 2015-10-23 23:27
本帖最后由 RyanBern 于 2015-10-24 09:12 编辑

支持自问答帖!虽然图书馆已经有了脚本,但是做出教程确实很赞。
个人建议:在Game_Actor#base_atk中修改
作者: 汪汪    时间: 2015-10-24 01:14
为什么在Game_Battler里面修改而不是在Game_Actor里面修改呢?
作者: 李舜生    时间: 2017-1-24 23:11
萌新提问个弱智问题....不受装备影响?装备攻击力改为0不就好了?




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