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

Project1

 找回密码
 注册会员
搜索
查看: 3430|回复: 23

[已经解决] 如何复制角色

[复制链接]

Lv4.逐梦者

梦石
0
星屑
5197
在线时间
1256 小时
注册时间
2018-1-16
帖子
366
发表于 2020-10-22 17:28:11 | 显示全部楼层 |阅读模式

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

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

x
如题:打个比方说,使用【复制】,就可以直接复制【角色1】的所有包括等级、经验、属性、装备、技能等等,几乎一模一样的复制到【角色2】中

Lv5.捕梦者

梦石
0
星屑
37641
在线时间
5308 小时
注册时间
2006-11-10
帖子
6541
发表于 2020-10-22 19:57:31 | 显示全部楼层
直接 A.exp = B.exp, A.skills = B.skills, A.weapon_id = B.weapon_id   去一个一个列下去就行了

点评

没反应,再次点击的话,就会直接出错  发表于 2020-10-22 22:34
明白了,[B 是加粗代码啊...  发表于 2020-10-22 22:31
怪了,怎么一会漏前一会漏后的, class Game_Actors;def copy(a,b);@data = @data[a].dup;end;end 这段才对  发表于 2020-10-22 22:30
上面有错, class Game_Actors;def copy(a,b);@data = @data[a].dup;end;end 把这句插到main前, 然后事件脚本执行 $game_actors.copy(1,2) 就可以让1号完全照搬2号  发表于 2020-10-22 22:28
不过嘛,如果你要全部复制,像楼下说的做更简单, class Game_Actors;def copy(a,b);@data[a] = @data.dup;end;end 把这句插到main前, 然后$game_actors.copy(1,2)  发表于 2020-10-22 22:26
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7921
在线时间
1049 小时
注册时间
2012-4-3
帖子
1271

开拓者

发表于 2020-10-22 20:36:19 手机端发表。 | 显示全部楼层
直接一点:$game_actors[角色1id] = $game_actors[角色2id]

点评

会出现错误  发表于 2020-10-22 21:11
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
37641
在线时间
5308 小时
注册时间
2006-11-10
帖子
6541
发表于 2020-10-22 22:33:50 | 显示全部楼层

a

本帖最后由 灯笼菜刀王 于 2020-10-23 09:55 编辑
  1. class Game_Actors
  2.    def copy(a,b)
  3.      @data[a] = Marshal.load(Marshal.dump(@data[b]))
  4.      $game_party.refresh
  5.    end
  6. end
复制代码


把这句插到main前面, game_actors后面任意位置, 然后事件脚本调用 $game_actors.copy(要复制的ID,被复制的ID)   

点评

谢谢,完美,感谢大佬  发表于 2020-10-23 10:13
不愧是猫姐, 又让我学了招, 更新下方法  发表于 2020-10-23 09:54
我记得得用@data[a] = Marshal.load(Marshal.dump(@data)) 才是真正的深层拷贝  发表于 2020-10-23 01:43
大佬还在不,虽然说已经完美的复制角色,但是如果在战斗中,那么行动其实就是一个人啊,无论是1.还是2角色,都是一个人在行动回合  发表于 2020-10-22 23:05
如果你是把两人全部加在队伍里然后执行替换, 那就执行这句 $game_party.refresh  发表于 2020-10-22 22:50

评分

参与人数 3星屑 +70 +3 收起 理由
RyanBern + 70 + 1 认可答案
l734273398 + 1 认可答案
我是老A + 1 写脚本真的可以这么丝滑嘛

查看全部评分

回复 支持 1 反对 0

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
5197
在线时间
1256 小时
注册时间
2018-1-16
帖子
366
 楼主| 发表于 2020-10-22 22:56:12 | 显示全部楼层
灯笼菜刀王 发表于 2020-10-22 22:33
把这句插到main前面, game_actors后面任意位置, 然后事件脚本调用 $game_actors.copy(要复制的ID,被复制 ...

完美解决,多谢大佬的指导
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-3-29 15:04

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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