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

Project1

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

[已经解决] 关于装备扩展系统-10装备

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
156 小时
注册时间
2012-5-27
帖子
87
跳转到指定楼层
1
发表于 2012-6-16 20:09:59 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
本帖最后由 Mr.Puzzle 于 2012-6-16 20:51 编辑

论坛里的这个脚本默认会将全部人物的装备设定成脚本里面的
于是作者说:
因为装备扩展的原因所以初始装备需要在游戏之前设置好,在 RPG重定义 里的设置只会使所有角色初始装备一样,如果需要修改请
$game_actors[角色编号].hand1 = 右手装备编号
$game_actors[角色编号].hand2 = 左手装备编号
$game_actors[角色编号].upbody = 上身装备编号
$game_actors[角色编号].downbody = 下身装备编号
$game_actors[角色编号].head = 头部装备编号
$game_actors[角色编号].shoe = 鞋子装备编号
$game_actors[角色编号].jewel1 = 饰品1装备编号
$game_actors[角色编号].jewel2 = 饰品2装备编号
$game_actors[角色编号].jewel3 = 饰品3装备编号
$game_actors[角色编号].name = 称号装备编号

但是我在范例工程里面用上面这些脚本,结果……
看字面意思是没有定义方法?
本人脚本盲,求高手帮助

脚本地址
http://b b s.66rpg. c o m/forum.php?mod=viewthread&tid=139476

工程
10_Equip.rar (189.4 KB, 下载次数: 183)
美丽的小红叉

Lv1.梦旅人

梦石
0
星屑
223
在线时间
62 小时
注册时间
2012-1-31
帖子
10
13
发表于 2012-7-1 23:57:57 | 只看该作者
本帖最后由 373459587 于 2012-7-1 23:58 编辑

用这个脚本吧#==============================================================================
# 此脚本来自 www.66rpg.com
#------------------------------------------------------------------------------
#  功能:[RMVA]增加装备栏数量
#  作者:后知后觉([email protected]
#  版本:v1.1 2012-02-20
#  使用说明:
#       1.在下面设置需要增加的数量以及增加部位的名字
#       2.在数据库-护甲-备注 里写入 @etype[位置编号]
#         默认系统一共有5个装备位置.占用了0~4号
#         所以扩展出来的装备栏位置编号是从 5 开始.比如 @etype[5]  @etype[6]
#       3.在扩展位置上给角色设置初始装备的方法
#         在 数据库-角色-备注 里写入 @add_equips[装备1ID,装备2ID.....]
#         每个ID中间由半角的 , 分开 比如 @add_equips[61] @add_equips[61,63]
#       4.设置 固定装备 的初始值
#         在 数据库-角色-备注 里写入 @fix_equips[装备位置编号,装备位置编号......]
#         每个编号间由半角的 , 分开 比如 @fix_equips[5] @fix_equips[5,6]
#       5.设置 禁用装备 的初始值
#         在 数据库-角色-备注 里写入 @seal_equips[装备位置编号,装备位置编号......]
#         每个编号间由半角的 , 分开 比如 @seal_equips[5] @seal_equips[5,6]
#       6.游戏运行时可以使用:
#           $game_actors[角色ID].fix_equips  来获取该角色被固定装备位置的数组
#           $game_actors[角色ID].seal_equips 来获取该角色被禁用装备位置的数组
#         然后可以使用数组类的 delete 和 push 方法来删除/增加 etype_id
#         来达到解除与启用 固定、禁用的效果
#         比如 $game_actors[1].fix_equips.delete(5) 解除1号角色5号位置的固定
#              $game_actors[2].seal_equips.push(6) 2号角色禁用6号装备位置
#  注意事项:
#       1.上面说的设置初始装备、固定装备、禁用装备都是只针对新扩展部位的
#         默认的前5个装备位置的固定、禁用、设置初始.还请使用RMVA默认方式设置
#       2.状态画面的描绘装备部分.在默认分辨率下.只能描绘6个装备.
#         我小改了一下.但还是觉得不怎么好看.建议你自己重新描绘那一块...
#==============================================================================
module HzhjEquip
  # 设置要增加的装备部位数量
  ETYPE_ADD_NUM = 5  #这个不用说了吧
  # 设置要增加的装备部位的名字
  ETYPE_ADD_NAME = ["腰带", "鞋子", "玉佩", "法宝","袋子"] #这个不用说了吧一看就明白
