Game

Game

κ²Œμž„ μ „λ°˜μ μΈ 역할을 ν•˜λŠ” κ°μ²΄μ—μš”. μ—¬κΈ° μžˆλŠ” κΈ°λŠ₯듀은 ν΄λΌμ΄μ–ΈνŠΈμ—μ„œλ§Œ μ‚¬μš©ν•  수 μžˆμ–΄μš”.

이벀트

ReceiveGameStatisticsDataEvent

μ„œλ²„λ‘œ λΆ€ν„° κ²Œμž„ 톡계 데이터 λ°›μ•˜μ„ λ•Œ λ°œμƒν•˜λŠ” μ΄λ²€νŠΈμ—μš”. μ—°κ²°ν•¨μˆ˜ ν˜•μ‹μ€ function(keystring, offset, data ) keystring μ €μž₯ν•  λ•Œμ˜ keystring, offset λŠ” number , data λŠ” 톡계데이터 μž…λ‹ˆλ‹€.

EnterSelfCamera

Selfcamera Modeκ°€ 열릴 λ•Œ λ°œμƒν•˜λŠ” μ΄λ²€νŠΈμ—μš”. μ—°κ²°ν•¨μˆ˜ ν˜•μ‹μ€ function( ) μž…λ‹ˆλ‹€.

-- μƒ˜ν”Œ --

local function EnterSelfCam()
    local selfCamState = LocalPlayer:IsSelfCamera()
    print(LocalPlayer:GetRemotePlayer().Name, " Self Camera State : ", selfCamState)
end
Game.EnterSelfCamera:Connect(EnterSelfCam) --Game에 셀프카메라 μƒνƒœκ°€ 되면 ν˜ΈμΆœλ˜λŠ” ν•¨μˆ˜λ₯Ό μ—°κ²°ν•΄μš”.

LeaveSelfCamera

Selfcamera Modeκ°€ λ‹«νž λ•Œ λ°œμƒν•˜λŠ” μ΄λ²€νŠΈμ—μš”. μ—°κ²°ν•¨μˆ˜ ν˜•μ‹μ€ function( ) μž…λ‹ˆλ‹€.

-- μƒ˜ν”Œ --

local function LeaveSelfCam()
    local selfCamState = LocalPlayer:IsSelfCamera()
    print(LocalPlayer:GetRemotePlayer().Name, " Self Camera State : ", selfCamState)
end
Game.LeaveSelfCamera:Connect(LeaveSelfCam) --Game에 셀프카메라 μƒνƒœκ°€ ν•΄μ œλ˜λ©΄ ν˜ΈμΆœλ˜λŠ” ν•¨μˆ˜λ₯Ό μ—°κ²°ν•΄μš”.

OnLuckyDraw

λŸ­ν‚€λ“œλ‘œμš° 정보 μ΄λ²€νŠΈμ—μš”. μ—°κ²°ν•¨μˆ˜ ν˜•μ‹μ€ function(LuckyDrawInfo), LuckyDrawInfo 은 LuckyDrawInfo 객체 μž…λ‹ˆλ‹€.

속성

MasterVolume

MasterVolume을 μ„€μ •ν•  수 μžˆμ–΄μš”.

-- μƒ˜ν”Œ --

local CurrentVolume = Game.MasterVolume
Game.MasterVolume = 0.1

MusicVolume

MusicVolume을 μ„€μ •ν•  수 μžˆμ–΄μš”.

-- μƒ˜ν”Œ --

local CurrentVolume = Game.MusicVolume
Game.MusicVolume = 0.1

EffectVolume

EffectVolume을 μ„€μ •ν•  수 μžˆμ–΄μš”.

-- μƒ˜ν”Œ --

local CurrentVolume = Game.EffectVolume
Game.EffectVolume = 0.1

EtcVolume

EtcVolume을 μ„€μ •ν•  수 μžˆμ–΄μš”.

