Player

Player

κ²Œμž„μ— μ°Έμ—¬ν•œ ν”Œλ ˆμ΄μ–΄ κ°μ²΄μ—μš”. 이 κΈ°λŠ₯듀은 μ„œλ²„μ—μ„œλ§Œ μ‚¬μš© κ°€λŠ₯ν•΄μš”.

ν•¨μˆ˜

Character GetCharacter()

ν”Œλ ˆμ΄μ–΄μ˜ 캐릭터λ₯Ό 얻을 수 μžˆμ–΄μš”.

-- μƒ˜ν”Œ --

local character = player:GetCharacter() --ν”Œλ ˆμ΄μ–΄μ˜ 캐릭터λ₯Ό λ°˜ν™˜ν•΄μš”.

number GetPlayerID()

ν”Œλ ˆμ΄μ–΄μ˜ 아이디λ₯Ό 얻을 수 μžˆμ–΄μš”.

-- μƒ˜ν”Œ --

print(player:GetPlayerID()) --ν”Œλ ˆμ΄μ–΄μ˜ ν”Œλ ˆμ΄μ–΄ 아이디λ₯Ό 숫자둜 λ°˜ν™˜ν•΄μš”.

string GetPlayerNickName()

ν”Œλ ˆμ΄μ–΄μ˜ λ‹‰λ„€μž„μ„ 얻을 수 μžˆμ–΄μš”.

-- μƒ˜ν”Œ --

print(player:GetPlayerNickName()) --ν”Œλ ˆμ΄μ–΄μ˜ ν”Œλ ˆμ΄μ–΄ λ‹‰λ„€μž„μ„ 문자둜 λ°˜ν™˜ν•΄μš”.

string GetTeamName()

ν”Œλ ˆμ΄μ–΄κ°€ μ†ν•΄μžˆλŠ” νŒ€ 이름을 얻을 수 μžˆμ–΄μš”.

-- μƒ˜ν”Œ --

print(player.Name .. " Team : " .. player:GetTeamName()) --νŒ€ 이름을 λ°˜ν™˜ν•΄μš”.

void KillCharacter()

ν”Œλ ˆμ΄μ–΄ 캐릭터λ₯Ό 죽게 ν•˜λŠ” ν•¨μˆ˜μ—μš”.

-- μƒ˜ν”Œ --

player:KillCharacter() --ν”Œλ ˆμ΄μ–΄μ˜ 캐릭터λ₯Ό μ£½μ—¬μš”.

void RespawnCharacter()

ν”Œλ ˆμ΄μ–΄ 캐릭터λ₯Ό 리슀폰 μ‹œν‚€λŠ” ν•¨μˆ˜μ—μš”.

-- μƒ˜ν”Œ --

player:RespawnCharacter() --ν”Œλ ˆμ΄μ–΄μ˜ 캐릭터λ₯Ό λ¦¬μŠ€ν°ν•΄μš”.

void SetCheckPoint(SpawnPoint SpawnPointObject)

ν”Œλ ˆμ΄μ–΄μ˜ 체크 포인트λ₯Ό μ„€μ •ν•  수 μžˆμ–΄μš” (μ„€μ •ν•  슀폰 포인트 였브젝트)

void SetCheckPoint(Object TargetObject)

ν”Œλ ˆμ΄μ–΄μ˜ 체크 포인트λ₯Ό μ„€μ •ν•  수 μžˆμ–΄μš” (μ„€μ •ν•  μ›”λ“œ 였브젝트)

-- μƒ˜ν”Œ --

local NewCheckPoint = Workspace.Cube
player:SetCheckPoint(NewCheckPoint)

SpawnPoint GetCheckPoint()

ν”Œλ ˆμ΄μ–΄μ˜ 체크 포인트λ₯Ό κ°€μ Έμ˜¬ 수 μžˆμ–΄μš”.

-- μƒ˜ν”Œ --

local playerCheckPoint = player:GetCheckPoint()
print(playerCheckPoint)

void RemoveCheckPoint()

섀정해놓은 체크 포인트λ₯Ό μ§€μ›Œμš”.

-- μƒ˜ν”Œ --

player:RemoveCheckPoint()

void SetFreeCamMode(bool bFreeCam)

ν”Œλ ˆμ΄μ–΄μ˜ 프리캠 λͺ¨λ“œ μ‚¬μš©μ—¬λΆ€λ₯Ό μ„€μ •ν•  수 μžˆμ–΄μš”. (프리캠 μ‚¬μš© μ—¬λΆ€)

-- μƒ˜ν”Œ --

player:SetFreeCamMode(true)

bool GetFreeCamMode()

ν•΄λ‹Ή ν”Œλ ˆμ΄μ–΄κ°€ 프리캠 λͺ¨λ“œ μƒνƒœμΈμ§€ κ°€μ Έμ˜¬ 수 μžˆμ–΄μš”.

-- μƒ˜ν”Œ --

player:SetFreeCamMode(true)
local freeCamMode = player:GetFreeCamMode()
print(freeCamMode) -- true

void RequestFreeCam(number WaitTime)

μ§€μ •λœ μ‹œκ°„μ΄ μ§€λ‚œ 후에 ν”Œλ ˆμ΄μ–΄μ˜ 프리캠 λͺ¨λ“œλ₯Ό μš”μ²­ν•΄μš”. (λŒ€κΈ° μ‹œκ°„)

-- μƒ˜ν”Œ --

player:RequestFreeCam(3) --3μ΄ˆν›„ 프리캠이 μ‹œμž‘λΌμš”.

bool GiveItem(Item ObjectItem)

