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

Project1

 找回密码
 注册会员
搜索
查看: 1816|回复: 3

[已经解决] 有关于装备替换的事情

[复制链接]

Lv4.逐梦者

梦石
5
星屑
50
在线时间
103 小时
注册时间
2012-9-9
帖子
18
发表于 2015-9-5 23:57:33 | 显示全部楼层 |阅读模式

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

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

x
在事件中替换装备的话,是必须先持有那件装备才能替换成那件装备
有没有办法在事件中设置替换装备时,不管是否持有,直接变成要替换的装备(希望是从脚本处修改)
如果不能直接变的话...有没有在将装备替换后直接将被替换下的装备销毁的办法(纯事件一个个删也行,就是太蠢了而且数量庞大,所以想要从脚本出更改)
因为本人不会RUBY,求助各位前辈了

评分

参与人数 1星屑 +35 收起 理由
RyanBern + 35 手动认可奖励

查看全部评分

Lv4.逐梦者 (版主)

梦石
0
星屑
9467
在线时间
5073 小时
注册时间
2013-6-21
帖子
3580

开拓者贵宾剧作品鉴家

发表于 2015-9-6 08:58:14 | 显示全部楼层
找到Interpreter6中的command_319,把它改成下面这样:
RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # ● 变更装备
  3.   #--------------------------------------------------------------------------
  4.   def command_319
  5.     # 获取角色
  6.     actor = $game_actors[@parameters[0]]
  7.     # 变更角色
  8.     if actor != nil
  9.       if @parameters[1] == 0
  10.         n = $game_party.weapon_number(@parameters[2])
  11.         $game_party.gain_weapon(@parameters[2], 1) if n == 0
  12.       else
  13.         n = $game_party.armor_number(@parameters[2])
  14.         $game_party.gain_armor(@parameters[2], 1) if n == 0
  15.       end
  16.       actor.equip(@parameters[1], @parameters[2])
  17.     end
  18.     # 继续
  19.     return true
  20.   end

然后正常使用[变更装备],这样此指令的效果就变成,如果有这个装备则直接装备,没有的话自动获得1件然后再装备。注意,这种方法卸下装备时,装备不会被销毁。
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
5
星屑
50
在线时间
103 小时
注册时间
2012-9-9
帖子
18
 楼主| 发表于 2015-9-6 12:53:34 | 显示全部楼层
RyanBern 发表于 2015-9-6 08:58
找到Interpreter6中的command_319,把它改成下面这样:
  #--------------------------------------------- ...

非常感谢!
但是使用脚本后发现,是使用【更变装备】后,除了装备上那个装备后,物品栏还会再多出一件相同的装备,能取消掉吗
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

梦石
0
星屑
9467
在线时间
5073 小时
注册时间
2013-6-21
帖子
3580

开拓者贵宾剧作品鉴家

发表于 2015-9-6 13:41:08 | 显示全部楼层
本帖最后由 RyanBern 于 2015-9-6 13:49 编辑
白兔先生 发表于 2015-9-6 12:53
非常感谢!
但是使用脚本后发现,是使用【更变装备】后,除了装备上那个装备后,物品栏还会再多出一件相 ...


出现这样的问题原因是主角正穿戴的装备和你要变更的装备相同。
请避免这样的操作。如果无法避免,请改成这样(相应部分增加即可):
      if @parameters[1] == 0
        n = $game_party.weapon_number(@parameters[2])
        $game_party.gain_weapon(@parameters[2], 1) if n == 0 && actor.weapon_id != @parameters[2]
      else
        n = $game_party.armor_number(@parameters[2])
        $game_party.gain_armor(@parameters[2], 1) if n == 0 && eval("actor.armor#{@parameters[1]}_id != @parameters[2]")
      end

点评

哦哦原来如此!非常非常感谢!  发表于 2015-9-6 21:57
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-3-29 21:10

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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