Ace 스크립트

VXAce 아이템 채집 스크립트 1.JPG VXAce 아이템 채집 스크립트 2.JPG VXAce 아이템 채집 스크립트 3.JPG

 

이번에 만든 스크립트는 아이템 채집 스크립트 입니다.

 

허걱님의 VX 셀프변수 스크립트를 어떻게 ACE용으로 바꿔서 아이템 채집을 구현해보려고 했는 데

 

단지 데이터 저장만 VX식에서 ACE식으로 바꾸는 걸로 좀 부족하더라고요.

 

그래서 아예 내친김에 채집 전용 Scene을 만들었습니다 oTz

 

 

 

사용법.

 

1. 모듈에 채집 타입을 설정한다.

 

module Imir_GatherItem
 
  GatherItem = []
  GatherSE = []
 
  GatherTypeMax = 2    # 채집 타입의 최대값
  UseTool       = false # 채집도구를 소모할까?
                        # true : 소모, false : 소모하지 않음
 
  for i in 1..GatherTypeMax
    GatherItem[i] = []
    GatherItem[i][1] = 0  # 채집도구 아이템 id
    GatherItem[i][2] = 0  # 시도가능 횟수
    GatherItem[i][3] = 0  # 시도가능 횟수 충전 term
    GatherItem[i][4] = [] # 채집물 아이템 배열
    GatherItem[i][5] = [] # 채집물 아이템 획득 확률 %
   
    GatherSE[i] = ["Bell2", 80, 100]
                #파일이름, 볼륨, 피치
  end
 
  GatherItem[1] = []
  GatherItem[1][1] = 20        # 채집도구 아이템 id
  GatherItem[1][2] = 3         # 시도가능 횟수
  GatherItem[1][3] = 60       # 시도가능 횟수 충전 term
  GatherItem[1][4] = [19, 21]  # 채집물 아이템 배열
  GatherItem[1][5] = [50, 100] # 채집물 아이템 획득 확률 %

 

end

 

 UseTool에서 채집 도구의 소모가능을 설정하고, GatherItem 배열을 설정합니다.

 

옆에 잘 써두긴 했습니다만 다시 살펴보면

 

GatherItem[type][id] type은 채집 타입입니다. 구분하기 위한 키입니다.

 

GatherItem[type][1] 은 채집도구의 id입니다. 아이템id 입니다. GatherItem[1][1] = 20는

 

1번 채집타입은 20번아이템을 필요로 한다는 뜻입니다.

 

GatherItem[type][2] 는 채집가능 최대횟수입니다. GatherItem[1][2] = 3는

 

1번 채집타입은 3회 채집가능하다는 뜻입니다. 3회 채집을 다하고 나면

 

다시 채워질때까지 위의 스샷처럼 채집 불가라고 뜹니다.

 

GatherItem[type][3] 은 횟수가 채워지는 딜레이입니다. 단위는 초sec입니다.

 

GatherItem[1][3] = 60 는 1번 채집타입은 1회 채워지는 데 60초 걸린다는 뜻입니다.

 

GatherItem[type][4] 는 채집시도시 습득가능한 아이템id의 배열입니다.

 

GatherItem[1][4] = [19, 21]는 1번 채집타입은 19번아이템과 21번 아이템을 습득할 수 있다는 겁니다.

 

GatherItem[type][5] 은 습득가능 확률입니다. 정수이며 퍼센트입니다. 위의 아이템 배열과 같은 순서를 따릅니다.

 

GatherItem[1][5] = [50, 100] 은 19번 아이템은 습득확률이 50%이고 21번 아이템은 습득확률이 100%라는 뜻입니다.

 

 

 

2. 맵의 이벤트, 스크립트에서

 

$game_gatheritem.setup_gatherset(map_id, event_id, gather_type)를 설정해줍니다.

 

사실 map_id와 event_id에 다른 값을 넣어도 상관없습니다만 헷갈리기 쉬운 관계로

 

(채집 이벤트를 많이 배치하면 할수록 헷갈리기 쉬워지겠지요;;;)

 

찾기 쉬운 키값으로 맵id와 이벤트id를 넣어주시는 게 편합니다.

 

예를 들어,

 

채집 이벤트를 1번맵에 2번이벤트에 채집타입 1번을 배치하려고 한다.

 

면 $game_gatheritem.setup_gatherset(1, 2, 1)을 미리 실행시킵니다.

 

예제에서는 왼쪽 상단부에 자동실행 이벤트에 스크립트로 실행하도록 이벤트를 작성했습니다.

 

 

 

3. 채집 이벤트를 배치합니다.

 

위의 예를 들어

 

1번 맵에 2번 이벤트를 적당한 위치에 배치한뒤

 

