Ace 스크립트

VXAce 아츠장착 스킬습득 예제 1.JPG VXAce 아츠장착 스킬습득 예제 2.JPG VXAce 아츠장착 스킬습득 예제 3.JPG

 

이번에 작성한 스크립트는 예전에 아방스님이 올려주셨던 장비 확장 스크립트를 울궈먹었던

 

장비장착을 통한 스킬 습득 및 삭제 스크립트를 독립적으로 제작해보았습니다.

 

그 결과, 장비 장착 쪽이 잘 안되서 아예 메뉴란에 새로 등록해서 아이템을 장착하는 방향으로

 

가닥을 잡았습니다.

 

이 아이템들은 메모란을 통해서 속성치를 작성할 수 있으며 이 속성치에 따라 액터의 속성치 (스크린 샷

 

에서 얼굴 밑에 써있는 것들...)가 변하며 이를 통해 스킬이 습득되거나 삭제되는 스크립트 입니다.

 

 

 

 사용법

 

1.  설정항목을 잘 설정한다;;;;

 

  사실상 모든 스크립트가 그렇듯이 설정항목을 잘 설정하고 넘어갑니다.

 

module Imir_ExtraSkills 
 
  ExtraSkills  = []
  ActorEquips  = []
 
  SkillMax     = 8
  ActorMax     = 10
 
  VOCAB = "아츠 장착"
  Vocab_Equip  = "장비하기"
  Vocab_Unequip= "해제하기"
  Vocab_Cancel = "그만하기"
 
  DISPLAYED_ELEMENTS = [1,2,3,4,5,6,7,8,9,10]

  def self.element_icon(element_id)
    case element_id
    when 1; 116  # 물리
    when 2; 113  # 흡수
    when 3;  96  # 불꽃
    when 4;  97  # 얼음
    when 5;  98  # 번개
    when 6;  99  # 물
    when 7; 100  # 땅
    when 8; 101  # 바람
    when 9; 102  # 빛
    when 10; 103 # 어둠
    end
  end
 
  def self.element_name(element_id)
    case element_id
    when 1; "물리"
    when 2; "흡수"
    when 3; "불꽃"
    when 4; "얼음"
    when 5; "번개"
    when 6; "물"
    when 7; "땅"
    when 8; "바람"
    when 9; "빛"
    when 10; "어둠"
    end
  end
 
  for i in 1..ActorMax
    ActorEquips[i] = [0, 0, 0, 0, 0, 0]
  end
 
  ActorEquips[1] = [1, 0, 0, 0, 0, 0]
 
  for i in 1..SkillMax
    ExtraSkills[i] = [nil, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
  end
   
  ExtraSkills[1] = [nil, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 76]
  # 물리 1, 불꽃 1 => 76. 파이어 웨폰. 특기 계열.
  ExtraSkills[2] = [nil, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 49]
  # 흡수 2 => 49. 라이프 드레인. 마법 계열.
  ExtraSkills[3] = [nil, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 53]
  # 불꽃 3 => 53. 플레임. 마법 계열
  ExtraSkills[4] = [nil, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 57]
  # 얼음 4 => 57. 블리자드. 마법계열  
  ExtraSkills[5] = [nil, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 61]
  # 번개 5 => 61. 스파크. 마법계열
  ExtraSkills[6] = [nil, 3, 0, 0, 0, 0, 0, 0, 0, 0, 2, 73]
  # 물리 3, 어둠 2 => 73. 버스트. 마법계열
  ExtraSkills[7] = [nil, 5, 0, 0, 0, 0, 0, 0, 0, 0, 5, 74]
  # 물리 5, 어둠 5 => 74. 뉴클리어. 마법계열
  ExtraSkills[8] = [nil, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 72]
  # 어둠 4 => 72. 다크니스. 마법계열
 
end

 

이 설정항목을 자세히 살펴보면

 

  SkillMax     = 8       

 

이건 이 스크립트로 습득가능한 스킬의 최대치를 설정하고,


  ActorMax     = 10

이건 작성중인 프로젝트의 등장 액터 수를 써넣는 겁니다. ( 실제 액터 수와 일치해야합니다. )

 

  DISPLAYED_ELEMENTS = [1,2,3,4,5,6,7,8,9,10]

 

이 부분들은 프로젝트에서 사용할 속성치의 설정입니다.

 

예제에서는 1부터 10까지 총 10개를 사용합니다.

 

  def self.element_icon(element_id)
    case element_id
    when 1; 116  # 물리
    when 2; 113  # 흡수
    when 3;  96  # 불꽃
    when 4;  97  # 얼음
    when 5;  98  # 번개
    when 6;  99  # 물
    when 7; 100  # 땅
    when 8; 101  # 바람
    when 9; 102  # 빛
    when 10; 103 # 어둠
    end
  end

각 속성에 맞는 아이콘 번호입니다. 아이콘 셋이 다르다거나 다른 모양으로 하고 싶으신분들은

 

다시 설정해주세요.

  
  def self.element_name(element_id)
    case element_id
    when 1; "물리"
    when 2; "흡수"
    when 3; "불꽃"
    when 4; "얼음"
    when 5; "번개"
    when 6; "물"
    when 7; "땅"
    when 8; "바람"
    when 9; "빛"
    when 10; "어둠"
    end
  end

각 속성들 이름입니다. 적당히 알아서 붙여주시면 됩니다.

 

  for i in 1..ActorMax
    ActorEquips[i] = [0, 0, 0, 0, 0, 0]
  end
 
  ActorEquips[1] = [1, 0, 0, 0, 0, 0]

이 부분은 액터가 초기 장비로 장착하고 나오는 아이템을 설정하는 부분입니다.

 

예제에서는 최대 장비수치를 여섯개로 잡았기 때문에 0이 여섯개 들어있는 배열이며

 

1번액터는 1번 아이템을 장착하고 있네요. 0은 빈칸입니다.

 

  for i in 1..SkillMax
    ExtraSkills[i] = [nil, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
  end
   
  ExtraSkills[1] = [nil, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 76]
  # 물리 1, 불꽃 1 => 76. 파이어 웨폰. 특기 계열.

이 부분은 이 스크립트를 사용해 습득 가능한 스킬들의 습득 조건과 습득 스킬을 설정하는 부분입니다.

 

위에서 본 것처럼 10개의 속성치를 사용하기 때문에 배열이 12칸입니다. (0번은 nil이고 11번이 스킬ID )

 

ExtraSkills[1]의 숫자는 이 장부의 순서입니다. 딱히 중요하지는 않으니까 연속적이고 겹치지

 

않게 차분히 나열하면 됩니다.

 

예제에 따르면 1번은 1번 속성치 1이상, 3번 속성치 1이상일 때 76번 스킬을 습득할 수 있다고 설정되어 있습니다.

 

밑에 주석을 달아두면 해석하기 용이하겠지요.

 

 

 

2. 액터, 직업, 아이템의 메모란에 기입한다.

 

<element:A,B>

 

A는 속성치 순번이고, B는 수치량입니다.

 

EXA) 액터의 초기 속성 수치를 3번 속성을 5, 4번 속성을 3으로 설정하고 싶다.

 

액터의 메모란에 가서 

 

<element:3,5><element:4,3>

 

이렇게 기입하면 됩니다.

 

 

기입 가능한 장소는 액터의 메모란, 직업의 메모란, 아이템의 메모란입니다. 무기나 방어구는

 

사용하지 않습니다.

 

 

 

!!주의사항!!

 

이 스크립트를 사용할 시, 스크립트로 습득할 스킬들은 액터가 레벨업이나 특정이벤트를 통해 습득하는

 

스킬들과는 다르게 설정해 주는 게 중요합니다.

 

이 스크립트는 스크립트 작성 취지에 맞게, 장비를 장착해서 속성치가 조건에 만족하면 스킬을 습득하지만

 

만족하지 못하면 다시 스킬이 삭제되는 구조를 가지고 있습니다.

 

즉, 장비장착으로 습득한 스킬과 ( 레벨업 혹은 특정 이벤트) 를 통해 습득하는 스킬이 같다면

 

장비를 장착하면서 없어질 수 있습니다.

 

주의해주세요.

 

Who's 아이미르

?

허루쿠... 임용고시 공부해야되는데 이러고 있다....

 

알만툴의 중독성은 쩔어준다는;;;

  • ?
    미루 2013.02.25 17:40
    오~ 영웅전설이 생각나는...!
    대단한 스크립트 입니다~>ㅁ<

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 스크립트 자료 게시물 작성시 주의사항 습작 2012.12.24 5109
공지 RPG VX ACE 유용한 링크 모음 16 아방스 2012.01.03 28921
97 저장 Scene_File Comfirmation by JohnBolton Alkaid 2013.02.13 2409
96 저장 MSX - Window_SaveFile I & II 5 file Alkaid 2013.02.09 2854
95 저장 FF6 Advance식 저장/불러오기 by Raizen884 4 file Alkaid 2013.02.09 3820
94 아이템 VXAce 보관함 스크립트 12 file 아이미르 2013.02.07 3701
93 메시지 Advanced Text System by modern algebra 2 Alkaid 2013.02.04 2316
92 전투 Code Crush VXAce-RGSS3-21 프론트뷰 改 2 15 Alkaid 2013.01.28 4270
91 아이템 Etude87_Item_Search ver.1.00 2 습작 2013.01.24 1646
90 제작도구 VXAce HUD Designer by Cidiomar R. Dias Jr 1 file 습작 2013.01.19 6761
89 그래픽 Khas Awesome Light Effects BugFix 12 file 허걱 2013.01.15 3290
88 전투 XAS VX ACE 데모 한글 번역 ( 스크립트 번역 모음 ) 1 미루 2013.01.10 4554
87 메시지 텍스트 사운드 이펙트 ( Text Sound Effect ) 10 file 미루 2013.01.10 4281
86 이동 및 탈것 지상 탈것 스크립트 6 file 미루 2013.01.07 4579
85 기타 유용한 외국 스크립트사이트 하나 발견했네요 영어조금하시면 이해가능하실꺼에요 2 game 光 ㅋㅋ 2013.01.07 2574
84 아이템 VXAce No Recipe 아이템합성 스크립트(버그 수정) 11 file 아이미르 2013.01.07 3306
83 상태/속성 RGSS3_스테이터스 표시 확장(추가) by tomoaky 4 file 아이미르 2013.01.03 3971
82 아이템 VXAce 아이템 도감 스크립트 7 file 아이미르 2012.12.31 3800
81 기타 Etude87_Go_Google_Translate_Ace ver.1.01 1 습작 2012.12.31 1718
80 맵/타일 WhiteFlute - XPMap-EX (VX Ace에서 XP의 맵 데이터를 읽을 수 있게 함) 3 Alkaid 2012.12.26 1502
79 타이틀/게임오버 Title Skip System - 타이틀 스킵 9 허걱 2012.12.17 2872
78 변수/스위치 Self_Variables (셀프 변수 시스템) 16 file 허걱 2012.12.17 2293
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 Next
/ 11