★RGSS教学1★ 标题:《修改1:空手的攻击力》 简介:默认没装备武器情况下,攻击力为0。通常攻击及以来攻击力的特技无伤害力。此次修正这个。 地址:http://windmesser.tm.land.to/rgss/rgss001.html 翻译:柳柳
如下图,在没有装备武器的情况下,攻击力为0
那么,具体怎样做才好?
解决方法(1):装备上假想的装备品。
把装备设置名为「空手」,「没有装备」一类的,事先装备在空手的位置
这样战斗动画也可以表示,可是其实相当非常麻烦。因为作为第1次的题材,稍稍难易度高,以后再说明吧。
『66编按:他说难度高并不是说这个方法难度高,而是全塞脚本里面难度高。其实你只要按这种说的,修改数据库,给永久空手的角色放一个名为[空手]的装备就达到目的了』
解决方法(2):actor的攻击力的算出方法。
总之,如果攻击力0不被脚本接受就可以了,所以把0改为除此以外的数值吧。 1、或者10、或者其他固定数值。也可使用关联数值。在这里,决定为攻击力使用力量作为参数。
按F11打开脚本编辑器,找到「Game_Actor」的栏。试着找寻actor(角色)的攻击力算出部分。
Game_Actor::base_atk
#-------------------------------------------------------------------------- # ●基本攻撃力 #-------------------------------------------------------------------------- def base_atk weapon = $data_weapons[@weapon_id] return weapon != nil ? weapon.atk : 0 end | 是这个。立刻尝试修改吧。
「return weapon != nil ? weapon.atk : 0」这里表示,如果weapon是nil(也就是说没有装备武器的时候),那么返回0;如果装备了任何东西,那么base_atk这时候为武器的攻击力。 以表示actor的力量替代0的部分就行了。 往base_atk 上面看,有取得基本腕力的 base_str 。使用这个吧。
Game_Actor::base_str #-------------------------------------------------------------------------- # ●基本力量 #-------------------------------------------------------------------------- def base_str n = $data_actors[@actor_id].parameters[2, @level] 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] n += weapon != nil ? weapon.str_plus : 0 n += armor1 != nil ? armor1.str_plus : 0 n += armor2 != nil ? armor2.str_plus : 0 n += armor3 != nil ? armor3.str_plus : 0 n += armor4 != nil ? armor4.str_plus : 0 return [[n, 1].max, 999].min end | 关于这个,只要明白名字就行了,别的不做特殊说明。最后改写成下面的样子:
Game_Actor::base_atk 改変 #-------------------------------------------------------------------------- # ●基本攻撃力の取得 #-------------------------------------------------------------------------- def base_atk weapon = $data_weapons[@weapon_id] return weapon != nil ? weapon.atk : base_str end | 最后检查一下效果:
|