设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1776|回复: 6
打印 上一主题 下一主题

[已经解决] 【普通攻击技能id】的脚本问题

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1092
在线时间
511 小时
注册时间
2015-8-23
帖子
112
跳转到指定楼层
1
发表于 2015-9-30 17:00:07 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 寂寞的青椒 于 2015-10-1 07:40 编辑

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

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

弹出的错误

弹出的错误

Lv6.析梦学徒

老鹰

梦石
40
星屑
34725
在线时间
6740 小时
注册时间
2012-5-26
帖子
3259

极短24评委极短23参与极短22参与极短21评委老司机慢点开短篇十吟唱者组别冠军开拓者剧作品鉴家

2
发表于 2015-9-30 17:17:19 | 只看该作者
本帖最后由 百里_飞柳 于 2015-9-30 17:19 编辑

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

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

脚本里说了优先度,所以你可以在这三个地方都设置独立的攻击动画,再看看会不会报错,
或者直接把最后那一句return 1前面的#去掉看看。
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

3
发表于 2015-9-30 18:15:31 | 只看该作者
把那个 return 1 前面的 # 号删了试试
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1092
在线时间
511 小时
注册时间
2015-8-23
帖子
112
4
 楼主| 发表于 2015-10-1 07:38:35 | 只看该作者
taroxd 发表于 2015-9-30 18:15
把那个 return 1 前面的 # 号删了试试

不行啊....还是报错了。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1092
在线时间
511 小时
注册时间
2015-8-23
帖子
112
5
 楼主| 发表于 2015-10-1 07:39:22 | 只看该作者
百里_飞柳 发表于 2015-9-30 17:17
虽然我不怎么懂脚本,不过你可以试试这样做

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

不行啊....还是报错了。
回复 支持 反对

使用道具 举报

Lv6.析梦学徒

老鹰

梦石
40
星屑
34725
在线时间
6740 小时
注册时间
2012-5-26
帖子
3259

极短24评委极短23参与极短22参与极短21评委老司机慢点开短篇十吟唱者组别冠军开拓者剧作品鉴家

6
发表于 2015-10-1 09:03:50 | 只看该作者

  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前面一行的职业判定也删了吧……

评分

参与人数 1梦石 +1 收起 理由
taroxd + 1 我错了,我没仔细看报错内容(.

查看全部评分

回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1092
在线时间
511 小时
注册时间
2015-8-23
帖子
112
7
 楼主| 发表于 2015-10-1 14:01:11 | 只看该作者
百里_飞柳 发表于 2015-10-1 09:03
看截图是因为actor类没有定义attack_skill方法,
于是……这样把第三小节的脚本改动了呢?

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

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-16 21:43

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表