API Summary

ZEP-Script API 한눈에 보기

🔍Ctrl + F를 이용해 원하는 API를 찾아보세요!

═════════════════════

🕹️ ScriptApp

═════════════════════

♻️ Lifecycle

App이 최초로 시작될 때 한 번 호출됩니다.

onInit이 호출된 후, 접속해 있는 모든 플레이어를 해당 이벤트를 통해 입장시키고, 이후 입장하는 플레이어가 있을 때 마다 동작합니다.

모든 플레이어가 onJoinPlayer를 통해 입장한 후 한 번 호출 됩니다.

약 20ms 마다 주기적으로 실행되는 함수입니다.

퇴장하는 플레이어가 있을 때 마다 동작합니다. 이후, 다른 App이 실행되거나 설치한 Game Block이 파괴될 때 모든 플레이어를 이 함수를 통해 퇴장시킵니다.

다른 App이 실행되거나, 설치한 Game Block이 파괴될 때 동작합니다.

🗃️ Field

앱이 설치된 스페이스의 spaceHashID와 mapHashID를 가져옵니다. (스페이스와 맵 이해하기)

App을 실행한 플레이어의 ID 값을 가져옵니다.

맵에 있는 모든 플레이어 리스트를 배열로 가져옵니다.

앱이 설치된 맵에 있는 플레이어의 수를 가져옵니다.

App.cameraEffect: 카메라 이펙트의 종류를 셋팅할 변수 값

App.cameraEffectParam1: 카메라 이펙트 효과의 범위 값

화면의 줌을 컨트롤 하는 값 (기본 값: 1)

스페이스 내의 App 데이터의 저장공간 입니다. (스페이스 한정) Storage 페이지를 참고해주세요.

App의 따라가기 기능 활성화 여부 값 입니다. (기본 값 : false)

플레이어의닉네임 숨김여부 값 입니다. (기본 값: true)

앱의 HashID를 가져옵니다.

️💾 Storage

App.setStorage 함수로 App storage를 저장하고, 앱을 사용중인 다른 맵의 App storage 변경사항이 있을 경우 App.getStorage 함수로 App storage를 동기화 할 수 있습니다.

App.getStorage 함수는 비동기 함수이기 때문에 App.getStorage 함수 다음 라인에 App.storage를 사용하는 코드를 작성할 경우 동기화를 보장할 수 없습니다.

🛰️ EventListeners

플레이어가 채팅을 입력할 때 동작합니다.

캐릭터들끼리 충돌할 때 동작합니다.

캐릭터가 오브젝트와 충돌할 때 동작합니다.

️ 캐릭터가 키 값을 가진 오브젝트와 충돌할 때 동작합니다.

플레이어가 공격 키(Z)로 다른 캐릭터를 공격할 때 동작합니다.

플레이어가 공격 키(Z)로 오브젝트를 공격할 때 동작합니다.

플레이어가 사이드바 앱을 클릭(터치) 할 때 동작합니다.

오브젝트와 F 상호작용 시 동작하는 함수입니다.

플레이어가 공격 키(Z)로 키 값을 가진 오브젝트를 공격할 때 동작합니다.

☎️ Callbacks

time(초) 후에 callback 함수를 실행합니다.

지정한 x, y좌표에 플레이어가 도착할 경우 callback 함수를 실행합니다.

플레이어가 맵에디터에서 지정한 ‘지정영역’에 도착했을 때 callback 함수를 실행합니다.

플레이어가 지정된 키를 눌렀을 때 callback 함수를 실행합니다.

time(ms) 후에 callback 함수를 실행합니다.

time(ms) 간격으로 callback 함수를 실행합니다.

모바일 환경에서 커스텀 모바일 버튼을 추가하고, 버튼을 눌렀을 때 동작하는 함수를 지정합니다.

enable이 true이면 모바일 환경에서 펀치 버튼이 추가됩니다.

로드한 이미지로 펀치 버튼을 만들어 추가합니다.

💠 Methods

스프라이트 시트 그림 파일을 읽어 객체화하는 함수입니다.

모든 플레이어에게 지정된 위치에 text를 3초간 표시하는 함수입니다.

모든 플레이어에게 지정된 위치에 text를 3초간 표시하는 함수입니다.

text 부분에 span 태그를 넣어 텍스트를 꾸밀 수 있습니다.

채팅창에 text 내용을 출력합니다.

Staff이상 권한의 유저 채팅창에 text 내용을 출력합니다.

모든 플레이어에게 지정된 align의 위치에 해당 html파일을 위젯으로 불러오는 함수입니다.

링크에 해당하는 Youtube 컨텐츠를 위젯으로 불러옵니다.

