Project1

标题: -些特定装备在一些场合被强制卸下(己装备的)? [打印本页]

作者: shengfeng    时间: 2017-10-30 01:01
标题: -些特定装备在一些场合被强制卸下(己装备的)?
在特定场合不能装备上一些特定装备(未装备的),离开特定场合才能装备上
作者: 张咚咚    时间: 2017-10-30 09:24
本帖最后由 张咚咚 于 2017-10-30 09:55 编辑

  1. #打开一号开关,2,4,6的武器和1,3,5的防具自动卸下且不可装备
  2. $equips = {:s=>1,:w=>[2,4,6],:a=>[1,3,5]}

  3. class Window_EquipItem < Window_Selectable
  4.   #--------------------------------------------------------------------------
  5.   # ● 项目的描绘
  6.   #     index : 项目符号
  7.   #--------------------------------------------------------------------------
  8.   alias qqeat_window_equipitem_draw_item draw_item
  9.   def draw_item(index)
  10.     item = @data[index]
  11.     if $game_switches[$equips[:s]] and ((item.is_a?(RPG::Weapon) and $equips[:w].include?(item.id)) or (item.is_a?(RPG::Armor) and $equips[:a].include?(item.id)))
  12.       self.contents.font.color = disabled_color
  13.       item.instance_variable_set(:@no_equip, true)
  14.     else
  15.       self.contents.font.color = normal_color
  16.        item.instance_variable_set(:@no_equip, false)
  17.      end
  18.      qqeat_window_equipitem_draw_item(index)
  19.   end
  20. end
  21. class Scene_Equip
  22.   #--------------------------------------------------------------------------
  23.   # ● 刷新画面 (物品窗口被激活的情况下)
  24.   #--------------------------------------------------------------------------
  25.   alias qqeat_scene_equip_update_item update_item
  26.   def update_item
  27.     if Input.trigger?(Input::C) and $game_switches[$equips[:s]] and @item_window.item != nil and @item_window.item.instance_variable_get(:@no_equip)
  28.       $game_system.se_play($data_system.buzzer_se)
  29.       return
  30.     end
  31.     qqeat_scene_equip_update_item
  32.   end
  33. end
  34. class Game_Switches
  35.   #--------------------------------------------------------------------------
  36.   # ● 设置开关
  37.   #     switch_id : 开关 ID
  38.   #     value     : ON (true) / OFF (false)
  39.   #--------------------------------------------------------------------------
  40.   alias qqeat_game_switches_eee []=
  41.   def []=(switch_id, value)
  42.     $game_party.actors.each do |actor|
  43.       break if switch_id != $equips[:s] or !value
  44.       equip = [actor.weapon_id,actor.armor1_id,actor.armor2_id,actor.armor3_id,actor.armor4_id]
  45.       equip.length.times do |index|
  46.         actor.equip(index, 0) if $equips[(index == 0 ? :w : :a)].include?(equip[index])
  47.       end
  48.     end
  49.     qqeat_game_switches_eee(switch_id, value)
  50.   end
  51. end
复制代码


作者: guoxiaomi    时间: 2017-10-30 12:07
我的想法是,这件装备不能使用总有原因的吧,为了游戏体验,玩家发现不能装备的时候需要给予提示。不如就做一个不可以使用的物品,说明里说清楚不能装备的原因,等到你离开了某地再去换掉这个物品。
作者: xing~~    时间: 2017-10-30 17:39
张咚咚 发表于 2017-10-30 09:24

这个脚本怎么能做到多个开关控制不同的禁止的装备




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