-- μƒ˜ν”Œ --

local CurrentVolume = Game.EtcVolume
Game.EtcVolume = 0.1

TextChatVisible

TextChatVisible μ±„νŒ…μ°½μ„ 켜고 끌 수 μžˆμ–΄μš”

-- μƒ˜ν”Œ --

Game.TextChatVisible = false

ν•¨μˆ˜

RemotePlayer GetRemotePlayer(number PlayerID)

μ•„μ΄λ””λ‘œ ν”Œλ ˆμ΄μ–΄λ₯Ό 얻을 수 μžˆμ–΄μš”. (찾고싢은 ν”Œλ ˆμ΄μ–΄ 아이디)

-- μƒ˜ν”Œ --

local player = Game:GetRemotePlayer(PlayerID) --ν”Œλ ˆμ΄μ–΄ 아이디에 ν•΄λ‹Ήν•˜λŠ” ν”Œλ ˆμ΄μ–΄λ₯Ό λ°˜ν™˜ν•΄μš”.

Character GetRemotePlayerCharacter(number PlayerID)

ν”Œλ ˆμ΄μ–΄ μ•„μ΄λ””λ‘œ ν•΄λ‹Ή ν”Œλ ˆμ΄μ–΄μ˜ 캐릭터λ₯Ό 얻을 수 μžˆμ–΄μš”. (캐릭터λ₯Ό 찾고싢은 ν”Œλ ˆμ΄μ–΄ 아이디)

-- μƒ˜ν”Œ --

local character = Game:GetRemotePlayerCharacter(PlayerID) --ν”Œλ ˆμ΄μ–΄ 아이디에 ν•΄λ‹Ήν•˜λŠ” 캐릭터λ₯Ό λ°˜ν™˜ν•΄μš”.

number GetPlayerCount()

ν˜„μž¬ κ²Œμž„μ— μ°Έμ—¬ν•˜κ³  μžˆλŠ” ν”Œλ ˆμ΄μ–΄μ˜ 수λ₯Ό 얻을 수 μžˆμ–΄μš”.

-- μƒ˜ν”Œ --

print(Game:GetPlayerCount())

PlayerList GetAllPlayer()

μ›”λ“œμ— μ ‘μ†ν•œ λͺ¨λ“  ν”Œλ ˆμ΄μ–΄ 얻을 수 μžˆμ–΄μš”.

-- μƒ˜ν”Œ --

local allPlayerList = Game:GetAllPlayer() --λͺ¨λ“  ν”Œλ ˆμ΄μ–΄λ₯Ό 리슀트둜 λ°˜ν™˜ν•΄μš”.

for i = 1, #allPlayerList do
    print(allPlayerList[i].Name)
end

void SendEventToServer(string EventName, Args ...)

μ„œλ²„μ— μ»€μŠ€ν…€ 이벀트λ₯Ό λ³΄λ‚΄λŠ” ν•¨μˆ˜μ—μš”. (이벀트 이름, μ „λ‹¬ν•˜κ³  싢은 λ³€μˆ˜λ“€ ...)

-- μƒ˜ν”Œ --

--클라 μŠ€ν¬λ¦½νŠΈμ—μ„œ
local cube = Workspace.Cube

wait(1)
cube:SendEventToServer("SomeFunc", 1) --μžμ‹  ν”Œλ ˆμ΄μ–΄μ—κ²Œ SomeFunc() ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν•΄μš”.

-----------------------------------
--μ„œλ²„ μŠ€ν¬λ¦½νŠΈμ—μ„œ
local cube = Workspace.cube

--μ„œλ²„μ—μ„œ 이벀트 μƒμ„±μ‹œ 첫 인자둜 playerκ°€ λ“€μ–΄κ°€μš”.
--ν•„μš”ν•˜λ‹€λ©΄ ν•¨μˆ˜μ˜ μΈμžλ„ 넣을 수 μžˆμ–΄μš”. 단, μˆ«μžλ‚˜ λ¬Έμžμ—΄ 인자만 넣을 수 μžˆμ–΄μš”.
local function SomeFunc(player, id)
    print("Call SomeFunc from " .. player.Name .. " (" .. id .. ")")
