LocalPlayer
LocalPlayer
클라이언트에서 캐릭터의 기본 동작을 설정 할 수 있는 객체에요.
이벤트
OnChangedInventoryItem
인벤토리 아이템이 변화할 때 호출되는 이벤트에요. 연결함수 형식은 function(ItemState, InvenIndex, Item ) ItemState는 변화된 상태값, InvenIndex 는 아이템의 인벤토리 내 인덱스, Item는 상태가 변화된 아이템 입니다.
-- 샘플 --
--State 인자에 전달되는 값은 상황에 따라 다음과 같아요.
--0 : 인벤토리에 변화가 있을 때
--1 : 아이템을 사용할 때
--2 : 아이템을 장착할 때
--3 : 아이템을 월드에 버릴 때
--4 : 아이템을 장착 해제 할 때
--5 : 아이템이 삭제될 때
--6 : 아이템 위치를 변경(Swap)할 때
local function ChangedInventoryItem(State, InventoryIndex, ItemObj)
print("Changed State : ", State, " / InventoryIndex : ", InventoryIndex, " / Item : ", ItemObj)
end
LocalPlayer.OnChangedInventoryItem:Connect(ChangedInventoryItem)
OnChangedQuickSlot
퀵 슬롯이 변화할 때 호출되는 이벤트에요. 연결함수 형식은 function(QuickSlotState, QuickSlotId, Item ) QuickSlotState 변화된 상태값, QuickSlotId 는 퀵슬롯 번호 , Item 은 퀵슬롯에 할당된 아이템 입니다.
-- 샘플 --
--State 인자에 전달되는 값은 상황에 따라 다음과 같아요.
0 : 퀵슬롯을 설정할 때
1 : 퀵슬롯 설정을 해제할 때
2 : 퀵슬롯 위치를 변경(Swap)할 때
3 : 퀵슬롯에 등록된 아이템을 사용할 때
4 : 퀵슬롯을 초기화할 때
local function ChangedQuickSlot(State, QuickSlotIndex, ItemObj)
print("Changed State : ", State, " / QuickSlotIndex : ", QuickSlotIndex, " / Item : ", ItemObj)
end
LocalPlayer.OnChangedQuickSlot:Connect(ChangedQuickSlot)
OnChangeCurrentCamera
현재 카메라가 변화할 때 호출되는 이벤트에요. 연결함수 형식은 function(CurrentCamera)
-- 샘플 --
local function ChangeCurrentCamera(CurrentCamera)
print("ChangeCurrentCamera : ", CurrentCamera)
end
LocalPlayer.OnChangeCurrentCamera:Connect(ChangeCurrentCamera)
OnStartSingingModeEvent
OnEndSingingModeEvent
속성
bEnableCameraControl
(deprecated) 자신의 카메라 컨트롤 가능여부를 얻거나 세팅할 수 있어요.
함수
void ProcessInputAxisEvent(string Event, function ProcessFunction)
축 인풋 이벤트를 연결하는 함수에요. (설정할 이벤트 이름, 연결 함수)
-- 샘플 --
UIInput = Input:AddGroup("UIInput") --조작그룹을 추가해요.
UIInput:AddActionKeyEvent("MenuKey", Enum.Key.M) --조작 키 이벤트를 추가해요.
UIInput:AddAxisKeyEvent("AxisKey", Enum.Key.Q, 1) --조작 축 이벤트를 추가해요.
Input:ActiveGroup("UIInput") --조작그룹을 활성화해요.
UIInput:ProcessInputActionEvent("MenuKey", Enum.KeyInputType.Pressed, function() --조작이 발생했을때 처리할 이벤트를 등록해요.
print("ProcessInputActionEvent!")
end)
UIInput:ProcessInputAxisEvent("AxisKey", function(value) --조작이 발생했을때 처리할 이벤트를 등록해요.
print("ProcessInputAxisEvent! " .. value)
end)
void ProcessTouchAxisEvent(string Event, function ProcessFunction)
축 터치 인풋 이벤트를 연결하는 함수에요. (설정할 이벤트 이름, 연결 함수)
-- 샘플 --
UIInput = Input:AddGroup("UIInput") --조작그룹을 추가해요.
UIInput:AddActionKeyEvent("MenuKey", Enum.Key.GamePad_Button1) --조작 터치 이벤트를 추가해요.
UIInput:AddAxisKeyEvent("AxisKey", Enum.Key.Screen_Pinch, 1) --조작 축 터치 이벤트를 추가해요.
Input:ActiveGroup("UIInput") --조작그룹을 활성화해요.
UIInput:ProcessTouchActionEvent("MenuKey", Enum.TouchType.Pressed, function() --조작이 발생했을때 처리할 이벤트를 등록해요.
print("ProcessTouchActionEvent!")
end)
UIInput:ProcessTouchAxisEvent("AxisKey", function(value) --조작이 발생했을때 처리할 이벤트를 등록해요.
print("ProcessTouchAxisEvent! " .. value)
end)
void ProcessInputActionEvent(string Event, ModeInputType InputType, function ProcessFunction)
키 인풋 이벤트를 연결하는 함수에요. (설정할 이벤트 이름, Enum.KeyInputType.타입 , 연결 함수)
-- 샘플 --
UIInput = Input:AddGroup("UIInput") --조작그룹을 추가해요.
UIInput:AddActionKeyEvent("MenuKey", Enum.Key.M) --조작 키 이벤트를 추가해요.
UIInput:AddAxisKeyEvent("AxisKey", Enum.Key.Q, 1) --조작 축 이벤트를 추가해요.
Input:ActiveGroup("UIInput") --조작그룹을 활성화해요.
UIInput:ProcessInputActionEvent("MenuKey", Enum.KeyInputType.Pressed, function() --조작이 발생했을때 처리할 이벤트를 등록해요.
print("ProcessInputActionEvent!")
end)
UIInput:ProcessInputAxisEvent("AxisKey", function(value) --조작이 발생했을때 처리할 이벤트를 등록해요.
print("ProcessInputAxisEvent! " .. value)
end)
void ProcessTouchActionEvent(string Event, ModetouchType TouchType, function ProcessFunction)
터치 인풋 이벤트를 연결하는 함수에요.
-- 샘플 --
UIInput = Input:AddGroup("UIInput") --조작그룹을 추가해요.
UIInput:AddActionKeyEvent("MenuKey", Enum.Key.GamePad_Button1) --조작 터치 이벤트를 추가해요.
UIInput:AddAxisKeyEvent("AxisKey", Enum.Key.Screen_Pinch, 1) --조작 축 터치 이벤트를 추가해요.
Input:ActiveGroup("UIInput") --조작그룹을 활성화해요.
UIInput:ProcessTouchActionEvent("MenuKey", Enum.TouchType.Pressed, function() --조작이 발생했을때 처리할 이벤트를 등록해요.
print("ProcessInputActionEvent!")
end)
UIInput:ProcessTouchAxisEvent("AxisKey", function(value) --조작이 발생했을때 처리할 이벤트를 등록해요.
print("ProcessTouchAxisEvent! " .. value)
end)
void MoveDir(Vector Dir, number Value)
주어진 방향으로 일정 값만큼 캐릭터를 이동시켜요. 설정된 이동 타입에 관계없이 동작해요. (원하는 이동방향 Vector 값, 이동할 크기)
-- 샘플 --
local Direction = Vector.new(1, 0, 0)
LocalPlayer:MoveDir(Direction, 1)
void MoveForward(number Value)
설정된 이동 타입에 따라 앞으로 이동시켜요. (1 : 전진, -1 : 후진 이동)
-- 샘플 --
LocalPlayer:MoveForward(1)
void MoveRight(number Value)
좌, 우로 이동시켜요. (-1 : 좌측, 1 : 우측 이동)
-- 샘플 --
LocalPlayer:MoveRight(1)
void Turn(number Value)
캐릭터의 바라보는 좌우 방향을 설정해요. (-1 : 좌측, 1 : 우측 방향 값)
-- 샘플 --
LocalPlayer:Turn(1)
void LookUp(number Value)
캐릭터의 바라보는 상하 방향을 설정해요. (-1 : 밑,1 : 위에 방향 값)
-- 샘플 --
LocalPlayer:LookUp(1)
void ZoomInOut(number Value)
카메라의 줌을 설정할 수 있어요. (설정할 카메라 줌 크기 값) Zoom 값 변경시 카메라의 줌 최소 &최대값을 넘을 수 없어요.
-- 샘플 --
local camera = LocalPlayer:GetCurrentCamera()
camera:ZoomInOut(0.5) --카메라의 확대축소값을 조절해요.
void Jump()
점프동작을 실행해요.
-- 샘플 --
LocalPlayer:Jump()
bool GetEnableMovementControl()
자신의 캐릭터 움직임 컨트롤 가능 여부를 얻습니다. (활성, 비활성 여부)
-- 샘플 --
print(LocalPlayer:GetEnableMovementControl())
void SetEnableMovementControl(bool Enable)
자신의 캐릭터 움직임 컨트롤 가능 여부를 결정해요. (활성, 비활성 여부)
-- 샘플 --
LocalPlayer:SetEnableMovementControl(false) --자신의 이동 조작을 비활성화해요.
bool GetEnableCameraControl()
자신의 카메라 움직임 컨트롤 가능 여부를 얻습니다. (활성, 비활성 여부)
-- 샘플 --
print(LocalPlayer:GetEnableCameraControl())
void SetEnableCameraControl(bool Enable)
자신의 카메라 움직임 컨트롤 가능 여부를 결정해요. (활성, 비활성 여부)
-- 샘플 --
LocalPlayer:SetEnableCameraControl(false)
void FreeCamMoveUpDown(number Value)
프리캠을 위, 아래로 이동시켜요. (이동할 크기)
-- 샘플 --
LocalPlayer:FreeCamMoveUpDown(1)
Vector GetCameraForward()
카메라가 바라보는 방향을 얻을 수 있어요.
-- 샘플 --
print(LocalPlayer:GetCameraForward())
Vector GetCameraRight()
카메라의 오른쪽 벡터를 얻을 수 있어요.
-- 샘플 --
print(LocalPlayer:GetCameraRight())
Vector GetForwardVector()
(deprecated) 카메라가 바라보는 방향을 얻을 수 있어요.
Vector GetRightVector()
(deprecated) 카메라의 오른쪽 벡터를 얻을 수 있어요.
RemotePlayer GetRemotePlayer()
자신의 플레이어를 얻을 수 있어요.
-- 샘플 --
local player = LocalPlayer:GetRemotePlayer() --자신의 플레이어를 반환해요.
number GetInventorySize()
인벤토리의 사이즈를 얻을 수 있어요.
-- 샘플 --
print(LocalPlayer:GetInventorySize()) --플레이어의 인벤토리 사이즈를 숫자로 반환해요.
ItemObject GetInventoryItem(number InventoryIndex)
지정된 칸의 인벤토리 아이템을 얻을 수 있어요. (인벤토리 칸)
-- 샘플 --
if player:GetInventoryItem(1) ~= nil then
print(player:GetInventoryItem(1).Name) --지정된 칸의 인벤토리 아이템을 반환해요.
end
void UseInventoryItem(number InventoryIndex, bool UseOtherSlotItem)
지정된 칸의 인벤토리 아이템을 사용해요. (사용할 아이템칸, 다른 슬롯의 같은 아이템도 포함해서 사용할지 여부)
-- 샘플 --
LocalPlayer:UseInventoryItem(1, false)
void EquipInventoryItem(number InventoryIndex)
지정된 칸의 인벤토리 아이템을 착용해요. (착용할 아이템칸)
-- 샘플 --
LocalPlayer:EquipInventoryItem(1)
void UnEquipInventoryItem(number InventoryIndex)
지정된 칸의 인벤토리 아이템의 착용을 해제해요. (해제 할 아이템칸)
-- 샘플 --
LocalPlayer:UnEquipInventoryItem(1)
void UnEquipItem(string EquipSlotName)
장착되어 있는 Slot이름을 통하여 착용 아이템을 해제시켜요. (해제할 Slot이름)
-- 샘플 --
LocalPlayer:UnEquipItem("EquipSlot_1")
void ActionItem(string EquipSlotName, string ActionName)
착용하고 있는 아이템의 액션을 설정하는 함수에요. (설정할 장착 Slot이름, 액션 이름)
void WorldDropInventoryItem(number InventoryIndex, number Angle, number Distance)
지정된 칸의 아이템을 월드에 드랍시켜요. (월드 드랍할 인벤토리 인덱스, 드랍각도, 드랍거리(meter))
void SwapInventoryItem(number InventoryIndex, number InventoryIndex_Other)
인벤토리 안의 두 아이템 위치를 서로 바꿔요.
Table GetInventoryItemList()
인벤토리 안의 모든 아이템을 얻어요. 결과값은 슬롯 인덱스와 해당 슬롯의 아이템을 쌍으로 하는 테이블이에요.
-- 샘플 --
local InvenItemList = LocalPlayer:GetInventoryItemList()
for slotIndex, slotItem in pairs(InvenItemList) do
print(slotIndex .. " " .. slotItem.Name)
end
number GetQuickSlotCount()
퀵 슬롯의 갯수를 얻을 수 있어요.
void SetItemQuickSlot(number QuickSlotId, number InventoryIndex)
아이템을 퀵슬롯에 등록해요.
void ReleaseItemQuickSlot(number QuickSlotId)
아이템을 퀵슬롯에서 해제해요.
void ClearQuickSlot()
퀵슬롯에 등록된 모든 아이템 해제해요.
void SwapItemQuickSlot(number QuickSlotId_A, number QuickSlotId_B)
퀵슬롯에 등록된 두 아이템을 서로 바꿔요.
void UseItemQuickSlot(number QuickSlotId)
퀵슬롯에 등록된 아이템을 사용해요.
Item GetItemQuickSlot(number QuickSlotId)
퀵슬롯에 등록된 아이템을 얻어요.
ObjectCamera GetCurrentCamera()
현재 Camera Object를 얻는다.
-- 샘플 --
local camera = LocalPlayer:GetCurrentCamera() --캐릭터의 카메라를 반환해요.
ObjectCamera SetCurrentCamera(ObjectCamera SourceCamera)
SourceCamera를 복사하고, 복사된 Camera로 전환 합니다. 이전 camera는 삭제됩니다.(생성 할 SourceObject)
-- 샘플 --
local targetCharacter = LocalPlayer:GetRemotePlayer():GetCharacter()
local sourceCamera = Workspace.MainCamera
local characterCamera = LocalPlayer:SetCurrentCamera(sourceCamera) --플레이어에게 카메라를 할당해요.
LocalPlayer:ResetIgnoreLookInput() --카메라 조작을 초기화해요.
characterCamera.Parent = targetCharacter --카메라의 부모 오브젝트를 설정해요.
characterCamera:SetLookAtTarget(nil) --카메라가 대상 오브젝트를 바라보게 해요. (nil이면 바라보지 않아요.)
bool ApplyCurrentCamera(ObjectCamera TargetCamera)
ScriptWorldObject or ScriptWorldObject의 child에 camera가 있다면 현재 camera로 전환
-- 샘플 --
local targetCam = Workspace.SomeCamera
local isSuccess = LocalPlayer:ApplyCurrentCamera(targetCam)
Vector GetControlRotation()
Control 각도를 얻을 수 있어요 (Vector.X : Pitch, Vector.Y : Yaw, Vector.Z : Roll)
-- 샘플 --
local PreRotation = LocalPlayer:GetControlRotation() -- 카메라의 현재 Control 각도를 반환해요.
void SetControlRotation(Vector TagetVector)
Control 각도를 설정해요 (Vector.X : Pitch, Vector.Y : Yaw, Vector.Z : Roll)
-- 샘플 --
LocalPlayer:SetControlRotation(Vector.new(0, 200, 0)) --카메라의 Control 각도을 설정해요.
void ResetIgnoreLookInput()
(deprecated) Stops ignoring look input by resetting the ignore look input state (deprecated) 플레이어에게 할당된 카메라 조작을 초기화해요.
-- 샘플 --
LocalPlayer:ResetIgnoreLookInput() --카메라 조작을 초기화해요.
void SetIgnoreLookInput(bool InValue)
(deprecated) Locks or unlocks look input, consecutive calls stack up and require the same amount of calls to undo, or can all be undone using ResetIgnoreLookInput. (deprecated) 플레이어의 카메라 조작 가능 여부를 설정해요.
-- 샘플 --
LocalPlayer:SetIgnoreLookInput(true) --자신의 카메라 조작을 비활성화해요.
void JoinChattingChannel(string ChannelName)
(deprecated) 채팅 채널에 들어가요. (들어갈 채팅 채널)
void JoinTextChannel(string ChannelName)
채팅 채널에 들어가요. (들어갈 채팅 채널 이름)
void LeaveChattingChannel(string ChannelName)
(deprecated) 채팅 채널에서 나가요. (나갈 채팅 채널)
void LeaveTextChannel(string ChannelName)
채팅 채널에서 나가요. (나갈 채팅 채널 이름)
-- 샘플 --
local ChannelName = "Channel1"
LocalPlayer:LeaveChattingChannel(ChannelName) -- Channel1 채팅 체널에 들어가요.
void JoinVoiceChannel(string ChannelName)
음성 채널에 들어가요. (들어갈 채팅 채널 이름)
void LeaveVoiceChannel(string ChannelName)
음성 채널에서 나가요. (나갈 채팅 채널 이름)
void ActiveVoiceMic(bool Value)
음성 채팅 (보이스) 켜기 / 끄기
void JoinChattingChannel2D(string ChannelName)
(deprecated) 음성 채팅 2D 채널에 들어가요. (들어갈 채팅 채널)
void MuteVoiceChat(string ChannelName)
(deprecated) 해당 채널의 음성채팅을 음소거해요. (음소거 할 채팅 채널)
void UnmuteVoiceChat(string ChannelName)
(deprecated) 해당 채널의 음성채팅을 음소거를 해제 해요. (음소거 해제 할 채팅 채널)
void JoinVideoChannel(string ChannelName)
화상 채팅 채널 입장 . (들어갈 채널)
void LeaveVideoChannel(string ChannelName)
화상 채팅 채널 퇴장. (나갈 채널)
void ActiveVideoCamera(bool Value)
화상 채팅 (화상 캠) 켜기 / 끄기
void ActiveVideoVoice(bool Value)
화상 채팅 (보이스) 켜기 / 끄기
void EnterChannelSingingRoom(string ChannelName)
노래방 채널에 들어가요. (들어갈 채널)
void LeaveChannelSingingRoom()
노래방 채널에서 나가요. (나갈 채널)
string GetToken()
임시 - 인디용. 해당 플레이어의 토큰을 얻을 수 있어요.
void SetEnableSelfCameraMenu(bool enable)
셀프카메라 버튼을 활성 및 비활성화해요.
-- 샘플 --
LocalPlayer:SetEnableSelfCamera(false) --셀프카메라 사용 여부를 비활성화해요. (버튼이 비활성화돼요)
bool IsSelfCamera()
현재 셀프카메라 모드인지 확인해요.
-- 샘플 --
local selfCamState = LocalPlayer:IsSelfCamera() --셀프카메라 상태이면 true를 반환해요.
void StartSelfCamera()
셀프카메라 상태를 시작해요.
-- 샘플 --
LocalPlayer:StartSelfCamera() --셀프카메라 상태를 시작해요
void ExitSelfCamera()
셀프카메라 상태를 종료해요.
-- 샘플 --
LocalPlayer:ExitSelfCamera() --셀프카메라 상태를 종료해요
void TakeSelfCamera()
셀프카메라를 촬영해요.
-- 샘플 --
LocalPlayer:TakeSelfCamera() --셀프카메라를 촬영해요
void SetInputMode(InputMode Mode)
입력모드를 설정해요. 게임모드, UI모드, 게임과 UI 동시모드 3개 중에 설정할 수 있어요.
-- 샘플 --
LocalPlayer:SetInputMode(Enum.InputMode.UI)
InputMode GetInputMode()
현재 입력모드를 얻어요.
-- 샘플 --
local CurrentInputMode = LocalPlayer:GetInputMode()
void StoreCurrentInputMode()
현재 입력모드를 임시저장 해요.
-- 샘플 --
LocalPlayer:StoreCurrentInputMode()
void RestorePreviousInputMode()
StoreCurrentInputMode 함수로 저장했던 모드로 되돌아가요.
-- 샘플 --
LocalPlayer:RestorePreviousInputMode()
사용 가능한 부모 오브젝트 기능들
속성
이벤트
이름
설명
함수
이름
설명
추가된 값이 변경 될 때 호출되는 이벤트에요. (Value 이름, 연결 함수)
이름으로 자식 객체를 얻을 수 있어요. (찾고싶은 자식 객체 이름)
자식 객체의 리스트를 얻을 수 있어요.
캐릭터인지 확인할 수 있어요.
스테틱 메시인지 확인할 수 있어요.
FX인지 확인할 수 있어요.
Sound인지 확인할 수 있어요.
포인트 라이트인지 확인할 수 있어요.
스포트 라이트인지 확인할 수 있어요.
서피스 UI인지 확인할 수 있어요.
스크린 UI인지 확인할 수 있어요.
터치 UI인지 확인할 수 있어요.
아이템인지 확인할 수 있어요.
NPC인지 확인할 수 있어요.
스트립트인지 확인할 수 있어요.
Collider인지 확인할 수 있어요.
Widget인지 확인할 수 있어요.
Camera인지 확인할 수 있어요.
해당 오브젝트가 유효한지 확인 할 수있어요.
해당 오브젝트의 값이 유효한지 확인할 수 있어요.
해당 객체에 서버, 클라이언트 간 동기화가 가능한 벡터를 추가해요. (추가할 Value 이름, Vector 데이터, Enum.ReplicateType.타입 , 동기화 시간)
해당 객체에 서버, 클라이언트 간 동기화가 가능한 실수를 추가해요. (추가할 Value 이름, number 데이터, Enum.ReplicateType.타입 , 동기화 시간)
해당 객체에 서버, 클라이언트 간 동기화가 가능한 bool를 추가해요. (추가할 Value 이름, bool 데이터, Enum.ReplicateType.타입 , 동기화 시간)
해당 객체에 서버, 클라이언트 간 동기화가 가능한 문자열을 추가해요. (추가할 Value 이름, string 데이터, Enum.ReplicateType.타입 , 동기화 시간)
해당 객체에 서버, 클라이언트 간 동기화가 가능한 컬러를 추가해요. (추가할 Value 이름, Color 데이터, Enum.ReplicateType.타입 , 동기화 시간)
Last updated
Was this helpful?