playerID 에 해당하는 플레이어를 tileX, tileY 좌표로 이동시키는 함수입니다.

playerID 에 해당하는 플레이어를 추방하는 함수입니다.

미니게임 앱을 강제 종료하는 함수입니다.

모든 채팅 내용을 삭제하는 함수입니다.

id 에 해당하는 플레이어를 반환하는 함수입니다.

모든 플레이어에게 사운드를 재생하는 함수입니다.

모든 플레이어에게 사운드를 재생하는 함수입니다.

재생되고 있는 사운드를 멈추는 함수입니다.

http get 요청을 보내는 함수입니다.

Form-Data 형태의 http post 요청을 보내는 함수 입니다.

Json 형태의 http post 요청을 보내는 함수 입니다.

App 관련 필드 값이 변경되면 변경 값을 적용하는 함수입니다.

찌르기(Z키) 공격 효과음을 변경하는 함수입니다.

═════════════════════

🗺️ ScriptMap

═════════════════════

🗃️ Field

맵의 너비와 높이 값을 가져옵니다.

💠 Methods

지정한 좌표에 타일 효과를 적용하는 함수입니다.

지정한 좌표에 오브젝트를 놓는 함수입니다. (기준 좌표: Left Top) → 기준 좌표란?

오브젝트를 배치할 좌표들을 2차원 배열로 입력하여 한 번에 오브젝트를 설치하는 기능입니다. 이 기능을 사용하면 한 번에 많은 오브젝트를 설치할 경우 부하를 줄이는 효과를 얻을 수 있습니다.

지정한 좌표에 키 값을 가진 오브젝트를 놓는 함수입니다. (기준 좌표: Left Top)

해당 키 값을 가지고 있는 오브젝트의 정보를 가져옵니다.

해당 좌표에 있는 오브젝트의 스프라이트 애니메이션을 실행시키는 함수입니다.

해당 좌표 지점에 Map.putObject 함수가 선행되어야합니다.

key 값이 일치하는 오브젝트의 스프라이트 애니메이션을 실행시키는 함수입니다.

x, y 좌표에 위치한 오브젝트를 targetX, targetY로 time 초 동안 움직이는 함수입니다.

해당 좌표 지점에 Map.putObject 함수가 선행되어야합니다.

key 값을 가진 오브젝트를 targetX, targetY로 움직이는 함수입니다.

ZEP 스크립트로 생성된 모든 오브젝트를 제거하는 함수입니다.

해당하는 레이어의 x, y 좌표에 있는 타일의 타입 값을 리턴, 타일이 없으면 -1을 리턴합니다.

파라미터로 전달한 로케이션이 존재하는 경우, 로케이션 설치 좌표를 리턴합니다.

파라미터로 전달한 로케이션이 2개이상 존재하는 경우, 무작위로 선택하여 로케이션 설치 좌표를 리턴합니다.

맵에 해당 로케이션이 있는지 체크하여 true/false 값을 리턴합니다.

Type에 해당하는 오브젝트들을 리턴하는 함수입니다.

Type에 해당하는 상단오브젝트들을 리턴하는 함수입니다.

key 값을 가진 오브젝트 위에 말풍선을 표시하는 함수입니다.

═════════════════════

👥 ScriptPlayer

═════════════════════

🗃️ Field

플레이어의 id, 닉네임 값을 가져옵니다.

title은 캐릭터 닉네임 위에 노란색으로 노출되는 텍스트입니다.

role은 플레이어의 권한을 나타내는 숫자 값 입니다. 플레이어의 role에 따라 다음과 같은 값을 출력합니다.

게스트

-1

스태프

2000

0

관리자

3000

에디터

1000

맵소유자

3001

플레이어의 캐릭터가 서있는 X 좌표 값과 Y 좌표 값입니다.

플레이어의 캐릭터가 바라보고 있는 방향입니다.

캐릭터가 바라보고 있는 방향에 따라 다음과 같은 값을 출력합니다.

플레이어의 이동속도 값입니다. (기본 값: 80)

플레이어 캐릭터의 스프라이트 이미지입니다. (null 입력 시 기본 아바타 이미지로 초기화)

tag를 사용해 플레이어에게 필요한 속성 값을 부여 할 수 있습니다.

hidden 값이 true 이면, 해당 플레이어는 다른 플레이어에게 보이지 않습니다.

플레이어의 스팟 라이트 기능 활성화 여부입니다.

플레이어의 공격(Z키) 타입입니다. (기본: 0)

공격(Z키) 이미지가 날아가는 거리 속성입니다. 공격 가능 거리는 늘어나지 않습니다.

공격 가능 거리 속성입니다. attackType이 원거리 공격으로 설정 된 경우에만 유효합니다.

공격(Z키) 이미지 속성입니다.

