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

Project1

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

[已经解决] 關於"封印裝備"的小問題....

[复制链接]

Lv2.观梦者

梦石
0
星屑
567
在线时间
465 小时
注册时间
2009-10-11
帖子
407
跳转到指定楼层
1
发表于 2013-9-17 13:32:54 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 a000b1745 于 2013-9-18 16:35 编辑

在裝備的設定中可以額外設定讓穿上裝備時,封印其他位置的裝備。
小妹有個地方想請教版上大大們...

如圖;原本選擇封印裝備位置是"盾"
就是說裝備 TYPE 1 會被封印住,
原本選擇封印裝備位置是"頭"
就是裝備 TYPE 2 會被封印住。

我的問題來了

假如我要把原本預設 "盾" 這位置的封印裝備 TYPE 1 變成 TYPE 5 (裝備擴張的新位置)

(也就是說雖然我點選"封印裝備盾",實質上卻是封印 TYPE 5 位置的裝備!)

我該去**作修改@@??

BS00354.png (39.03 KB, 下载次数: 27)

BS00354.png

点评

看不懂 - -  发表于 2013-9-17 14:27
因为现实太残酷、所以我们都在打造虚幻的天堂。如果现实不再残酷,也是因为有这快乐的天堂。

Lv2.观梦者 (暗夜天使)

梦石
0
星屑
266
在线时间
2355 小时
注册时间
2009-3-13
帖子
2309

贵宾

2
发表于 2013-9-17 15:20:08 | 只看该作者
RUBY 代码复制
  1. class Game_BattlerBase
  2.   alias equip_type_sealed_2013917? equip_type_sealed?
  3.   def equip_type_sealed?(etype_id)
  4.     case etype_id
  5.     when 5; etype_id = 1
  6.     when 1; return false
  7.     end
  8.     equip_type_sealed_2013917?(etype_id)
  9.   end
  10. end

不过这样的话,盾就无法 seal 了。
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
567
在线时间
465 小时
注册时间
2009-10-11
帖子
407
3
 楼主| 发表于 2013-9-17 16:54:22 | 只看该作者
Sion 发表于 2013-9-17 15:20
class Game_BattlerBase
  alias equip_type_sealed_2013917? equip_type_sealed?
  def equip_type_sealed ...

盾無法封印沒關係的不影響遊戲.
把這段插入MAIN就有效了嗎??
我插了還是無效...
還是要直接替換Game_BattlerBase的389行內容??

点评

那我需要看看你使用的脚本  发表于 2013-9-17 16:57
因为现实太残酷、所以我们都在打造虚幻的天堂。如果现实不再残酷,也是因为有这快乐的天堂。
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
567
在线时间
465 小时
注册时间
2009-10-11
帖子
407
4
 楼主| 发表于 2013-9-17 17:02:13 | 只看该作者
a000b1745 发表于 2013-9-17 16:54
盾無法封印沒關係的不影響遊戲.
把這段插入MAIN就有效了嗎??
我插了還是無效...

好的 是全工程腳本還是只有裝備擴張的??
因为现实太残酷、所以我们都在打造虚幻的天堂。如果现实不再残酷,也是因为有这快乐的天堂。
回复 支持 反对

使用道具 举报

Lv2.观梦者 (暗夜天使)

梦石
0
星屑
266
在线时间
2355 小时
注册时间
2009-3-13
帖子
2309

贵宾

5
发表于 2013-9-17 18:28:20 | 只看该作者
a000b1745 发表于 2013-9-17 17:02
好的 是全工程腳本還是只有裝備擴張的??

应该是只要装备扩张就可以。
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
567
在线时间
465 小时
注册时间
2009-10-11
帖子
407
6
 楼主| 发表于 2013-9-17 18:54:04 | 只看该作者
