RPGXP 스크립트
2013.10.01 06:34

아이템 갯수 제한

조회 수 1063 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

스크립트 붙이신 후 13행에 가보세요.
그쪽에서 설정하시면 됩니다.
 @rx_t_limit_item_num[1] = 24 이렇게 되있는것은 1번아이템에 갯수가 24개로 제한되는거에요
  여기서  가운데 영어를 바꾸면 무기 방어구 설정도 가능합니다.
@rx_t_limit_weapon_num[id] = 숫자  ←특정 무기 갯수 제한
@rx_t_limit_armor_num[id] = 숫자 ← 특정방어구 갯수 제한
입니다.

 

 


#시작~~~~~~~~~
module RX_T_LIM
  # 初期設定
  @rx_t_limit_weapon_num = []
  @rx_t_limit_armor_num = []    #건들지마세요
  @rx_t_limit_item_num = []
 
  /-設定例:
  ここではアイテムID:1?ポ?ションの最大所持?を24個に
      アイテムID:3?フルポ?ションの最大所持?を48個に
      それぞれ設定しています。
      お好みにより色?設定して下さい。-/
  # -------------★설정하세요★-------------
  @rx_t_limit_item_num[1] = 24                        # ↓ 아이템 입니다
  @rx_t_limit_item_num[2] = 48        # @rx_t_limit_item_num[id] =  갯수
                                                    #만약 @rx_t_limit_weapon_num[id] = 갯수 면무기
                                                    #@rx_t_limit_armor_num[id] = 갯수 면방어구
                                                    #이런식으로 계속 만드실 수 있어요 ㅎ

 # -------------★설정 끝 ㅅㄱ~★-------------
  def RX_T_LIM.weapon(id, num)
    if @rx_t_limit_weapon_num[id] != nil
      if num > @rx_t_limit_weapon_num[id]
        num = @rx_t_limit_weapon_num[id]
      end
    end
  end
  def RX_T_LIM.armor(id, num)
    if @rx_t_limit_armor_num[id] != nil
      if num > @rx_t_limit_armor_num[id]
        num = @rx_t_limit_armor_num[id]
      end
    end
  end
  def RX_T_LIM.item(id, num)
    if @rx_t_limit_item_num[id] != nil
      if num > @rx_t_limit_item_num[id]
        num = @rx_t_limit_item_num[id]
      end
    end
  end
  def RX_T_LIM.d_weapon(id)
    if @rx_t_limit_weapon_num[id] != nil
      num = @rx_t_limit_weapon_num[id]
    end
  end
  def RX_T_LIM.d_armor(id)
    if @rx_t_limit_armor_num[id] != nil
      num = @rx_t_limit_armor_num[id]
    end
  end
  def RX_T_LIM.d_item(id)
    if @rx_t_limit_item_num[id] != nil
      num = @rx_t_limit_item_num[id]
    end
  end
end

#==============================================================================
# ■ Game_Party
#------------------------------------------------------------------------------
#  パ?ティを扱うクラスです。ゴ?ルドやアイテムなどの情報が含まれます。このク
# ラスのインスタンスは $game_party で?照されます。
#==============================================================================

class Game_Party
  #--------------------------------------------------------------------------
  # ● アイテムの所持?取得
  #    item_id : アイテム ID
  #--------------------------------------------------------------------------
  alias rx_rg11_item_number item_number
  def item_number(item_id)
    # ★ ハッシュに個?デ?タがあれば所持?制限があるかチェック
    if @items.include?(item_id)
      rx_num = RX_T_LIM.item(item_id, @items[item_id])
      # 所持制限?を超えていたら制限?まで減らす
      if rx_num != nil
        @items[item_id] = rx_num
      end
    end
    rx_rg11_item_number(item_id)
  end
  #--------------------------------------------------------------------------
  # ● 武器の所持?取得
  #    weapon_id : 武器 ID
  #--------------------------------------------------------------------------
  alias rx_rg11_weapon_number weapon_number
  def weapon_number(weapon_id)
    # ★ ハッシュに個?デ?タがあれば所持?制限があるかチェック
    if @weapons.include?(weapon_id)
      rx_num = RX_T_LIM.weapon(weapon_id, @weapons[weapon_id])
      # 所持制限?を超えていたら制限?まで減らす
      if rx_num != nil
        @weapons[weapon_id] = rx_num
      end
    end
    rx_rg11_weapon_number(weapon_id)
  end
  #--------------------------------------------------------------------------
  # ● 防具の所持?取得
  #    armor_id : 防具 ID
  #--------------------------------------------------------------------------
  alias rx_rg11_armor_number armor_number
  def armor_number(armor_id)
    # ★ ハッシュに個?デ?タがあれば所持?制限があるかチェック
    if @weapons.include?(armor_id)
      rx_num = RX_T_LIM.armor(armor_id, @armors[armor_id])
      # 所持制限?を超えていたら制限?まで減らす
      if rx_num != nil
        @armors[armor_id] = rx_num
      end
    end
    rx_rg11_armor_number(armor_id)
  end
