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
77 기타 Yanfly Engine Ace Alkaid 2011.12.10 4382
76 전투 Yanfly 엔진 - 몬스터의 레벨 설정 6 file 스리아씨 2013.11.08 13003
75 그래픽 [ACE][BR] Awesome Light Effects 1.0(빛관련 스크립트) 37 file 꿈꾸는사람 2012.08.02 7015
74 이동 및 탈것 [RPG VX ACE]CSCA 텔레포트 스크립트 스리아씨 2014.01.05 2432
73 전투 [VX Ace] Damage Popup by Dargor 7 Alkaid 2011.12.04 5445
72 메뉴 [VX Ace] 다이얼 링 메뉴 스크립트 8 file RaonHank 2012.04.16 6673
71 타이틀/게임오버 [VX ACE]타이틀 화면에 맵을 표시하는 스크립트 4 file 스리아씨 2013.12.07 3541
70 스킬 [VX/VX Ace] Skill_Update_System 10 file 허걱 2012.06.11 3995
69 기타 [스크립트 사용자용] Tag System 1 허걱 2012.11.12 2079
68 메시지 [스크립트] Ace Message System - by. Yanfly 17 file 허걱 2012.05.21 7271
67 이동 및 탈것 [스크립트] Setp Sound (발걸음 소리) 20 file 허걱 2012.05.19 4660
66 전투 [스크립트] Sideview Battle System ver. 1.00 (일본어) 7 file 허걱 2012.05.20 6912
65 전투 多人数SRPGコンバータ for Ace by AD.Bank 6 습작 2013.05.13 4038
64 기타 게임속 이벤트를 텍스트 파일로 추출 2 file 영감쟁e 2013.10.15 3769
63 전투 공격시 반동데미지 스크립트 8 스리아씨 2013.10.11 1882
62 전투 기본전투의 커스텀 명중률 제작 안나카레리나 2018.06.10 543
61 전투 능력 강화/약화의 누적식 개조(버그수정) 13 아이미르 2012.02.08 3876
60 기타 던전 자동생성 4 Alkaid 2012.09.08 3160
59 전투 데미지의 한계치를 정하는 스크립트 3 file 스리아씨 2013.11.07 2050
58 HUD 동방프로젝트(풍신록) 맵 이름 표시 3 file 스리아씨 2013.09.24 3256
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 Next
/ 11