RemotePlayer

RemotePlayer

ํด๋ผ์ด์–ธํŠธ ์Šคํฌ๋ฆฝํŠธ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ํ”Œ๋ ˆ์ด์–ด ๊ฐ์ฒด์—์š”. Game:GetRemotePlayer(PlayerID) ํ˜น์€ LocalPlayer:GetRemotePlayer() ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜๋ฉด ์–ป์„ ์ˆ˜ ์žˆ์–ด์š”.

ํ•จ์ˆ˜

Character GetCharacter()

ํ”Œ๋ ˆ์ด์–ด์˜ ์บ๋ฆญํ„ฐ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์–ด์š”.

-- ์ƒ˜ํ”Œ --

local character = player:GetCharacter() --ํ”Œ๋ ˆ์ด์–ด์˜ ์บ๋ฆญํ„ฐ๋ฅผ ๋ฐ˜ํ™˜ํ•ด์š”.

number GetPlayerID()

ํ”Œ๋ ˆ์ด์–ด์˜ ์•„์ด๋””๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์–ด์š”.

-- ์ƒ˜ํ”Œ --

local remotePlayer = LocalPlayer:GetRemotePlayer()
print(remotePlayer:GetPlayerID()) --ํ”Œ๋ ˆ์ด์–ด์˜ ํ”Œ๋ ˆ์ด์–ด ์•„์ด๋””๋ฅผ ๋ฐ˜ํ™˜ํ•ด์š”.

string GetPlayerNickName()

ํ”Œ๋ ˆ์ด์–ด์˜ ์ด๋ฆ„์„ ์–ป์„ ์ˆ˜ ์žˆ์–ด์š”.

-- ์ƒ˜ํ”Œ --

local remotePlayer = LocalPlayer:GetRemotePlayer()
print(remotePlayer:GetPlayerNickName()) --ํ”Œ๋ ˆ์ด์–ด ๋‹‰๋„ค์ž„์„ ๋ฌธ์ž๋กœ ๋ฐ˜ํ™˜ํ•ด์š”.

FX CreateFX(ObjectFX FXObject, Bone BoneType)

์บ๋ฆญํ„ฐ์˜ ํŠน์ • ์œ„์น˜์— FX๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์–ด์š”. (์ƒ์„ฑ ํ•  FX ์˜ค๋ธŒ์ ํŠธ, Enum.Bone.ํƒ€์ž… )

-- ์ƒ˜ํ”Œ --

player:CreateFX(Workspace.Effect, Enum.Bone.Body) --์บ๋ฆญํ„ฐ์˜ ํŠน์ • ๋ถ€์œ„์— ์ดํŽ™ํŠธ๋ฅผ ์ƒ์„ฑํ•ด์š”.

ObjectSound CreateSound(ObjectSound SourceSoundObject)

์บ๋ฆญํ„ฐ์˜ ์œ„์น˜์— Sound๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์–ด์š”. (์ƒ์„ฑ ํ•  Sound ์˜ค๋ธŒ์ ํŠธ)

-- ์ƒ˜ํ”Œ --

player:CreateSound(Workspace.Sound)

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

(deprecated) ์„ค์ •๋œ ์‹œ์ž‘ ์ง€์ ์—์„œ ์›ํ•˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ์ง€์ •๋œ ๊ฑฐ๋ฆฌ ๋งŒํผ ์ถฉ๋Œ์ด ์žˆ๋Š”์ง€ ์ฒดํฌํ•  ์ˆ˜ ์žˆ์–ด์š”. (์‹œ์ž‘ ์ง€์  Vector, ๋ฐฉํ–ฅ Vector, ๊ฑฐ๋ฆฌ ๊ฐ’) ์‚ฌ์šฉํ•˜๋Š” RemotePlayer๋Š” ์ฒดํฌ์—์„œ ์ œ์™ธ๋ฉ๋‹ˆ๋‹ค.

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

