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 28925
77 퀘스트 Quest Journal by modern algebra 11 file 습작 2013.05.03 3695
76 기타 Picture Gallery Ace by MogHunter 1 Alkaid 2011.12.28 3456
75 맵/타일 Overlay Mapping by Lil'Yami 7 Alkaid 2014.02.14 2279
74 타이틀/게임오버 No Game Over 1 file 스리아씨 2013.09.26 2399
73 키입력 No F1, F12 and Alt+Return (Kein F1, F12 und Alt+Eingabe) by cremno 3 습작 2013.04.19 1534
72 메시지 N.A.S.T.Y. Text Pop Over Events 3 file Mimesis 2013.04.08 3619
71 저장 MSX - Window_SaveFile I & II 5 file Alkaid 2013.02.09 2854
70 키입력 Mouse System Buttons update 2.0 by Falcao 11 file 습작 2013.05.14 2526
69 기타 MOG-XAS ANTI LAG (V1.0) 1 file winspec 2012.11.18 1678
68 기타 MOG-MEMORY CLEAR (v1.0) 1 file winspec 2012.11.18 1639
67 기타 MOG-ANTI ANIMATION LAG (v1.0) 1 file winspec 2012.11.18 1541
66 변수/스위치 Mog Event Sensor Range 4 file 이클립스 2013.09.30 1570
65 그래픽 Mirror: EvenNumber Pictures - 짝수번호 그림 반전표시 by 허걱 1 file 허걱 2014.05.10 1775
64 맵/타일 MGC님의 Mode 7 Ace 6 file 습작 2013.10.27 3469
63 메시지 Message Skip [메세지 스킵] 5 file Lisky 2014.09.09 4168
62 맵/타일 Map Zoom Ace by MGC 습작 2016.02.28 1016
61 기타 Map Screenshot by Tsukihime 2 Alkaid 2014.02.13 1832
60 기타 LUD Script Package file LuD 2017.08.15 1079
59 기타 Localization by ForeverZer0, KK20 file 습작 2013.04.26 1414
58 전투 LNX11 전투 RPGXP 전투처럼 만들기 큔. 2018.11.23 1444
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 Next
/ 11