Project1

标题: 有关于装备替换的事情 [打印本页]

作者: 白兔先生    时间: 2015-9-5 23:57
标题: 有关于装备替换的事情
在事件中替换装备的话,是必须先持有那件装备才能替换成那件装备
有没有办法在事件中设置替换装备时,不管是否持有,直接变成要替换的装备(希望是从脚本处修改)
如果不能直接变的话...有没有在将装备替换后直接将被替换下的装备销毁的办法(纯事件一个个删也行,就是太蠢了而且数量庞大,所以想要从脚本出更改)
因为本人不会RUBY,求助各位前辈了
作者: RyanBern    时间: 2015-9-6 08:58
找到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件然后再装备。注意,这种方法卸下装备时,装备不会被销毁。
作者: 白兔先生    时间: 2015-9-6 12:53
RyanBern 发表于 2015-9-6 08:58
找到Interpreter6中的command_319,把它改成下面这样:
  #--------------------------------------------- ...

非常感谢!
但是使用脚本后发现,是使用【更变装备】后,除了装备上那个装备后,物品栏还会再多出一件相同的装备,能取消掉吗
作者: RyanBern    时间: 2015-9-6 13:41
本帖最后由 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




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1