Game

Game

게임 전반적인 역할을 하는 객체에요. 여기 있는 기능들은 서버에서만 사용할 수 있어요.

이벤트

OnTeleportFinishEvent

플레이어가 다른 랜드로 이동 완료 후에 설정한 데이터를 받 을 수 있어요. 연결함수 형식은 function(player, TransferData), player 는 텔레포트 완료한 Player 객체, TransferData 는 이전 맵에서 가져온 데이터 입니다.

-- 샘플 --

local function TeleportFinish(player, TransferData)
    if player == nil then
        return
    end

    print("Teleport Data Count : ", TransferData:DataCount())	--AddLandTransferData 로 설정한 데이터의 개수에요.

    for i, key, value in pairs(TransferData:DataArray()) do
        print(key)		--AddLandTransferData 로 설정한 데이터의 Key 값이에요.
        print(value)	--AddLandTransferData 로 설정한 데이터의 Value 값이에요.
    end
end
Game.OnTeleportFinishEvent:Connect(TeleportFinish) --텔레포트가 끝났을 때 이전 랜드에서 설정한 데이터를 받을 함수를 연결해요.

OnTeleportFailedEvent

텔레포트가 실패 했을때 호출돼요 실패한 유저와 텔레포트하려고 했던 LandOrder를 반환해줘요. 연결함수 형식은 function(TeleportErrorType, player, LandOrder) TeleportErrorType 은 error 타입, player는 텔레포트 시도한 Player , LandOrder 는 랜드번호 입니다.

-- 샘플 --

OnLuckyDrawResult

럭키드로우 결과 이벤트에요 연결함수 형식은 function(number playerid, string OrderNo, table cards)

OnLuckyDrawNotifyAddOrder

럭키드로우 결재 정보 추가 이벤트에요. 연결함수 형식은 function(number playerid, string eventid, RLuckyDrawOrder)

함수

void AddUserCollisionType(string UserCollisionType)

유저 충돌 타입 설정을 추가할 수 있어요. (충돌 타입 이름 설정) 특정 오브젝트의 충돌 처리를 다른 오브젝트와 다르게 할 때 사용 예) 특정 오브젝트만 통과하고, 캐릭터는 못 통과하는 오브젝트.

-- 샘플 --

SpawnPointGroup AddSpawnPointGroup(string SpawnPointGroupName)

게임에서 사용 할 스폰 포인트 그룹을 추가할 수 있어요. (추가할 스폰 포인트 그룹 이름)

-- 샘플 --

SpawnPointGroup GetSpawnPointGroup(string SpawnPointGroupName)

AddSpawnPointGroup 함수로 추가시켜놓은 스폰 포인트 그룹을 얻을 수 있어요. (얻을 스폰 포인트 그룹 이름)

SpawnPoint AddSpawnPoint(Object TargetObject)

게임에서 사용 할 스폰 포인트를 추가할 수 있어요. (스폰 포인트로 지정 할 오브젝트)

SpawnPoint AddSpawnPointAtGroup(string SpawnPointGroupName, Object TargetObject)

스폰포인트 그룹에 스폰 포인트를 추가할 수 있어요. (스폰포인트를 추가할 그룹 이름, 이름, 스폰 포인트를 할 오브젝트)

-- 샘플 --

void SetSpawnType(ModeSpawnType InSpawnType)

게임의 스폰 타입을 설정할 수 있어요. ( Enum.SpawnType.타입 )

-- 샘플 --

void SetUsingSpawnPointGroup(SpawnPointGroup SpawnPointGroup)

게임에 적용 할 스폰 그룹을 설정할 수 있어요. (게임에 적용 할 스폰포인트 그룹 오브젝트)

-- 샘플 --

void SetUsingSpawnPoint(SpawnPoint SpawnPoint)

게임에 적용 할 스폰 포인트를 설정할 수 있어요. (게임에 적용 할 스폰포인트 오브젝트)

-- 샘플 --

SpawnPoint GetUsingSpawnPoint()

게임에 적용되어있는 스폰 포인트를 가져올 수 있어요.

-- 샘플 --

void SetDefaultSpawnPos(Vector Pos)

설정된 스폰 포인트가 없을 경우 지정한 위치에 스폰되도록 해요. (스폰할 위치 Vector)

-- 샘플 --

void SetUsingCharacterSetting(CharacterSetting CharacterSettingObject)

