몬스터 스트라이크 한국 론칭 기념 이벤트 11월 20일부터 TIG가 오브 5만개를 쏩니다!
로그인

신규 회원가입 | 아이디/비밀번호 찾기
리스키 (이승운 기자) [쪽지]
http://www.thisisgame.com/aion/nboard/20/?n=29481 주소복사

쉽게 알아보는 하우징 스크립트

초심자를 위한 스크립트 가이드

 

하우징 스크립트는 주택 내에서 집사가 춤을 추거나 음악이 재생되고, 설치한 가구들이 특별한 퍼포먼스를 펼치는 등 각종 행동을 설정할 수 있는 기능이다. 쉽게는 방문객에게 출력되는 인사말부터 재생되는 음악의 악보 같은 전문적인 부분까지 직접 입력할 수 있다.

 

하지만, 스크립트 편집 화면을 처음 열면 매우 복잡한 소스가 펼쳐져 있어 초심자의 손을 멈추게 한다. 샘플 스크립트를 열어봐도 인사말을 제외하면 어디를 어떻게 손대야 할지 막막한 경우가 많다.

 

다른 사람들처럼 악보를 넣거나 가구가 빛나게 하는 스크립트는 어떻게 편집해야 할까? 스크립트 편집 초심자를 위해 기본적으로 제공되는 13가지 샘플 스크립트를 바탕으로 간단한 가이드를 준비해봤다.

 

(※ 본 기사에서는 샘플 스크립트의 기능과 사용법을 다루고 있습니다. 세부적인 편집 및 오리지널 스크립트 제작법에 대해서는 차후 '스크립트 응용편' 기사에서 다루도록 하겠습니다.)

 

목차

- 인사하기

- 연주하기, 연주하기(효과음)

- 웃어보기, 청기백기

- 춤추기

- 설치물 움직이기

- 설치물 점프하기

- 설치물 밝게하기

- 쳐다보기

- 파티타임, 빛의 연주, 청기백기 춤, 라이브 박스

 


 

 

인사하기는 주택에 누군가 찾아왔을 때 집사가 인사하는 것을 편집하는 기능이다. 인사하기 편집은 12월 14일 업데이트로 좀 더 사용하기 쉽게 변경됐다.

 

▲ 파란색 글씨를 클릭하면 이름과 대사를 입력할 수 있다.

 

- 개별 인사말 등록

 

인사하기 스크립트를 열어보면 캐릭터 이름, 인사말, 효과음이 파란색 글씨로 표시돼 있다. 각 글씨를 클릭하면 이름과 인사말을 입력하거나 효과음을 선택할 수 있는 창이 뜬다. 캐릭터 이름과 인사말을 클릭해 자신의 이름과 원하는 인사말을 입력하자.

 

효과음을 클릭하면 아이온에 사용된 각종 효과음 중 하나를 선택할 수 있다. 선택할 수 있는 효과음은 아래와 같다.

 

효과음 선택 목록
1. 타격 소리1 2. 퀘스트 소리1 3. 소환해제 소리 4. 동작 소리
5. 지도창 여는 소리 6. 아티팩트 소리 7. 아이템 사용 소리 8. 타격소리 2
9. 인던 입장 알림 10. 퀘스트 소리2 11. 몬스터 애드 소리 12. 제작 도구 사용
13. 타격 소리3 14. 마석, 스티그마 15. 키나 이동 소리 16. 종이 아이템 소리
17. 몬스터 애드 해제 18. 큐브 여는 소리 19. 지도창 닫는 소리 20. 몬스터 발자국

 

설정이 완료되면 스크립트 창 아래의 '적용' 버튼을 눌러보자. 그러면 자신이 입력한 대로 집사가 인사하는 모습을 볼 수 있다.

 

▲ 인사말 설정은 매우 쉽다.

 

인사하기 편집 기능에서는 기본적으로 3명의 캐릭터 이름을 지정할 수 있다. 원하는 부분을 복사해서 필요한 만큼 늘리는 것도 가능하다. 아래 스크립트에서 녹색 글씨로 표시한 부분을 복사해 붙여넣으면 된다.

 