end
cube:ConnectEventFunction("SomeFunc", SomeFunc) --μ˜€λΈŒμ νŠΈμ— "SomeFunc"λΌλŠ” 이벀트 μ΄λ¦„μœΌλ‘œ SomeFunc ν•¨μˆ˜λ₯Ό μ—°κ²°ν•΄μš”.
                                                --μ˜€λΈŒμ νŠΈκ°€ μ•„λ‹Œ Game에도 μ—°κ²°ν•  수 μžˆμ–΄μš”.
                                                --같은 λŒ€μƒμ— λ“±λ‘λœ 이벀트만 ν˜ΈμΆœν•  수 μžˆμ–΄μš”.

AnimStateMachineSetting AddAnimStateMachineSetting(string StateMachineName)

캐릭터에 μ‚¬μš©λ  μ• λ‹ˆλ©”μ΄μ…˜ μƒνƒœλ¨Έμ‹  섀정을 μΆ”κ°€ν•  수 μžˆμ–΄μš”. (μ„€μ •ν•  μƒνƒœλ¨Έμ‹  이름)

-- μƒ˜ν”Œ --

--캐릭터에 μ‚¬μš©λ  μ• λ‹ˆλ©”μ΄μ…˜ μƒνƒœλ¨Έμ‹  섀정을 μΆ”κ°€ν•΄μš”.
local AnimStateMachineSetting = Game:AddAnimStateMachineSetting("DefaultCharacterAnim")

AnimStateMachineSetting GetAnimStateMachineSetting(string StateMachineName)

μ„€μ •λœ μ• λ‹ˆλ©”μ΄μ…˜ μƒνƒœλ¨Έμ‹ μ„ 얻을 수 μžˆμ–΄μš”. (μ–»κ³  싢은 μƒνƒœλ¨Έμ‹  이름)

-- μƒ˜ν”Œ --

wait(1)
local AnimStateMachineSetting = Game:GetAnimStateMachineSetting("DefaultCharacterAnim")
print(AnimStateMachineSetting)

void SetCharacterAnimStateMachine(CharacterSetting CharacterSetting, AnimStateMachineSetting AnimSetting)

ν•΄λ‹Ή 캐릭터 μ„€μ •μœΌλ‘œ μƒμ„±λ˜λŠ” μΊλ¦­ν„°μ˜ μ• λ‹ˆλ©”μ΄μ…˜ μƒνƒœ 머신을 μ„€μ • ν•  수 μžˆμ–΄μš”. (λŒ€μƒ 캐릭터 μ„€μ •, μ‚¬μš© ν•  μ• λ‹ˆλ©”μ΄μ…˜ μƒνƒœ μ„€μ •)

-- μƒ˜ν”Œ --

Game:SetCharacterAnimStateMachine(AnimationSetting, AnimStateMachineSetting) --μ• λ‹ˆλ©”μ΄μ…˜ μƒνƒœλ¨Έμ‹ μ„ μ‚¬μš© ν•  캐릭터(Object)λ₯Ό μ„€μ •ν•΄μš”.

void SetNPCAnimStateMachine(string NPCSettingName, string AnimStateMachineSettingName1)

ν•΄λ‹Ή NPC의 μ• λ‹ˆλ©”μ΄μ…˜ μƒνƒœ λ¨Έμ‹  μ‚¬μš©ν•˜κ²Œ ν•  수 μžˆμ–΄μš”. (μ„€μ •ν•œ NPC 이름, μ• λ‹ˆλ©”μ΄μ…˜ μƒνƒœ λ¨Έμ‹  이름)

