Ace 스크립트

#사용법

#원래 기술전수는 귀찮아서 안하는 편이지만 이건 난이도에 비해 널리 쓰일 수 있기 때문에 따로 시간을 내어 여기 쓰겠습니다.

 

#게임을 시작할 때마다 상점의 아이템이 랜덤으로 설정되는 스크립트 기술입니다.

 

#먼저 상점이 있는 마을 배열의 배열을 만들어 줍시다.

 

$data_ports = [["리스본"], ["세빌리아"]]

 

#다음에는 아래의 스크립트로 각 마을의 아이템 리스트를 만들어 줍니다.

module DataManager

  #--------------------------------------------------------------------------
  # ● 뉴 게임 설치
  #--------------------------------------------------------------------------
  def self.setup_new_game
    create_game_objects
    $game_party.setup_starting_members
    $game_map.setup($data_system.start_map_id)
    $game_player.moveto($data_system.start_x, $data_system.start_y)
    $game_player.refresh
    Graphics.frame_count = 0
    $data_ports.each do |s|
      @goods = []
        while @goods.size < 10
          @item = [rand(3), 1, 0, 0]
          case @item[0]
          when 0;  @item[1] = 1+rand($data_items.size - 1)
          when 1;  @item[1] = 1+rand($data_weapons.size - 1)
          when 2;  @item[1] = 1+rand($data_armors.size - 1)
          end
            unless @goods.include?(@item)
            @goods.push(@item)
            end
        end
      s[10] = @goods
    end

  end

end

#다음에는 다음의 스크립트를 넣어 줍니다.

 

class Game_Party < Game_Unit
 attr_accessor   :port                 # 항구 변수
  #--------------------------------------------------------------------------
  # ● 오브젝트 초기화
  #--------------------------------------------------------------------------
  alias thdo_initialize initialize
  def initialize
    thdo_initialize
    @port = []
    $game_ports = $data_ports.clone
  end
 
  #함대가 주둔하고 있는 항구
  def port
    $game_ports.each do |s|
    if s[0] == $game_map.display_name #표시명이 같은 맵을  해당 마을로 간주합니다. 맵의 표시명을 앞의 배열의 마을이름으로 해주세요.
      return s #맵의 표시명을 고칠 경우 위의 배열의 마을이름도 고쳐야 맵과 마을을 동일시합니다.
    end     
    end
  end

end

 

#그리고 이건 아이템의 순서를 가격순으로 정렬하는 스크립트입니다.

#==============================================================================
# ■ Window_ShopBuy
#------------------------------------------------------------------------------
# 상점 화면에서 구입할 수있는 상품의 목록을 표시하는 창입니다.
#==============================================================================

class Window_ShopBuy < Window_Selectable
 alias thdo_make_item_list make_item_list
  #--------------------------------------------------------------------------
  # ● 아이템 목록 만들기
  #--------------------------------------------------------------------------
  def make_item_list
    thdo_make_item_list
    #가격에 따라 아이템을 정렬한다.
    @data.sort! {|a,b| a.price - b.price} #아이템을 a부터 b까지 a의 가격이 b의 가격보다 적을 때 a를 b보다 먼저 놓는 스크립트
#   @commerce = 1000 #여기서부터는 상업치에 따라 아이템이 나오는 스크립트
#    while @commerce > $game_party.port[7] #가격에 따라 정렬했기 때문에 상업치가 낮으면 비싼 아이템은 등장 안함.
#      @data.pop
#      @commerce -= 50 #여기까지가 상업치에 따라 아이템이 나오는 스크립트
#    end
  end
end

 

#이제 세팅은 다 끝났으니 이벤트에서 스크립트로 랜덤샵을 불러옵니다.

 

SceneManager.call(Scene_Shop)

SceneManager.scene.prepare($game_party.port[10], false) #true, false는 매각의 가능여부입니다. false일때 매각가능입니다.

#원래는 기술전수 목적이 아니라 대항해시대 1 리메이크에서 쓰려고 만든 것이라서 이해가 좀 어려울 수 있을것입니다.

#퍼서 쓰기 좋게 설명 부분은 #를 앞에 붙였습니다.


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 스크립트 자료 게시물 작성시 주의사항 습작 2012.12.24 5593
공지 RPG VX ACE 유용한 링크 모음 16 아방스 2012.01.03 29399
177 그래픽 Galy`s 캐릭터 그래픽 커스텀 3 스리아씨 2013.12.17 4924
176 기타 Gamepad Extender 습작 2015.01.02 744
175 타이틀/게임오버 GG침 스크립트 file 큔. 2018.07.18 862
174 버그픽스 Graphical Object Global Reference ACE (세부적인 에러메세지 없는 RGSS Player 크래쉬 디버거) by Mithran 1 Alkaid 2014.03.03 1542
173 전투 GTBS 2.4 버전 에코 2014.11.28 1917
172 전투 GTBS v2 for VX Ace by GubiD 1 Alkaid 2013.07.19 3078
171 기타 Hurt Faces V1.2 (상처에 고통스러워하는 액터의 얼굴을 출력해봅시다.) 5 file spice 2014.09.19 3034
170 기타 Icon_Character 8 file 허걱 2012.11.23 2617
169 키입력 Improved Imput System(part of DP Core) by DiamondandPlatinum3 1 Alkaid 2014.02.12 1301
168 기타 Improved Input System 1 습작 2015.01.02 1010
167 메시지 Item Choice Help Window for Ace 2 file 습작 2016.02.15 1410
166 키입력 Key Simulator by Fantasist 1 습작 2013.05.01 1403
165 기타 KGC 스텟 포인트 분배 스크립트 4 file 스리아씨 2013.09.21 1837
164 그래픽 Khas Awesome Light Effects BugFix 12 file 허걱 2013.01.15 3333
163 이동 및 탈것 Khas Pathfinder(길찾기 스크립트) 15 찬잎 2015.07.10 1980
162 버그픽스 Large Sprite ☆ Display Fix by Neon Black Alkaid 2014.02.08 1279
161 메시지 ListBox - 선택지 확장 스크립트 11 file 허걱 2014.04.03 3409
160 전투 LNX11 전투 RPGXP 전투처럼 만들기 큔. 2018.11.23 1479
159 기타 Localization by ForeverZer0, KK20 file 습작 2013.04.26 1436
158 기타 LUD Script Package file LuD 2017.08.15 1109
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 Next
/ 11