▲ 이 부분을 복사/붙이기 하면 인사하는 대상을 늘릴 수 있다.

 

원본

helloTable = { 
                   ["캐릭터이름1"] = {"인사말1", H.Percussion.fx6 },

                   ["캐릭터이름2"] = {"인사말2", H.Percussion.fx11 },

                   ["캐릭터이름3"] = {"인사말3", H.Percussion.fx6 },

                 };

복사 후

helloTable = {
                   ["캐릭터이름1"] = {"인사말1", H.Percussion.fx1 },

                   ["캐릭터이름2"] = {"인사말2", H.Percussion.fx1 },

                   ["캐릭터이름3"] = {"인사말3", H.Percussion.fx1 },

                   ["캐릭터이름4"] = {"인사말4", H.Percussion.fx1 },
                   ["캐릭터이름5"] = {"인사말5", H.Percussion.fx1 },
                   ["캐릭터이름6"] = {"인사말6", H.Percussion.fx1 },
                 };

 

 

- 전체 인사말 등록

 

따로 인사말을 설정한 캐릭터 외 다른 사람이 방문했을 때 출력되는 인사말도 변경할 수 있다. 위 스크립트 바로 아래를 보면 " 님, 안녕하세요." 부분과 H.Percussion.fx9 부분이 파란색 글씨로 표시돼 있다. 인사말 부분을 클릭해 수정하면 방문자의 이름 뒤에 해당 인사말이 출력된다.

 

▲ 일반 방문자에게 출력되는 인사말도 변경할 수 있다.

 

입력 "님, 안녕하세요."
출력 집사 : 리스키님, 안녕하세요

 

그 아래 H.Percussion에서는 앞서 개별 인사말과 마찬가지로 20가지 효과음 중 하나를 선택할 수 있다.

 

또한, 집사가 인사할 때 모션도 설정할 수 있다. 스크립트를 조금 내려보면 H.Emotion.wave 부분이 파란색 글씨로 표시돼 있다. 이 부분을 클릭하면 각종 소셜액션 중 하나를 선택할 수 있다.

 

 

 

연주하기는 각종 악기와 악보를 입력해 곡을 연주하는 기능이다. 스크립트에서는 피아노, 기타, 베이스, 드럼 등 여러 가지 악기 음을 지원한다. 각 악기는 음을 연주하는 Instrument와 리듬을 연주하는 Percussion으로 나뉜다.

 

악기 목록
Instrument

피아노 (기본값)

어쿠스틱 베이스 (abass)

일렉트릭 베이스 (ebass)

어쿠스틱 기타 (aguitar)

아코디언 (accordion)

Percussion

탬버린 (기본값)

트라이앵글 (triangle)

심벌즈 (cymbal)

하이햇 클로즈 (hihatclose)

하이햇 오픈 (hihatopen)

킥 (kick)

스네어 (snare)

탐탐1 (tomtom1)

탐탐2 (tomtom2)

탐탐3 (tomtom3)

각종 효과음 1~20 (fx1~20)

 

음을 연주하는 악기는 도(c), 레(d), 미(e), 파(f), 솔(g), 라(a), 시(b)와 음표 길이, 옥타브 등을 설정해 악보를 입력할 수 있다. 리듬을 연주하는 타악기는 쉼표(r)와 치기(x_)만 입력하면 된다.

 

▲ 코드와 박자, 옥타브 등 '악보'를 문자로 입력해야 한다.

 

(※ 음악이 재생되는 각종 스크립트의 악보 입력에 대해서는 차후 스크립트 응용편 기사에서 자세히 다루도록 하겠습니다.)

 

 

 

웃어보기와 청기백기는 주택 내부에서 특정 단어를 입력하면 집사가 모션을 취하는 기능이다. 이 중 웃어보기 스크립트의 기본값은 대화 창에 'ㅎㅎ' 라고 입력했을 때 집사가 웃는 것으로 설정돼 있다. 또한, 청기백기 스크립트는 채팅으로 '청기', '백기', '둘다' 라고 입력할 때마다 집사가 청기나 백기를 들어 올린다. 두 스크립트 모두 세부 설정은 동일하다.

 

