查看: 2727|回复: 1

[已经解决] 求脚本中获得角色在队伍中位置的方法

[复制链接]

…あたしは天

梦石
0
星屑
2308
在线时间
4033 小时
注册时间
2010-10-4
回帖
10548

开拓者贵宾

发表于 2013-9-28 15:17:33 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 taroxd 于 2013-9-28 15:55 编辑

就是一个Actor,调用此方法后返回的是这个Actor在队伍中的位置(1,2,3,4)。

这个方法在RGSS3中有吗?没有的话可不可以帮忙定义一下? 我完全是脚本新手,不太会弄。

点评

刚发现-。-  发表于 2014-5-27 16:11
黑历史+1,Actor自带index方法  发表于 2014-5-27 16:05
2333  发表于 2014-5-25 12:26

梦石
1
星屑
23241
在线时间
9564 小时
注册时间
2012-6-19
回帖
7018

开拓者短篇九导演组冠军

发表于 2013-9-28 15:46:12 | 显示全部楼层
本帖最后由 喵呜喵5 于 2013-9-28 15:58 编辑

稍微搜索了一下没有找到,于是就自己写了一个……
  1.   def position(actor_id)
  2.     #获取输入的角色ID在数据库中对应的数据
  3.     actor = $game_actors[actor_id]   
  4.     #判断该数据对应的角色是否在队伍中
  5.     if !$game_party.members.include?(actor)
  6.     #如果不在队伍中,返回0
  7.       return 0   
  8.     else
  9.     #如果在队伍中,返回该角色所在的位置
  10.       return $game_party.members.index(actor)+1
  11.     end
  12.   end
复制代码
============================================================================

更加优雅(蛋疼)的版本……因为如果找不到的话index会返回nil所以代码可以写的更简单一些

[pre lang="ruby" line="1"]def position(actor_id)   
    actor = $game_actors[actor_id]
    actor = $game_party.members.index(actor)
    return actor+1 if actor
    0
end[/pre]

点评

建议把这个方法放入到Game_Party类中  发表于 2013-9-29 17:11
十分感谢!  发表于 2013-9-28 15:54

评分

参与人数 2星屑 0 梦石 +1 收起 理由
taroxd -150 + 1 黑历史~ 偷偷塞个糖
Sion + 150 认可答案

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部