Ace 스크립트

itemRarity1.jpg

이 스크립트는 아이템 등급을 아이템과 장비에 할당하도록 허용합니다.

 

아이템 등급은 이름 색상으로 표시됩니다.

 

기본적으로 모든 이름은 흰색입니다. 

다른 등급의 아이템을 다른 색상을 갖도록 사용자 정의 할 수 있습니다

 

- 사용법 -

아이템 등급에 대한 메모 태그 항목을 지정합니다.

 

----------------------------------------------------------------

<item rarity: x>

----------------------------------------------------------------

 

여기서 x는 숫자입니다.

구성에서는 각각의 아이템 등급과 관련된 색상을 설정할 수 있습니다 . 

색상은 RGB 형식으로 지정됩니다. 몇 가지 샘플 항목이 제공됩니다.

 

출처: http://himeworks.com/2014/03/item-rarity/






#===============================================================================
 Title: Item Rarity
 Author: Hime
 Date: Mar 26, 2014
 URL: http://www.himeworks.com/2014/03/25/item-rarity/
--------------------------------------------------------------------------------
 ** Change log
 Apr 11, 2014
   - fixed bug where item color affects other rows as well
 Mar 26, 2014
   - Fixed bug where loading skills crashed. You can now tag skills with rarity
   - Extended to all base item objects
 Mar 25, 2014
   - Initial release
--------------------------------------------------------------------------------   
 ** Terms of Use
 * Free to use in non-commercial projects
 * Contact me for commercial use
 * No real support. The script is provided as-is
 * Will do bug fixes, but no compatibility patches
 * Features may be requested but no guarantees, especially if it is non-trivial
 * Credits to Hime Works in your project
 * Preserve this header
--------------------------------------------------------------------------------
 ** Description
 
 This script allows you to assign item rarities to items and equips.
 
 Rarity is indicated by name colour: by default, all names are white. 
 You can customize this so that different rarity levels have different
 colours.
 
--------------------------------------------------------------------------------
 ** Installation
 
 In the script editor, place this script below Materials and above Main

--------------------------------------------------------------------------------
 ** Usage 
 
 To specify rarity, note-tag items and equips with
 
   <item rarity: x>
   
 Where x is a number.
 In the configuration, you can set up the colours associated with each rarity
 level.
 
#===============================================================================
=end
$imported = {} if $imported.nil?
$imported[:TH_ItemRarity] = true
#===============================================================================
# ** Configuration
#===============================================================================
module TH
  module Item_Rarity
    
    # Colours associated with each rarity. The colours are specified as
    # RGB values. So for example, White is [255, 255, 255]
    Colour_Map = {
      1 => [255, 255, 255],
      2 => [204, 255, 137],
      3 => [197, 122, 255],
      4 => [255, 84, 0],
    }
    
    Regex = /<item[-_ ]rarity:\s*(\d+)\s*>/i
    
#===============================================================================
# ** Rest of script
#===============================================================================
    @@rarity_colour_map = nil
    
    def self.rarity_colour_map
      unless @@rarity_colour_map
        @@rarity_colour_map = {}
        Colour_Map.each do |i, arr|
          @@rarity_colour_map[i] = Color.new(*arr)
        end
      end
      return @@rarity_colour_map
    end
  end
end

module RPG
 
  class BaseItem
    def rarity
      load_notetag_item_rarity unless @rarity
      return @rarity
    end
    
    def load_notetag_item_rarity
      @rarity = 1
      res = self.note.match(TH::Item_Rarity::Regex)
      if res
        @rarity = res[1].to_i
      end
    end
    
    def rarity_colour
      TH::Item_Rarity.rarity_colour_map[self.rarity]
    end
  end
end

class Window_Base < Window
  
  #-----------------------------------------------------------------------------
  # Replaced
  #-----------------------------------------------------------------------------
  def draw_item_name(item, x, y, enabled = true, width = 172)
    return unless item
    draw_icon(item.icon_index, x, y, enabled)
    change_color(item.rarity_colour, enabled)
    draw_text(x + 24, y, width, line_height, item.name)
		change_color(normal_color, enabled)
  end
end


#===============================================================================
# Instance Item extension
#===============================================================================
if $imported["TH_InstanceItems"]
  module RPG
    class BaseItem
      alias :th_item_rarity_refresh :refresh
      def refresh
        th_item_rarity_refresh
        refresh_item_rarity
      end
      
      def refresh_item_rarity
        var = InstanceManager.get_template(self).rarity
        @rarity = make_item_rarity(InstanceManager.make_full_copy(var))
      end

      def make_item_rarity(rarity)
        rarity
      end
    end
  end
end
Atachment
첨부 '1'
  • ?
    크크섬 2019.08.01 13:56
    감사합니다
  • ?
    크크섬 2019.08.01 14:26
    제일 윗줄에 =begin 한 줄 추가해줘야 정상적으로 작동합니다.
    그리고 레어리티 적용은 각 아이템 메모란에 <item rarity: 등급별 숫자> 를 입력해주시면 됩니다.

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 스크립트 자료 게시물 작성시 주의사항 습작 2012.12.24 5592
공지 RPG VX ACE 유용한 링크 모음 16 아방스 2012.01.03 29396
17 전투 전투시 나오는 메세지 삭제 10 Nintendo 2012.03.03 4388
16 이동 및 탈것 지상 탈것 스크립트 6 file 미루 2013.01.07 4601
15 직업 직업 경험치+능력치 설정 확장 7 file zubako 2015.01.27 4004
14 그래픽 커스텀 아이콘 적용하기 2 file 간로 2015.09.28 2756
13 타이틀/게임오버 코아 코스튬씨의 랜덤 타이틀 스크립트를 VX Ace용으로 변환 (완성판) 2 Alkaid 2012.01.25 4012
12 타이틀/게임오버 코아 코스튬씨의 랜덤 타이틀 출력 스크립트를 VX Ace용으로 변환 (테스트용) 1 Alkaid 2011.12.29 3211
11 전투 콤보 카운팅 시스템 4 아르피쥐 2011.12.18 4617
10 기타 크리스탈 엔진 : 포켓몬 배틀 시스템 7 file 스리아씨 2013.09.24 3921
9 키입력 키 입력 확장 - 전체키 + 마우스입력 40 file 허걱 2012.12.15 5810
8 타이틀/게임오버 타이틀 스크린 커스터마이징 11 file 라실비아 2013.08.12 5179
7 타이틀/게임오버 타이틀 화면 없이 게임을 시작하게 만드는법. 6 마에르드 2012.02.11 4610
6 메시지 텍스트 사운드 이펙트 ( Text Sound Effect ) 10 file 미루 2013.01.10 4378
5 메뉴 파티 개별 인벤토리 스크립트 안나카레리나 2018.06.25 777
4 메시지 한국어 조사 처리 스크립트 (140130) 2 치리 2014.01.31 2690
3 메시지 한국어 조사처리 스크립트 7 Ilike게임 2012.10.09 3641
2 이름입력 한글 이름입력창 23 file 에틴 2012.01.23 11711
1 HUD 화폐단위 표시 구분 5 file 허걱 2014.03.19 2970
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 Next
/ 11