▲ 채팅으로 ㅎㅎ 라고 입력하면 집사가 웃기 모션을 취한다.

 

웃어보기 편집은 매우 간단하다. 스크립트 작동에 필요한 명령어(채팅 대사)와 집사의 행동만 고쳐주면 된다. 그 중 명령어는 아래 스크립트에서 녹색으로 표시된 부분이다. 따옴표 안에 원하는 대사를 입력하자. 윗줄의 ["ㅎㅎ"라고 말하면 웃습니다.] 부분은 단순히 스크립트 해설용 문구이므로 수정하지 않아도 된다.

 

원본 -- "ㅎㅎ"라고 말하면 웃습니다.
if (string.find(str, "ㅎㅎ")) then
수정 예시 -- "ㅎㅎ"라고 말하면 웃습니다.
if (string.find(str, "웃어!")) then
결과 채팅으로 '웃어!' 라고 했을 때 집사가 웃는다.

 

명령어에 대한 집사의 모션도 마음껏 설정할 수 있다. 대신, 앞서 소개한 '인사하기' 기능과 달리 웃어보기 편집에서는 목록에서 선택하는 폼을 지원하지 않는다. 아래 스크립트에서 녹색으로 표시한 부분을 원하는 모션으로 직접 입력하자.

 

▲ 스크립트 끝의 laugh를 salute로 바꿔주면 집사가 경례를 한다.

 

        -- 첫 번째 0은 집사를 나타냅니다.
        -- 두 번째 1은 PlaySound의 [1]번 label을 나타냅니다.
        -- 세 번째 변수에 집사의 동작을 웃음으로 설정합니다.
        H.StartAnimation(0, 1, H.Emotion.laugh);

 

모션/명령어 목록

방향지시

point

수면

sleep

분노

angry

부끄러움

blush

춤추기

dance

박수

clap

응원

comfort

마시기

drink

먹기

eat

웃기

laugh

경배

kneel

부정

no

좌절

otl

위로

pat

간청

plead

몸풀기

ready

슬픔

sad

따귀

slap

놀람

surprise

도발

taunt

감사

thanks

번개 맞을 때

thunder

아이템 사용

useup

승리

victory

긍정

yes

손인사

wave

야유

boo

돌격

charge

거절

dislike

공포

panic

경례

salute

미소

smile

미안

sorry

생각

think

청기 들어

blueflag

둘다 들어

twoflag

백기 들어

whiteflag

노래

sing

제자리 뛰기

jump

 

 

 

춤추기 스크립트는 바로 위에서 설명한 웃어보기와 연주하기 두 개를 합친 기능이다. 춤추기 스크립트에서는 채팅 입력 대신 유저가 특정 모션을 취해야 집사가 모션으로 대답한다. 스크립트 기본값은 유저가 춤을 췄을 때(/춤추기) 음악이 재생되고 집사가 노래하기 모션을 하는 것으로 설정돼 있다.

 

▲ 캐릭터가 춤을 추면 집사가 노래하기 모션을 취한다.

 

모션 설정은 아래 스크립트에서 녹색 글씨로 표시된 부분을 수정하면 된다. 각 모션은 바로 위에 있는 모션 명령어 표를 참고하자.

 

유저 -- 감정표현이 "춤"인지 확인합니다.
if (motion == H.Emotion.dance) then
집사 -- 첫 번째 0은 집사를 나타냅니다.
-- 두 번째 1은 PlaySound의 [1]번 label을 나타냅니다.
-- 세 번째 변수에 집사의 동작을 노래로 설정합니다.
H.StartAnimation(0, 1, H.Emotion.sing);
수정 예시

if (motion == H.Emotion.otl) then

H.StartAnimation(0, 1, H.Emotion.pat);


