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 5593
공지 RPG VX ACE 유용한 링크 모음 16 아방스 2012.01.03 29399
117 기타 VXAce Common Exp 스크립트 6 file 아이미르 2012.10.29 2398
116 아이템 VXAce 보관함 스크립트 12 file 아이미르 2013.02.07 3716
115 기타 VX ACE 오디오 암호화 스크립트 3 스리아씨 2013.10.22 1962
114 전투 vx ace 애니메이션 배틀 3 gor 2012.05.27 7685
113 버그픽스 VX Ace Star Passibility Bug Fix by Neon Black 2 Alkaid 2014.02.26 1395
112 기타 Victor Engine 1 Alkaid 2011.12.21 4097
111 키입력 VA鼠标脚本——全操作鼠标化 v1.3e by Sion 4 file 습작 2013.05.14 2043
110 HUD Variables-Display Script System 8 file 허걱 2012.05.27 5475
109 변수/스위치 TYPE74RX-T: 셀프 스위치를 실시간으로 조작 Alkaid 2011.12.23 3359
108 전투 Transition EX 1.2 by MogHunter Alkaid 2012.09.07 2497
107 전투 Tomoaky's RGSS3_SRPG ver.0.15a 한국어번역 3 file 초코빙수 2016.06.05 2095
106 타이틀/게임오버 Title Skip System - 타이틀 스킵 9 허걱 2012.12.17 2898
105 전투 theolized 사이드뷰 스크립트 2 하늘바라KSND 2014.12.19 2503
104 메시지 Text Skip [ 메시지 스킵 ] 4 file 스리아씨 2013.09.26 3023
103 버그픽스 Text Cache by Mithran 1 Alkaid 2013.02.16 1423
102 아이템 Tactics Ogre PSP Crafting System by Mr.Bubble 6 Alkaid 2012.09.17 3075
101 메뉴 Syvkal's Ring Menu VX Ace 2 Alkaid 2012.09.08 3833
100 메뉴 Syvkal's Menu Bars VX Ace 3 Alkaid 2012.09.08 4308
99 메뉴 System Options v1.00 시스템 환경설정, 이동속도 10 file 믛디 2013.07.18 3474
98 전투 Symbol Encounter 5 파송송뇌진탕 2013.09.29 2562
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 Next
/ 11