end
def Vocab.etype(etype_id)
  etypes = $data_system.terms.etypes + HzhjEquip::ETYPE_ADD_NAME
  etypes[etype_id]
end
class RPG::Actor < RPG::BaseItem
  def add_equips
    if /@add_equips\[(.+?)\]/ =~ @note
      result = $1.split(/,/).collect{|str|str.to_i}
      result << 0 while result.size < HzhjEquip::ETYPE_ADD_NUM
    else
      result = Array.new(HzhjEquip::ETYPE_ADD_NUM){0}
    end
    result
  end
  def fix_equips
    if /@fix_equips\[(.+?)\]/ =~ @note
      result = $1.split(/,/).collect{|str|str.to_i}
    else
      result = []
    end
    result
  end
  def seal_equips
    if /@seal_equips\[(.+?)\]/ =~ @note
      result = $1.split(/,/).collect{|str|str.to_i}
    else
      result = []
    end
    result
  end
  def fix_equips
    if /@fix_equips\[(.+?)\]/ =~ @note
      result = $1.split(/,/).collect{|str|str.to_i}
    else
      result = []
    end
    result
  end
  def fix_equips
    if /@fix_equips\[(.+?)\]/ =~ @note
      result = $1.split(/,/).collect{|str|str.to_i}
    else
      result = []
    end
    result
  end
  def fix_equips
    if /@fix_equips\[(.+?)\]/ =~ @note
      result = $1.split(/,/).collect{|str|str.to_i}
    else
      result = []
    end
    result
  end
end
class RPG::Armor < RPG::EquipItem
  def etype_id
    if /@etype\[(.+?)\]/ =~ @note
      return $1.to_i
    else
      return @etype_id
    end
  end
end
class Game_Actor < Game_Battler
  attr_accessor :fix_equips
  attr_accessor :seal_equips
  alias hzhj_old_init_equips_game_actor init_equips
  def init_equips(equips)
    @fix_equips = actor.fix_equips
    @seal_equips = actor.seal_equips
    hzhj_equips = equips.clone
    add_equips = actor.add_equips
    HzhjEquip::ETYPE_ADD_NUM.times{hzhj_equips << add_equips.shift}
    hzhj_old_init_equips_game_actor(hzhj_equips)
  end
  alias hzhj_old_equip_slots_game_actor equip_slots
  def equip_slots
    result = hzhj_old_equip_slots_game_actor
    HzhjEquip::ETYPE_ADD_NUM.times{result << result.size}
    result
  end
  def equip_type_fixed?(etype_id)
    if etype_id > 4
      return @fix_equips.include?(etype_id)
    else
      return super
    end
  end
  def equip_type_sealed?(etype_id)
    if etype_id > 4
      return @seal_equips.include?(etype_id)
    else
      return super
    end
  end
  def equip_type_sealed?(etype_id)
    if etype_id > 4
      return @seal_equips.include?(etype_id)
    else
      return super
    end
  end
  def equip_type_fixed?(etype_id)
    if etype_id > 4
      return @fix_equips.include?(etype_id)
    else
      return super
    end
  end
  def equip_type_sealed?(etype_id)
    if etype_id > 4
      return @seal_equips.include?(etype_id)
    else
      return super
    end
  end
end
class Window_EquipSlot < Window_Selectable
  def actor=(actor)
    return if @actor == actor
    @actor = actor
    create_contents
    refresh
  end
end
class Window_Status < Window_Selectable
  def draw_equipments(x, y)
    x = 224 if @actor.equips.size > 6
    @actor.equips.each_with_index do |item, i|
      dx = x + 146 * (i / 6)
      dy = y + line_height * (i % 6)
      draw_item_name(item, dx, dy, true, 122)
    end
  end
end
回复

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9280
在线时间
2504 小时
注册时间
2011-5-20
帖子
15389

开拓者

12
发表于 2012-6-17 10:28:44 | 只看该作者
woyaozhuce 发表于 2012-6-16 22:34
错误?    我只知道这个脚本与武器物品改色有冲突。

