Project1

标题: 以下这行语句哪里出错? [打印本页]

作者: woodytt    时间: 2009-8-14 20:25
标题: 以下这行语句哪里出错?
本帖最后由 雪流星 于 2009-8-14 14:26 编辑
  1. $game_variables[1] = $game_party.item_number(1)
复制代码
比如我想在对话中用显示变量的方法"\v[x]"显示物品数,在对话前加什么脚本?为什么以上的语句没有效果,\v[1]还是为0?
告诉我用事件指令的不算!
作者: njx937    时间: 2009-8-14 20:38
xx  ==  yy   判断 xx是否等于 yy
xx = yy  对xx赋值yy
作者: woodytt    时间: 2009-8-14 20:56
xx  ==  yy   判断 xx是否等于 yy
xx = yy  对xx赋值yy
njx937 发表于 2009-8-14 20:38

好像还是无效
作者: woodytt    时间: 2009-8-14 21:21
好像在VX中"item“是广义的,需要分别对item,weapon和armor进行定义
以下是Window_ShopBuy28~48行
  1.   def refresh
  2.     @data = []
  3.     for goods_item in @shop_goods
  4.       case goods_item[0]
  5.       when 0
  6.         item = $data_items[goods_item[1]]
  7.       when 1
  8.         item = $data_weapons[goods_item[1]]
  9.       when 2
  10.         item = $data_armors[goods_item[1]]
  11.       end
  12.       if item != nil
  13.         @data.push(item)
  14.       end
  15.     end
  16.     @item_max = @data.size
  17.     create_contents
  18.     for i in 0...@item_max
  19.       draw_item(i)
  20.     end
  21.   end
复制代码
以下是game_party193~212行
  1. def gain_item(item, n, include_equip = false)
  2.     number = item_number(item)
  3.     case item
  4.     when RPG::Item
  5.       @items[item.id] = [[number + n, 0].max, 99].min
  6.     when RPG::Weapon
  7.       @weapons[item.id] = [[number + n, 0].max, 99].min
  8.     when RPG::Armor
  9.       @armors[item.id] = [[number + n, 0].max, 99].min
  10.     end
  11.     n += number
  12.     if include_equip and n < 0
  13.       for actor in members
  14.         while n < 0 and actor.equips.include?(item)
  15.           actor.discard_equip(item)
  16.           n += 1
  17.         end
  18.       end
  19.     end
  20.   end
复制代码
是不是跟这些有关,还请高手指点
作者: njx937    时间: 2009-8-15 00:09
刚看过 item_number 的函数
  1.   #--------------------------------------------------------------------------
  2.   # ● 获取物品持有数量
  3.   #     item : 物品
  4.   #--------------------------------------------------------------------------
  5.   def item_number(item)
  6.     case item
  7.     when RPG::Item
  8.       number = @items[item.id]
  9.     when RPG::Weapon
  10.       number = @weapons[item.id]
  11.     when RPG::Armor
  12.       number = @armors[item.id]
  13.     end
  14.     return number == nil ? 0 : number
  15.   end
复制代码
这个item不是简单的数字(物品id),很明显是整个物品
$game_variables[1] = $game_party.item_number($data_items[1])
改成这样试试 这只是对应物品 还有 $data_weapons $data_armors
作者: woodytt    时间: 2009-8-15 00:30
刚看过 item_number 的函数  #--------------------------------------------------------------------------
  # ● 获取物品持有数量
  #     item : 物品
  #-------------------------------------------------- ...
njx937 发表于 2009-8-15 00:09

可以了!万分感谢!




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