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

Project1

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

[已经解决] 请教,如何复制装备?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
41 小时
注册时间
2014-8-7
帖子
67
跳转到指定楼层
1
发表于 2015-1-4 23:22:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
又来请教问题了{:2_277:}  
关于装备的问题。
想请问各位大,如何复制装备?
比如记录A时期 1号角色的装备,到了B时期时 不管1号角色带着什么装备 都变成A时期的装备。

不知道这种效果肿么做额,谢谢大
(PS:还想请问一下,变更角色装备的事件脚本是什么呀?谢谢大大们。)

评分

参与人数 1星屑 +35 收起 理由
︶ㄣ牛排ぶ + 35 手动认可奖励

查看全部评分

Lv1.梦旅人

路人党员

梦石
0
星屑
52
在线时间
2276 小时
注册时间
2010-12-30
帖子
3225
2
发表于 2015-1-4 23:59:24 | 只看该作者
本帖最后由 英顺的马甲 于 2015-1-7 01:17 编辑
  1. class Game_Actor
  2.   def save_equip(name)
  3.     @saved_equip ||= {}
  4.     for i in 0..4
  5.       @saved_equip[name] ||= []
  6.       @saved_equip[name][i] = instance_variable_get((i == 0 ? "@weapon" : "@armor#{i}") + "_id")
  7.     end
  8.   end
  9.   def load_equip(name, from_bag = false, force_change = false)
  10.     raise(LoadError, "#{name.inspect}未曾储存任何装备!", caller) unless @saved_equip[name]
  11.     for i in 0..4
  12.       a = (i == 0 ? "weapon" : "armor")
  13.       v = (i == 0 ? "@#{a}_id" : "@#{a}#{i}_id")
  14.       if from_bag
  15.         if !force_change and $game_party.__send__( a + "_number", @saved_equip[name][i]) == 0
  16.           next
  17.         end
  18.         $game_party.__send__("gain_" + a, instance_variable_get(v) , 1)
  19.         $game_party.__send__("lose_" + a, @saved_equip[name][i], 1)
  20.       end
  21.       instance_variable_set(v, @saved_equip[name][i])
  22.     end
  23.   end
  24. end
复制代码
加了两个参数,所以点评内的bug可以被解决
用法:
  1. $game_actors[角色id].save_equip(随便打个号码用作记录)     # 保存装备
  2. $game_actors[角色id].load_equip(保存时的记录号码)     # 载入装备,直接替换,背包内的装备没有任何改变
  3. $game_actors[角色id].load_equip(保存时的记录号码, true)     # 以替换的方式载入装备,若背包内没有该装备则保持原样
  4. $game_actors[角色id].load_equip(保存时的记录号码, true, true)     # 以替换的方式“强制”载入装备,若背包内没有该装备仍然替换
复制代码
至于换装备的脚本是:
  1. $game_actors[角色id].equip(装备种类, 装备id)  # 具体请阅读 Game_Actor 内第390行
复制代码

点评

嗯嗯,好像没问题了呢,谢谢大神。  发表于 2015-1-8 13:18
我知道了,是$game_actors,不是$game_actor,我少打了一个s OTZ  发表于 2015-1-7 01:17
保存和读取的时候好像都出错了(⊙o⊙)…  发表于 2015-1-6 23:56
是读取还是保存出错?  发表于 2015-1-6 08:22
谢谢大,可是呜,报错了额。(eval):1in command_355' undefined method '[]'for nil:Niclass 请问如何解决呀大  发表于 2015-1-6 01:11

评分

参与人数 1梦石 +1 收起 理由
︶ㄣ牛排ぶ + 1 认可答案

查看全部评分

本人擅长XP,如果有脚本或者Ruby方面的问题欢迎发电邮到[email protected]咨询,本人很少检查电邮所以不一定会及时回复,本人不会直接出手解决问题只会提供一个方向,所以谢绝伸手党
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-9-20 06:22

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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