RUBY 代码复制
  1. #==============================================================================
  2. # 此脚本来自 [url]www.66rpg.com[/url]
  3. #------------------------------------------------------------------------------
  4. #  功能:[RMVA]增加装备栏数量
  5. #  作者:后知后觉([email][email protected][/email])
  6. #  版本:v1.1 2012-02-20
  7. #  使用说明:
  8. #       1.在下面设置需要增加的数量以及增加部位的名字
  9. #       2.在数据库-护甲-备注 里写入 @etype[位置编号]
  10. #         默认系统一共有5个装备位置.占用了0~4号
  11. #         所以扩展出来的装备栏位置编号是从 5 开始.比如 @etype[5]  @etype[6]
  12. #       3.在扩展位置上给角色设置初始装备的方法
  13. #         在 数据库-角色-备注 里写入 @add_equips[装备1ID,装备2ID.....]
  14. #         每个ID中间由半角的 , 分开 比如 @add_equips[61] @add_equips[61,63]
  15. #       4.设置 固定装备 的初始值
  16. #         在 数据库-角色-备注 里写入 @fix_equips[装备位置编号,装备位置编号......]
  17. #         每个编号间由半角的 , 分开 比如 @fix_equips[5] @fix_equips[5,6]
  18. #       5.设置 禁用装备 的初始值
  19. #         在 数据库-角色-备注 里写入 @seal_equips[装备位置编号,装备位置编号......]
  20. #         每个编号间由半角的 , 分开 比如 @seal_equips[5] @seal_equips[5,6]
  21. #       6.游戏运行时可以使用:
  22. #           $game_actors[角色ID].fix_equips  来获取该角色被固定装备位置的数组
  23. #           $game_actors[角色ID].seal_equips 来获取该角色被禁用装备位置的数组
  24. #         然后可以使用数组类的 delete 和 push 方法来删除/增加 etype_id
  25. #         来达到解除与启用 固定、禁用的效果
  26. #         比如 $game_actors[1].fix_equips.delete(5) 解除1号角色5号位置的固定
  27. #              $game_actors[2].seal_equips.push(6) 2号角色禁用6号装备位置
  28. #  注意事项:
  29. #       1.上面说的设置初始装备、固定装备、禁用装备都是只针对新扩展部位的
  30. #         默认的前5个装备位置的固定、禁用、设置初始.还请使用RMVA默认方式设置
  31. #       2.状态画面的描绘装备部分.在默认分辨率下.只能描绘6个装备.
  32. #         我小改了一下.但还是觉得不怎么好看.建议你自己重新描绘那一块...
  33. #==============================================================================
  34. module HzhjEquip
  35.   # 设置要增加的装备部位数量
  36.   ETYPE_ADD_NUM = 3
  37.   # 设置要增加的装备部位的名字
  38.   ETYPE_ADD_NAME = ["背後靈","項鍊","戒指"]
  39. end
  40. def Vocab.etype(etype_id)
  41.   etypes = $data_system.terms.etypes + HzhjEquip::ETYPE_ADD_NAME
  42.   etypes[etype_id]
  43. end
  44. class RPG::Actor < RPG::BaseItem
  45.   def add_equips
  46.     if /@add_equips\[(.+?)\]/ =~ @note
  47.       result = $1.split(/,/).collect{|str|str.to_i}
  48.       result << 0 while result.size < HzhjEquip::ETYPE_ADD_NUM
  49.     else
  50.       result = Array.new(HzhjEquip::ETYPE_ADD_NUM){0}
  51.     end
  52.     result
  53.   end
  54.   def fix_equips
  55.     if /@fix_equips\[(.+?)\]/ =~ @note
  56.       result = $1.split(/,/).collect{|str|str.to_i}
  57.     else
  58.       result = []
  59.     end
  60.     result
  61.   end
  62.   def seal_equips
  63.     if /@seal_equips\[(.+?)\]/ =~ @note
  64.       result = $1.split(/,/).collect{|str|str.to_i}
  65.     else
  66.       result = []
  67.     end
  68.     result
  69.   end
  70. end
  71. class RPG::Armor < RPG::EquipItem
  72.   def etype_id
  73.     if /@etype\[(.+?)\]/ =~ @note
  74.       return $1.to_i
  75.     else
  76.       return @etype_id
  77.     end
  78.   end
  79. end
  80. class Game_Actor < Game_Battler
  81.   attr_accessor :fix_equips
  82.   attr_accessor :seal_equips
  83.   alias hzhj_old_init_equips_game_actor init_equips
  84.   def init_equips(equips)
  85.     @fix_equips = actor.fix_equips
  86.     @seal_equips = actor.seal_equips
  87.     hzhj_equips = equips.clone
  88.     add_equips = actor.add_equips
  89.     HzhjEquip::ETYPE_ADD_NUM.times{hzhj_equips << add_equips.shift}
  90.     hzhj_old_init_equips_game_actor(hzhj_equips)
  91.   end
  92.   alias hzhj_old_equip_slots_game_actor equip_slots
  93.   def equip_slots
  94.     result = hzhj_old_equip_slots_game_actor
  95.     HzhjEquip::ETYPE_ADD_NUM.times{result << result.size}
  96.     result
  97.   end
  98.   def equip_type_fixed?(etype_id)
  99.     if etype_id > 4
  100.       return @fix_equips.include?(etype_id)
  101.     else
  102.       return super
  103.     end
  104.   end
  105.   def equip_type_sealed?(etype_id)
  106.     if etype_id > 4
  107.       return @seal_equips.include?(etype_id)
  108.     else
  109.       return super
  110.     end
  111.   end
  112. end
  113. class Window_EquipSlot < Window_Selectable
  114.   def actor=(actor)
  115.     return if [url=home.php?mod=space&uid=95897]@actor[/url] == actor
  116.     @actor = actor
  117.     create_contents
  118.     refresh
  119.   end
  120. end
  121. class Window_Status < Window_Selectable
  122.   def draw_equipments(x, y)
  123.     x = 224 if @actor.equips.size > 6
  124.     @actor.equips.each_with_index do |item, i|
  125.       dx = x + 146 * (i / 6)
  126.       dy = y + line_height * (i % 6)
  127.       draw_item_name(item, dx, dy, true, 122)
  128.     end
  129.   end
  130. end

