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