void ChangeCharacterAnimStateMachine(Character Character, AnimStateMachineSetting AnimSetting, AnimationSetting AnimationSetting)

ν•΄λ‹Ή μΊλ¦­ν„°μ˜ μ• λ‹ˆλ©”μ΄μ…˜ μƒνƒœ 머신을 주어진 μƒνƒœ λ¨Έμ‹ κ³Ό 캐릭터 μ„ΈνŒ…μ˜ μ• λ‹ˆλ©”μ΄μ…˜μœΌλ‘œ κ΅μ²΄ν•΄μš”. (λ³€κ²½ν•  캐릭터, μ μš©ν•  μƒνƒœ λ¨Έμ‹ , μ μš©ν•  μ• λ‹ˆλ©”μ΄μ…˜ μ„ΈνŒ…)

-- μƒ˜ν”Œ --

local FPSCharacter = Toybox.FPSCharacterSetting
local AniStateMachine = Game:GetAnimStateMachineSetting("FPSCharacterAnim") --FPSCharacter의 DefaultCharacterAnimSettingμ—μ„œ μ„€μ •ν•œ μ• λ‹ˆλ©”μ΄μ…˜ μƒνƒœλ¨Έμ‹ μ˜ 이름이어야 ν•΄μš”

--ν•΄λ‹Ή μΊλ¦­ν„°μ˜ μ• λ‹ˆλ©”μ΄μ…˜ μƒνƒœ 머신을 κ΅μ²΄ν•΄μš”. (λ³€κ²½ν•  캐릭터, μ μš©ν•  μƒνƒœ λ¨Έμ‹ , μ μš©ν•  μ• λ‹ˆλ©”μ΄μ…˜ μ„ΈνŒ…)
Game:ChangeCharacterAnimStateMachine(character, AniStateMachine, FPSCharacter.AnimationSetting)

void ResetRespawnCharacterAnimStateMachine(Character Character, bool IsReset)

ν•΄λ‹Ή μΊλ¦­ν„°μ˜ λ³€κ²½λœ μƒνƒœ 머신을 리슀폰 μ‹œ μ΄ˆκΈ°ν™” μ‹œν‚¬μ§€ κ²°μ •ν•΄μš”.

-- μƒ˜ν”Œ --

--ν•΄λ‹Ή μΊλ¦­ν„°μ˜ λ³€κ²½λœ μƒνƒœ 머신을 리슀폰 μ‹œ μ΄ˆκΈ°ν™” μ‹œν‚¬μ§€ κ²°μ •ν•΄μš”.
--λ‘λ²ˆμ§Έ 값이 false이면, ν•΄λ‹Ή μΊλ¦­ν„°λŠ” λ¦¬μŠ€ν°μ‹œμ—λ„ κΈ°λ³Έ μ• λ‹ˆλ‘œ μ΄ˆκΈ°ν™”λ˜μ§€ μ•Šμ•„μš”.
Game:ResetRespawnCharacterAnimStateMachine(character, false)

FX CreateFX(ObjectFX FXObject, Vetor Location)

FXλ₯Ό 생성할 수 μžˆμ–΄μš”. (생성 ν•  FX 였브젝트, 생성할 μœ„μΉ˜)

-- μƒ˜ν”Œ --

local spawnPos = Workspace.Cube.Transform.Location
Game:CreateFX(Workspace.Effect, spawnPos) --μ΄νŽ™νŠΈλ₯Ό 지정 μœ„μΉ˜μ— μƒμ„±ν•΄μš”.

void DeleteFX(FX FXObject)

FXλ₯Ό μ œκ±°μ‹œμΌœμš”. (μ œκ±°ν•  FX 였브젝트)

-- μƒ˜ν”Œ --

Game:DeleteFX(Workspace.Effect)

ObjectSound PlaySound(ObjectSound SoundObject, Vetor Location)