ν”Œλ ˆμ΄μ–΄μ—κ²Œ μ•„μ΄ν…œμ„ 쀄 수 μžˆμ–΄μš”. (쀄 μ•„μ΄ν…œ) return 성곡, μ‹€νŒ¨

-- μƒ˜ν”Œ --

local item = Script.Parent

wait(2)
player:GiveItem(item) --ν”Œλ ˆμ΄μ–΄μ—κ²Œ μ•„μ΄ν…œμ„ μ§€κΈ‰ν•΄μš”.

bool GiveItem(Item ObjectItem, number Count)

ν”Œλ ˆμ΄μ–΄μ—κ²Œ μ•„μ΄ν…œμ„ 쀄 수 μžˆμ–΄μš”. (쀄 μ•„μ΄ν…œ, 개수) return 성곡, μ‹€νŒ¨

-- μƒ˜ν”Œ --

local item = Script.Parent
local count = 3

wait(2)
bool isSuccess = player:GiveItem(item, count) --ν”Œλ ˆμ΄μ–΄μ—κ²Œ μ•„μ΄ν…œμ„ 3개 μ§€κΈ‰ν•΄μš”.

number GetInventorySize()

ν”Œλ ˆμ΄μ–΄μ˜ 인벀토리 μ‚¬μ΄μ¦ˆλ₯Ό 얻을 수 μžˆμ–΄μš”.

-- μƒ˜ν”Œ --

print(player:GetInventorySize()) --ν”Œλ ˆμ΄μ–΄μ˜ 인벀토리 μ‚¬μ΄μ¦ˆλ₯Ό 숫자둜 λ°˜ν™˜ν•΄μš”.

void DeleteItem(number index)

ν•΄λ‹Ή ν”Œλ ˆμ΄μ–΄μ˜ 인벀토리 칸에 ν•΄λ‹Ή μ•„μ΄ν…œμ„ μ‚­μ œν•΄μš”. (μ‚­μ œν•˜λ €λŠ” μΉΈ)

-- μƒ˜ν”Œ --

player:DeleteItem(1)

void DeleteItem(number index, number count)

ν•΄λ‹Ή ν”Œλ ˆμ΄μ–΄μ˜ 인벀토리 칸에 ν•΄λ‹Ή μ•„μ΄ν…œμ„ 갯수만큼 μ‚­μ œν•΄μš”. (μ‚­μ œν•˜λ €λŠ” μΉΈ, μ‚­μ œκ°―μˆ˜)

-- μƒ˜ν”Œ --

player:DeleteItem(1, 3)

void DeleteItem(Item TargetItem)

ν•΄λ‹Ή ν”Œλ ˆμ΄μ–΄μ˜ μΈλ²€ν† λ¦¬μ—μ„œ ν•΄λ‹Ήν•˜λŠ” μ•„μ΄ν…œμ„ μ‚­μ œν•΄μš”. (μ‚­μ œν•˜λ €λŠ” μ•„μ΄ν…œ)

-- μƒ˜ν”Œ --

player:DeleteItem(item)

void DeleteItem(Item TargetItem, number count)

ν•΄λ‹Ή ν”Œλ ˆμ΄μ–΄μ˜ μΈλ²€ν† λ¦¬μ—μ„œ ν•΄λ‹Ήν•˜λŠ” μ•„μ΄ν…œμ„ 갯수만큼 μ‚­μ œν•΄μš”. (μ‚­μ œν•˜λ €λŠ” μ•„μ΄ν…œ, μ‚­μ œκ°―μˆ˜)

-- μƒ˜ν”Œ --

player:DeleteItem(item, 3)

void ClearItem()

ν”Œλ ˆμ΄μ–΄μ˜ μ•„μ΄ν…œμ„ λͺ¨λ‘ μ œκ±°ν•΄μš”.

-- μƒ˜ν”Œ --

player:ClearItem()

bool EquipInventoryItem(number InventoryIndex)

ν”Œλ ˆμ΄μ–΄ 캐릭터에 μ•„μ΄ν…œμ„ μž₯μ°©μ‹œν‚¬ 수 μžˆμ–΄μš”. (μž₯μ°© ν•  인벀토리 μΉΈ)

-- μƒ˜ν”Œ --

local item = Script.Parent
local collider = Item.BoxCollider

local function GetItem(self, character)
    if not character:IsCharacter() then
        return
    end

    local player = character:GetPlayer()
    bool isSuccess = player:GiveItem(item) --ν”Œλ ˆμ΄μ–΄μ—κ²Œ μ•„μ΄ν…œμ„ μ§€κΈ‰ν•΄μš”.

    if isSuccess then
        local InvenItemList = Player:GetInventoryItemList()

        --ν”Œλ ˆμ΄μ–΄ μΈλ²€ν† λ¦¬μ—μ„œ μ΄λ¦„μœΌλ‘œ μ•„μ΄ν…œμ„ μ°Ύμ•„μš”.
        for slotIndex, slotItem in pairs(InvenItemList) do
            if slotItem.Name == item.Name then
                --ν”Œλ ˆμ΄μ–΄ 캐릭터에 μ•„μ΄ν…œμ„ μž₯μ°©μ‹œμΌœμš”.
                player:EquipInventoryItem(slotIndex)
                return
            end
        end
    end
end
collider.Collision.OnBeginOverlapEvent:Connect(GetItem)

void SwapInventoryItem(number InventoryIndex, number InventoryIndex_Other)

인벀토리 μ•ˆμ˜ 두 μ•„μ΄ν…œ μœ„μΉ˜λ₯Ό μ„œλ‘œ λ°”κΏ”μš”.

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)

