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

Project1

 找回密码
 注册会员
搜索

如何实现进入地图中之后,执行某个队伍的列表内容?

查看数: 2164 | 评论数: 6 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2012-10-10 13:00

正文摘要:

这个问题有一些难度。希望更高的高手来帮一下忙。 原因是执行$data_troops[troop_id].pages[0].list的时候出错了。 但是我检查不出错误来。 出错部分: @main_interpreter = Interpreter.new for troop_id in 0...en ...

回复

hys111111 发表于 2012-10-11 13:31:16
imsy 发表于 2012-10-10 21:53
pages那个nil class

是因为$data_troops[0]不存在


多谢了。你让我终于找到了一个重要部分。
正确解法:
  1.     for troop_id in encounter_list
  2.       @start_list = $data_troops[troop_id].pages[0].list
  3.       @main_interpreter.setup(@start_list, 0)
  4.       @main_interpreter.update
  5.     end
  6.   end
复制代码
imsy 发表于 2012-10-10 21:53:36
pages那个nil class

是因为$data_troops[0]不存在
p $data_troops[1].pages没问题
p $data_troops[0].pages就pages那个nil class了

若有口胡请无视
for troop_id in 1...encounter_list.size
应该会好

评分

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

查看全部评分

hys111111 发表于 2012-10-10 21:28:21
imsy 发表于 2012-10-10 21:21
我觉得问题应该是出在encounter_list.size身上。
改成for troop_id in 1..10表示成功执行。 ...

我忘了说明下,这个我放在Game_Map里面执行……
  1.   def encounter_list
  2.     return @map.encounter_list
  3.   end
复制代码
如果局部还是查不出的话干脆整段发上来吧……

  1. #——————————————————————————————————
  2. # Game_Map
  3. #—————————————————————————————————

  4. class Game_Map
  5.   attr_reader :start_list
  6.   attr_reader :auto_list
  7.   
  8.   alias hys_map_setting_initialize initialize
  9.   alias hys_map_setting_setup setup
  10.   alias hys_map_setting_update update
  11.   
  12.   def initialize
  13.     hys_map_setting_initialize
  14.     @start_list = [RPG::EventCommand.new]
  15.     @auto_list = [RPG::EventCommand.new]
  16.     @main_interpreter = Interpreter.new
  17.   end
  18.   
  19.   def setup(map_id)
  20.     hys_map_setting_setup(map_id)
  21.     for troop_id in 0...encounter_list.size
  22.       @start_list = $data_troops[troop_id].pages[0].list
  23.       @main_interpreter.setup(@start_list, 0)
  24.       @main_interpreter.update
  25.     end
  26.   end
  27.   
  28. end  
复制代码
imsy 发表于 2012-10-10 21:21:51
我觉得问题应该是出在encounter_list.size身上。
改成for troop_id in 1..10表示成功执行。

评分

参与人数 1星屑 +200 收起 理由
hys111111 + 200 感谢回答

查看全部评分

hys111111 发表于 2012-10-10 21:16:36
飞3a 发表于 2012-10-10 20:38
我试着把怪物清空在来打的,显示的结果是还是出现战斗场景但是没有怪= =
能把具体的出错原因贴上来么?例如f ...

pages那个nil class。

但是找不到原因。Game_Troop和RPG::Troop均没有被其他脚本套用。
而Scene_Battle1第163行附近的

  1. for index in 0...$data_troops[@troop_id].pages.size
  2.       # 获取事件页
  3.       page = $data_troops[@troop_id].pages[index]
复制代码
却没有问题。
飞3a 发表于 2012-10-10 20:38:15
我试着把怪物清空在来打的,显示的结果是还是出现战斗场景但是没有怪= =
能把具体的出错原因贴上来么?例如for nil class或者syntax error这种原因。
还有不知道你是否有没有套用过别的脚本?

评分

参与人数 1星屑 +132 收起 理由
hys111111 + 132 感谢回答

查看全部评分

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

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

GMT+8, 2025-5-31 03:51

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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