728x90
알아두어야 할 점
- nil, boolean, number, string, function, table, userdata, thread 자료형
- != 는 없고 ~= 사용
- Lua에서 원래는 A += B 이런거 안되는데 로블록스 스튜디오에서는 가능
- 인덱스가 1부터 시작
- thread가 coroutine 역할
- 삼항 조건 연산자 없음
- null 대신 nil 사용
- 주석은 // 말고 -- 여러줄 쓰려면 --[[내용]]--
- ! && || 말고 not and or 로
- private말고 local
- 함수 선언 local function 함수이름() end
- 부모는 Parent 자식 접근은 Weld
script.Parent.CanCollide = false
script.Parent.Transparency = 1
조건문 사용 방법
while true do
내용
end
if true then
내용
end
for count = 1, 10 do
platform.Transparency = count / 10
wait(0.1)
end
캐릭터의 한 부위라도 닿으면 죽는 코드
local function Kill(otherPart)
local partParent = otherPart.Parent
local humanoid = partParent:FindFirstChild("Humanoid")
if humanoid then
humanoid.Health = 0
end
end
script.Parent.Touched:Connect(Kill) --캐릭터 부위에 닿으면 실행
UI로 플레이어의 점수를 출력하며, 1초마다 점수를 연동시키는 함수
local Players = game:GetService("Players")
local function onPlayerAdded(player)
local leaderstats = Instance.new("Folder") --리더보드에 출력하기 위해 객체를 담아주는 폴더 생성
leaderstats.Name = "leaderstats"
leaderstats.Parent = player
local points = Instance.new("IntValue")
points.Name = "Points"
points.value = 0
points.Parent = leaderstats
end
Players.PlayerAdded:Connect(onPlayerAdded) --게임에 플레이어 입장시 연결
while true do
wait(1) --플레이어들의 점수 연동 1초마다
local playerList = Players:GetPlayers()
for currentPlayer = 1, #playerList do --1부터 플레이어 명수만큼 반복
local player = playerList[currentPlayer]
local points = player.leaderstats.Points
points.Value = points.Value + 1
end
728x90