API Summary
ZEP-Script API 한눈에 보기
🔍Ctrl + F를 이용해 원하는 API를 찾아보세요!
═════════════════════
🕹️ ScriptApp
═════════════════════
♻️ Lifecycle
onInit
App이 최초로 시작될 때 한 번 호출됩니다.
onJoinPlayer
onInit이 호출된 후, 접속해 있는 모든 플레이어를 해당 이벤트를 통해 입장시키고, 이후 입장하는 플레이어가 있을 때 마다 동작합니다.
onStart
모든 플레이어가 onJoinPlayer를 통해 입장한 후 한 번 호출 됩니다.
onUpdate
약 20ms 마다 주기적으로 실행되는 함수입니다.
onLeavePlayer
퇴장하는 플레이어가 있을 때 마다 동작합니다. 이후, 다른 App이 실행되거나 설치한 Game Block이 파괴될 때 모든 플레이어를 이 함수를 통해 퇴장시킵니다.
onDestroy
다른 App이 실행되거나, 설치한 Game Block이 파괴될 때 동작합니다.
🗃️ Field
spaceHashID & mapHashID
앱이 설치된 스페이스의 spaceHashID와 mapHashID를 가져옵니다. (스페이스와 맵 이해하기)
creatorID
App을 실행한 플레이어의 ID 값을 가져옵니다.
players
맵에 있는 모든 플레이어 리스트를 배열로 가져옵니다.
playerCount
앱이 설치된 맵에 있는 플레이어의 수를 가져옵니다.
cameraEffect & cameraEffectParam1
App.cameraEffect: 카메라 이펙트의 종류를 셋팅할 변수 값
App.cameraEffectParam1: 카메라 이펙트 효과의 범위 값
displayRatio
화면의 줌을 컨트롤 하는 값 (기본 값: 1)
storage
스페이스 내의 App 데이터의 저장공간 입니다. (스페이스 한정) Storage 페이지를 참고해주세요.
followPlayer
App의 따라가기 기능 활성화 여부 값 입니다. (기본 값 : false)
showName
플레이어의닉네임 숨김여부 값 입니다. (기본 값: true)
appHashID
앱의 HashID를 가져옵니다.
️💾 Storage
setStorage, getStorage
App.setStorage 함수로 App storage를 저장하고, 앱을 사용중인 다른 맵의 App storage 변경사항이 있을 경우 App.getStorage 함수로 App storage를 동기화 할 수 있습니다.
App.getStorage 함수는 비동기 함수이기 때문에 App.getStorage 함수 다음 라인에 App.storage를 사용하는 코드를 작성할 경우 동기화를 보장할 수 없습니다.
🛰️ EventListeners
onSay
플레이어가 채팅을 입력할 때 동작합니다.
onPlayerTouched
캐릭터들끼리 충돌할 때 동작합니다.
onObjectTouched
캐릭터가 오브젝트와 충돌할 때 동작합니다.
onAppObjectTouched
️ 캐릭터가 키 값을 가진 오브젝트와 충돌할 때 동작합니다.
onUnitAttacked
플레이어가 공격 키(Z)로 다른 캐릭터를 공격할 때 동작합니다.
onObjectAttacked
플레이어가 공격 키(Z)로 오브젝트를 공격할 때 동작합니다.
onSidebarTouched
플레이어가 사이드바 앱을 클릭(터치) 할 때 동작합니다.
onTriggerObject
오브젝트와 F 상호작용 시 동작하는 함수입니다.
onAppObjectAttacked
플레이어가 공격 키(Z)로 키 값을 가진 오브젝트를 공격할 때 동작합니다.
☎️ Callbacks
runLater
time(초) 후에 callback 함수를 실행합니다.
addOnTileTouched
지정한 x, y좌표에 플레이어가 도착할 경우 callback 함수를 실행합니다.
addOnLocationTouched
플레이어가 맵에디터에서 지정한 ‘지정영역’에 도착했을 때 callback 함수를 실행합니다.
addOnKeyDown
플레이어가 지정된 키를 눌렀을 때 callback 함수를 실행합니다.
setTimeout
time(ms) 후에 callback 함수를 실행합니다.
setInterval
time(ms) 간격으로 callback 함수를 실행합니다.
addMobileButton
모바일 환경에서 커스텀 모바일 버튼을 추가하고, 버튼을 눌렀을 때 동작하는 함수를 지정합니다.
putMobilePunch
enable이 true이면 모바일 환경에서 펀치 버튼이 추가됩니다.
putMobilePunchWithIcon
로드한 이미지로 펀치 버튼을 만들어 추가합니다.
💠 Methods
loadSpritesheet
스프라이트 시트 그림 파일을 읽어 객체화하는 함수입니다.
showCenterLabel
모든 플레이어에게 지정된 위치에 text를 3초간 표시하는 함수입니다.
showCustomLabel
모든 플레이어에게 지정된 위치에 text를 3초간 표시하는 함수입니다.
text 부분에 span 태그를 넣어 텍스트를 꾸밀 수 있습니다.
sayToAll
채팅창에 text 내용을 출력합니다.
sayToStaffs
Staff이상 권한의 유저 채팅창에 text 내용을 출력합니다.
showWidget
모든 플레이어에게 지정된 align의 위치에 해당 html파일을 위젯으로 불러오는 함수입니다.
showYoutubeWidget
링크에 해당하는 Youtube 컨텐츠를 위젯으로 불러옵니다.
spawnPlayer
playerID 에 해당하는 플레이어를 tileX, tileY 좌표로 이동시키는 함수입니다.
kickPlayer
playerID 에 해당하는 플레이어를 추방하는 함수입니다.
forceDestroy
미니게임 앱을 강제 종료하는 함수입니다.
clearChat
모든 채팅 내용을 삭제하는 함수입니다.
getPlayerByID
id 에 해당하는 플레이어를 반환하는 함수입니다.
playSound
모든 플레이어에게 사운드를 재생하는 함수입니다.
playSoundLink
모든 플레이어에게 사운드를 재생하는 함수입니다.
stopSound
재생되고 있는 사운드를 멈추는 함수입니다.
httpGet
http get 요청을 보내는 함수입니다.
httpPost
Form-Data 형태의 http post 요청을 보내는 함수 입니다.
httpPostJson
Json 형태의 http post 요청을 보내는 함수 입니다.
sendUpdated
App 관련 필드 값이 변경되면 변경 값을 적용하는 함수입니다.
changeAttackSound
찌르기(Z키) 공격 효과음을 변경하는 함수입니다.
═════════════════════
🗺️ ScriptMap
═════════════════════
🗃️ Field
width & height
맵의 너비와 높이 값을 가져옵니다.
💠 Methods
putTileEffect
지정한 좌표에 타일 효과를 적용하는 함수입니다.
putObject
지정한 좌표에 오브젝트를 놓는 함수입니다. (기준 좌표: Left Top) → 기준 좌표란?
putObjectMultiple
오브젝트를 배치할 좌표들을 2차원 배열로 입력하여 한 번에 오브젝트를 설치하는 기능입니다. 이 기능을 사용하면 한 번에 많은 오브젝트를 설치할 경우 부하를 줄이는 효과를 얻을 수 있습니다.
putObjectWithKey
지정한 좌표에 키 값을 가진 오브젝트를 놓는 함수입니다. (기준 좌표: Left Top)
getObjectWithKey
해당 키 값을 가지고 있는 오브젝트의 정보를 가져옵니다.
playObjectAnimation
해당 좌표에 있는 오브젝트의 스프라이트 애니메이션을 실행시키는 함수입니다.
해당 좌표 지점에 Map.putObject 함수가 선행되어야합니다.
playObjectAnimationWithKey
key 값이 일치하는 오브젝트의 스프라이트 애니메이션을 실행시키는 함수입니다.
moveObject
x, y 좌표에 위치한 오브젝트를 targetX, targetY로 time 초 동안 움직이는 함수입니다.
해당 좌표 지점에 Map.putObject 함수가 선행되어야합니다.
moveObjectWithKey
key 값을 가진 오브젝트를 targetX, targetY로 움직이는 함수입니다.
clearAllObjects()
ZEP 스크립트로 생성된 모든 오브젝트를 제거하는 함수입니다.
getTile
해당하는 레이어의 x, y 좌표에 있는 타일의 타입 값을 리턴, 타일이 없으면 -1을 리턴합니다.
getLocation
파라미터로 전달한 로케이션이 존재하는 경우, 로케이션 설치 좌표를 리턴합니다.
getLocationRandom
파라미터로 전달한 로케이션이 2개이상 존재하는 경우, 무작위로 선택하여 로케이션 설치 좌표를 리턴합니다.
hasLocation
맵에 해당 로케이션이 있는지 체크하여 true/false 값을 리턴합니다.
getObjectsByType
Type에 해당하는 오브젝트들을 리턴하는 함수입니다.
getTopObjectsByType
Type에 해당하는 상단오브젝트들을 리턴하는 함수입니다.
sayObjectWithKey
key 값을 가진 오브젝트 위에 말풍선을 표시하는 함수입니다.
═════════════════════
👥 ScriptPlayer
═════════════════════
🗃️ Field
id , name
플레이어의 id, 닉네임 값을 가져옵니다.
title
title은 캐릭터 닉네임 위에 노란색으로 노출되는 텍스트입니다.
role
role은 플레이어의 권한을 나타내는 숫자 값 입니다. 플레이어의 role에 따라 다음과 같은 값을 출력합니다.
게스트
-1
스태프
2000
멤
0
관리자
3000
에디터
1000
맵소유자
3001
tileX, tileY
플레이어의 캐릭터가 서있는 X 좌표 값과 Y 좌표 값입니다.
dir
플레이어의 캐릭터가 바라보고 있는 방향입니다.
캐릭터가 바라보고 있는 방향에 따라 다음과 같은 값을 출력합니다.


