设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 986|回复: 3
打印 上一主题 下一主题

[已经解决] 怎么让某个物品只能给某个职业或人物使用

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
111 小时
注册时间
2011-10-1
帖子
217
跳转到指定楼层
1
发表于 2012-1-1 19:16:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如:法师专属的药剂只有自己才可以使用,在其他人物的回合中使用物品不出现或无法使用?(准备闭门造车一次性多问点……)

Lv2.观梦者

梦石
0
星屑
448
在线时间
628 小时
注册时间
2011-9-27
帖子
3996
2
发表于 2012-1-1 19:46:58 | 只看该作者
本帖最后由 小白玩家 于 2012-1-1 19:56 编辑
  1. class Game_Party

  2.   def item_can_use?(item_id)

  3.     # 物品个数为 0 的情况

  4.     if item_number(item_id) == 0

  5.       # 不能使用

  6.       return false

  7.     end

  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

  18. end

  19. $特定物品 = {1 => 1,15 => 2}  #箭头前为物品id 箭头后为特定角色id 英文半角逗号分隔

  20. class Game_Party

  21.   alias icu item_can_use?

  22.   def item_can_use?(item_id,actor_id = 1000)

  23.     occasion = $data_items[item_id].occasion

  24.     if actor_id != 1000

  25.       if $game_temp.in_battle && $特定物品.keys.include?(item_id)

  26.         if actor_id == $特定物品[item_id] && item_number(item_id) != 0 && (occasion == 0 or occasion == 1)

  27.           return  true

  28.         else

  29.           return false

  30.         end

  31.       end

  32.     end

  33.     icu(item_id)

  34.   end

  35. end

  36. class Window_Item

  37.   alias xtdf_initialize initialize

  38.   def initialize(actor_id = 1000)

  39.     @actor_id = actor_id

  40.     xtdf_initialize

  41.   end

  42.   def draw_item(index)

  43.     item = @data[index]

  44.     case item

  45.     when RPG::Item

  46.       number = $game_party.item_number(item.id)

  47.     when RPG::Weapon

  48.       number = $game_party.weapon_number(item.id)

  49.     when RPG::Armor

  50.       number = $game_party.armor_number(item.id)

  51.     end

  52.     if item.is_a?(RPG::Item) and

  53.        $game_party.item_can_use?(item.id,@actor_id)

  54.       self.contents.font.color = normal_color

  55.     else

  56.       self.contents.font.color = disabled_color

  57.     end

  58.     x = 4 + index % 2 * (288 + 32)

  59.     y = index / 2 * 32

  60.     rect = Rect.new(x, y, self.width / @column_max - 32, 32)

  61.     self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))

  62.     bitmap = RPG::Cache.icon(item.icon_name)

  63.     opacity = self.contents.font.color == normal_color ? 255 : 128

  64.     self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)

  65.     self.contents.draw_text(x + 28, y, 212, 32, item.name, 0)

  66.     self.contents.draw_text(x + 240, y, 16, 32, ":", 1)

  67.     self.contents.draw_text(x + 256, y, 24, 32, number.to_s, 2)

  68.   end

  69. end
复制代码
Game_Battle 3的这句话
     @item_window = Window_Item.new
改为
     @item_window = Window_Item.new(@active_battler.id)

答案来源地址,18楼,逸豫大大~
http://rpg.blue/forum.php?mod=vi ... E5%93%81&page=2
回复

使用道具 举报

Lv1.梦旅人

龙神

梦石
0
星屑
47
在线时间
512 小时
注册时间
2011-1-19
帖子
984
3
发表于 2012-1-1 19:48:02 | 只看该作者
公共事件,人物职业是不是法师,是的话就是用,不是的话提醒不能使用

点评

事件条件分歧里没有判断职业的  发表于 2012-1-1 19:50


神的穿越 THRU OF GOD  完成度1%
脚本2%  行走图10%  剧情1%
复仇の怪物    完成度7%
脚本10%  行走图10%  剧情5%
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
10 小时
注册时间
2012-1-2
帖子
7
4
发表于 2012-1-2 17:36:55 | 只看该作者
条件分歧嘛,多简单啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-2 23:36

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表