Ace 스크립트

기존 VX에서는 스테이트를 통해서만 능력치의 강화, 약화를 할수 있었지만

ACE에서는 스테이트를 거치지 않고 스킬, 아이템에서 직접적으로

능력치를 강화/약화 할수 있게 변경되었습니다.

(최대체력, 최대마력, 공격력, 방어력, 마법력, 마법방어, 민첩성, 운 ) 

 

단, 여기에는 조건이 있는데

강화 중복은 2회까지 한번에 25%만 강화된다... 입니다. ACE 디폴트 설정입니다.

거기다 이 강화는 선형입니다. 비례식이라고 해야될까...

 

예를 들면

최대체력이 100이라고 합시다. 강화를 1번하면 125가 되고 두번 하면 150이 됩니다.

뭐, 이런 뜻입니다.

 

즉, 1번하면 초기값의 1.25배, 2번하면 초기값의 1.50배이지

2번째 강화할때 1번 강화한 1.25배에서 다시 1.25배 한 1.56배가 되지 않는 다는 뜻입니다.

 

본 스크립트는 이를 개조해본 것입니다.

 

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

class Game_BattlerBase
  #--------------------------------------------------------------------------
  # ● 통상능력치의 최대치 습득
  #--------------------------------------------------------------------------
  def param_max(param_id)
    return 999999 if param_id == 0  # MHP
    return 99999  if param_id == 1  # MMP
    return 9999
  end
  #--------------------------------------------------------------------------
  # ● 통상능력치의 강화/약화 비율 설정 

  #--------------------------------------------------------------------------
  def param_buff_rate(param_id)
    x = 1
    if @buffs[param_id] > 0
      for t in 1..@buffs[param_id]
        x *= 1.30
      end
    else
      n = - @buffs[param_id]
      for t in 1..n
        x *= 0.70
      end
    end
   
    return x
  end  #--------------------------------------------------------------------------
  # ● 강화/약화 아이콘 위치 설정
  #--------------------------------------------------------------------------
  def buff_icon_index(buff_level, param_id)
    if buff_level > 0
      return ICON_BUFF_START + param_id if buff_level <= 5
      return ICON_BUFF_START + 8 + param_id
    elsif buff_level < 0
      return ICON_DEBUFF_START + param_id if buff_level >= - 5
      return ICON_DEBUFF_START + 8 + param_id
    else
      return 0
    end
  end
end

class Game_Battler < Game_BattlerBase
  #--------------------------------------------------------------------------
  # ● 능력 강화 중복의 최대치 설정
  #--------------------------------------------------------------------------
  def buff_max?(param_id)
    @buffs[param_id] == 10
  end
  #--------------------------------------------------------------------------
  # ● 능력 약화 중복의 최대치 설정
  #--------------------------------------------------------------------------
  def debuff_max?(param_id)
    @buffs[param_id] == -10
  end
end

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

 

일단 최상단부분은 능력치의 한계 설정입니다.

ACE 디폴트는 체력은 999999, 마력은 9999, 스텟은 999가 최대치입니다.

본 스크립트 디폴트는 체력은 같은데 마력이 99999, 스텟은 9999가 설정되었습니다.

단, 이는 후천적인 최대치이므로 데이터베이스 란을 조작할 시에는 999가 최대치입니다

(스텟의 경우)

 

def param_buff_rate(param_id) 부분을 보면 아래에 x *= 1.30 부분이 있습니다.

이는 강화시 1.25배가 디폴트 였던 것을 수정한 것입니다. 즉 1.30배 라는 거죠.

위의 최대체력=100의 예제를 생각해보면 1번 강화시 디폴트는 125였다면

이 스크립트를 쓰면 130이 되는 겁니다.

또한 선형식을 누적식으로 개조하였습니다.

즉 1번강화하면 130, 2번강화하면 1번강화한 데서 1.30배 해서 169가 된다는 거죠.

 

3번째 아이콘 관련은 수정한 이유가 ACE는 강화를 중복해서 하면 아이콘이 바뀝니다.

아이콘 목록을 보시면 아시겠지만 화살표 하나짜리와 두개짜리 이렇게 나뉘어져있습니다.

한번 강화하면 화살표 하나고 두번강화하면 화살표 두개가 되는 식입니다.

그런데 하단 부분을 보면 아시겠지만 강화 한계를 2에서 스크립트 디폴트 10으로 상향조정

하면서 아이콘이 마구 변하는 사태에 이르렀습니다.