ν€΅μŠ¬λ‘―μ— λ“±λ‘λœ μ•„μ΄ν…œμ„ μ–»μ–΄μš”.

void SetEnableCollisionBetweenCharacters(bool Enable)

ν”Œλ ˆμ΄μ–΄κ°„μ˜ 좩돌 μ—¬λΆ€λ₯Ό μ„€μ •ν•  수 μžˆμ–΄μš”. (좩돌 μ—¬λΆ€)

-- μƒ˜ν”Œ --

player:SetEnableCollisionBetweenCharacters(false) --νŠΉμ • ν”Œλ ˆμ΄μ–΄κ°€ λ‹€λ₯Έ 캐릭터와 μΆ©λŒλ˜μ§€ μ•Šκ²Œ μ„€μ •ν•΄μš”.

void SetUserCollisionTypeResponse(string UserCollisionType, CollisionResponse Response)

μœ μ €κ°€ 좩돌 μ‹œ λ°œμƒ νƒ€μž…μ„ μ„€μ •ν•  수 μžˆμ–΄μš”. (좩돌 νƒ€μž… 이름 μ„€μ •, Enum.CollisionResponse.νƒ€μž… )

-- μƒ˜ν”Œ --

Game:AddUserCollisionType("CollisionTag1") --κ²Œμž„μ— μœ μ € 좩돌 νƒ€μž…(CollisionTag1)을 μΆ”κ°€ν•΄μš”.

local cube1 = Workspace.Cube1
local cube2 = Workspace.Cube2

cube1.Collision:SetCollisionType("CollisionTag1") --객체A에 좩돌 νƒ€μž…(CollisionTag1)을 μ„€μ •ν•΄μš”.

cube2.Collision:SetUserCollisionTypeResponse("CollisionTag1", Enum.CollisionResponse.Overlap) --또 λ‹€λ₯Έ 객체B에 좩돌 νƒ€μž…(CollisionTag1)별 좩돌 λ°˜μ‘μ„ μ„€μ •ν•΄μš”.

bool HaveInventorySaveData()

μ €μž₯μ†Œμ— μΈλ²ˆν† λ¦¬μ— λŒ€ν•œ 데이터가 μ €μž₯λ˜μ–΄ μžˆλŠ”μ§€ 확인할 수 μžˆμ–΄μš”.

-- μƒ˜ν”Œ --

print(player:HaveInventorySaveData()) --μ €μž₯μ†Œμ— μΈλ²ˆν† λ¦¬μ— λŒ€ν•œ 데이터가 μ €μž₯λ˜μ–΄ 있으면 trueλ₯Ό λ°˜ν™˜ν•΄μš”.

HitResult LineTrace(Vector Start, Vector Dir, number Distance)

(deprecated) μ„€μ •λœ μ‹œμž‘ μ§€μ μ—μ„œ μ›ν•˜λŠ” λ°©ν–₯으둜 μ§€μ •λœ 거리 만큼 좩돌이 μžˆλŠ”μ§€ 체크할 수 μžˆμ–΄μš”. (μ‹œμž‘ 지점 Vector, λ°©ν–₯ Vector, 거리 κ°’) μ‚¬μš©ν•˜λŠ” playerλŠ” μ²΄ν¬μ—μ„œ μ œμ™Έλ©λ‹ˆλ‹€.

HitResult LineTrace(Vector Start, Vector Dir, number Distance, string UserCollisionTypeName)

(deprecated) μ„€μ •λœ μ‹œμž‘ μ§€μ μ—μ„œ μ›ν•˜λŠ” λ°©ν–₯으둜 μ§€μ •λœ 거리 만큼 μœ μ €κ°€ μΆ”κ°€ν•œ 좩돌 νƒ€μž…κ³Όμ˜ 좩돌이 μžˆλŠ”μ§€ 체크할 수 μžˆμ–΄μš”. (μ‹œμž‘ 지점 Vector, λ°©ν–₯ Vector, 거리 κ°’, μ›ν•˜λŠ” μœ μ € 좩돌 νƒ€μž… 이름) μ‚¬μš©ν•˜λŠ” playerλŠ” μ²΄ν¬μ—μ„œ μ œμ™Έλ©λ‹ˆλ‹€.

HitResult LineTraceList(Vector Dir, number Distance)

μ„€μ •λœ μ‹œμž‘ μ§€μ μ—μ„œ μ›ν•˜λŠ” λ°©ν–₯으둜 μ§€μ •λœ 거리 만큼 좩돌이 μžˆλŠ”μ§€ 체크할 수 μžˆμ–΄μš”. (μ‹œμž‘ 지점 Vector, λ°©ν–₯ Vector, 거리 κ°’) μ‚¬μš©ν•˜λŠ” playerλŠ” μ²΄ν¬μ—μ„œ μ œμ™Έλ©λ‹ˆλ‹€.

HitResult LineTraceList(Vector Dir, number Distance, string UserCollisionTypeName)

μ„€μ •λœ μ‹œμž‘ μ§€μ μ—μ„œ μ›ν•˜λŠ” λ°©ν–₯으둜 μ§€μ •λœ 거리 만큼 μœ μ €κ°€ μΆ”κ°€ν•œ 좩돌 νƒ€μž…κ³Όμ˜ 좩돌이 μžˆλŠ”μ§€ 체크할 수 μžˆμ–΄μš”. (μ‹œμž‘ 지점 Vector, λ°©ν–₯ Vector, 거리 κ°’, μ›ν•˜λŠ” μœ μ € 좩돌 νƒ€μž… 이름) μ‚¬μš©ν•˜λŠ” playerλŠ” μ²΄ν¬μ—μ„œ μ œμ™Έλ©λ‹ˆλ‹€.