게임에서 적용 할 캐릭터 설정을 설정 할 수 있어요. (게임에 적용 할 캐릭터 설정 오브젝트) 함수가 호출된 다음, 캐릭터가 스폰될때 반영돼요.

-- 샘플 --

CharacterSetting GetUsingCharacterSetting()

게임에서 적용되어있는 캐릭터 설정을 가져올 수 있어요.

-- 샘플 --

Team AddTeam(string TeamName)

게임에서 사용 할 팀 설정을 추가할 수 있어요. (팀 이름 설정)

-- 샘플 --

Player GetPlayer(number PlayerID)

플레이어 아이디로 플레이어를 얻을 수 있어요. (얻고 싶은 플레이어 아이디)

-- 샘플 --

Character GetPlayerCharacter(number PlayerID)

플레이어 아이디로 플레이어 캐릭터를 얻을 수 있어요. (얻고 싶은 플레이어 아이디)

-- 샘플 --

void SetTeamSetting(TeamType TeamType, DivideTeamType DivideTeamType)

게임의 팀전 여부, 팀 나누기 방식을 설정할 수 있어요. (팀 타입, Enum.DivideTeamType.타입 )

-- 샘플 --

number GetPlayerCount()

현재 게임에 참여하고 있는 플레이어 수를 얻을 수 있어요.

-- 샘플 --

void ResetTeamSetting()

게임의 팀 설정을 모두 제거해요.

-- 샘플 --

void ApplyTeamSetting()

팀 설정 방식을 게임에 적용하는 함수에요.

-- 샘플 --

void SetCanEnterUser(bool bCan)

게임에 유저의 진입 가능 여부를 설정해요. (false로 설정 할 경우 해당 게임으로 더 이상 유저가 들어올 수 없어요.)

-- 샘플 --

bool GetCanEnterUser()

현재 게임에 유저의 진입 가능 여부를 가져올 수 있어요.

-- 샘플 --

void BroadcastEvent(string CustomEventName, Args ...)

모든 클라이언트에게 이벤트를 보내는 함수에요. (이벤트 이름, 전달할 변수들 ...)

-- 샘플 --

void SendEventToClient(number PlayerID, string CustomEventName, Args ...)

해당 클라이언트에게만 이벤트를 보내는 함수에요. (이벤트 보낼 플레이어 아이디, 이벤트 이름, 전달할 변수들 ...)

-- 샘플 --

void InitInventorySize(number XSize, number YSize)

인벤토리의 초기 생성 사이즈를 설정할 수 있어요. (가로 사이즈, 세로 사이즈)

-- 샘플 --

void SetInventorySize(number XSize, number YSize)

(deprecated) InitInventorySize 를 사용하세요.

void InitQuickSlotCount(number Count)

퀵 슬롯의 초기 생성 개수를 설정할 수 있어요. (설정할 개수 값)

-- 샘플 --

void SetQuickSlotCount(number Count)

(deprecated) InitQuickSlotCount 를 사용하세요.

void GiveItem(Character TargetCharacter, Item ObjectItem)

해당 캐릭터에게 아이템을 획득시켜줘요. (아이템을 획득할 캐릭터, 아이템 객체)

-- 샘플 --

Object CreateSyncObject(Object SourceObject, Vector Location)

지정한 위치에 클라이언트와 동기화되는 오브젝트를 생성할 수 있어요. (생성 할 오브젝트, 생성할 월드 위치 Vector)

-- 샘플 --

Object CreateSyncObject(Object SourceObject, Vector Location, string Name, Object ObjectParent)

지정한 위치에 클라이언트와 동기화되는 오브젝트를 생성할 수 있어요. (생성 할 오브젝트, 생성할 월드 위치 Vector, 설정할 이름, 부모가 될 오브젝트)

-- 샘플 --

Object CreateNoneSyncObject(Object SourceObject, Vector Location)

지정한 위치에 클라이언트와 동기화 되지 않는 오브젝트를 생성할 수 있어요. (생성 할 오브젝트, 생성 월드 위치 Vector)

-- 샘플 --

ObjectSpawner AddObjectSpawner(Object SpawnObject, ObjectSelectType ObjectSelectType, number SpawnTime, number Count)

오브젝트 스포너 생성할 수 있어요. (스폰 할 오브젝트, Enum.ObjectSelectType.타입 , 스폰 시간, 한번에 스폰될 개수)

-- 샘플 --

ObjectSelector CreateObjectSelector(ObjectSelectType SelectType)

오브젝트 셀렉터를 생성할 수 있어요. ( Enum.ObjectSelectType.타입 )