고로 5단 강화까지는 화살표 한개, 6단 강화부터는 화살표 두개를 표시하도록 한겁니다.

 

마지막 단락은 강화 한계 조정입니다. def buff_max?(param_id)아래에서 숫자가 강화 한계이고

def debuff_max?(param_id)아래에서 음수가 약화 한계입니다. 보시는 바와 같이 디버프, 즉

약화 한계는 음수로 지정해야됩니다. 10단 약화까지 가능하면 -10인거죠.

 

유용하게 사용하셨으면 좋겠네요.

P.S ACE디폴트 처럼 1.25배로 누적식 10단 강화하니까 스텟이 9.3배 정도 되는 거 같더군요.

밸런스 조절 잘하세요 (웃음)

P.S2 모티브는 웹게임의 광전사였나? 자살로 아군 스텟 강화하고 시체부활 써먹는 데서

가져왔습니다. 그래서 강화 한계 수정이 처음 생각이었는데 누적식이 아니라 선형식이라서

아예 누적식 수정을 해버렸네요.

 

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

 

약화쪽이 발동하지 않는 버그가 있었네요... 테스트를 강화로만 했더니 (덜덜)

 

지금은 해결됐습니다. 단지... 이렇게 하니까 약화가 무지막지 중요해졌네요 (웃음)

 

스텟을 999로 놓고 한 다섯번 연속 약화를 시켰더니 167정도까지 떨어지는 걸 확인했습니다.

 

사용에 주의해주세요

 

Who's 아이미르