-- μƒ˜ν”Œ --

local startPos = Workspace.Cube.Transform.Location
local dir = Vector.new(1, 0, 0)
local distance = 1000

local target = player:LineTrace(startPos, dir, distance) --μ‹œμž‘ μœ„μΉ˜μ—μ„œ 지정 λ°©ν–₯의 거리에 μΆ©λŒμ²΄κ°€ 있으면 좩돌 정보λ₯Ό λ°˜ν™˜ν•΄μš”.

print(target.HitObject.Name) --μΆ©λŒν•œ μ˜€λΈŒμ νŠΈμ—μš”.
print(target.HitLocation) --μΆ©λŒν•œ 였브젝트의 μœ„μΉ˜μ—μš”.

ItemObject GetInventoryItem(number InventoryIndex)

μ§€μ •λœ 칸의 인벀토리 μ•„μ΄ν…œμ„ 얻을 수 μžˆμ–΄μš”. (인벀토리 μΉΈ)

-- μƒ˜ν”Œ --

if player:GetInventoryItem(1) ~= nil then
    print(player:GetInventoryItem(1).Name) --μ§€μ •λœ 칸의 인벀토리 μ•„μ΄ν…œμ„ λ°˜ν™˜ν•΄μš”.
end

Table GetInventoryItemList()

인벀토리 μ•ˆμ˜ λͺ¨λ“  μ•„μ΄ν…œμ„ μ–»μ–΄μš”. 결과값은 슬둯 μΈλ±μŠ€μ™€ ν•΄λ‹Ή 슬둯의 μ•„μ΄ν…œμ„ 쌍으둜 ν•˜λŠ” ν…Œμ΄λΈ”μ΄μ—μš”.

-- μƒ˜ν”Œ --

local InvenItemList = Player:GetInventoryItemList()

for slotIndex, slotItem in pairs(InvenItemList) do
		print(slotIndex .. " " .. slotItem.Name)
end

Item GetEquipItem(string EquipSlot)

ν”Œλ ˆμ΄μ–΄ 캐릭터가 μ°©μš©μ€‘μΈ μ•„μ΄ν…œμ„ 얻을 수 μžˆμ–΄μš”. (μž₯μ°© 쀑인 μ•„μ΄ν…œ 슬둯)

-- μƒ˜ν”Œ --

if player:GetEquipItem("EquipSlot_1") ~= nil then
    print(player:GetEquipItem("EquipSlot_1").Name) --ν”Œλ ˆμ΄μ–΄ 캐릭터가 μ°©μš©μ€‘μΈ μ•„μ΄ν…œμ„ λ°˜ν™˜ν•΄μš”.
end

void AddSaveValue(string ValueName, Vector Data, ReplicateType Type, number Time)

ν•΄λ‹Ή μœ μ €μ˜ μ €μž₯λ˜λŠ” 벑터λ₯Ό μΆ”κ°€ν•΄μš”. (Value 이름, Vector 데이터, Enum.ReplicateType.νƒ€μž… , 동기화 μ‹œκ°„)

void AddSaveValue(string ValueName, number Data, ReplicateType Type, number Time)

ν•΄λ‹Ή μœ μ €μ˜ μ €μž₯λ˜λŠ” μ‹€μˆ˜λ₯Ό μΆ”κ°€ν•΄μš”. (Value 이름, number 데이터, Enum.ReplicateType.νƒ€μž… , 동기화 μ‹œκ°„)

void AddSaveValue(string ValueName, bool Data, ReplicateType Type, number Time)

ν•΄λ‹Ή μœ μ €μ˜ μ €μž₯λ˜λŠ” bool을 μΆ”κ°€ν•΄μš”. (Value 이름, bool 데이터, Enum.ReplicateType.νƒ€μž… , 동기화 μ‹œκ°„)

void AddSaveValue(string ValueName, string Data, ReplicateType Type, number Time)

ν•΄λ‹Ή μœ μ €μ˜ μ €μž₯λ˜λŠ” λ¬Έμžμ—΄μ„ μΆ”κ°€ν•΄μš”. (Value 이름, string 데이터, Enum.ReplicateType.νƒ€μž… , 동기화 μ‹œκ°„)

void AddSaveValue(string ValueName, Color Data, ReplicateType Type, number Time)

ν•΄λ‹Ή μœ μ €μ˜ μ €μž₯λ˜λŠ” 컬러λ₯Ό μΆ”κ°€ν•΄μš”. (Value 이름, Color 데이터, Enum.ReplicateType.νƒ€μž… , 동기화 μ‹œκ°„)

void AddLandTransferData(string ValueName, Vector Value)

void AddLandTransferData(string ValueName, Double Value)

void AddLandTransferData(string ValueName, Bool Value)

void AddLandTransferData(string ValueName, string Value)

void AddLandTransferData(string ValueName, Color Value)

λžœλ“œ μ΄λ™μ‹œ λ‹€λ₯Έ λžœλ“œλ‘œ 전달할 데이터λ₯Ό μΆ”κ°€ν•  수 μžˆμ–΄μš”. 보톡 AddTeleportStartEvent와 같이 μ‚¬μš©ν•΄μš”

-- μƒ˜ν”Œ --

