API Summary
ZEP-Script API 한눈에 보기
App.onInit.Add(function(){})
App이 최초로 시작될 때 한 번 호출됩니다.
App.onJoinPlayer.Add(function(player){})
onInit이 호출된 후, 접속해 있는 모든 플레이어를 해당 이벤트를 통해 입장시키고, 이후 입장하는 플레이어가 있을 때 마다 동작합니다.
App.onStart.Add(function(){})
모든 플레이어가 onJoinPlayer를 통해 입장한 후 한 번 호출 됩니다.
App.onUpdate.Add(function(dt){})
약 20ms 마다 주기적으로 실행되는 함수입니다.
App.onLeavePlayer.Add(function(player){})
퇴장하는 플레이어가 있을 때 마다 동작합니다. 이후, 다른 App이 실행되거나 설치한 Game Block이 파괴될 때 모든 플레이어를 이 함수를 통해 퇴장시킵니다.
App.onDestroy.Add(function(){})
다른 App이 실행되거나, 설치한 Game Block이 파괴될 때 동작합니다.
App.spaceHashID: String
App.mapHashID: String
App.creatorID
App을 실행한 플레이어의 ID 값을 가져옵니다.
App.players: ScriptPlayer[]
맵에 있는 모든 플레이어 리스트를 배열로 가져옵니다.
App.playerCount: Number
앱이 설치된 맵에 있는 플레이어의 수를 가져옵니다.
App.cameraEffect: NONE = 0, SPOTLIGHT = 1
App.cameraEffectParam1: Number
App.cameraEffect: 카메라 이펙트의 종류를 셋팅할 변수 값
App.cameraEffectParam1: 카메라 이펙트 효과의 범위 값
App.displayRatio
화면의 줌을 컨트롤 하는 값 (기본 값: 1)
App.storage: String
App.followPlayer: Boolean
App의 따라가기 기능 활성화 여부 값 입니다. (기본 값 : false)
App.showName: Boolean
플레이어의닉네임 숨김여부 값 입니다. (기본 값: true)
App.appHashID: String
앱의 HashID를 가져옵니다.
App.setStorage(string) / App.getStorage(function())
App.setStorage 함수로 App storage를 저장하고, 앱을 사용중인 다른 맵의 App storage 변경사항이 있을 경우 App.getStorage 함수로 App storage를 동기화 할 수 있습니다.
App.getStorage 함수는 비동기 함수이기 때문에 App.getStorage 함수 다음 라인에 App.storage를 사용하는 코드를 작성할 경우 동기화를 보장할 수 없습니다.
App.onSay.Add(function(player, text){});
플레이어가 채팅을 입력할 때 동작합니다.
App.onPlayerTouched.Add(function(sender, target, x, y){});
캐릭터들끼리 충돌할 때 동작합니다.
App.onObjectTouched.Add(function(sender, x, y, tileID, obj){});
캐릭터가 오브젝트와 충돌할 때 동작합니다.
App.onAppObjectTouched.Add(function(sender, key, x, y ){});
️ 캐릭터가 키 값을 가진 오브젝트와 충돌할 때 동작합니다.
App.onUnitAttacked.Add(function(sender, x, y, target){});
플레이어가 공격 키(Z)로 다른 캐릭터를 공격할 때 동작합니다.
App.onObjectAttacked.Add(function(sender, x, y){});
플레이어가 공격 키(Z)로 오브젝트를 공격할 때 동작합니다.
App.onSidebarTouched.Add(function(player){});
플레이어가 사이드바 앱을 클릭(터치) 할 때 동작합니다.
App.onTriggerObject.Add(function(player, layerID, x, y){});
오브젝트와 F 상호작용 시 동작하는 함수입니다.
App.onAppObjectAttacked.Add(function (sender, x, y, layer, key) {});
플레이어가 공격 키(Z)로 키 값을 가진 오브젝트를 공격할 때 동작합니다.
App.runLater(function(){}, time: number);
time(초) 후에 callback 함수를 실행합니다.
App.addOnTileTouched(x:number, y: number, function(player){})
지정한 x, y좌표에 플레이어가 도착할 경우 callback 함수를 실행합니다.
App.addOnLocationTouched(name: string, function(player){})
플레이어가 맵에디터에서 지정한 ‘지정영역’에 도착했을 때 callback 함수를 실행합니다.
App.addOnKeyDown(keycode : number, function(player){});
플레이어가 지정된 키를 눌렀을 때 callback 함수를 실행합니다.
setTimeout(function(){}, time: number);
time(ms) 후에 callback 함수를 실행합니다.
setInterval(function(){}, time: number);
time(ms) 간격으로 callback 함수를 실행합니다.
App.addMobileButton( anchor: number, posX: number, posY: number, function(player){} )
모바일 환경에서 커스텀 모바일 버튼을 추가하고, 버튼을 눌렀을 때 동작하는 함수를 지정합니다.
App.putMobilePunch(enable: boolean = true)
enable이 true이면 모바일 환경에서 펀치 버튼이 추가됩니다.
App.putMobilePunchWithIcon(icon: ScriptDynamicResource)
로드한 이미지로 펀치 버튼을 만들어 추가합니다.
App.loadSpritesheet(fileName: string, frameWidth: number, frameHeight: number, anims: array, frameRate: number): ScriptDynamicResource
스프라이트 시트 그림 파일을 읽어 객체화하는 함수입니다.
App.showCenterLabel(text: string, color: uint = 0xFFFFFF, bgColor: uint = 0x000000, offset: number = 0, time: number = 3000)
모든 플레이어에게 지정된 위치에 text를 3초간 표시하는 함수입니다.
App.showCustomLabel(text: string, color: number = 0xFFFFFF, bgColor: number = 0x000000, offset: number = 0, width = 100, opacity = 0.6, time: number = 3000);
모든 플레이어에게 지정된 위치에 text를 3초간 표시하는 함수입니다.
text 부분에
span
태그를 넣어 텍스트를 꾸밀 수 있습니다.
App.sayToAll(text: string, color: uint = 0xFFFFFF)
채팅창에 text 내용을 출력합니다.
App.sayToStaffs(text: string, color: uint = 0xFFFFFF)
Staff이상 권한의 유저 채팅창에 text 내용을 출력합니다.
App.showWidget(fileName: string, align: string, width: number, height: number): ScriptWidget
모든 플레이어에게 지정된 align의 위치에 해당 html파일을 위젯으로 불러오는 함수입니다.
App.showYoutubeWidget(link: string, align: string, width: number, height: number): ScriptWidget
링크에 해당하는 Youtube 컨텐츠를 위젯으로 불러옵니다.
App.spawnPlayer(playeID: string, tileX: number, tileY: number)
playerID 에 해당하는 플레이어를 tileX, tileY 좌표로 이동시키는 함수입니다.
App.kickPlayer(playerID: string)
playerID 에 해당하는 플레이어를 추방하는 함수입니다.
App.forceDestroy();
미니게임 앱을 강제 종료하는 함수입니다.
App.clearChat();
모든 채팅 내용을 삭제하는 함수입니다.
App.getPlayerByID(playerID: string);
id 에 해당하는 플레이어를 반환하는 함수입니다.
App.playSound(fileName: string, loop: boolean = false, overlap: boolean = false)
모든 플레이어에게 사운드를 재생하는 함수입니다.
App.playSoundLink(link: string, loop: boolean = false)
모든 플레이어에게 사운드를 재생하는 함수입니다.
App.stopSound();
재생되고 있는 사운드를 멈추는 함수입니다.
App.httpGet(url: string, headers: object, function(res: string){})
http get 요청을 보내는 함수입니다.
App.httpPost(url: string, headers: object, body: object, function(res: string))
Form-Data 형태의 http post 요청을 보내는 함수 입니다.
App.httpPostJson(url: string, headers: object, body: object, function(res: string))
Json 형태의 http post 요청을 보내는 함수 입니다.
App.sendUpdated()
App 관련 필드 값이 변경되면 변경 값을 적용하는 함수입니다.
App.changeAttackSound(fileName:string)
찌르기(Z키) 공격 효과음을 변경하는 함수입니다.
Map.width : Number Map.height : Number
맵의 너비와 높이 값을 가져옵니다.
Map.putTileEffect(x: number, y: number, tileID: TileEffectType)
지정한 좌표에 타일 효과를 적용하는 함수입니다.
Map.putObject(x: number, y: number, dynamicResource: ScriptDynamicResource, option: JsValue)
Map.putObjectMultiple(tileArray: array, type: PutObjectType, dynamicResource: ScriptDynamicResource);
오브젝트를 배치할 좌표들을 2차원 배열로 입력하여 한 번에 오브젝트를 설치하는 기능입니다. 이 기능을 사용하면 한 번에 많은 오브젝트를 설치할 경우 부하를 줄이는 효과를 얻을 수 있습니다.
Map.putObjectWithKey(x: number, y: number, dynamicResource: ScriptDynamicResource, option: JsValue)
지정한 좌표에 키 값을 가진 오브젝트를 놓는 함수입니다. (기준 좌표: Left Top)
Map.getObjectWithKey(key: String)
해당 키 값을 가지고 있는 오브젝트의 정보를 가져옵니다.
Map.playObjectAnimation(x: number, y: number, name: string)
해당 좌표에 있는 오브젝트의 스프라이트 애니메이션을 실행시키는 함수입니다.
Map.playObjectAnimation(key: string, animName: string, repeatCount: number)
key 값이 일치하는 오브젝트의 스프라이트 애니메이션을 실행시키는 함수입니다.
Map.moveObject(x: number, y: number, targetX: number, targetY: number, time: number)
x, y 좌표에 위치한 오브젝트를 targetX, targetY로 time 초 동안 움직이는 함수입니다.
Map.moveObjectWithKey(key: string, targetX: number, targetY: number, path:boolean = true)
key 값을 가진 오브젝트를 targetX, targetY로 움직이는 함수입니다.
Map.clearAllObjects()
ZEP 스크립트로 생성된 모든 오브젝트를 제거하는 함수입니다.
Map.getTile(layer: number, x: number, y: number): number
해당하는 레이어의 x, y 좌표에 있는 타일의 타입 값을 리턴, 타일이 없으면 -1을 리턴합니다.