Project1

标题: 如何自定义某些物品的分类? [打印本页]

作者: jhhuang    时间: 2009-5-23 20:49
标题: 如何自定义某些物品的分类?
下面的脚本是我的分类脚本里面的分类方式
我想把501~543号的物品强制放进when 4分类里面,有什么办法?(同时又不存在其他分类里面)
PS:可以把when 4分类整个重写,因为when 4分类没有其他东西,就为了专门放501~543号的物品的.



#--------------------------------------------------------------------------
  # ● アイテム一览设定
  # command : 选择中のコマンド
  #--------------------------------------------------------------------------
  #0=平时/1=战斗时/2=菜单时/3=不可使用时
  def set_item(command)
    refresh
    case command
    when 0
      for i in 1...$data_items.size
        if ($data_items.occasion == 0 or $data_items.occasion == 3) and $game_party.item_number(i) > 0
          @data.push($data_items)
        end
      end
    when 1
      for i in 1...$data_items.size
        if ($data_items.occasion == 2 and $game_party.item_number(i) > 0)
          @data.push($data_items)
        end
      end
    when 2
      for i in 1...$data_weapons.size
        if $game_party.weapon_number(i) > 0
          @data.push($data_weapons)
        end
      end
    when 3
      for i in 1...$data_armors.size
        if $data_armors.kind == 0 and $game_party.armor_number(i) > 0
          @data.push($data_armors)
        end
      end
    when 4
      for i in 1...$data_armors.size
        if $data_armors.kind == 1 and $game_party.armor_number(i) > 0
          @data.push($data_armors)
        end
      end
    when 5
      for i in 1...$data_armors.size
        if $data_armors.kind == 2 and $game_party.armor_number(i) > 0
          @data.push($data_armors)
        end
        if $data_armors.kind == 3 and $game_party.armor_number(i) > 0
          @data.push($data_armors)
        end
      end
    when 6
      for i in 1...$data_items.size
        if ($data_items.occasion == 1 and $game_party.item_number(i) > 0)
          @data.push($data_items)
        end
      end
    end
    # 项目数が 0 でなければビットマップを作成し、全项目を描画
    @item_max = @data.size
    if @item_max > 0
      self.contents = Bitmap.new(width - 32, row_max * 32)
      self.contents.clear
      for i in 0...@item_max
        draw_item(i)
      end
    end
  end
作者: jhhuang    时间: 2009-5-25 04:30
额....有人回答下吗?

或者说能不能在每个分类后面加个and编号501~543号物品不显示
然后把when 4重新写成只显示编号501~543号物品.
不过我也不会写啊....这样写行不行?谁帮忙写下
作者: ★_茄孓    时间: 2009-5-25 04:56
when 4里写的是防具的分类,到底是要防具的还是物品的?
作者: ★_茄孓    时间: 2009-5-25 05:01
   when 4
   for s in 501..543
     for i in 1...$data_armors.size
       if $data_armors.kind == 1 and $game_party.armor_number(i) > 0 and
          $data_armors.id == s  
          @data.push($data_armors)
       end
     end
   end

作者: jhhuang    时间: 2009-5-25 05:45
那个脚本是原来的脚本,我还没改过
我要的效果是$data_items.size

还有就是希望那些物品不存在其他分类里
作者: jhhuang    时间: 2009-5-25 05:49
我改成
    when 4
      for s in 501..543
       for i in 1...$data_items.size
        if $data_items.occasion == 1 and $game_party.item_number(i) > 0 and
          $data_items.id == s  
          @data.push($data_items)
        end
      end
    end
了,不过还是没显示....反而显示在第二个分类里了....
作者: jhhuang    时间: 2009-5-25 05:56
找到原因了....我要的效果包括#0=平时/1=战斗时/2=菜单时
所以有些没显示出来....
帮忙写一下....包括全部类物品的,主要0,1,2.
/3=不可使用时的也顺便加进去吧.

(那些物品不存在其他分类里)还有这个怎么办?

终于改好第一个问题了....
    when 4
      for s in 501..543
       for i in 1...$data_items.size
        if ($game_party.item_number(i) > 0) and $data_items.id == s  
          @data.push($data_items)
        end
      end
    end


剩下的就是(那些物品不存在其他分类里)
作者: woshi90    时间: 2009-5-26 22:48
wa !!!!
作者: jhhuang    时间: 2009-5-27 07:49
以下引用woshi90于2009-5-26 14:48:03的发言:
wa !!!!

汗...来这灌水的都有啊-.-?

谁帮我把问题解答完啊?
编号501~543item(物品)如何不显示在when 4以外的分类中?




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