local LandOrder1 = 1
local function StartTeleport_Land1(player)
    --ν…”λ ˆν¬νŠΈν•  λžœλ“œμ—μ„œ μ‚¬μš©ν•  데이터λ₯Ό μ €μž₯ν•΄μš”.
	player:AddLandTransferData("LevelData1", 124)
	player:AddLandTransferData("PartyName", "DeathParty")
end
Game:AddTeleportStartEvent(LandOrder1, StartTeleport_Land1) --ν”Œλ ˆμ΄μ–΄κ°€ νŠΉμ • λžœλ“œλ‘œ ν…”λ ˆν¬νŠΈ 이동을 μ‹œμž‘ν• λ•Œ ν˜ΈμΆœλ˜λŠ” ν•¨μˆ˜λ₯Ό μ—°κ²°ν•΄μš”.

local LandOrder2 = 3
local function StartTeleport_Land2(player)
    --ν…”λ ˆν¬νŠΈν•  λžœλ“œμ—μ„œ μ‚¬μš©ν•  데이터λ₯Ό μ €μž₯ν•΄μš”.
	player:AddLandTransferData("LevelData2", 555)
	player:AddLandTransferData("PartyName", "FriendParty")
end
Game:AddTeleportStartEvent(LandOrder2, StartTeleport_Land2) --ν”Œλ ˆμ΄μ–΄κ°€ νŠΉμ • λžœλ“œλ‘œ ν…”λ ˆν¬νŠΈ 이동을 μ‹œμž‘ν• λ•Œ ν˜ΈμΆœλ˜λŠ” ν•¨μˆ˜λ₯Ό μ—°κ²°ν•΄μš”.

Vector GetLandTransferData(Vector ValueName)

Double GetLandTransferData(Double ValueName)

Bool GetLandTransferData(Bool ValueName)

string GetLandTransferData(string ValueName)

Color GetLandTransferData(Color ValueName)

이전 λžœλ“œμ—μ„œ μ„€μ •ν•œ 데이터λ₯Ό κ°€μ Έμ˜¬ 수 μžˆμ–΄μš”.

-- μƒ˜ν”Œ --

player:GetLandTransferData("LevelData")	--이전 λžœλ“œμ—μ„œ μ„€μ •ν•œ 값을 κ°€μ Έμ™€μš”.
player:GetLandTransferData("PartyName")	--이전 λžœλ“œμ—μ„œ μ„€μ •ν•œ 값을 κ°€μ Έμ™€μš”.

void SetUsingCharacterSetting(CharacterSetting CharacterSettingObject)

(deprecated) ν•΄λ‹Ή ν”Œλ ˆμ΄μ–΄μ˜ 캐릭터 μ„ΈνŒ…μ„ μ„€μ •ν•΄μš”. (μ„€μ •ν•  캐릭터 μ„ΈνŒ…)

void SetUsingCharacterSetting(CharacterSetting CharacterSettingObject, bool bUseMyBody)

(deprecated) ν•΄λ‹Ή ν”Œλ ˆμ΄μ–΄μ˜ 캐릭터 μ„ΈνŒ…μ„ μ„€μ •ν•΄μš”. (μ„€μ •ν•  캐릭터 μ„ΈνŒ…, 캐릭터 μ²΄ν˜•μ„ μžμ‹ μ˜ 캐릭터 μ²΄ν˜•μœΌλ‘œ μ‚¬μš©ν• μ§€ μ—¬λΆ€)

void ChangeCharacterSetting(CharacterSetting CharacterSettingObject)

ν•΄λ‹Ή ν”Œλ ˆμ΄μ–΄μ˜ 캐릭터 μ„ΈνŒ…μ„ μ„€μ •ν•΄μš”. (μ„€μ •ν•  캐릭터 μ„ΈνŒ…) Game:SetUsingCharacterSetting κ³Ό 달리 μ¦‰μ‹œ λ°˜μ˜λΌμš”.

-- μƒ˜ν”Œ --

local NewCharacterSetting = Workspace.NewCharacterSetting
player:ChangeCharacterSetting(NewCharacterSetting) --ν•΄λ‹Ή ν”Œλ ˆμ΄μ–΄μ˜ 캐릭터가 λ°”λ‘œ λ³€κ²½λΌμš”

void ChangeCharacterSetting(CharacterSetting CharacterSettingObject, bool bUseMyBody)

ν•΄λ‹Ή ν”Œλ ˆμ΄μ–΄μ˜ 캐릭터 μ„ΈνŒ…μ„ μ„€μ •ν•΄μš”. (μ„€μ •ν•  캐릭터 μ„ΈνŒ…, 캐릭터 μ²΄ν˜•μ„ μžμ‹ μ˜ 캐릭터 μ²΄ν˜•μœΌλ‘œ μ‚¬μš©ν• μ§€ μ—¬λΆ€) Game:SetUsingCharacterSetting κ³Ό 달리 μ¦‰μ‹œ λ°˜μ˜λΌμš”.

-- μƒ˜ν”Œ --

local NewCharacterSetting = Workspace.NewCharacterSetting
player:ChangeCharacterSetting(NewCharacterSetting, false) --ν•΄λ‹Ή ν”Œλ ˆμ΄μ–΄μ˜ 캐릭터가 λ°”λ‘œ λ³€κ²½λΌμš”

CharacterSetting GetUsingCharacterSetting()

(deprecated) ν•΄λ‹Ή ν”Œλ ˆμ΄μ–΄μ˜ μ‚¬μš©μ€‘μΈ 캐릭터 μ„ΈνŒ…μ„ κ°€μ Έμ˜¬ 수 μžˆμ–΄μš”.

void ChangeCharacterBaseSetting(CharacterBaseSetting BaseSettingObject)