플레이어의 전자지갑 주소입니다.

스페이스 내의 Player 값 저장 공간 입니다 (스페이스 한정)

플레이어의 모바일 접속 여부를 true/false 로 출력합니다.

플레이어가 움직이고 있으면 True, 아니면 False를 반환합니다.

플레이어가 점프하고 있으면 True, 아니면 False를 반환합니다.

URL 쿼리스트링으로 전달 받은 값을 저장하는 필드입니다. 🔥 URL 쿼리스트링 활용하기

플레이어화면의 줌을 컨트롤 하는 값 ( 기본 값: 1 )

플레이어의 타이틀 색상을 읽거나 수정 할 수 있습니다.

플레이어의 이메일 Hash 값을 가져옵니다.

비로그인 플레이어인 경우 true 값을 가집니다.

5분 이상 비활성화된 유저인 경우 true값을 가집니다.

💠 Methods

해당 플레이어에게 지정된 위치에 text를 3초간 표시하는 함수입니다.

모든 플레이어에게 지정된 위치에 text를 3초간 표시하는 함수입니다.

text 부분에 span 태그를 넣어 텍스트를 꾸밀 수 있습니다.

해당 플레이어에게 지정된 align의 위치에 해당 html파일을 위젯으로 불러오는 함수입니다.

플레이어에게 구매 위젯을 표시하고, 구매 후 동작하는 콜백함수를 작성할 수 있습니다. payToSpaceOwner 옵션이 false인 경우 앱 소유자에게 수익이 전달되며, true인 경우에는 앱이 설치된 맵의 소유자에게 수익이 전달됩니다.

플레이어의 구매 위젯을 닫습니다.

유저 개인에게 채팅 메시지를 보내는 함수입니다.

플레이어에게 입력창을 보여주고, 플레이어의 응답에 따라 동작하는 callback 함수를 작성할 수 있습니다.

플레이어에게 확인창을 보여주고, 플레이어가 OK를 눌렀을 때 동작하는 callback 함수를 작성할 수 있습니다. cancel을 누를 경우에는 callback 함수가 동작하지 않습니다.

플레이어에게 경고창을 보여주고, 플레이어가 OK를 눌렀을 때 동작하는 callback 함수를 작성할 수 있습니다.

위젯의 상/하/좌/우 여백을 화면 크기에 대한 %비율로 정의 하여 위젯을 표시합니다.

화면의 크기가 여백을 포함한 위젯 영역보다 작아질 경우, 위젯의 크기가 비례하여 작아집니다

플레이어에게 웹 URL을 새 창이나 팝업 창으로 표시합니다.

해당 플레이어에게 지정된 align의 위치에 url 임베드 화면을 표시하는 함수입니다.

플레이어에게 입력한 이미지 주소에 해당하는 이미지를 표시합니다.

플레이어에게 텍스트 창을 보여주는 함수입니다.

해당 플레이어의 이메일이 파라미터 값과 같다면 true, 아니면 false를 리턴합니다.

플레이어가 서있는 지정영역의 이름을 출력합니다.

플레이어의 캐릭터를 tileX, tileY 좌표로 지정한 방향을 바라보게 이동시킵니다.

플레이어의 캐릭터를 name에 해당하는 지정 영역으로 지정한 방향을 바라보게 이동시킵니다.

플레이어를 해당 스페이스 해당 맵으로 이동시킵니다.

[1] 플레이어의 시점을 지정된 좌표로 중심 이동시킵니다.

[2] 플레이어의 시점을 특정 오브젝트로 중심 이동시킵니다.

플레이어의 배경 또는 전경 이미지를 설정 할 수 있습니다.

해당 플레이어에게 사운드를 재생하는 함수입니다.

모든 플레이어에게 사운드를 재생하는 함수입니다.

App, Player 관련 필드 값이 변경되면 변경 값을 적용하는 함수입니다.

App, Player storage 값이 변경되면 변경 값을 적용하는 함수입니다.

═════════════════════

🧙‍♂️ ScriptWidget

═════════════════════

🗃️ Field

위젯의 아이디 값을 가져옵니다.

🛰️ EventListeners

위젯에서 App으로 메시지를 보내면 callback 함수가 동작합니다.

💠 Methods

App에서 위젯으로 데이터를 보냅니다.

위젯을 삭제하는 함수입니다.

═════════════════════

🔩 Utility Class

═════════════════════

⏳ Time

ZEP 서버의 현재 시간을 milliseconds 단위의 값으로 리턴합니다.

현재 UTC 시간을 milliseconds 단위의 값으로 리턴합니다.

timeB - timeA를 계산하고, 그 결과를 지정한 returnType으로 반환합니다.

Last updated

Was this helpful?