?

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

 

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

  • ?
    현사이 2012.02.08 23:25

    감사합니다.

    수고가 많으시네요.

  • ?
    Bluesky(新) 2012.02.09 15:41

    능력 강화 는 25% 강화된 125%. 약화는 25% 약화된 75% 의 능력치로 됬는데. 기본 ace는 한번 더 중첩이 가능했었다.

    하지만 이 스크립트는 25%의 수치을 변경해주면서 동시에 최대 10번 까지 중첩이 가능해진다.

    데이터베이스의 최대 스텟 수치는 999이지만. 본 ace 버전에서는 능력 강화을 통해 최대 9999 까지 올릴수 있다. 이렇게 정리가 되는군요.

    p.s 아이미르님 요즘에 ace 스크립트 많이 올리시네요. 크크.. 카페는 다시 오실생각 없으신건가요 ㅠㅠ

  • ?
    아이미르 2012.02.09 17:06

    공부해야되는 데 알만툴, 특히 ACE가 흥미진진해서요 ㅎㅅㅎ;

     

    카페는 많이 활동을 못할 거 같아서 유령 회원 근절을 위한 타의 모범이 되기 위해 폭파되기 전에 탈퇴했었었죠...

     

    그 이후로는 한번 가 볼까 싶어도 회원 아니면 안들어가 지던 oTz...

  • ?
    Bluesky(新) 2012.02.09 18:47

    http://cafe.naver.com/newthreelocality2

    2기 카페 만들었어요. ㅋㅋ 저도 공부 해야 하는데 ace가 흥미 진진 ㅠㅠ

     

  • profile
    Lighna 2012.02.09 22:06

    흐 XP강좌는 이제 없군요ㅠㅠ

  • ?
    생파 2012.02.13 16:50

    누적치 최대가 200%가 넘어갈 수도 있나 ;;;

    상태 유효도 200% 넘어가면, 강화 안되던거같ㅇ .. 아 이거 VX구나

  • ?
    달밤에왈츠 2012.02.16 18:41

    유용한 정보 감사드립니다. 그런데 능력 강화/약화는 어느 범주에 적용되는 건가요? 일반적인 레벨업 시만 적용되는 것인지, 별도 스크립트를 통해 아이템 강화/인챈트할 때나 버프 스킬 등의 상승량에도 적용받는 것인지 잘 모르겠습니다.

  • ?
    아이미르 2012.02.17 20:01

    기존 VX에서는 상태(스테이트)에서만 0~200% 범위에서 스텟 강화효과를 부여할 수 있었습니다. 그것이 VXACE로 넘어오면서 상태 이외에 아이템과 스킬로 능력치 - 최대체력, 최대마력, 물공, 물방, 마공, 마방, 민첩성, 운 -을 강화하는 기능이 생겼습니다.

     

    단지 제한이 있는 데 한번에 최대 2회까지이며 한번에 25%씩 강화/약화량이 정해져있는 것이었습니다.

     

    이 스크립트는 25%로 정해진 강화/약화량을 입맛에 맞게 - 라고 해봐야 고정치 수정이기에 능력치마다 바꿀수는 없습니다. 이걸 실현하려면 좀더 손을 봐야합니다 - 수정할 수 있고 ( 1.30 뒤의 30을 적당히 바꾸면 됩니다. 1.30은 30%라는 뜻이죠) 스크립트 하단부에서는 최대 2회였던 부분을 수정할 수 있게 - 역시 고정치 수정 - 10회로 바꿔놓았습니다. ( +10이 강화 쪽, -10이 약화쪽)

     

    마지막으로 선형강화를 중첩강화로 바꾸었습니다. 강화치를 25%라고 하면 선형강화란 2회 강화시 0.25 * 2회 + 1 = 1.50배 강화되고 중첩강화는 1.25 * 1.25 즉, (1.25)^2 가 되어 1.56배 강화됩니다.

  • ?
    시옷청룡 2012.02.25 23:08

    아우 어렵넹ㅠ

  • ?
    로히 2012.02.26 21:38

    저... 죄송한데 질문 하나만 할게요


    공격력 증가와 약화 등등 할 때 아이콘 세트를 바꾸어서 아이콘이 전혀 다른게 뜨는데 조정하는 방법이 없나요?...

  • ?
    아이미르 2012.02.26 23:47

    def buff_icon_index(buff_level, param_id)부분을 잘 조절하시면 됩니다.

     

    최악의 경우는  조건문을  buff_level과 param_id마다 지정하셔도 되고요.

     

    아이콘 셋마다 다르니까 뭐라고 조언할 말이 없네요 (쩝)

  • ?
    로히 2012.02.27 03:01

    답변 감사합니다

  • ?
    Bluesky(新) 2012.10.07 11:38
    script ' 스크립트 이름 ' line 42 : NoMethodError occurred.
    underfined method `-@ ' for nil:NilClass
    에러 뜨네요 ㄷㄷ

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 스크립트 자료 게시물 작성시 주의사항 습작 2012.12.24 5605
공지 RPG VX ACE 유용한 링크 모음 16 아방스 2012.01.03 29441
37 HUD Variables-Display Script System 8 file 허걱 2012.05.27 5481
36 전투 vx ace 애니메이션 배틀 3 gor 2012.05.27 7713
35 메시지 [스크립트] Ace Message System - by. Yanfly 17 file 허걱 2012.05.21 7301
34 전투 [스크립트] Sideview Battle System ver. 1.00 (일본어) 7 file 허걱 2012.05.20 6936
33 이동 및 탈것 [스크립트] Setp Sound (발걸음 소리) 20 file 허걱 2012.05.19 4693
32 기타 원하는 글씨체로 변경하기 12 조말생 2012.04.20 8872
31 전투 SRPG 컨버터 for Ace (SRPGコンバータ for Ace) by AD.Bank 27 file 습작 2012.04.17 7309
30 메뉴 [VX Ace] 다이얼 링 메뉴 스크립트 8 file RaonHank 2012.04.16 6709
29 변수/스위치 Etude87_Variables_Ace 6 file 습작 2012.04.13 3390
28 스킬 VXACE 패시브 스킬 스크립트 Ver. 0.82 21 file 아이미르 2012.03.07 6705
27 전투 전투시 나오는 메세지 삭제 10 Nintendo 2012.03.03 4393
26 스킬 스킬 숙련도 시스템 8 아이미르 2012.02.24 4953
25 메뉴 Customizable Main Menu 1.0b by modern algebra 4 file Alkaid 2012.02.13 5482
24 타이틀/게임오버 타이틀 화면 없이 게임을 시작하게 만드는법. 6 마에르드 2012.02.11 4613
» 전투 능력 강화/약화의 누적식 개조(버그수정) 13 아이미르 2012.02.08 3899
22 장비 장비 장착을 통한 스킬 습득 및 삭제 4 아이미르 2012.02.05 3631
21 전투 Ace 경험치 직접 설정 12 쿠쿠밥솥 2012.02.05 4034
20 전투 레벨업시 HP/MP 전체회복 9 쿠쿠밥솥 2012.02.05 5061
19 장비 사용자 장비 슬롯 1.1 27 file 아방스 2012.01.31 6658
18 아이템 양손무기 작착 스크립트 [Dual Wield -> Free Hands Version 1.0] 7 file 아방스 2012.01.31 4664
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 Next
/ 11