ObjectList GetObjectList(Vector Center, number Radius)

지정한 영역의 오브젝트를 얻을 수 있어요. (영역 중앙 포인트 Vector, 영역 반지름 값)

bool UseWorldItem(Character Character, Item TargetItem)

월드 아이템을 사용하게 할 수 있어요. (사용할 캐릭터, 사용할 아이템)

-- 샘플 --

void DeleteWorldItem(Item TargetItem)

월드 아이템 삭제해요. (삭제할 아이템)

-- 샘플 --

void SaveUserGameData(number PlayerID, string KeyString, Vector SaveValue)

해당 유저의 게임 데이터를 저장할 수 있어요. (저장할 플레이어 이름, 데이터 키 값, 저장할 Vector 값)

-- 샘플 --

void SaveUserGameData(number PlayerID, string KeyString, number SaveValue)

해당 유저의 게임 데이터를 저장할 수 있어요. (저장할 플레이어 이름, 데이터 키 값, 저장할 number 값)

-- 샘플 --

void SaveUserGameData(number PlayerID, string KeyString, bool SaveValue)

해당 유저의 게임 데이터를 저장할 수 있어요. (저장할 플레이어 이름, 데이터 키 값, 저장할 Bool 값)

-- 샘플 --

void SaveUserGameData(number PlayerID, string KeyString, Table SaveValue)

해당 유저의 게임 데이터를 저장할 수 있어요. (저장할 플레이어 이름, 데이터 키 값, 저장할 Table 값)

-- 샘플 --

void SaveUserGameData(number PlayerID, string KeyString, string SaveValue)

해당 유저의 게임 데이터를 저장할 수 있어요. (저장할 플레이어 이름, 데이터 키 값, 저장할 String 값)

-- 샘플 --

void SaveUserGameData(number PlayerID, string KeyString, Color SaveValue)

해당 유저의 게임 데이터를 저장할 수 있어요. (저장할 플레이어 이름, 데이터 키 값, 저장할 Color 값)

-- 샘플 --

Object GetSavedUserGameData(number PlayerID, string KeyString)

해당 유저의 게임 데이터를 얻을 수 있어요. (플레이어 아이디, 데이터 키 값)

-- 샘플 --

void SaveGameStatisticsData(number PlayerID, GameStatisticsData Data, number SaveValue)

해당 유저의 게임 통계 데이터를 저장할 수 있어요. (저장할 플레이어 아이디, GameStatisticsData(키, 정렬, 덮어쓰기) , 저장 값)

-- 샘플 --

void GetGameStatisticsData(GameStatisticsData Data, number Offset, number Count, function CallBackFunction)

게임 통계 데이터를 얻을 수 있어요. (GameStatisticsData(키, 정렬, 덮어쓰기), Offset 값, Count 값, CallBack 연결 함수)

-- 샘플 --

GameStatisticsData GetStatisticsData(string KeyString)

게임 통계 데이터 오브젝트 를 얻을 수 있어요. (키 값)

-- 샘플 --

PlayerList GetAllPlayer()

모든 플레이어 얻을 수 있어요.

-- 샘플 --

void TeleportToPublicServer(number LandOrder, List PlayerIDList)

공개서버로 접속하는 텔레포트에요 텔레포트 한 랜드에 다른사람이 있을 수 있어요

-- 샘플 --

void TeleportToPrivateServer(number LandOrder, List PlayerIDList)

비공개서버로 접속하는 함수에요 나만 혹은 지정한 인원으로만 새로 서버를 만들어서 하고 싶을때 사용해요

-- 샘플 --

void TeleportToServerUsingIP(string ServerIP, number SlotID, number PlayerID)

서버 주소를 이용하여 서버에 접속하는 함수에요 접속해야 하는 서버 주소를 알고, 슬롯 아이디를 알고 있을 때 사용해요

string GetServerIP()

서버 주소를 이용하여 서버에 접속하는 함수에요 현재 서버의 주소를 얻을 때 써요

number GetSlotID()

서버 주소를 이용하여 서버에 접속에 필요한 파라미터 현재 서버의 슬롯 아이디를 얻을 때 써요

void AddTeleportStartEvent(number LandOrder, function TeleportStartFunction)

플레이어가 텔레포트 이동을 시작할때 호출되는 이벤트 함수를 추가할 수 있어요. 랜드별로 이벤트를 설정 할 수 있어요.

-- 샘플 --

