본문 바로가기

Roblox Script

#14 : 닿으면 체력이 떨어지는 블록 블록에 닿을 때 체력이 줄어듭니다. 아주 간단하지만, 사실 모든 것의 기본입니다 local box = script.Parent local function onTouched(hit) print ("Touched") local humanoid = hit.Parent:FindFirstChild('Humanoid') if humanoid then print(humanoid.health) humanoid:TakeDamage(10) end end box.Touched:Connect(onTouched) 더보기
#13 : 따라오는 NPC - npc following 심플한 NPC를 만들고, MoveTo를 이용해 가장 가까운 플레이어를 찾아서 따라다니는 Script 입니다. local npcHumanoid = script.Parent.Humanoid local npcHRP = script.Parent.HumanoidRootPart local function GetNearestPlayer(minimumDistance) local closestMagnitude = minimumDistance or math.huge local closestPlayer for i,v in next, game.Players:GetPlayers() do local Character = v.Character if (Character) then local humanoid = Character.Hu.. 더보기
#12 : 총만들기 (인증 Weapons Kit 사용하기) 처음부터 총만들기를 하려다가, 너무 어려워서, 기존에 잘 만들어진 총을 가져다 사용하기로 했습니다. Roblox 공식 인증 Weapon 입니다. 권총 : https://www.roblox.com/library/393299... 샷건 : https://www.roblox.com/library/393319... 라이플 : https://www.roblox.com/library/393280... 머신건 : https://www.roblox.com/library/393318... 스나이퍼 : https://www.roblox.com/library/393320... 석궁 : https://www.roblox.com/library/393294... 유탄발사기 : https://www.roblox.com/librar.. 더보기
#11 : 그룹에 따라 팀 나누기 (Team by Group) 속한 그룹에 따라 팀을 나누고, 스폰포인트를 나누는 예제입니다. local function playerJoin(player) if player:IsInGroup(42) then print "Player is in the Roblox Building Group" print ("Then,"..player.name.." is Theif Team") player.Team = game.Teams.Theif else print "I'm Not Building Group" player.Team = game.Teams.Police end end game.Players.PlayerAdded:Connect(playerJoin) 더보기
#10 : 플레이어 머리에 이름 표시 - Player Title (Team / Role) BillboardGui BillboardGui를 이용하여 Player에 역할이나 팀을 표시하는 script 입니다. script 아래 BillboardGui를 추가하고 아래 TaxtLabel를 추가한뒤 1. 팀이름과 Font 색을 정해주는 script를 짜고 2. BillboardGui 높이를 설정하고 3. TaxtLabel을 꾸며줍니다 ====== local billboard = script.BillboardGui local textPolice = "Police" local blueColor = Color3.fromRGB(0,0,255) local textTheif = "Theif" local redColor = Color3.fromRGB(255,0,0) game.Players.PlayerAdded:Connect(functi.. 더보기
#9 : RemoteEvent로 Sever에서 local function 호출 플레이어가 들어왔을때 플레이어 화면에 환영 메세지를 띄워줍니다. 즉, RemoteEvent를 통해, 서버에서 localscript의 함수를 event로 호출합니다. (다른 플레이어에게는 환영 메시지가 안보입니다.) -- ServerScript local ReplicatedStorage = game:GetService("ReplicatedStorage") local remoteEventJoin = ReplicatedStorage:WaitForChild("RemoteEventNotify") local function playerJoin(player) wait(5) remoteEventJoin:FireClient(player, "Welcome to Nobakee Game!!!") end game.Players.. 더보기
#8: Data Store - 서버에 값 저장하기 최고점수라던가, 이미 구매한 아이템 처럼, 사용자가 종료를 해도 데이터를 저장해야할 때가 있어요. 이때 Data Store 라는 것을 사용하는데 플레이어의 값을 저장하고, 다시 게임 할 때 불러오는 예제입니다. local dataStoreService = game:GetService("DataStoreService") local playerDataStore = dataStoreService:GetDataStore("PlayerDataStore") game.Players.PlayerAdded:Connect(function(player) local leaderstats = Instance.new("Folder") leaderstats.Name = "leaderstats" leaderstats.Parent =.. 더보기
#7 : Remote Event로 클라이언트에서 서버 호출하기 로블록스는 기본으로 네트웍게임으로 서버와 개별 플레이어인 클라이언트의 구조로 되어 있어요. 그러다 보니 서버에서 실행되는 모든 내용은 사용자에게 공통 적용되고 클라이언트(사용자)에는 자기만의 화면이라든가 하는 것들은 클라이언트에서만 실행되는 부분이 있어요. 서버에서 동작은 Script 에서 실행되고 클라이언트에서 동작은 localScript 에서 실행됩니다. 그러다보면 서버에서 일어난 일을 클라이언트에게 알려줘야 할 때가 있는데, 이 때 사용되는게 Remote Event 입니다. 이 영상에서는 Remote Event를 이용하여 클라이언트에서 서버를 호출하는 예제입니다. 더보기