(deprecated) ์„ค์ •๋œ ์‹œ์ž‘ ์ง€์ ์—์„œ ์›ํ•˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ์ง€์ •๋œ ๊ฑฐ๋ฆฌ ๋งŒํผ ์œ ์ €๊ฐ€ ์ถ”๊ฐ€ํ•œ ์ถฉ๋Œ ํƒ€์ž…๊ณผ์˜ ์ถฉ๋Œ์ด ์žˆ๋Š”์ง€ ์ฒดํฌํ•  ์ˆ˜ ์žˆ์–ด์š”. (์‹œ์ž‘ ์ง€์  Vector, ๋ฐฉํ–ฅ Vector, ๊ฑฐ๋ฆฌ ๊ฐ’, ์›ํ•˜๋Š” ์œ ์ € ์ถฉ๋Œ ํƒ€์ž… ์ด๋ฆ„) ์‚ฌ์šฉํ•˜๋Š” RemotePlayer๋Š” ์ฒดํฌ์—์„œ ์ œ์™ธ๋ฉ๋‹ˆ๋‹ค.

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

์„ค์ •๋œ ์‹œ์ž‘ ์ง€์ ์—์„œ ์›ํ•˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ์ง€์ •๋œ ๊ฑฐ๋ฆฌ ๋งŒํผ ์ถฉ๋Œ์ด ์žˆ๋Š”์ง€ ์ฒดํฌํ•  ์ˆ˜ ์žˆ์–ด์š”. (์‹œ์ž‘ ์ง€์  Vector, ๋ฐฉํ–ฅ Vector, ๊ฑฐ๋ฆฌ ๊ฐ’) ์‚ฌ์šฉํ•˜๋Š” RemotePlayer๋Š” ์ฒดํฌ์—์„œ ์ œ์™ธ๋ฉ๋‹ˆ๋‹ค.

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

์„ค์ •๋œ ์‹œ์ž‘ ์ง€์ ์—์„œ ์›ํ•˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ์ง€์ •๋œ ๊ฑฐ๋ฆฌ ๋งŒํผ ์œ ์ €๊ฐ€ ์ถ”๊ฐ€ํ•œ ์ถฉ๋Œ ํƒ€์ž…๊ณผ์˜ ์ถฉ๋Œ์ด ์žˆ๋Š”์ง€ ์ฒดํฌํ•  ์ˆ˜ ์žˆ์–ด์š”. (์‹œ์ž‘ ์ง€์  Vector, ๋ฐฉํ–ฅ Vector, ๊ฑฐ๋ฆฌ ๊ฐ’, ์›ํ•˜๋Š” ์œ ์ € ์ถฉ๋Œ ํƒ€์ž… ์ด๋ฆ„) ์‚ฌ์šฉํ•˜๋Š” RemotePlayer๋Š” ์ฒดํฌ์—์„œ ์ œ์™ธ๋ฉ๋‹ˆ๋‹ค.

-- ์ƒ˜ํ”Œ --

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) --์ถฉ๋Œํ•œ ์˜ค๋ธŒ์ ํŠธ์˜ ์œ„์น˜์—์š”.

bool IsMyPlayer()

ํ”Œ๋ ˆ์ด์–ด ์ž์‹ ์˜ ํ”Œ๋ ˆ์ด์–ด์ธ์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์š”.

-- ์ƒ˜ํ”Œ --

print(player:IsMyPlayer()) --ํ•ด๋‹น ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ์ž์‹ ์ด๋ฉด true๋ฅผ ๋ฐ˜ํ™˜ํ•ด์š”.

Item GetEquipItem(string EquipSlot)

ํ•ด๋‹น ํ”Œ๋ ˆ์ด์–ด ์บ๋ฆญํ„ฐ๊ฐ€ ์ฐฉ์šฉ์ค‘์ธ ์•„์ดํ…œ์„ ์–ป์„ ์ˆ˜ ์žˆ์–ด์š”. (์žฅ์ฐฉ ์ค‘์ธ ์•„์ดํ…œ ์Šฌ๋กฏ)

-- ์ƒ˜ํ”Œ --

local item = LocalPlayer:GetRemotePlayer():GetEquipItem("Kickboard")

์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ถ€๋ชจ ์˜ค๋ธŒ์ ํŠธ ๊ธฐ๋Šฅ๋“ค

์†์„ฑ

์ด๋ฆ„

์„ค๋ช…

๋ถ€๋ชจ ๊ฐ์ฒด๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์–ด์š”.

๊ฐ์ฒด์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.

์ด๋ฒคํŠธ

์ด๋ฆ„

์„ค๋ช…

ํ•จ์ˆ˜

์ด๋ฆ„

์„ค๋ช…

์ถ”๊ฐ€๋œ ๊ฐ’์ด ๋ณ€๊ฒฝ ๋  ๋•Œ ํ˜ธ์ถœ๋˜๋Š” ์ด๋ฒคํŠธ์—์š”. (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?