Project1

标题: 怎么读取角色的等级?(脚本?) [打印本页]

作者: 冰舞蝶恋    时间: 2011-3-13 12:54
标题: 怎么读取角色的等级?(脚本?)
$game_actors[角色id].level
这样貌似是不对滴!
作者: 忧雪の伤    时间: 2011-3-13 13:08
$data_actors[id].level
好吧vx我真的不知道……
作者: 冰舞蝶恋    时间: 2011-3-13 13:34
绝对不对,使用的时候会报错。
作者: 5858678    时间: 2011-3-13 13:34
同上

我也有這問題............
作者: 忧雪の伤    时间: 2011-3-13 14:31
我那个可以吗?id指数据库编号。
不正确的话。
$game_party.actors.each do |actor|
a = actor.level
p a
end

作者: summer92    时间: 2011-3-13 15:02
$game_party.members[0].level  第一位队员的等级
别忘了给辛苦费
作者: 后知后觉    时间: 2011-3-13 15:03
就是 $game_actors[角色id].level
不知道你的报错是报的什么错.这个 $game_actors 只有在进入标题or地图后才有.
在此之前是 nil 在这样的情况下调用那肯定会出错.
作者: 冰舞蝶恋    时间: 2011-3-13 15:15
回复 summer92 的帖子

不对吖?
作者: summer92    时间: 2011-3-13 15:17
回复 冰舞蝶恋 的帖子

你是在脚本里用,还是在事件里用,我刚测试完毕。。。。木问题。。。
作者: 冰舞蝶恋    时间: 2011-3-13 15:18
回复 summer92 的帖子

事件脚本吖!
作者: 忧雪の伤    时间: 2011-3-13 15:20
事件脚本怎么可能出错……
作者: summer92    时间: 2011-3-13 15:35
回复 忧雪の伤 的帖子

直接给图把,再不行,,只能LZ加强基础练习

事件里的设置


第一个成功


顶楼的,为空值


就这样把。。。
作者: Rion幻音    时间: 2011-3-13 17:56
看样子很多人都搞错了……正确的是:
$game_party.members[0].level = 队伍第一人的等级
$game_actors[1].level = 1号角色的等级
很多人把$game_actors[1].level当成
$game_actors[0].level来写了,数据库里没有0号角色的说……
作者: 冰舞蝶恋    时间: 2011-3-13 18:35
回复 Rion幻音 的帖子

呀啊啊~~
原来如此,出错原因是因为
$game_party.members[0].level = $game_actors[1].level
咯,两个原来不能互通吖!
作者: 后知后觉    时间: 2011-3-14 13:47
冰舞蝶恋 发表于 2011-3-13 18:35
回复 Rion幻音 的帖子

呀啊啊~~

因为Game_Actor 类里是写的  attr_reader :level
所以这个只能读取而不能被写入.
而且就这样直接写入等级的具体数值的话.那么这个角色的经验值和技能是不会被同时更新的.
在 Game_Actor 类的定义里找到了一个
  def change_level(level, show)
定义的这个方法就是用来对角色等级进行修改的同时更新经验和技能的.
你的这行就该是写成这样:
$game_party.members[0].change_level($game_actors[1].level, false)

后面的第2个参数我这里写的是 false  也可以写成 true
区别应该是是否把等级的改变显示在屏幕上.

这里我就给你讲了一个如何调用类里定义的方法的实例.
有兴趣的话你可以对角色调用一下 Game_Actor 类里定义的那个  change_exp
这个方法是改变角色的经验.能搞懂实例对象的方法的调用的话.
以后你就不再会问这类的问题了.因为这类问题自己在脚本编辑器里稍加搜索就能找到.




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