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

Project1

 找回密码
 注册会员
搜索
查看: 1475|回复: 4

[已经解决] 关于切换副本人物脚本

[复制链接]

Lv2.观梦者

梦石
0
星屑
839
在线时间
75 小时
注册时间
2022-3-19
帖子
53
发表于 2022-4-29 21:56:16 | 显示全部楼层 |阅读模式

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

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

x
#  记录队员ID后切换副本人物(单个人物)
#  事件里调用 $game_party.remove_all_actor(id)
#    id:角色的数据库id
class Game_Party
  def remove_all_actor(id)
    $game_variables[510] = $game_party.members.size
    for i in 1..$game_variables[510]
      $game_variables[i+510] = $game_party.members[i-1].id
    end
    @actors = [id]
    $game_player.refresh
  end
end

这个脚本只能实现切换成单个人物的效果,输入多个id就会出错,请问能不能改成无论切换成单个或者多个人物都可以的效果,虽然在编辑事件时让其余人物入队就能达到一样的效果,但我还是想学习一下。而且能不能改成输入角色名字呢?ID不太好记……

Lv5.捕梦者

梦石
0
星屑
24057
在线时间
4983 小时
注册时间
2016-3-8
帖子
1613
发表于 2022-4-30 01:31:01 | 显示全部楼层
@actors = [id]改成@actors = id后

调用时使用
$game_party.remove_all_actor([5])
$game_party.remove_all_actor([6,7,8])
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
20835
在线时间
9324 小时
注册时间
2012-6-19
帖子
7105

开拓者短篇九导演组冠军

发表于 2022-4-30 01:32:26 | 显示全部楼层
第七行的
  1. @actors = [id]
复制代码
改成
  1. @actors = id
复制代码


然后使用这个脚本的方式从
  1. $game_party.remove_all_actor(id)
复制代码
改成
  1. $game_party.remove_all_actor([id1, id2, id3])
复制代码

评分

参与人数 1星屑 +50 收起 理由
alexncf125 + 50 撞车了...

查看全部评分

回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
10
星屑
39440
在线时间
1914 小时
注册时间
2010-11-14
帖子
3315

R考场第七期纪念奖

发表于 2022-4-30 02:17:19 | 显示全部楼层
RUBY 代码复制
  1. class Game_Party
  2.   def replace(*array)
  3.     array.flatten!
  4.     return if array.empty?
  5.     $game_party.members.each_with_index do |m, i|
  6.       $game_variables[i+510] = m.id
  7.     end
  8.     @actors = array
  9.     $game_player.refresh
  10.     $game_map.need_refresh = true
  11.   end
  12.  
  13.   def replace_by_names(*array)
  14.     array.flatten!
  15.     ids = array.map do |name|
  16.       actor = $data_actors.find { |a| a && a.name == name }
  17.       actor ? actor.id : msgbox("数据库中不存在角色'#{name}'")
  18.     end.compact
  19.     replace(ids)
  20.   end
  21. end


$game_party.replace(1, 2, 3) # 将队伍成员替换为1 2 3号角色
$game_party.replace_by_names("艾里克", "娜塔丽") # 将队伍成员替换为艾里克与娜塔丽。如果有多个同名角色,只取第一个。

评分

参与人数 1星屑 +200 收起 理由
alexncf125 + 200 精品文章

查看全部评分

用头画头像,用脚写脚本
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
839
在线时间
75 小时
注册时间
2022-3-19
帖子
53
 楼主| 发表于 2022-4-30 13:28:09 | 显示全部楼层
好哦,谢谢几位大佬!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-3-29 06:11

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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