点评

这个脚本不是本来就可以设置吗?“数据库-角色-备注 里写入 @seal_equips[装备位置编号,装备位置编号......]”  发表于 2013-9-17 19:52
[RMVA]增加装备栏数量。作者:后知后觉--出自66RPG ^_^ 新裝備位置 "背後靈"就是type 5  发表于 2013-9-17 18:55
因为现实太残酷、所以我们都在打造虚幻的天堂。如果现实不再残酷,也是因为有这快乐的天堂。
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
567
在线时间
465 小时
注册时间
2009-10-11
帖子
407
7
 楼主| 发表于 2013-9-17 20:43:44 | 只看该作者
a000b1745 发表于 2013-9-17 18:54
#==============================================================================
# 此脚本来自 www.66r ...

抱歉沒說清楚...我主要的功能是用在裝備的設置裡,而非角色職業...
譬如我穿上裝備 "全身重甲" 我就無法使用 TYPE 5 號位置的裝備。
但在裝備設置裡的封印裝備只能限定封印 TYPE 0~4 的武器裝備... >"<
因为现实太残酷、所以我们都在打造虚幻的天堂。如果现实不再残酷,也是因为有这快乐的天堂。
回复 支持 反对

使用道具 举报

Lv2.观梦者 (暗夜天使)

梦石
0
星屑
266
在线时间
2355 小时
注册时间
2009-3-13
帖子
2309

贵宾

8
发表于 2013-9-17 22:27:01 | 只看该作者
a000b1745 发表于 2013-9-17 20:43
抱歉沒說清楚...我主要的功能是用在裝備的設置裡,而非角色職業...
譬如我穿上裝備 "全身重甲" 我就無法 ...

在装备扩张脚本里修改这里
RUBY 代码复制
  1. def equip_type_sealed?(etype_id)
  2.     if etype_id == 5
  3.       etype_id = 1
  4.     elsif etype_id == 1
  5.       return false
  6.     elsif etype_id > 5
  7.       return @fix_equips.include?(etype_id)
  8.     end
  9.     return super
  10.   end

点评

好的!! 我這就來徹夜研究研究~! 感謝S大幫忙 ^_^ !!  发表于 2013-9-18 00:41

评分

参与人数 1星屑 +7 收起 理由
a000b1745 + 7 感謝幫忙^^!!

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-17 16:39

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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