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

Project1

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

[已经过期] 读取地图上事件注释内容

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1759
在线时间
2524 小时
注册时间
2010-10-12
帖子
1454

开拓者

跳转到指定楼层
1
发表于 2015-12-7 08:42:18 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
如题,

鄙人模仿其他工程写的这段脚本来获得 某地图上的事件的注释内容:

RUBY 代码复制
  1. parms = []
  2.         (1..5).each {|i|
  3.           if event.list[i].code == 108
  4.             parms << event.list[i].parameters
  5.           end
  6.         }
  7.         5.times {|i| parms[i] = [0] if parms[i] == [nil] }
  8.         arry = []
  9.         group_1 = []
  10.         t = parms[0][0].split if parms[0] != nil
  11.         i = 0
  12.         loop do  
  13.           break if t[i].to_i == 0  or parms[0] == nil
  14.           group_1.push t[i].to_i
  15.           i+=1
  16.         end
  17.         group_2 = []
  18.         t = parms[1][0].split if parms[1] != nil
  19.         i = 0
  20.         loop do  
  21.           break if t[i].to_i == 0  or parms[1] == nil
  22.           group_2.push t[i].to_i
  23.           i+=1
  24.         end
  25.         group_3 = []
  26.         t = parms[2][0].split if parms[2] != nil
  27.         i = 0
  28.         loop do  
  29.           break if t[i].to_i == 0  or parms[2] == nil
  30.           group_3.push t[i].to_i
  31.           i+=1
  32.         end
  33.         group_4 = []
  34.         t = parms[3][0].split if parms[3] != nil
  35.         i = 0
  36.         loop do  
  37.           break if t[i].to_i == 0  or parms[3] == nil
  38.           group_4.push t[i].to_i
  39.           i+=1
  40.         end
  41.         group_5 = []
  42.         t = parms[4][0].split if parms[4] != nil
  43.         i = 0
  44.         loop do  
  45.           break if t[i].to_i == 0 or parms[4] == nil
  46.           group_5.push t[i].to_i
  47.           i+=1
  48.         end
  49.    ..... 剩下的略


具体是这样的,如果事件是如此设置的,则把从第二行注释开始每行里的数字(空格区分)都分别加入到 group_1, group_2, group_3, group_4, group_5 里



如上图所示,运行后的结果是:
group_1 = [6,6,6,6]
group_2 = [28,28,28,28,28]
group_3 = [28,28,28,28,28]
group_4 = [28,28,28,28,28]
group_5 = [6,6,6,6]

到目前为止,一切还正常。但是,一旦某行的注释超过一排后,如下图:


他就不能读全了,只能读取每条注释的第一行。(是不是有点绕口。。)

总之请问如何才能够做到读取到每一个数字呢?



Lv4.逐梦者 (版主)

梦石
0
星屑
9532
在线时间
5073 小时
注册时间
2013-6-21
帖子
3580

开拓者贵宾剧作品鉴家

2
发表于 2015-12-7 09:12:03 | 只看该作者
提示一下,表示注释的事件指令代码是108和408,其中108表示每个注释的第一行,408表示其它行。
显然你的脚本里面根本没出现408,所以每次只能读到第一行了。

BTW你的脚本为什么代码重复率这么高,应该可以简化很多的吧……

点评

event.list[0].code == 408不是代入  发表于 2015-12-10 10:28
每个注释第一行是108后面是408,因此list[0]不可能是408  发表于 2015-12-7 12:33
可以简化,但是为了方便直接复制粘贴得了。 顺便我试了一下event.list[0].code == 408 好像不管用啊  发表于 2015-12-7 10:26
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
451
在线时间
228 小时
注册时间
2015-2-23
帖子
241
3
发表于 2015-12-7 20:17:43 | 只看该作者
如果是408的话,是否可以这样:

RUBY 代码复制
  1. text = ""
  2. if event.list[0].code == 108
  3.   text += event.list[0].parameters
  4.   for i in 1...event.list.size
  5.     break if event.list[i].code != 408
  6.     text += event.list[i].parameters
  7.   end
  8. end
制作XP特效,找我。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-13 23:49

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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