/좌절 모션을 취했을 때 집사가 위로해준다.

 

 

 

설치물 움직이기는 채팅 창에 특정 대사를 입력하면 지정한 가구를 상하좌우로 움직이게 할 수 있는 기능이다. 움직일 수 있는 가구는 박스형, 글자형 특수 장식물로 한정된다. 스크립트 기본값은 채팅 창에 '이동'이라고 했을 때 아웃렛으로 지정한 가구가 위로 두 번 움직이도록 설정돼 있다.

 

설치물에 관련된 스크립트는 아웃렛을 지정하는 버튼이 마련돼 있다. 이 버튼을 오른쪽 클릭하면 '아웃렛 지정하기' 메뉴가 표시된다. 아웃렛 지정하기 버튼을 누른 뒤 움직이고 싶은 가구를 클릭하면 해당 가구가 아웃렛으로 지정된다.

 

▲ '아웃렛 지정하기'를 누른 뒤 가구를 선택하자.

 

아웃렛은 스크립트마다 지정할 수 있는 개수가 설정돼 있다. 이 개수는 필요에 따라 얼마든지 변경할 수 있다. 추가된 아웃렛을 움직이려면 추가로 스크립트를 입력해야 한다.

 

(※ 추가 아웃렛을 설정하는 법에 대해서는 차후 응용편 기사에서 다루도록 하겠습니다.)

 

아웃렛을 설정했다면 이제 채팅 명령어와 움직임을 수정할 차례다. 채팅 명령어는 앞서 웃어보기 편집과 같이 아래 스크립트의 녹색 부분을 편집하면 된다.

 

        -- "이동"이라고 말하면 아웃렛 설치물이 움직입니다.
        if (string.find(str, "이동")) then

 

이번에는 가구의 움직임을 설정해보자. 스크립트의 기본값은 두 번 움직이는 것으로 설정돼 있다. 움직이는 횟수는 필요에 따라 늘리거나 줄일 수 있다.

 

 

이동 횟수

-- [1]. [2]와 같은 label을 설정합니다.
H.PlaySound(0, "r2[1] r2[2]");


r2 = 해당 움직임의 지속 시간. 숫자가 낮을수록 시간이 길어진다.

[1] = 아래 움직임의 번호를 선택한다. [1]은 이동1, [2]는 이동2다.

이동 -- [1]번 label 일 때 아웃렛 설치물이 위로 움직입니다.
H.SetPos(H.Outlet.outlet1, 1, 0, 0, 1, 1);
상세 설명

H.SetPos(H.Outlet.outlet1, , , ●, , );


 = 해당 움직임의 라벨 번호. 위에서 이동 횟수를 설정할 때 사용된다.

= 좌우의 움직임을 조절한다. 0은 제자리, -1은 왼쪽, 1은 오른쪽이다.

= 전후의 움직임을 조절한다. 0은 제자리, -1은 앞쪽, 1은 뒤쪽이다.

= 상하의 움직임을 조절한다. 0은 제자리, -1은 아래, 1은 위쪽이다.

= 지정한 위치로 이동하는 속도. 숫자가 높을수록 속도가 느려진다.

 

가구를 움직이는 법은 얼핏 보면 어렵지만 실제로 해보면 매우 쉽다. 위 표에서 녹색으로 체크한 부분만 조정해주면 된다. H.SetPos(H.Outlet.outlet1, 번호, 좌우, 전후, 상하, 속도); 라고 생각한다면 이해하기 쉽다. 예를 들어 1번 움직임에서 상자를 왼쪽으로 보내고 싶으면 1, -1, 0, 0, 1이라고 입력하면 된다.

 

움직이는 횟수를 추가하고 싶을 땐 위쪽 이동 횟수 부분의 r2[2] 뒤에 r2[3]을 입력하자. 그 뒤 이동 스크립트의 아랫줄에 H.SetPos(H.Outlet.outlet1, 3, 좌우, 전후, 상하, 속도); 를 입력해주면 된다.

 