ν•΄λ‹Ή ν”Œλ ˆμ΄μ–΄μ˜ 캐릭터 μ„ΈνŒ…μ„ μ„€μ •ν•΄μš”. (μ„€μ •ν•  캐릭터 μ„ΈνŒ…)

-- μƒ˜ν”Œ --

local BaseSettingObject = Toybox.FPSCharacterSetting.BaseSettingObject
player:ChangeCharacterBaseSetting(BaseSettingObject) --ν•΄λ‹Ή ν”Œλ ˆμ΄μ–΄μ˜ 캐릭터가 λ°”λ‘œ λ³€κ²½λΌμš”

void ChangeCharacterAppearanceSetting(CharacterAppearanceSetting AppearanceSettingObject)

ν•΄λ‹Ή ν”Œλ ˆμ΄μ–΄μ˜ 캐릭터 μ„ΈνŒ…μ„ μ„€μ •ν•΄μš”. (μ„€μ •ν•  캐릭터 μ„ΈνŒ…)

-- μƒ˜ν”Œ --

local AppearanceSetting = Toybox.FPSCharacterSetting.AppearanceSetting
player:ChangeCharacterAppearanceSetting(AppearanceSetting) --ν•΄λ‹Ή ν”Œλ ˆμ΄μ–΄μ˜ 캐릭터가 λ°”λ‘œ λ³€κ²½λΌμš”

void ChangeCharacterAnimationSetting(CharacterAnimationSetting AnimationSettingObject)

ν•΄λ‹Ή ν”Œλ ˆμ΄μ–΄μ˜ 캐릭터 μ„ΈνŒ…μ„ μ„€μ •ν•΄μš”. (μ„€μ •ν•  캐릭터 μ„ΈνŒ…)

-- μƒ˜ν”Œ --

local AnimationSetting = Toybox.FPSCharacterSetting.AnimationSetting
player:ChangeCharacterAnimationSetting(AnimationSetting) --ν•΄λ‹Ή ν”Œλ ˆμ΄μ–΄μ˜ 캐릭터가 λ°”λ‘œ λ³€κ²½λΌμš”

void StoreCurrentCharacterSetting()

ν•΄λ‹Ή ν”Œλ ˆμ΄μ–΄μ˜ ν˜„μž¬ 캐릭터 μ„ΈνŒ…μ„ μ €μž₯ν•΄μš”.

void RestorePreviousCharacterSetting()

StoreCurrentCharacterSetting ν•¨μˆ˜λ‘œ μ €μž₯ν–ˆλ˜ μ„ΈνŒ…μœΌλ‘œ λ˜λŒμ•„ κ°‘λ‹ˆλ‹€.

void StoreCurrentCharacterBaseSetting()

ν•΄λ‹Ή ν”Œλ ˆμ΄μ–΄μ˜ ν˜„μž¬ 캐릭터 Base μ„ΈνŒ…μ„ μ €μž₯ν•΄μš”.

void RestorePreviousCharacterBaseSetting()

StoreCurrentCharacterBaseSetting ν•¨μˆ˜λ‘œ μ €μž₯ν–ˆλ˜ μ„ΈνŒ…μœΌλ‘œ λ˜λŒμ•„ κ°‘λ‹ˆλ‹€.

void StoreCurrentCharacterAppearanceSetting()

ν•΄λ‹Ή ν”Œλ ˆμ΄μ–΄μ˜ ν˜„μž¬ 캐릭터 Appearance μ„ΈνŒ…μ„ μ €μž₯ν•΄μš”.

void RestorePreviousCharacterAppearanceSetting()

StoreCurrentCharacterAppearanceSetting ν•¨μˆ˜λ‘œ μ €μž₯ν–ˆλ˜ μ„ΈνŒ…μœΌλ‘œ λ˜λŒμ•„ κ°‘λ‹ˆλ‹€.

void StoreCurrentCharacterAnimationSetting()

ν•΄λ‹Ή ν”Œλ ˆμ΄μ–΄μ˜ ν˜„μž¬ 캐릭터Animation μ„ΈνŒ…μ„ μ €μž₯ν•΄μš”.

void RestorePreviousCharacterAnimationSetting()

StoreCurrentCharacterAnimationSetting ν•¨μˆ˜λ‘œ μ €μž₯ν–ˆλ˜ μ„ΈνŒ…μœΌλ‘œ λ˜λŒμ•„ κ°‘λ‹ˆλ‹€.

EventKeyReturnData AddEventKey(string EventName, function Function)

ν•΄λ‹Ή ν”Œλ ˆμ΄μ–΄λ₯Ό ν•΄λ‹Ήν•˜λŠ” μ΄λ¦„μ˜ μ΄λ²€νŠΈμ— λ“±λ‘μ‹œμΌœμš”. (이벀트 이름, 이벀트 등둝 ν›„ λ°˜ν™˜κ°’μ„ 받을 ν•¨μˆ˜)

-- μƒ˜ν”Œ --

