Project1

标题: 怎么设置在特定战斗中不能使用物品? [打印本页]

作者: 午夜·剑客    时间: 2009-1-1 08:27
标题: 怎么设置在特定战斗中不能使用物品?
如题……
就例如在平时战斗中可以使用物品
但在某战斗中就不能进行使用物品的指令…… [LINE]1,#dddddd[/LINE]版务信息:版主帮忙结贴~
作者: 木葬枫    时间: 2009-1-1 22:49
如果是特殊战斗的话,考虑用脚本开关设置“使用物品”选项冻结灰色。
作者: 午夜·剑客    时间: 2009-1-2 23:03
这个……具体怎样做?战斗结束后如何恢复?
作者: 最後一滴淚    时间: 2009-1-3 00:35
LS的LS多说用开关了...战斗结束后如何恢复? 如果开关打开不能使用的话..战斗结束后关掉就好了
作者: 午夜·剑客    时间: 2009-1-3 01:20
问题是脚本……哪有这种脚本……?

作者: 九夜神尊    时间: 2009-1-3 22:11
事件!!!狂攻事件的我,喜欢用事件解决麻烦问题

方法就是同名道具,如果想在特定战斗中不能使用某些物品的话

就做2个这样东西,另一个是无法使用

在战斗之前判断角色是否拥有这样东西,以及多少个
然后全部清0,获得些同名的不能使用的东西

玩家反正看到不能使用了,后台怎么整反正不知道

完成战斗恢复

解决很多特定场合不能使用的效果,都可以用同名物品
作者: trentswd    时间: 2009-1-3 23:20
- -!
这种事还是脚本简单些……这么用事件不是自虐么而且如果你有999种物品怎么办呢……

#--------------------------------------------------------------------------
  # ● 设置
  #     actor : 角色
  #--------------------------------------------------------------------------
  def setup(actor)
    s1 = Vocab::attack
    s2 = Vocab::skill
    s3 = Vocab::guard
    s4 = Vocab::item
    if actor.class.skill_name_valid     # 特技指令名是否有效
      s2 = actor.class.skill_name       # 替换指令名
    end
    @commands = [s1, s2, s3, s4]
    @item_max = 4
    refresh
    self.index = 0
  end
end



改Window_ActorCommand的这里试试,加几个if……
作者: ONEWateR    时间: 2009-1-3 23:30
  1. #==============================================================================
  2. # ■ 特定战斗中不能使用物品
  3. #------------------------------------------------------------------------------
  4. #  by ONEWateR
  5. #==============================================================================

  6. $开关编号 = 1

  7. class Window_ActorCommand < Window_Command
  8.   #--------------------------------------------------------------------------
  9.   # ● 初始化对象
  10.   #--------------------------------------------------------------------------
  11.   def initialize
  12.     @s1 = Vocab::attack
  13.     @s2 = Vocab::skill
  14.     @s3 = Vocab::guard
  15.     @s4 = Vocab::item
  16.     super(128, [@s1, @s2, @s3, @s4], 1, 4)
  17.     self.active = false
  18.     refresh
  19.   end
  20.   #--------------------------------------------------------------------------
  21.   # ● 设置
  22.   #     actor : 角色
  23.   #--------------------------------------------------------------------------
  24.   def setup(actor)
  25.     if actor.class.skill_name_valid     # 特技指令名是否有效
  26.       @s2 = actor.class.skill_name       # 替换指令名
  27.     end
  28.     self.index = 0
  29.   end
  30. end

  31. class Scene_Battle < Scene_Base

  32.   #--------------------------------------------------------------------------
  33.   # ● 生成显示信息视区
  34.   #--------------------------------------------------------------------------
  35.   def create_info_viewport
  36.     @info_viewport = Viewport.new(0, 288, 544, 128)
  37.     @info_viewport.z = 100
  38.     @status_window = Window_BattleStatus.new
  39.     @party_command_window = Window_PartyCommand.new
  40.     @actor_command_window = Window_ActorCommand.new
  41.     @actor_command_window.draw_item(3, false) if $game_switches[$开关编号] == true
  42.     @status_window.viewport = @info_viewport
  43.     @party_command_window.viewport = @info_viewport
  44.     @actor_command_window.viewport = @info_viewport
  45.     @status_window.x = 128
  46.     @actor_command_window.x = 544
  47.     @info_viewport.visible = false
  48.   end
  49.   #--------------------------------------------------------------------------
  50.   # ● 更新选择角色指令
  51.   #--------------------------------------------------------------------------
  52.   def update_actor_command_selection
  53.     if Input.trigger?(Input::B)
  54.       Sound.play_cancel
  55.       prior_actor
  56.     elsif Input.trigger?(Input::C)
  57.       case @actor_command_window.index
  58.       when 0  # 攻击
  59.         Sound.play_decision
  60.         @active_battler.action.set_attack
  61.         start_target_enemy_selection
  62.       when 1  # 特技
  63.         Sound.play_decision
  64.         start_skill_selection
  65.       when 2  # 防御
  66.         Sound.play_decision
  67.         @active_battler.action.set_guard
  68.         next_actor
  69.       when 3  # 物品
  70.        if $game_switches[$开关编号] == true
  71.           Sound.play_buzzer
  72.           return
  73.          else
  74.         Sound.play_decision
  75.         start_item_selection
  76.         end
  77.       end
  78.     end
  79.   end
  80. end
复制代码
[LINE]1,#dddddd[/LINE]系统信息:本贴由本区版主认可为正确答案,66RPG感谢您的热情解答~




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