Project1

标题: 如何暂时禁止使用物品和特技? [打印本页]

作者: .さっとりーん    时间: 2012-7-18 19:44
标题: 如何暂时禁止使用物品和特技?
本帖最后由 .さっとりーん 于 2012-7-18 19:45 编辑

在某些特定地方
如何禁止使用物品和特技恢复角色体力魔力
回到特定地方会重新开启物品和特技
怎么做dsu_plus_rewardpost_czw
作者: a364774426    时间: 2012-7-18 20:55
并行处理一个事件,设置同名的技能和物品为不能使用的,到了指定的地图,遗忘和丢弃技能物品,同时获得之前设置好的技能和物品。出了地图就恢复过来。
作者: 怪蜀黍    时间: 2012-7-18 21:22
还是改脚本比较好,因为哪些技能是已经学会的,到了解除地点是否恢复这些技能,或者说不能恢复未学会的技能。用事件比较难办到。至于怎么改,请参考默认脚本对“沉默”状态限制技能使用的设置。只需要判断技能或物品的ID是否在恢复技能或物品的数组列表中即可。
作者: 351323331    时间: 2012-7-19 23:02
开关199号打开为禁止物品,200号为禁止特技。
  1. #==============================================================================
  2. # ■ Scene_Menu
  3. #------------------------------------------------------------------------------
  4. #  处理菜单画面的类。
  5. #==============================================================================

  6. class Scene_Menu < Scene_Base
  7.   
  8.   
  9. #--------------------------------------------------------------------------
  10. # ● 更新命令窗口
  11. #--------------------------------------------------------------------------
  12.   def update_command_selection
  13.     if Input.trigger?(Input::B)
  14.       Sound.play_cancel
  15.       $scene = Scene_Map.new
  16.     elsif Input.trigger?(Input::C)
  17.       if $game_party.members.size == 0 and @command_window.index < 4
  18.         Sound.play_buzzer
  19.         return
  20.       elsif $game_system.save_disabled and @command_window.index == 4
  21.         Sound.play_buzzer
  22.         return
  23.       end
  24.       Sound.play_decision
  25.       case @command_window.index
  26.       when 0      # 物品
  27.       if $game_switches[199] == true
  28.         Sound.play_buzzer
  29.       else
  30.         $scene = Scene_Item.new
  31.         end
  32.       when 1      # 技能
  33.       if $game_switches[200] == true
  34.         Sound.play_buzzer
  35.       else
  36.         start_actor_selection
  37.         end
  38.       when 2,3    # 装备、状态
  39.         start_actor_selection
  40.       when 4      # 存档
  41.         $scene = Scene_File.new(true, false, false)
  42.       when 5      # 结束游戏
  43.         $scene = Scene_End.new
  44.       end
  45.     end
  46.   end
  47. end

  48. #==============================================================================
  49. # ■ Scene_Battle
  50. #------------------------------------------------------------------------------
  51. #  处理战斗画面的类。
  52. #==============================================================================

  53. class Scene_Battle < Scene_Base
  54.   
  55.   
  56. #--------------------------------------------------------------------------
  57. # ● 更新角色命令选择
  58. #--------------------------------------------------------------------------
  59.   def update_actor_command_selection
  60.     if Input.trigger?(Input::B)
  61.       Sound.play_cancel
  62.       prior_actor
  63.     elsif Input.trigger?(Input::C)
  64.       case @actor_command_window.index
  65.       when 0  # 攻击
  66.         Sound.play_decision
  67.         @active_battler.action.set_attack
  68.         start_target_enemy_selection
  69.       when 1  # 技能
  70.         if $game_switches[200] == true
  71.         Sound.play_buzzer
  72.       else
  73.         Sound.play_decision
  74.         start_skill_selection
  75.       end
  76.       when 2  # 防御
  77.         Sound.play_decision
  78.         @active_battler.action.set_guard
  79.         next_actor
  80.       when 3  # 物品
  81.         if $game_switches[199] == true
  82.         Sound.play_buzzer
  83.       else
  84.         Sound.play_decision
  85.         start_item_selection
  86.       end
  87.     end
  88.   end
  89. end
  90. end
复制代码

作者: 番茄炒鸡蛋丶    时间: 2012-7-20 18:56
到特定的地方自动执行事件  丢去物品和遗忘技能  然后 出地图的时候在添加进技能和丢去的物品
作者: 铅笔描绘的思念    时间: 2012-7-20 20:04
本帖最后由 铅笔描绘的思念 于 2012-7-20 20:06 编辑
  1. #==============================================================================
  2. # ■ Scene_Item
  3. #------------------------------------------------------------------------------
  4. #  处理物品画面的类。
  5. #==============================================================================

  6. class Scene_Item < Scene_Base
  7.   #--------------------------------------------------------------------------
  8.   # ● 更新物品选择
  9.   #--------------------------------------------------------------------------
  10.   def update_item_selection
  11.     if Input.trigger?(Input::B)
  12.       Sound.play_cancel
  13.       return_scene
  14.     elsif Input.trigger?(Input::C)
  15.       @item = @item_window.item
  16.       if @item != nil
  17.         $game_party.last_item_id = @item.id
  18.       end
  19.       if $game_party.item_can_use?(@item) or $game_switches[1] == true
  20.         Sound.play_decision
  21.         determine_item
  22.       else
  23.         Sound.play_buzzer
  24.       end
  25.     end
  26.   end
  27. end
  28. #==============================================================================
  29. # ■ Scene_Skill
  30. #------------------------------------------------------------------------------
  31. #  处理特技画面的类。
  32. #==============================================================================

  33. class Scene_Skill < Scene_Base
  34.   #--------------------------------------------------------------------------
  35.   # ● 更新目标选择
  36.   #--------------------------------------------------------------------------
  37.   def update_target_selection
  38.     if Input.trigger?(Input::B)
  39.       Sound.play_cancel
  40.       hide_target_window
  41.     elsif Input.trigger?(Input::C)
  42.       if not @actor.skill_can_use?(@skill) or $game_switches[1] == true
  43.         Sound.play_buzzer
  44.       else
  45.         determine_target
  46.       end
  47.     end
  48.   end
  49. end
复制代码
这只是渣方法。。当一号开关打开时技能和物品都无法使用
作者: 你爸一边哭一边    时间: 2012-8-1 19:14
#==============================================================================
# ■ Scene_Item
#------------------------------------------------------------------------------
#  处理物品画面的类。
#==============================================================================

class Scene_Item < Scene_Base
  #--------------------------------------------------------------------------
  # ● 更新物品选择
  #--------------------------------------------------------------------------
  def update_item_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      return_scene
    elsif Input.trigger?(Input::C)
      @item = @item_window.item
      if @item != nil
        $game_party.last_item_id = @item.id
      end
      if $game_party.item_can_use?(@item) or $game_switches[1] == true
        Sound.play_decision
        determine_item
      else
        Sound.play_buzzer
      end
    end
  end
end
#==============================================================================
# ■ Scene_Skill
#------------------------------------------------------------------------------
#  处理特技画面的类。
#==============================================================================

class Scene_Skill < Scene_Base
  #--------------------------------------------------------------------------
  # ● 更新目标选择
  #--------------------------------------------------------------------------
  def update_target_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      hide_target_window
    elsif Input.trigger?(Input::C)
      if not @actor.skill_can_use?(@skill) or $game_switches[1] == true
        Sound.play_buzzer
      else
        determine_target
      end
    end
  end
end
作者: c24009    时间: 2012-8-3 22:01
好想加入你们的谈话……




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