μ‚¬μš΄λ“œλ₯Ό ν”Œλ ˆμ΄ν•΄μš”. (ν”Œλ ˆμ΄ ν•  Sound 였브젝트, ν”Œλ ˆμ΄ ν•  μœ„μΉ˜ Vector)

-- μƒ˜ν”Œ --

Game:PlaySound(Workspace.Sound, Vector.new(0, 0, 0))

void StopSound(ObjectSound SoundObject)

ν”Œλ ˆμ΄ 쀑인 μ‚¬μš΄λ“œλ₯Ό μ •μ§€μ‹œμΌœμš”. (정지할 Sound)

-- μƒ˜ν”Œ --

Game:StopSound(Workspace.Sound)

ObjectSound CreateObject(Object SourceObject, Vector Location)

μ§€μ •λœ μœ„μΉ˜μ— 였브젝트λ₯Ό 생성 μ‹œμΌœμš”. (생성 ν•  Object, 생성 ν•  μœ„μΉ˜ Vector)

-- μƒ˜ν”Œ --

local cube = Workspace.Cube
local createPos = Vector.new(0, 0, 0)

local temp = Game:CreateObject(cube, createPos) --였브젝트λ₯Ό μ§€μ •λœ μœ„μΉ˜μ— μƒμ„±ν•΄μš”. (μƒμ„±ν•œ ν΄λΌμ΄μ–ΈνŠΈμ—μ„œλ§Œ λ³΄μ—¬μš”.)
print(temp.Name) --CreateObject둜 μƒμ„±ν•œ 였브젝트λ₯Ό λ³€μˆ˜μ— 담은 λ’€ ν›„μ²˜λ¦¬ν•  수 μžˆμ–΄μš”.

UIScene CreateUIScene(UIScene SourceUIScene)

(deprecate) CreateUIWidget ν•¨μˆ˜λ₯Ό μ΄μš©ν•˜μ„Έμš”.

UIScene CreateUIScene(string UISceneName, UIScene SourceUIScene)

(deprecate) CreateUIWidget ν•¨μˆ˜λ₯Ό μ΄μš©ν•˜μ„Έμš”.

-- μƒ˜ν”Œ --

local uiScene = Game:CreateUIScene(Workspace.ScreenUI) --λŒ€μƒ UIλ₯Ό λ³΅μ œν•΄μš”.
print(uiScene.Name)

local uiScene = Game:CreateUIScene("NewScreenUI", Workspace.ScreenUI) --μƒˆλ‘œμš΄ μ΄λ¦„μœΌλ‘œ λŒ€μƒ UIλ₯Ό λ³΅μ œν•΄μš”.
print(uiScene.Name)

UIWidget CreateUIWidget(UIWidget SourceUIWidget)

SourceUIWidgetObject와 같은 UIWidget을 μƒμ„±ν•œλ‹€. μžμ‹κ΄€κ³„μ˜ WidgetκΉŒμ§€ λ˜‘κ°™μ΄ λ§Œλ“­λ‹ˆλ‹€. (생성할 μ΅œμƒμœ„ μœ„μ ―μ˜ 이름, 생성 ν•  원본 μœ„μ ―)

-- μƒ˜ν”Œ --

local WidgetImage1 = Game:CreateUIWidget(Workspace.ScreenUI.Image) --λŒ€μƒ UI Widgetλ₯Ό λ˜‘κ°™μ΄ λ§Œλ“€μ–΄μš”.
local WidgetImage2 = Game:CreateUIWidget("NewUIWidget", Workspace.ScreenUI.Image) --λŒ€μƒ UI Widgetλ₯Ό λ˜‘κ°™μ΄ λ§Œλ“€μ–΄μš”.

Vector GetMouseHitLocation()

μžμ‹ μ˜ 마우슀 2D μœ„μΉ˜μ—μ„œ μ›”λ“œμ— 좩돌된 3Dμœ„μΉ˜ μ’Œν‘œλ₯Ό 얻을 수 μžˆμ–΄μš”.

