查看: 1161|回复: 4

用排除法选择余下的角色怎么实现?

  [复制链接]
梦石
0
星屑
50
在线时间
130 小时
注册时间
2008-8-12
回帖
117
发表于 2008-10-9 20:07:58 | 显示全部楼层 |阅读模式

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

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

×

写在事件中的脚本:比如在数据库的编号为51到58之间的角色中判断有哪些角色正在队伍里,去掉那些已有角色的编号,在余下的角色编号中随机选择一个编号,然后让该编号的角色加入队伍
版务信息:本贴由楼主自主结贴~
Tomorrow
梦石
0
星屑
42235
在线时间
6017 小时
注册时间
2006-11-10
回帖
6966
发表于 2008-10-10 04:29:25 | 显示全部楼层
a = []
for i in 51..58
  unless $game_party.actors.include?($game_actors)
    a.push(i)
  end
end
$game_party.add_actor(a[rand(a.size)])
回复

使用道具 举报

梦石
0
星屑
50
在线时间
130 小时
注册时间
2008-8-12
回帖
117
 楼主| 发表于 2008-10-10 05:02:44 | 显示全部楼层
感谢感谢,请问a代表什么呀?
Tomorrow
回复

使用道具 举报

梦石
0
星屑
50
在线时间
130 小时
注册时间
2008-8-12
回帖
117
 楼主| 发表于 2008-10-10 05:23:18 | 显示全部楼层
我把脚本放在事件里,为什么一按决定键就出错了呢?
Tomorrow
回复

使用道具 举报

梦石
0
星屑
42235
在线时间
6017 小时
注册时间
2006-11-10
回帖
6966
发表于 2008-10-10 09:42:44 | 显示全部楼层
我试了一下没出错-。-,不过unless $game_party.actors.include?($game_actors)
这句太长了自动换行了,估计你是让它自动换行了。不能用默认换行,用括号连接起来就不会错了。要不就换这样写
a = []
for i in 51..58
b = $game_actors
unless $game_party.actors.include?(b)
   a.push(i)
end
end
$game_party.add_actor(a[rand(a.size)])

a是一个临时数组
系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部