local function DoEventKey(player, eventKeyReturnData)
    wait(1)

    local state = eventKeyReturnData.State --μ΄λ²€νŠΈν‚€μ˜ μƒνƒœ
    local maxCount = eventKeyReturnData.MaxCount --μ΄λ²€νŠΈν‚€μ˜ μ΅œλŒ€ 인원
    local useCount = eventKeyReturnData.UseCount --μ΄λ²€νŠΈν‚€μ˜ μ°Έμ—¬μž 수
    local result = eventKeyReturnData.Result --μ΄λ²€νŠΈν‚€ 등둝 κ²°κ³Ό

	--μ΄λ²€νŠΈν‚€ μƒνƒœ 및 등둝 수
	if state == Enum.EventKeyState.Wait then
		print("μ΄λ²€νŠΈν‚€ μƒνƒœ : λŒ€κΈ°")
	elseif state == Enum.EventKeyState.Doing then
		print("μ΄λ²€νŠΈν‚€ μƒνƒœ : 진행")
	elseif state == Enum.EventKeyState.Stop then
		print("μ΄λ²€νŠΈν‚€ μƒνƒœ : 쀑지")
	elseif state == Enum.EventKeyState.End then
		print("μ΄λ²€νŠΈν‚€ μƒνƒœ : μ’…λ£Œ")
	end
	print("μ΄λ²€νŠΈν‚€ 등둝 수 : ", useCount, " / ", maxCount)

    --μ΄λ²€νŠΈν‚€ 등둝 κ²°κ³Όκ°€ Success이면
    if result == Enum.EventKeyResult.Success then
        print("μ΄λ²€νŠΈν‚€λ₯Ό λ“±λ‘ν–ˆμŠ΅λ‹ˆλ‹€!")

    --μ΄λ²€νŠΈν‚€ μ‚¬μš© κ²°κ³Όκ°€ Exist이면
    elseif result == Enum.EventKeyResult.Exist then
        print("이미 λ“±λ‘ν•œ μ΄λ²€νŠΈν‚€μž…λ‹ˆλ‹€!")

    --μ΄μ™Έμ—λŠ”
    else
        print("μœ νš¨ν•˜μ§€ μ•Šμ€ μ΄λ²€νŠΈν‚€μž…λ‹ˆλ‹€!")
    end
end

--μ΄λ²€νŠΈν‚€μ— ν”Œλ ˆμ΄μ–΄λ₯Ό 등둝 μ²˜λ¦¬ν•΄μš”.
--(μ΄λ²€νŠΈν‚€ 이름, μ΄λ²€νŠΈν‚€ 등둝 처리 ν•¨μˆ˜)
player:AddEventKey("EventKeyName", DoEventKey)

CouponReturnData UseCoupon(string CouponType, function Function)

ν•΄λ‹Ή ν”Œλ ˆμ΄μ–΄μ—κ²Œ ν•΄λ‹Ήν•˜λŠ” 쿠폰을 μ‚¬μš©ν•΄μš”. (쿠폰 νƒ€μž…μ΄λ¦„, 이벀트 등둝 ν›„ λ°˜ν™˜κ°’μ„ 받을 ν•¨μˆ˜)

-- μƒ˜ν”Œ --

local function DoUseCoupon(player, couponReturnData)
	local state = couponReturnData.State --쿠폰의 μƒνƒœ
    local couponType = couponReturnData.CouponType --쿠폰의 보상 μ’…λ₯˜
    local result = couponReturnData.Result --쿠폰 μ‚¬μš© κ²°κ³Ό

    --쿠폰 μƒνƒœ 및 보상
    if state == Enum.CouponState.Wait then
        print("쿠폰 μƒνƒœ : λŒ€κΈ°")
    elseif state == Enum.CouponState.Doing then
        print("쿠폰 μƒνƒœ : 진행")
    elseif state == Enum.CouponState.Stop then
        print("쿠폰 μƒνƒœ : 쀑지")
    elseif state == Enum.CouponState.End then
        print("쿠폰 μƒνƒœ : μ’…λ£Œ")
    end
    print("쿠폰 보상 νƒ€μž… : ", couponType)

    --쿠폰 μ‚¬μš© κ²°κ³Όκ°€ Success이면
    if result == Enum.CouponResult.Success then
        print("쿠폰을 μ‚¬μš©ν–ˆμŠ΅λ‹ˆλ‹€!")

        if couponType == "Gold" then
            player.Gold = player.Gold + 1000
        end

    --쿠폰 μ‚¬μš© κ²°κ³Όκ°€ Exist이면
    elseif result == Enum.CouponResult.Exist then
        print("이미 μ‚¬μš©ν•œ μΏ ν°μž…λ‹ˆλ‹€!")

    --μ΄μ™Έμ—λŠ”
    else
        print("μœ νš¨ν•˜μ§€ μ•Šμ€ μΏ ν°μž…λ‹ˆλ‹€!")
    end
end

--ν”Œλ ˆμ΄μ–΄μ—κ²Œ ν•΄λ‹Ή 쿠폰을 μ‚¬μš© μ²˜λ¦¬ν•΄μš”.
--(쿠폰 번호, 쿠폰 μ‚¬μš© 처리 ν•¨μˆ˜)
player:UseCoupon("CouponNumber", DoUseCoupon)

void UseRemainCoupon(string CouponType, function Function)

ν•΄λ‹Ή ν”Œλ ˆμ΄μ–΄μ—κ²Œ λ―Έμ‚¬μš© 쿠폰을 μ‚¬μš©ν•΄μš”. (쿠폰 νƒ€μž…μ΄λ¦„, 이벀트 등둝 ν›„ λ°˜ν™˜κ°’μ„ 받을 ν•¨μˆ˜) μ—°κ²°λœ ν•¨μˆ˜λ‘œ player, CouponData κ°€ μ „λ‹¬λ˜μš”.

-- μƒ˜ν”Œ --