end

#==============================================================================
# ■ Window_ShopBuy
#------------------------------------------------------------------------------
#  ショップ?面で、購入できる商品の一?を表示するウィンドウです。
#==============================================================================

class Window_ShopBuy < Window_Selectable
  #--------------------------------------------------------------------------
  # ● 項目の描?
  #    index : 項目番?
  #--------------------------------------------------------------------------
  def draw_item(index)
    item = @data[index]
    # アイテムの所持?を取得
    case item
    # -------------★改造ここから★-------------
    when RPG::Item
      # ★ 個?制限があるかチェック
      rx_num = RX_T_LIM.d_item(item.id)
      number = $game_party.item_number(item.id)
    when RPG::Weapon
      # ★ 個?制限があるかチェック
      rx_num = RX_T_LIM.d_weapon(item.id)
      number = $game_party.weapon_number(item.id)
    when RPG::Armor
      # ★ 個?制限があるかチェック
      rx_num = RX_T_LIM.d_armor(item.id)
      number = $game_party.armor_number(item.id)
    end
    # ★ 個?制限最終判定
    if rx_num == nil
      rx_num = 99
    end
    # ★ ?格が所持金以下、かつ所持?が 99(若しくは制限個?)でなければ通常文字色に、
    # そうでなければ無?文字色に設定
    if item.price <= $game_party.gold and number < rx_num
      self.contents.font.color = normal_color
    else
      self.contents.font.color = disabled_color
    end
    # -------------★改造ここまで★-------------
    x = 4
    y = index * 32
    rect = Rect.new(x, y, self.width - 32, 32)
    self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
    bitmap = RPG::Cache.icon(item.icon_name)
    opacity = self.contents.font.color == normal_color ? 255 : 128
    self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)
    self.contents.draw_text(x + 28, y, 212, 32, item.name, 0)
    self.contents.draw_text(x + 240, y, 88, 32, item.price.to_s, 2)
  end
end

#==============================================================================
# ■ Scene_Shop
#------------------------------------------------------------------------------
#  ショップ?面の?理を行うクラスです。
#==============================================================================

class Scene_Shop
  #--------------------------------------------------------------------------
  # ● フレ?ム更新 (購入ウィンドウがアクティブの場合)
  #--------------------------------------------------------------------------
  def update_buy
    # ステ?タスウィンドウのアイテムを設定
    @status_window.item = @buy_window.item
    # B ボタンが押された場合
    if Input.trigger?(Input::B)
      # キャンセル SE を演奏
      $game_system.se_play($data_system.cancel_se)
      # ウィンドウの?態を初期モ?ドへ
      @command_window.active = true
      @dummy_window.visible = true
      @buy_window.active = false
      @buy_window.visible = false
      @status_window.visible = false
      @status_window.item = nil
      # ヘルプテキストを消去
      @help_window.set_text("")
      return
    end
    # C ボタンが押された場合
    if Input.trigger?(Input::C)
      # アイテムを取得
      @item = @buy_window.item
      # アイテムが無?の場合、または?格が所持金より上の場合
      if @item == nil or @item.price > $game_party.gold
        # ブザ? SE を演奏
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      # アイテムの所持?を取得
      case @item
      # -------------★改造ここから★-------------
      when RPG::Item
        # ★ 購入?制限があるかチェック
        rx_num = RX_T_LIM.d_item(@item.id)
        number = $game_party.item_number(@item.id)
      when RPG::Weapon
        # ★ 購入?制限があるかチェック
        rx_num = RX_T_LIM.d_weapon(@item.id)
        number = $game_party.weapon_number(@item.id)
      when RPG::Armor
        # ★ 購入?制限があるかチェック
        rx_num = RX_T_LIM.d_armor(@item.id)
        number = $game_party.armor_number(@item.id)
      end
      # ★ 特に購入?制限がなければ購入?を99に。
      if rx_num == nil
        rx_num = 99
      end
      # ★ すでに 99 個(もしくは制限個?分)所持している場合
      if number == rx_num
        # ブザ? SE を演奏
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      # -------------★改造ここまで★-------------
      # 決定 SE を演奏
      $game_system.se_play($data_system.decision_se)
      # 最大購入可能個?を計算
      max = @item.price == 0 ? 99 : $game_party.gold / @item.price
      max = [max, rx_num - number].min
      # ウィンドウの?態を個?入力モ?ドへ
      @buy_window.active = false
      @buy_window.visible = false
      @number_window.set(@item, max, @item.price)
      @number_window.active = true
      @number_window.visible = true
      end
  end