스크립트 란에

 

SceneManager.call(Scene_Gather)
SceneManager.scene.prepare(1,2)

 

를 기입해 줍니다.

 

여기서 위에 목표로한 키값과 일치하도록 잘 설정해주세요.

 

예제에서는 힌트를 주기 위해 이벤트를 하나 더 배치하고 아이템 습득을 이벤트 기동조건으로

 

설정했습니다만, 실은 채집도구 아이템을 갖고 있지 않으면

 

위의 스샷처럼 채집불가 라고 뜨게 되어 있습니다.

 

 

4. !!주의!!

 

채집결과 윈도우의 사이즈 한계상 한번에 3개이상 아이템 채집을 성공할 경우

 

 윈도우에 표시되지 않을 수 있습니다. 주의해주세요.

 

 

 

 

Who's 아이미르

?

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

 

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

  • profile
    혜인 2012.11.23 18:28
    좋은 스크립트 감사드립니다 ^^
  • profile
    하늘바라KSND 2012.11.24 09:06
    오오 신기한 스크립이군요!
  • ?
    불청객 2012.12.03 21:12
    제가 바보라 그런지 어렵다는........
    하지만 써야겠습니다.
    좋은 스크립트 감사드립니다
  • ?
    시옷청룡 2012.12.30 22:06
    감사합니다~
  • ?
    lallal 2013.01.01 21:17
    채집중이라고 나올때 다시 스페이스바를 누르면
    채집물품은 얻고 기다리는 시간은 없어지는데
    수정할 방법 없을까요???
  • ?
    아이미르 2013.01.03 10:32
    질문 내용을 잘 모르겠어요; 채집중 윈도우가 진행중에 스페이스바를 눌렀더니 결과창이 안뜨는 데 아이템을 얻는 다는 소리이신가요? 즉, 뭘 얻었는 지 잘 모르게 되는 부분을 수정해야겠다는 뜻이신지...?
  • ?
    lallal 2013.01.03 13:17
    애매한 질문 죄송합니다.

    제말은 스페이스바를 눌러 채집시 채집중이라는 창이뜨면서 게이지(?)가
    끝가지 가면 채집성공이라는 창과함께 철광석을 얻을수 있는데
    문제는 게이지가 차는 도중에 다시 스페이스바를 눌렀을경우 기다리는 시간없이 채집이 가능했습니다.
    이럴경우 단순히 스페이스바 연타만으로 채집을 광속도로 할수 있다는 문제가 생길수 있어서 채집도중
    게이지가 다 찰때까지 행동 불가로 수정해주실수 없으실까요....
  • ?
    아이미르 2013.01.04 09:16
    이래저래 손써봤는 데 잘 안되네요. 다른 분들에게 부탁해보는 게 어떨까요;;;
  • ?
    빼리쏭 2013.07.22 17:25
    이 스크립트 덕분에 이벤트 노가다를 퐉퐉 줄일수 있겠네요ㅎㅎ
  • profile
    강G군 2013.08.03 12:50
    좋은 스크립트 올려주셔서 감사합니다 ^^
  • profile
    시캐 2014.02.06 00:37
    감사합니다!
  • ?
    시캐님 축하합니다.^^ 2014.02.06 00:37
    포인트 팡팡!에 당첨되셨습니다.
    시캐님은 19포인트를 보너스로 받으셨습니다.
  • profile
    시캐 2014.02.17 13:22
    질문이 있습니다. 이 스크립트에서 기본적으로 효과음을 Bell2를 쓰게 되어있지요.
    그런데 이게 VXA기본 RTP폴더에 Bell2가 있어야만 Bell2가 있다고 인식을 하는 것 같군요.
    VXA RTP 기본경로 : Progrmafiles - Common files - enterbrain - RGSS3 - RPGVX -Audio- SE-Bell2
    Bell2가 저 경로에 있어야만 인식하는 것 같습니다.

    일례로, 게임 데이터를 압축할 때 RTP포함해서 내보내면
    채집시 Audio/SE/Bell2를 찾을 수 없다고 뜹니다.

    어떻게 해결할 수 있을까요?
  • profile
    블리츠 2014.02.17 13:52
    본인의 게임폴더에 같은 경로로 폴더를 만들고 거기에 넣어두시면 됩니다 ㅎㅎ 그럼 데이터 작성할때 알아서 포함시켜줍니다 ㅇ.ㅇ
  • profile
    시캐 2014.02.17 15:12
    게임폴더에 Program files부터 시작해서 Audio - SE 까지 폴더를 만들어서
    Bell2를 넣어주라는 말씀이신가요??
  • profile
    블리츠 2014.02.17 15:20
    아마 Audio 부터 하시면 될듯 합니다 ㅎㅎㅎ
    제가 xp부터 써서 안될지 모르지만 아마 될...걸요?? ㅎㅎ;
  • profile
    시캐 2014.02.17 15:33
    게임폴더에도 Audio/SE 폴더는 있습니다. 그 안에 Bell2 파일도 있구요.
    문제는 이 폴더의 Bell2를 인식하지 않고
    스크립트가 무조건 기본RTP경로만 인식하려 한다는 것이죠
  • ?
    시캐님 축하합니다.^^ 2014.02.17 15:33
    포인트 팡팡!에 당첨되셨습니다.
    시캐님은 11포인트를 보너스로 받으셨습니다.
  • profile
    블리츠 2014.02.17 19:51

    어라... XP의 경우에는 거기에 들어있으면 알아서 쓰던데..... ㄷㄷㄷㄷ

    아마 스크립트 상의 Bell2 경로가 RTP쪽으로 되어있어서 그런 듯 한데...

    스크립트에서 파일의 주소를 바꿔주면 되려나요?? ㅎㅎ;;;;

  • profile
    시캐 2014.02.17 21:18
    아 해결됐어요.
    스크립트를 잘 몰라서 냅두다가 가만히 들여다 봤는데
    "/Audio/SE/"이렇게 되어있으면 기본 경로Audio를 읽고
    "Audio/SE/" 이렇게 바꾸면 게임폴더에 있는 것을 읽더군요.

    아무튼 감사합니다!!
  • ?
    엘루카나 2014.04.26 22:57

    아이미르님 감사히 잘쓰겠습니다~^^

    다른 스크립트들도 좋은게 많더군요. 감사합니다~!

  • ?
    엘루카나님 축하합니다.^^ 2014.04.26 22:58
    포인트 팡팡!에 당첨되셨습니다.
    엘루카나님은 9포인트를 보너스로 받으셨습니다.
  • ?
    엘루카나 2014.04.27 00:07

    그런데요 스크립트대로 실행하려고 맵에 배치하고 실행하니까
    Script 'Game_Interpreter'line 1409: NoMethodError occurred.
    underfined method 'setup_gatherset' for nil:NilClass
    라는 창이 뜨면서 게임이 안되요 ㅠㅠ;;
    왜그러죠? 어떻게 하면 될까요.. 저 스크립트 정말 하고싶은데...


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 스크립트 자료 게시물 작성시 주의사항 습작 2012.12.24 5109
공지 RPG VX ACE 유용한 링크 모음 16 아방스 2012.01.03 28921
77 키입력 키 입력 확장 - 전체키 + 마우스입력 40 file 허걱 2012.12.15 5779
76 전투 VXAce 사이드뷰 스크립트 (번역) 23 아이미르 2012.12.10 6355
75 영상 EST - SOV Video Player ++ Script Conversion 1.2 by estriole 9 file Alkaid 2012.12.02 2743
74 기타 Icon_Character 8 file 허걱 2012.11.23 2595
» 아이템 VXAce 아이템 채집 스크립트 23 file 아이미르 2012.11.23 4050
72 기타 MOG-MEMORY CLEAR (v1.0) 1 file winspec 2012.11.18 1639
71 기타 MOG-XAS ANTI LAG (V1.0) 1 file winspec 2012.11.18 1678
70 기타 MOG-ANTI ANIMATION LAG (v1.0) 1 file winspec 2012.11.18 1541
69 기타 [스크립트 사용자용] Tag System 1 허걱 2012.11.12 2079
68 맵/타일 맵 이동시 이벤트(NPC) 위치 유지하기 (수정) 4 이브 2012.11.07 2144
67 스킬 VXAce 스킬레벨, 스킬장착 스크립트 11 file 아이미르 2012.11.01 3812
66 상점 VXAce SkillShop 스크립트 3 file 아이미르 2012.10.30 2895
65 기타 VXAce Common Exp 스크립트 6 file 아이미르 2012.10.29 2382
64 아이템 랜덤 아이템샵. 1 탐험가 2012.10.28 2297
63 스킬 VXAce 경험치 스킬습득 스크립트 3 file 아이미르 2012.10.27 2726
62 메시지 한국어 조사처리 스크립트 7 Ilike게임 2012.10.09 3601
61 전투 WhiteFlute: 자동전투 스크립트 3 file Alkaid 2012.09.20 3774
60 기타 ACE) 캐릭터 사전 by 77ER 19 77이알 2012.09.17 3937
59 전투 Drop Options by modern algebra 3 Alkaid 2012.09.17 2851
58 아이템 Tactics Ogre PSP Crafting System by Mr.Bubble 6 Alkaid 2012.09.17 3058
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 Next
/ 11