local function DoUseRemainCoupon(player, couponReturnData)
    local state = couponReturnData.State --쿠폰의 μƒνƒœ
    local couponType = couponReturnData.CouponType --쿠폰의 보상 μ’…λ₯˜
    local result = couponReturnData.Result --쿠폰 μ‚¬μš© κ²°κ³Ό

    --쿠폰 μƒνƒœ 및 보상
    if state == Enum.CouponState.Wait then
        print("쿠폰 μƒνƒœ : λŒ€κΈ°")
    elseif state == Enum.CouponState.Doing then
        print("쿠폰 μƒνƒœ : 진행")
    elseif state == Enum.CouponState.Stop then
        print("쿠폰 μƒνƒœ : 쀑지")
    elseif state == Enum.CouponState.End then
        print("쿠폰 μƒνƒœ : μ’…λ£Œ")
    end
    print("쿠폰 보상 νƒ€μž… : ", couponType)

    --쿠폰 μ‚¬μš© κ²°κ³Όκ°€ Success이면
    if result == Enum.CouponResult.Success then
        print("쿠폰을 μ‚¬μš©ν–ˆμŠ΅λ‹ˆλ‹€!")

        if couponType == "Gold" then
            player.Gold = player.Gold + 1000
        end

    --쿠폰 μ‚¬μš© κ²°κ³Όκ°€ Exist이면
    elseif result == Enum.CouponResult.Exist then
        print("이미 μ‚¬μš©ν•œ μΏ ν°μž…λ‹ˆλ‹€!")

    --μ΄μ™Έμ—λŠ”
    else
        print("μœ νš¨ν•˜μ§€ μ•Šμ€ μΏ ν°μž…λ‹ˆλ‹€!")
    end
end

-- 남은 쿠폰 μ‚¬μš©
player:UseRemainCoupon(couponName, DoUseRemainCoupon)

void DoGetRemainCouponCount(string CouponType, function Function)

ν•΄λ‹Ή ν”Œλ ˆμ΄μ–΄μ˜ μ‚¬μš© κ°€λŠ₯ν•œ 쿠폰 μˆ˜λŸ‰μ„ μ–»μ–΄μ˜¬ 수 μžˆμ–΄μš”. μ—°κ²°λœ ν•¨μˆ˜λ‘œ player, number count κ°€ μ „λ‹¬λ˜μš”

-- μƒ˜ν”Œ --

local function DoGetRemainCouponCount(player, count)
    print("Remain Coupon Count : ", count)
end

-- 쿠폰 남은 μˆ˜λŸ‰ 확인
player:GetRemainCouponCount(couponName, DoGetRemainCouponCount)

μ‚¬μš© κ°€λŠ₯ν•œ λΆ€λͺ¨ 였브젝트 κΈ°λŠ₯λ“€

속성

이름

μ„€λͺ…

λΆ€λͺ¨ 객체λ₯Ό 얻을 수 μžˆμ–΄μš”.

객체의 μ΄λ¦„μž…λ‹ˆλ‹€.

이벀트

이름

μ„€λͺ…

ν•¨μˆ˜

이름

μ„€λͺ…

μΆ”κ°€λœ 값이 λ³€κ²½ 될 λ•Œ ν˜ΈμΆœλ˜λŠ” μ΄λ²€νŠΈμ—μš”. (Value 이름, μ—°κ²° ν•¨μˆ˜)

μ΄λ¦„μœΌλ‘œ μžμ‹ 객체λ₯Ό 얻을 수 μžˆμ–΄μš”. (찾고싢은 μžμ‹ 객체 이름)

μžμ‹ 객체의 리슀트λ₯Ό 얻을 수 μžˆμ–΄μš”.

캐릭터인지 확인할 수 μžˆμ–΄μš”.

μŠ€ν…Œν‹± λ©”μ‹œμΈμ§€ 확인할 수 μžˆμ–΄μš”.

FX인지 확인할 수 μžˆμ–΄μš”.

Sound인지 확인할 수 μžˆμ–΄μš”.

포인트 λΌμ΄νŠΈμΈμ§€ 확인할 수 μžˆμ–΄μš”.

슀포트 λΌμ΄νŠΈμΈμ§€ 확인할 수 μžˆμ–΄μš”.

μ„œν”ΌμŠ€ UI인지 확인할 수 μžˆμ–΄μš”.

슀크린 UI인지 확인할 수 μžˆμ–΄μš”.

ν„°μΉ˜ UI인지 확인할 수 μžˆμ–΄μš”.

μ•„μ΄ν…œμΈμ§€ 확인할 수 μžˆμ–΄μš”.

NPC인지 확인할 수 μžˆμ–΄μš”.

μŠ€νŠΈλ¦½νŠΈμΈμ§€ 확인할 수 μžˆμ–΄μš”.

Collider인지 확인할 수 μžˆμ–΄μš”.

Widget인지 확인할 수 μžˆμ–΄μš”.

Camera인지 확인할 수 μžˆμ–΄μš”.

ν•΄λ‹Ή μ˜€λΈŒμ νŠΈκ°€ μœ νš¨ν•œμ§€ 확인 ν•  μˆ˜μžˆμ–΄μš”.

ν•΄λ‹Ή 였브젝트의 값이 μœ νš¨ν•œμ§€ 확인할 수 μžˆμ–΄μš”.

일정 μ‹œκ°„λ’€μ— μ—°κ²° ν•¨μˆ˜κ°€ ν˜ΈμΆœλ˜λŠ” 이벀트λ₯Ό μΆ”κ°€ν•΄μš”. (μΆ”κ°€ν•  이벀트 이름, μ‹œκ°„, μ—°κ²° ν•¨μˆ˜)

λ“±λ‘λœ μ‹œκ°„ 이벀트λ₯Ό μ‚­μ œν•΄μš”. (μ‚­μ œν•  이벀트 이름)

Last updated

Was this helpful?