end
#------------------끝

 

 

 

?

  1. 아이디 띄우기

    Date2013.09.24 CategoryRPGXP 스크립트 By청담 Views1030 Votes0
    Read More
  2. 아이템 갯수 제한

    Date2013.10.01 CategoryRPGXP 스크립트 By Views1063 Votes0
    Read More
  3. 아이템 사용 클래스 한정 스크립트

    Date2013.09.24 CategoryRPGXP 스크립트 By청담 Views947 Votes0
    Read More
  4. 아이템 소지수 무제한 스크립트

    Date2013.09.24 CategoryRPGXP 스크립트 By청담 Views1001 Votes0
    Read More
  5. 아이템 조합 스크립트

    Date2013.10.01 CategoryRPGXP 스크립트 By Views890 Votes0
    Read More
  6. 아이템 조합 스크립트

    Date2013.12.06 CategoryRPGXP 스크립트 By 운 Views2715 Votes0
    Read More
  7. 아이템소지 한계돌파

    Date2010.10.24 CategoryRPGXP 스크립트 ByA.M.S Views1964 Votes0
    Read More
  8. 아이템소지 한계돌파

    Date2010.10.24 CategoryRPGXP 스크립트 ByA.M.S Views2248 Votes0
    Read More
  9. 아이템창을 아이템 분류별로 나누어 지게 개조.

    Date2007.12.02 CategoryRPGXP 스크립트 By창조도시 Views1641 Votes1
    Read More
  10. 아이템창을 아이템 분류별로 나누어 지게 개조.

    Date2007.12.02 CategoryRPGXP 스크립트 By창조도시 Views2148 Votes1
    Read More
  11. 아이템획득 표시

    Date2010.10.14 CategoryRPGXP 스크립트 ByA.M.S Views2276 Votes0
    Read More
  12. 아이템획득 표시

    Date2010.10.14 CategoryRPGXP 스크립트 ByA.M.S Views2494 Votes0
    Read More
  13. 안티 렉 스크립트

    Date2013.09.26 CategoryRPGXP 스크립트 By Views3327 Votes1
    Read More
  14. 액알 스크립트

    Date2014.11.23 CategoryRPGXP 스크립트 By커비♥ Views1444 Votes1
    Read More
  15. 액터선택지이벤트제작 간편화 스크립트

    Date2009.04.30 CategoryRPGVX 스크립트 ByEvangelista Views2078 Votes3
    Read More
  16. 액터선택지이벤트제작 간편화 스크립트

    Date2009.04.30 CategoryRPGVX 스크립트 ByEvangelista Views2539 Votes3
    Read More
  17. 얼굴표시/문장을 한글자씩 나타내주는 스크립트 (출처-히페리온)

    Date2014.06.22 CategoryRPGXP 스크립트 By시르카 Views1191 Votes0
    Read More
  18. 업적플러그인

    Date2020.09.02 CategoryRPGMV 플러그인 By스트레이보우 Views1654 Votes0
    Read More
  19. 에너미 아이템 변화 스크립트

    Date2009.05.29 CategoryRPGVX 스크립트 ByEvangelista Views2460 Votes1
    Read More
  20. 에너미 아이템 변화 스크립트

    Date2009.05.29 CategoryRPGVX 스크립트 ByEvangelista Views2837 Votes1
    Read More
Board Pagination Prev 1 ... 5 6 7 8 9 10 11 12 13 14 15 Next
/ 15






[개인정보취급방침] | [이용약관] | [제휴문의] | [후원창구] | [인디사이드연혁]

Copyright © 1999 - 2016 INdiSide.com/(주)씨엘쓰리디 All Rights Reserved.
인디사이드 운영자 : 천무(이지선) | kernys(김원배) | 사신지(김병국)