스크립트 예시

    -- [1]. [2]와 같은 label을 설정합니다.
    H.PlaySound(0, "r2[1] r2[2] r2[3] r2[4]");

 

    -- [1]번 label 일 때 아웃렛 설치물이 위로 움직입니다.
    H.SetPos(H.Outlet.outlet1, 1, 0, 1, 0, 1);

 

    -- [2]번 label 일 때 아웃렛 설치물이 위로 더 움직입니다.
    H.SetPos(H.Outlet.outlet1, 2, 0, 0, 1, 1);
    H.SetPos(H.Outlet.outlet1, 3, -1, 0, 1, 1);
    H.SetPos(H.Outlet.outlet1, 4, 1, 1, 0, 1);

 

 

 

 

설치물 점프하기는 바로 위에서 설명한 설치물 움직이기와 비슷한 기능이다. 스크립트 기본값은 채팅으로 '점프'라고 입력할 때 아웃렛으로 지정한 가구가 점프하도록 설정돼 있다. 물론 박스형, 글자형 특수 장식물만 아웃렛으로 지정 가능하다.

 

▲ 명령을 입력하면 가구가 지정된 높이만큼 점프한다.

 

채팅 입력 명령어 편집은 아래 스크립트에 녹색 글씨로 표시된 부분을 수정하면 된다.

 

    -- "점프"라고 말하면 아웃렛으로 지정된 가구가 점프합니다.
    if (string.find(str, "점프")) then

 

그 뒤 가구가 점프하게 하는 스크립트는 위에서 설명한 움직이기보다 설정하기 쉽다. 점프 스크립트의 라벨과 점프 높이만 설정하면 된다.

 

H.Jump(H.Outlet.outlet1, 1, 1);


H.Jump(H.Outlet.outlet1, , );

= 해당 점프설정의 라벨 번호

= 점프하는 높이

 

 

 

설치물 밝게하기는 아웃렛으로 지정한 설치물이 밝게 빛나도록 설정하는 기능이다. 이 스크립트는 채팅 명령어가 아니라 집사를 오른쪽 클릭해서 '밝게하기'를 선택해서 작동시킬 수 있다. 또한, 위에서 설명한 스크립트와 달리 밝게 할 수 있는 가구 종류에 제한이 없다.

 

▲ 일반 가구는 물론, NPC까지 밝게 할 수 있다.

 

우선 밝게 할 가구를 아웃렛으로 지정하자. 아웃렛을 지정하는 법은 앞서 설명한 바와 같이 버튼을 오른쪽 클릭한 뒤 '아웃렛 설정하기'를 누르고 가구를 선택하면 된다.

 

아웃렛이 지정됐다면 스크립트 가장 아래의 H.Glow 부분을 수정할 차례다. 여기에서는 가구가 빛나는 시간과 색상을 선택할 수 있다. 색상은 RGB 수치에 따라 다른 색상이 표시된다.

 

(※ 창고 관리인과 잡화상인 등 NPC는 어떤 색을 적용해도 흰색으로만 빛난다.)

 

H.Glow( H.Outlet.outlet1, 1, 1, 255, 0, 0);


H.Glow( H.Outlet.outlet1, , , , , );

= 해당 밝기설정의 라벨 번호.

= 밝게 빛나는 시간(초).

= R (빨간색 0~255)

= G (초록색 0~255)

= B (파란색 0~255)

 

RGB 설정에 따른 색상 샘플

빛이 안 날 때 기본값

255, 0. 0

255, 0, 255

0, 255, 0

255, 255, 0

0, 0, 255

0, 255, 255

0, 0, 0

255, 255, 255

 

가구가 빛나는 횟수를 늘리고 싶다면 위 H.Glow 줄을 복사해 한 줄씩 붙여나가면 된다. 이때 라벨에 해당하는 H.Glow( H.Outlet.outlet1, 1, 1, 0, 0, 0); 부분을 다른 숫자로 바꿔야 한다.

 

H.Glow 줄을 추가한 뒤에는 그 아래의 H.PlaySound(0, "r2[1]"); 부분에 r2[2]를 붙여주자.

 

