Project1

标题: 【普通攻击技能id】的脚本问题 [打印本页]

作者: 寂寞的青椒    时间: 2015-9-30 17:00
标题: 【普通攻击技能id】的脚本问题
本帖最后由 寂寞的青椒 于 2015-10-1 07:40 编辑

这个脚本让我很头疼....因为他可用,但是却有后遗症。
问题出在角色没有武器的时候攻击会跳窗。
因为自己不了解脚本,只会皮毛的修改,怎么弄都弄不好....希望有大大来救我
让这脚本更完美些。
对了,这脚本是在工程包提取的,在By希忆的工程包。
脚本在此

搜狗截图20151001073700.png (7.87 KB, 下载次数: 29)

弹出的错误

弹出的错误

作者: 百里_飞柳    时间: 2015-9-30 17:17
本帖最后由 百里_飞柳 于 2015-9-30 17:19 编辑

虽然我不怎么懂脚本,不过你可以试试这样做

#数据库角色/职业/武器备注 类似 <attack_skill 111>
#优先级:武器1 > 武器2 > 角色 > 职业

脚本里说了优先度,所以你可以在这三个地方都设置独立的攻击动画,再看看会不会报错,
或者直接把最后那一句return 1前面的#去掉看看。
作者: taroxd    时间: 2015-9-30 18:15
把那个 return 1 前面的 # 号删了试试
作者: 寂寞的青椒    时间: 2015-10-1 07:38
taroxd 发表于 2015-9-30 18:15
把那个 return 1 前面的 # 号删了试试

不行啊....还是报错了。
作者: 寂寞的青椒    时间: 2015-10-1 07:39
百里_飞柳 发表于 2015-9-30 17:17
虽然我不怎么懂脚本,不过你可以试试这样做

#数据库角色/职业/武器备注 类似

不行啊....还是报错了。
作者: 百里_飞柳    时间: 2015-10-1 09:03

  1. class Game_Actor < Game_Battler
  2.   def attack_skill
  3.     @note =~ /\<(?:attack_skill) (\d+)\>/ ? $1.to_i : 1
  4.   end
  5.   
  6.   def attack_skill_id
  7.     return self.weapons[0].attack_skill if self.weapons[0]
  8.     return self.weapons[1].attack_skill if self.weapons[1]
  9.     return self.actor.attack_skill if self.actor.attack_skill != 1
  10.     return self.class.attack_skill
  11.     #return 1
  12.   end
  13. end
复制代码
看截图是因为actor类没有定义attack_skill方法,
于是……这样把第三小节的脚本改动了呢?

还一个暴力方法,如果你不需要对特定的角色设置不一样的攻击动画的话,
直接把第三小节改成

  1. class Game_Actor < Game_Battler
  2.   def attack_skill_id
  3.     return self.weapons[0].attack_skill if self.weapons[0]
  4.     return self.weapons[1].attack_skill if self.weapons[1]
  5.     return self.class.attack_skill if self.class.attack_skill != 1
  6.     return 1
  7.   end
  8. end
复制代码
这样就是不判定角色的自己的skill_id,而是在判定了职业的skill_id不为1后,直接全部返回1了。
好吧,如果再报错就把return 1前面一行的职业判定也删了吧……
作者: 寂寞的青椒    时间: 2015-10-1 14:01
百里_飞柳 发表于 2015-10-1 09:03
看截图是因为actor类没有定义attack_skill方法,
于是……这样把第三小节的脚本改动了呢?

上一行删除后真的不跳窗了~你真是帮了我一个大忙~再次感谢~




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