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

Project1

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

[已经解决] 判断技能是否学会的问题

[复制链接]

Lv4.逐梦者

梦石
0
星屑
9280
在线时间
2504 小时
注册时间
2011-5-20
帖子
15389

开拓者

跳转到指定楼层
1
发表于 2014-12-6 22:00:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 chd114 于 2014-12-6 05:11 编辑

12号角色学习138号技能之后
  1. p $game_actors[12].skills.include?($data_skills[138])
复制代码
的结果为true
  1. p $data_skills[138].is_a?(RPG::Skill)
复制代码
的结果也是true

但是
  1. p $game_actors[12].skill_learn?($data_skills[138])
复制代码
的结果为false
  1. def skill_learn?(skill)
  2.     skill.is_a?(RPG::Skill) && @skills.include?(skill.id)
  3.   end
复制代码
没有修改,那么问题可以出在哪里呢···


@VIPArcher @taroxd  
@寒冷魔王  

评分

参与人数 1星屑 +1 收起 理由
寒冷魔王 + 1 = =不要问我RGSS的问题

查看全部评分

[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png

Lv3.寻梦者

闇吼者の災悪眷族
不気味存在締造者

梦石
0
星屑
1366
在线时间
2881 小时
注册时间
2014-7-29
帖子
6491
2
发表于 2014-12-6 22:23:10 | 只看该作者
因为你没有进行过“学习”这个过程。
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9280
在线时间
2504 小时
注册时间
2011-5-20
帖子
15389

开拓者

3
 楼主| 发表于 2014-12-6 22:24:40 | 只看该作者
三途亚梦 发表于 2014-12-6 05:23
因为你没有进行过“学习”这个过程。

skill_learn判定要true必须是用事件指令的学习?还是说游戏一开始角色和职业自带的不算?

点评

那这种判定是用在一些特殊情况(比如清除角色身上所有外来学习的技能)的?  发表于 2014-12-6 22:30
是的。装备赋予的技能也不会计算为学会的技能。  发表于 2014-12-6 22:25
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

无限の剣制

梦石
0
星屑
10074
在线时间
5020 小时
注册时间
2013-2-28
帖子
5030

开拓者贵宾

4
发表于 2014-12-6 22:26:29 | 只看该作者
因为你的这个技能不是通过“领悟技能”学来的。所以@skills数组内并没有这个技能的id
检查Game_Actor#skills方法就会知道角色的技能实例的数组包括学会的技能@skills和添加的技能Game_BattlerBaser#added_skills两种
  1. class Game_Actor < Game_Battler
  2.   #--------------------------------------------------------------------------
  3.   # ● 获取技能实例的数组
  4.   #--------------------------------------------------------------------------
  5.   def skills
  6.     (@skills | added_skills).sort.collect {|id| $data_skills[id] }
  7.   end
  8. end
复制代码

评分

参与人数 1梦石 +1 收起 理由
taroxd + 1 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9280
在线时间
2504 小时
注册时间
2011-5-20
帖子
15389

开拓者

5
 楼主| 发表于 2014-12-6 22:29:11 | 只看该作者
VIPArcher 发表于 2014-12-6 05:26
因为你的这个技能不是通过“领悟技能”学来的。所以@skills数组内并没有这个技能的id
检查Game_Actor#skill ...

这个领悟技能是事件指令的领悟技能才行?可是技能升级里面有的技能有前置技能···首先要判定前置技能当前是否掌握才会继续判定前置技能的等级···
  1. $game_actors[12].skills.include?($data_skills[138])
复制代码
就可以了?
  1. $data_skills[138].is_a?(RPG::Skill)
复制代码
又是什么意思···

点评

建议楼主使用XD大大的置顶脚本,用是否拥有技能,skill?方法判断,谁用谁知到  发表于 2014-12-7 10:04
我早就跟小水说过让他看汉化版的了= =  发表于 2014-12-7 08:22
F1汉化都多久了,你硬要看日语原版的,我也没办法,c神哒哒你要么去下汉化版看,要么自学日语。我比较推荐后者。  发表于 2014-12-6 22:47
10级学会,学会的时候调用的就是"学会技能"的方法,懂了么  发表于 2014-12-6 22:45
我看不懂日文···  发表于 2014-12-6 22:41
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

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

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

开拓者贵宾

6
发表于 2014-12-7 07:59:52 | 只看该作者

评分

参与人数 1梦石 +1 收起 理由
VIPArcher + 1 我很赞同

查看全部评分

回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9280
在线时间
2504 小时
注册时间
2011-5-20
帖子
15389

开拓者

7
 楼主| 发表于 2014-12-7 11:36:43 | 只看该作者
taroxd 发表于 2014-12-6 14:59
参考 http://taroxd.github.io/rgss/Taroxd%E5%9F%BA%E7%A1%80%E8%AE%BE%E7%BD%AE.html 脚本中 skill? 方法 ...
  1. basic_skills.include?(skill.id) || added_skills.include?(skill.id)
复制代码
里的basic和added分别是这个角色的职业里设置的技能和非职业里设置的技能?

点评

好伐···  发表于 2014-12-7 12:11
看代码,自行理解  发表于 2014-12-7 12:10
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-15 12:06

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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