错误至今还没发现。 ...

冲突和错误一样···不过冲突是隐性的,错误是显性的
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2768
在线时间
1604 小时
注册时间
2010-10-22
帖子
1058
11
发表于 2012-6-17 10:15:27 | 只看该作者
Mr.Puzzle 发表于 2012-6-17 06:38
我把RPG重定义里面的默认装备全部改成0了,现在所有人物都没有默认装备
但是如果想要变更人物装备要怎么 ...

变更装备的话用
  1.   #--------------------------------------------------------------------------
  2.   # ● 变更装备
  3.   #     equip_type : 装备类型
  4.   #     id    : 武器 or 防具 ID  (0 为解除装备)
  5.   #--------------------------------------------------------------------------
  6. $game_actors[1].equip(equip_type, id)
复制代码
装备类型参见范例·Game_Actor中480行以下的部分。
【2022.06.03】原本以为已经不可能再找回来的东西重新找回来了,原本一直念念不忘的坑终于再一次拿起铲子了。一别竟近10年,你好,我的世界我的梦。
【不可阻挡】异元-地劫黎明
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
229
在线时间
596 小时
注册时间
2010-6-21
帖子
1218
10
发表于 2012-6-17 08:22:40 | 只看该作者
这个明显就是变量没有定义,没用定义过的变量,怎能直接用呢
如果我是一个美工就好啦!
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
156 小时
注册时间
2012-5-27
帖子
87
9
 楼主| 发表于 2012-6-17 06:38:37 | 只看该作者
kangxi0109 发表于 2012-6-16 23:04
原版的话,比如进入状态画面就会出错(这个解决不难),还有不能进行战斗测试等问题,再有就是如楼主说的 ...

我把RPG重定义里面的默认装备全部改成0了,现在所有人物都没有默认装备
但是如果想要变更人物装备要怎么办?
美丽的小红叉
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
85 小时
注册时间
2012-4-25
帖子
192
8
发表于 2012-6-16 23:35:04 | 只看该作者
本帖最后由 woyaozhuce 于 2012-6-16 23:38 编辑
kangxi0109 发表于 2012-6-16 23:04
原版的话,比如进入状态画面就会出错(这个解决不难),还有不能进行战斗测试等问题,再有就是如楼主说的 ...


- -.  额好吧,我用这个脚本用了好久了, 本来也很多错误,不知道稀里糊涂的就改对了。{:2_264:}

要不你推荐一个吧。

这个脚本与某个(忘了那个脚本了)脚本整合一下就很不错。  那个脚本提供菜单这个脚本提供装备追加。
我是这样改过来的。

点评

表示自己也一直都在用这个系统...也避重就轻的整合了一些东西,推荐别的系统的话,算了吧...没见过XP有别的...  发表于 2012-6-16 23:48
回复

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2768
在线时间
1604 小时
注册时间
2010-10-22
帖子
1058
7
发表于 2012-6-16 23:04:20 | 只看该作者
woyaozhuce 发表于 2012-6-16 22:34
错误?    我只知道这个脚本与武器物品改色有冲突。

错误至今还没发现。 ...

原版的话,比如进入状态画面就会出错(这个解决不难),还有不能进行战斗测试等问题,再有就是如楼主说的默认装备问题(这个在下至今没能解决,所以干脆直接就不要默认装备了)。
【2022.06.03】原本以为已经不可能再找回来的东西重新找回来了,原本一直念念不忘的坑终于再一次拿起铲子了。一别竟近10年,你好,我的世界我的梦。
【不可阻挡】异元-地劫黎明
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
85 小时
注册时间
2012-4-25
帖子
192
6
发表于 2012-6-16 22:34:52 | 只看该作者
chd114 发表于 2012-6-16 22:26
个人建议不要使用,因为原版的脚本本身就有错误

{:2_264:}错误?    我只知道这个脚本与武器物品改色有冲突。

错误至今还没发现。
回复

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9280
在线时间
2504 小时
注册时间
2011-5-20
帖子
15389

开拓者

5
发表于 2012-6-16 22:26:14 | 只看该作者
个人建议不要使用,因为原版的脚本本身就有错误
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-23 12:39

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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