Project1

标题: 请问战斗中如何无法使用指定道具? [打印本页]

作者: 聪妖    时间: 2015-12-28 09:53
标题: 请问战斗中如何无法使用指定道具?
不是所有战斗,是特定战斗中固定的道具不能使用.
例如,战斗A:不能使用回复药.战斗B:不能使用回复药和回蓝药这样.战斗C:回复药,回蓝药和复活药也不能使用.如此类推..

怎么才能实现复数指定的道具在战斗中无法使用?
作者: 怪蜀黍    时间: 2015-12-28 11:18
鉴于汝的ID包含【聪】字……
把这个定义改改。
  1.   def item_can_use?(item_id)
  2.     # 物品个数为 0 的情况
  3.     if item_number(item_id) == 0
  4.       # 不能使用
  5.       return false
  6.     end
  7.     return !$game_variables[10].include?(item_id) if $game_variables[10].is_a?(Array) # +++++++++++++++++++
  8.     # 获取可以使用的时候
  9.     occasion = $data_items[item_id].occasion
  10.     # 战斗的情况
  11.     if $game_temp.in_battle
  12.       # 可以使用时为 0 (平时) 或者是 1 (战斗时) 可以使用
  13.       return (occasion == 0 or occasion == 1)
  14.     end
  15.     # 可以使用时为 0 (平时) 或者是 2 (菜单时) 可以使用
  16.     return (occasion == 0 or occasion == 2)
  17.   end
复制代码
然后汝只要在进入特殊战斗之前使用【事件脚本】
  1. $game_variables[10] = [1,5,12,14]
复制代码
就能禁止1、5、12、14号物品的使用。
特殊战斗结束之后使用【事件脚本】
  1. $game_variables[10] = 0
复制代码
就能恢复正常使用。
$game_variables[10]请换成汝未使用的变量,这里只是用10号变量举例。
以上均未测试,如果测试有BUG请告知。




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