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 5110
공지 RPG VX ACE 유용한 링크 모음 16 아방스 2012.01.03 28928
217 HUD 화폐단위 표시 구분 5 file 허걱 2014.03.19 2938
216 이름입력 한글 이름입력창 23 file 에틴 2012.01.23 11680
215 메시지 한국어 조사처리 스크립트 7 Ilike게임 2012.10.09 3603
214 메시지 한국어 조사 처리 스크립트 (140130) 2 치리 2014.01.31 2649
213 메뉴 파티 개별 인벤토리 스크립트 안나카레리나 2018.06.25 741
212 메시지 텍스트 사운드 이펙트 ( Text Sound Effect ) 10 file 미루 2013.01.10 4335
211 타이틀/게임오버 타이틀 화면 없이 게임을 시작하게 만드는법. 6 마에르드 2012.02.11 4586
210 타이틀/게임오버 타이틀 스크린 커스터마이징 11 file 라실비아 2013.08.12 5154
209 키입력 키 입력 확장 - 전체키 + 마우스입력 40 file 허걱 2012.12.15 5781
208 기타 크리스탈 엔진 : 포켓몬 배틀 시스템 7 file 스리아씨 2013.09.24 3894
207 전투 콤보 카운팅 시스템 4 아르피쥐 2011.12.18 4589
206 타이틀/게임오버 코아 코스튬씨의 랜덤 타이틀 출력 스크립트를 VX Ace용으로 변환 (테스트용) 1 Alkaid 2011.12.29 3189
205 타이틀/게임오버 코아 코스튬씨의 랜덤 타이틀 스크립트를 VX Ace용으로 변환 (완성판) 2 Alkaid 2012.01.25 3981
204 그래픽 커스텀 아이콘 적용하기 2 file 간로 2015.09.28 2723
203 직업 직업 경험치+능력치 설정 확장 7 file zubako 2015.01.27 3988
202 이동 및 탈것 지상 탈것 스크립트 6 file 미루 2013.01.07 4579
201 전투 전투시 나오는 메세지 삭제 10 Nintendo 2012.03.03 4358
200 이름입력 전체키 + 조합한글 + 이름입력처리 변경 47 file 허걱 2012.07.04 8200
199 메뉴 저장금지시 메뉴에 저장 안 뜨게 하기 5 file Bunny_Boy 2013.08.24 2520
198 장비 장비 장착을 통한 스킬 습득 및 삭제 4 아이미르 2012.02.05 3597
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 Next
/ 11