스크립트 예시

    H.Glow( H.Outlet.outlet1, 1, 2, 255, 0, 0);

    H.Glow( H.Outlet.outlet1, 2, 2, 0, 255, 0);

 

    H.PlaySound(0, "r2[1] r2[2]");

 

 

 

 

쳐다보기는 채팅으로 집사를 불렀을 때 집사가 그 사람을 바라보게 하는 기능이다. 스크립트를 작동시키는 채팅 명령어와 바라보는 대상, 시간을 설정할 수 있다. 그 중 채팅 명령어 편집은 다른 스크립트와 방법이 동일하다.

 

▲ 채팅으로 '집사'를 입력하면 그 사람을 바라본다.

 

    -- "집사"라고 말하면 쳐다봅니다.
    if (string.find(str, "집사")) then

 

집사가 자신을 바라보게 하는 시간은 그 아래의 H.Target 부분에서 수정할 수 있다.

 

H.Target(1, username, 2);


H.Target(1, username, );

= 집사가 대상을 바라보는 시간(초).

 

 

 

파티타임과 빛의 연주, 청기백기 춤, 라이브 박스는 위에서 설명한 여러 가지 기능이 모두 합쳐진 스크립트다. 가구를 아웃렛으로 설정만 해주면 음악이 재생되며 해당 가구가 움직이거나 빛나는 등 여러 가지 움직임을 보여준다.

 

스크립트 설명
파티타임

주택 내부에서 '승리' 모션을 취하거나 '시작해'라고 채팅 입력을 하면 음악이 재생되며 집사가 박수를 치고, 아웃렛으로 지정된 설치물이 빛난다.


세부 편집은 설치물 밝게하기 참고.

빛의 연주 주택 내부에서 '불'이라고 채팅 입력을 하면 아웃렛으로 지정된 설치물이 차례로 빛난다.
세부 편집은 설치물 밝게하기 참고.
청기백기 춤

주택 내부에서 '깃발'이라고 채팅 입력을 하면 음악이 재생되고 집사가 청기와 백기를 들어 춤을 춘다.

※ 잡화상인, 창고관리인을 아웃렛으로 설정 가능.

라이브 박스

집사에게서 라이브 박스 메뉴를 선택하면 음악이 재생되고 아웃렛으로 지정된 설치물이 움직인다.

※ 박스형, 글자형 특수 장식물만 아웃렛으로 설정 가능.


세부 설정은 설치물 움직이기 참고.

 

▲ 아웃렛만 지정해주면 멋진 연출을 감상할 수 있다.

 

 

 

이번 기사에서는 샘플 스크립트를 활용하는 법을 차례로 알아봤다. 일부 스크립트는 간단한 수정만으로도 활용할 수 있었지만, 개중에는 초심자용 가이드에서 다루기 애매할 정도로 손이 많이 가는 스크립트도 있었다.

 

하지만, 위의 예시를 참고해서 샘플 스크립트를 하나씩 수정해보면 생각보다 쉽게 익숙해질 수 있다. 일부 어려운 스크립트의 기능도 자세히 보면 몇 글씨만 수정하거나 복사해서 활용할 수 있다. 추가 아웃렛을 설정해 NPC를 움직이거나 가구를 반짝이게 하는 등 활용법은 여러 가지다.

 

남들과 다른 개성만점 집을 꾸미고 싶다면. 혹은, 방문자를 깜짝 놀라게 해주고 싶다면 하우징 스크립트를 활용해볼 것을 추천한다.

 

※ 다음 기사에서는 본격적으로 자신만의 스크립트를 제작하는 '응용편'을 다루도록 하겠습니다.

베스트 댓글
에러 BEST 11.12.19 10:39 삭제 공감5 신고
누구누구님께 삭제된 글입니다 블라인드된 게시물입니다 [내용 보기] 댓글을 로딩중이거나 로딩에 실패하였습니다.
댓글달기
등록된 댓글이 없습니다.
최신목록 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10