void OnChatNormalMessage(number TargetID, string Message, ChatVisibleType ChatVisibleType)

모들 플레이어 채팅 창에 일반 메시지 추가. (연출용)

-- 샘플 --

void OnChatSystemMessage(number PlayerID, string Message)

모든 플레이어 창에 시스템 메시지 추가.

void OnChatSystemMessage(string Name, string Message)

모든 플레이어 창에 시스템 메시지 추가.

-- 샘플 --

void OnChatNPCMessage(NPC ObjectNPC, string Message, ChatVisibleType ChatVisibleType)

모든 플레이어 채팅 창에 NPC 추가.

-- 샘플 --

void AllUserMuteVoiceChatAll(number ExcludePlayerID)

모든 유저의 보이스 채팅을 음소거 시켜요

void AllUserMuteUnmuteVoiceChatAll(number ExcludePlayerID)

모든 유저의 보이스 채팅을 음소거 해제 시켜요

void UserMuteVoiceChatAll(number MutePlayerID)

특정 유저의 보이스 채팅을 음소거 시켜요

void UserUnMuteVoiceChatAll(number UnmutePlayerID)

특정 유저의 보이스 채팅을 음소거 해제 시켜요

number GetCurrentLandOrder()

현재 랜드가 몇 번째 슬롯에 있는지 순서번호를 얻어요.

-- 샘플 --

FiniteStateMachine AddFSM(string StateMachineName)

오브젝트나 NPC에 사용될 FSM을 추가할 수 있어요. (상태머신 이름)

-- 샘플 --

GameStatisticsData NewGameStatisticsData(string KeyString, bool Ascending, bool Overwrite)

게임 통계 데이터 오브젝트를 만듭니다.(키 값, 정렬 여부, 덮어쓰기.)

-- 샘플 --

사용 가능한 부모 오브젝트 기능들

속성

이름

설명

이벤트

이름

설명

매 프레임마다 호출되는 이벤트에요. 연결함수 형식은 function(updateTime), updateTime 은 number 입니다.

플레이어가 게임에 입장 시 호출되는 이벤트에요. 연결함수 형식은 function(enterPlayer), enterPlayer 은 Player 객체 입니다.

플레이어가 게임에서 나갈 때 호출되는 이벤트에요. 연결함수 형식은 function(leavePlayer), leavePlayer 은 Player 객체 입니다.

캐릭터가 죽을 때 호출되는 이벤트에요. 연결함수 형식은 function(deathCharacter), deathCharacter 는 Character 객체 입니다.

캐릭터가 스폰 될 때 호출되는 이벤트에요. 연결함수 형식은 function(spawnCharacter), spawnCharacter 는 Character 객체 입니다.

함수

이름

설명

게임에 단계를 추가할 수 있어요. (추가할 단계 이름)

단계 이름으로 단계를 불러올 수 있어요. (불러올 단계 이름)

현재 단계를 얻을 수 있어요.

단계 이름을 통해 해당 단계로 변경할 수 있어요. (변경할 단계 이름)

다음 단계로 변경할 수 있어요.

유저가 추가한 이벤트에 함수를 연결할 수 있어요. (이벤트 이름, 연결 함수)

오브젝트를 삭제할 수 있어요. (삭제할 오브젝트) 서버에서 사용하면 서버와 클라 오브젝트 모두 삭제되고 클라에서 사용하면 클라 오브젝트만 삭제해요

설정된 시작 지점에서 원하는 방향으로 지정된 거리 만큼의 충돌 리스트들을 가져올 수 있어요. (시작 지점 Vector, 방향 Vector, 거리 값)

설정된 시작 지점에서 원하는 방향으로 지정된 거리 만큼의 유저가 추가한 충돌 타입과의 충돌 리스트들을 가져올 수 있어요. (시작 지점 Vector, 방향 Vector, 거리 값, 원하는 유저 충돌 타입 이름)

반환값이 false이면 스튜디오(스튜디오로 접속), true이면 퍼블리쉬된 상태(플레이어로 접속)

로그 채팅창 출력 기능 활성, 비활성 설정(true로 설정 시 스크립트 print 가 채팅창에도 표시됨)

RootObject 하위의 오브젝트들 중 ObjectName 에 해당하는 오브젝트 리스트를 얻을 수 있어요.

RootObject 하위의 오브젝트들 중 ObjectType 에 해당하는 오브젝트 리스트를 얻을 수 있어요.

Last updated

Was this helpful?