-- μƒ˜ν”Œ --

MouseInput = Input:AddGroup("MouseInput")
MouseInput:AddActionKeyEvent("ClickKey", Enum.Key.LeftMouseButton)
Input:ActiveGroup("MouseInput")

MouseInput:ProcessInputActionEvent("ClickKey", Enum.KeyInputType.Released, function()
    local pos = Game:GetMouseHitLocation() --마우슀λ₯Ό ν΄λ¦­ν•œ μœ„μΉ˜λ₯Ό Vector둜 λ°˜ν™˜ν•΄μš”.
    print("Click Position : " .. pos)
end

HitObject GetMouseHitObject()

μžμ‹ μ˜ 마우슀 2D μœ„μΉ˜μ—μ„œ μ›”λ“œμ— 좩돌된 Objectλ₯Ό μ–»μ–΄ 올 수 μžˆμ–΄μš”.

-- μƒ˜ν”Œ --

while true do
    local hitObj = Game:GetMouseHitObject() --마우슀 μ»€μ„œ μœ„μΉ˜μ— ν•΄λ‹Ήν•˜λŠ” 였브젝트λ₯Ό λ°˜ν™˜ν•΄μš”.
    if hitObj ~= nil then
        print(hitObj.Name)
    else
        print("nil")
    end
    wait(0.5)
end

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

λ‚΄ μ±„νŒ… 창에 일반 λ©”μ‹œμ§€ μΆ”κ°€. (μ—°μΆœμš©)

-- μƒ˜ν”Œ --

local PlayerID = character:GetPlayerID()

wait(2)
Game:OnChatNormalMessage(PlayerID, "좜λ ₯ λ‚΄μš©", Enum.ChatVisibleType.ShowChatOnly) --μ±„νŒ…μ°½μ—λ§Œ ν‘œμ‹œν•΄μš”

wait(2)
Game:OnChatNormalMessage(PlayerID, "좜λ ₯ λ‚΄μš©", Enum.ChatVisibleType.ShowBalloonOnly) --λ§ν’μ„ μœΌλ‘œλ§Œ ν‘œμ‹œν•΄μš”

wait(2)
Game:OnChatNormalMessage(PlayerID, "좜λ ₯ λ‚΄μš©", Enum.ChatVisibleType.ShowBoth) --μ±„νŒ…μ°½κ³Ό λ§ν’μ„ μœΌλ‘œ ν‘œμ‹œν•΄μš”

void OnChatSystemMessage(number PlayerID, string Message)

λ‚΄ μ±„νŒ… 창에 μ‹œμŠ€ν…œ λ©”μ‹œμ§€ μΆ”κ°€.

-- μƒ˜ν”Œ --

wait(2)
Game:OnChatSystemMessage(playerID, "좜λ ₯ λ‚΄μš©") --μ±„νŒ…μ°½μ—λ§Œ ν‘œμ‹œν•΄μš”

void OnChatSystemMessage(string Name, string Message)

λ‚΄ μ±„νŒ… 창에 μ‹œμŠ€ν…œ λ©”μ‹œμ§€ μΆ”κ°€.

-- μƒ˜ν”Œ --

wait(2)
Game:OnChatSystemMessage("운영자", "좜λ ₯ λ‚΄μš©") --μ±„νŒ…μ°½μ—λ§Œ ν‘œμ‹œν•΄μš”

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

λ‚΄ μ±„νŒ… 창에 NPC λ©”μ‹œμ§€ μΆ”κ°€.

-- μƒ˜ν”Œ --

local npc = Script.Parent

wait(2)
Game:OnChatNPCMessage(npc, "좜λ ₯ λ‚΄μš©", Enum.ChatVisibleType.ShowChatOnly) --μ±„νŒ…μ°½μ—λ§Œ ν‘œμ‹œν•΄μš”

wait(2)
Game:OnChatNPCMessage(npc, "좜λ ₯ λ‚΄μš©", Enum.ChatVisibleType.ShowBalloonOnly) --λ§ν’μ„ μœΌλ‘œλ§Œ ν‘œμ‹œν•΄μš”

wait(2)
Game:OnChatNPCMessage(npc, "좜λ ₯ λ‚΄μš©", Enum.ChatVisibleType.ShowBoth) --μ±„νŒ…μ°½κ³Ό λ§ν’μ„ μœΌλ‘œ ν‘œμ‹œν•΄μš”

FiniteStateMachine AddFSM(string StateMachineName)

μ˜€λΈŒμ νŠΈλ‚˜ NPC에 μ‚¬μš©λ  FSM을 μΆ”κ°€ν•  수 μžˆμ–΄μš”. (μƒνƒœλ¨Έμ‹  이름)

-- μƒ˜ν”Œ --

local FSM = Game:AddFSM("FSM")

FiniteStateMachine GetOrCreateFSM(string StateMachineName, number key)

이미 μ‘΄μž¬ν•˜λŠ” FSM을 κ°€μ Έμ˜¬ 수 μžˆμ–΄μš”.(μ—†μœΌλ©΄ λ§Œλ“­λ‹ˆλ‹€.) (μƒνƒœλ¨Έμ‹  이름, FSM ν• λ‹Ήλœ Object Key)

-- μƒ˜ν”Œ --

local NPC = Script.Parent
local FSM = Game:GetOrCreateFSM("FSM", NPC:GetKey()) --Server에 μžˆλŠ” FSMλ₯Ό κ°€μ Έμ™€μš”.

Enum GetPlayerDevice()

ν˜„μž¬ μ ‘μ†ν•œ 기기의 Type을 λ°˜ν™˜

-- μƒ˜ν”Œ --

	local PlayerDevice = Game:GetPlayerDevice()

	if PlayerDevice == Enum.PlayerDevice.PC then
		print("Desktop")
	elseif PlayerDevice == Enum.PlayerDevice.Android then
		print("Android")
elseif PlayerDevice == Enum.PlayerDevice.iOS then
		print("iOS")
	end

Vector2D GetScreenResolution()

ν™”λ©΄μ˜ 해상도λ₯Ό μ–»λŠ”λ‹€.

-- μƒ˜ν”Œ --

local function FuncViewportResized(width, hight)
    print("Viewport Sizeκ°€ λ³€κ²½λ˜μ—ˆμŠ΅λ‹ˆλ‹€.")
end
Game.OnViewportResizedEvent:Connect(FuncViewportResized) --Game에  Viewport Sizeκ°€ λ³€κ²½λ˜λ©΄ ν˜ΈμΆœλ˜λŠ” ν•¨μˆ˜λ₯Ό μ—°κ²°ν•΄μš”.

WidgetList FindWidgets(Object RootObject, WidgetType Type)

RootObject ν•˜μœ„μ˜ μ˜€λΈŒμ νŠΈλ“€ 쀑 WidgetType 에 ν•΄λ‹Ήν•˜λŠ” μœ„μ ― 리슀트λ₯Ό 얻을 수 μžˆμ–΄μš”.

-- μƒ˜ν”Œ --

local widgetList = Game:FindWidgets(Workspace, Enum.UIWidgetType.Text)

for i = 1, #widgetList do --λ¦¬μŠ€νŠΈμ•žμ— #을 λΆ™μ—¬ 리슀트의 길이λ₯Ό κ°€μ Έμ˜¬ 수 μžˆμ–΄μš”.
    print(widgetList[i].Name)
end

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

속성

이름

μ„€λͺ…

이벀트

이름

μ„€λͺ…

맀 ν”„λ ˆμž„λ§ˆλ‹€ ν˜ΈμΆœλ˜λŠ” μ΄λ²€νŠΈμ—μš”. μ—°κ²°ν•¨μˆ˜ ν˜•μ‹μ€ 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