moveSpeed
플레이어의 이동속도 값입니다. (기본 값: 80)
sprite
플레이어 캐릭터의 스프라이트 이미지입니다. (null 입력 시 기본 아바타 이미지로 초기화)
tag
tag를 사용해 플레이어에게 필요한 속성 값을 부여 할 수 있습니다.
hidden
hidden 값이 true 이면, 해당 플레이어는 다른 플레이어에게 보이지 않습니다.
spotlight
플레이어의 스팟 라이트 기능 활성화 여부입니다.
attackType
플레이어의 공격(Z키) 타입입니다. (기본: 0)
attackParam1
공격(Z키) 이미지가 날아가는 거리 속성입니다. 공격 가능 거리는 늘어나지 않습니다.
attackParam2
공격 가능 거리 속성입니다. attackType이 원거리 공격으로 설정 된 경우에만 유효합니다.
attackSprite
공격(Z키) 이미지 속성입니다.
walletAddress
플레이어의 전자지갑 주소입니다.
storage
스페이스 내의 Player 값 저장 공간 입니다 (스페이스 한정)
isMobile
플레이어의 모바일 접속 여부를 true/false 로 출력합니다.
isMoving
플레이어가 움직이고 있으면 True, 아니면 False를 반환합니다.
isJumping
플레이어가 점프하고 있으면 True, 아니면 False를 반환합니다.
customData
URL 쿼리스트링으로 전달 받은 값을 저장하는 필드입니다. 🔥 URL 쿼리스트링 활용하기
displayRatio
플레이어화면의 줌을 컨트롤 하는 값 ( 기본 값: 1 )
titleColor
플레이어의 타이틀 색상을 읽거나 수정 할 수 있습니다.
emailHash
플레이어의 이메일 Hash 값을 가져옵니다.
isGuest
비로그인 플레이어인 경우 true 값을 가집니다.
away
5분 이상 비활성화된 유저인 경우 true값을 가집니다.
💠 Methods
showCenterLabel
해당 플레이어에게 지정된 위치에 text를 3초간 표시하는 함수입니다.
showCustomLabel
모든 플레이어에게 지정된 위치에 text를 3초간 표시하는 함수입니다.
text 부분에 span 태그를 넣어 텍스트를 꾸밀 수 있습니다.
showWidget
해당 플레이어에게 지정된 align의 위치에 해당 html파일을 위젯으로 불러오는 함수입니다.
showBuyAlert
플레이어에게 구매 위젯을 표시하고, 구매 후 동작하는 콜백함수를 작성할 수 있습니다. payToSpaceOwner 옵션이 false인 경우 앱 소유자에게 수익이 전달되며, true인 경우에는 앱이 설치된 맵의 소유자에게 수익이 전달됩니다.
hideBuyAlert
플레이어의 구매 위젯을 닫습니다.
sendMessage
유저 개인에게 채팅 메시지를 보내는 함수입니다.
showPrompt
플레이어에게 입력창을 보여주고, 플레이어의 응답에 따라 동작하는 callback 함수를 작성할 수 있습니다.
showConfirm
플레이어에게 확인창을 보여주고, 플레이어가 OK를 눌렀을 때 동작하는 callback 함수를 작성할 수 있습니다. cancel을 누를 경우에는 callback 함수가 동작하지 않습니다.
showAlert
플레이어에게 경고창을 보여주고, 플레이어가 OK를 눌렀을 때 동작하는 callback 함수를 작성할 수 있습니다.
showWidgetResponsive
위젯의 상/하/좌/우 여백을 화면 크기에 대한 %비율로 정의 하여 위젯을 표시합니다.
화면의 크기가 여백을 포함한 위젯 영역보다 작아질 경우, 위젯의 크기가 비례하여 작아집니다
openWebLink
플레이어에게 웹 URL을 새 창이나 팝업 창으로 표시합니다.
showEmbed
해당 플레이어에게 지정된 align의 위치에 url 임베드 화면을 표시하는 함수입니다.
showImageModal
플레이어에게 입력한 이미지 주소에 해당하는 이미지를 표시합니다.
showNoteModal
플레이어에게 텍스트 창을 보여주는 함수입니다.
isEmail
해당 플레이어의 이메일이 파라미터 값과 같다면 true, 아니면 false를 리턴합니다.
getLocationName
플레이어가 서있는 지정영역의 이름을 출력합니다.
spawnAt
플레이어의 캐릭터를 tileX, tileY 좌표로 지정한 방향을 바라보게 이동시킵니다.
spawnAtLocation
플레이어의 캐릭터를 name에 해당하는 지정 영역으로 지정한 방향을 바라보게 이동시킵니다.
spawnAtMap
플레이어를 해당 스페이스 해당 맵으로 이동시킵니다.
setCameraTarget
[1] 플레이어의 시점을 지정된 좌표로 중심 이동시킵니다.
[2] 플레이어의 시점을 특정 오브젝트로 중심 이동시킵니다.
setEffectSprite
플레이어의 배경 또는 전경 이미지를 설정 할 수 있습니다.
playSound
해당 플레이어에게 사운드를 재생하는 함수입니다.
playSoundLink
모든 플레이어에게 사운드를 재생하는 함수입니다.
sendUpdated
App, Player 관련 필드 값이 변경되면 변경 값을 적용하는 함수입니다.
save
App, Player storage 값이 변경되면 변경 값을 적용하는 함수입니다.
═════════════════════
🧙♂️ ScriptWidget
═════════════════════
🗃️ Field
id
위젯의 아이디 값을 가져옵니다.
🛰️ EventListeners
onMessage
위젯에서 App으로 메시지를 보내면 callback 함수가 동작합니다.
💠 Methods
sendMessage
App에서 위젯으로 데이터를 보냅니다.
destroy
위젯을 삭제하는 함수입니다.
═════════════════════
🔩 Utility Class
═════════════════════
⏳ Time
getTime
ZEP 서버의 현재 시간을 milliseconds 단위의 값으로 리턴합니다.
getUtcTime
현재 UTC 시간을 milliseconds 단위의 값으로 리턴합니다.
getTimeInterval
timeB - timeA를 계산하고, 그 결과를 지정한 returnType으로 반환합니다.
Last updated
Was this helpful?