Built-in
디토랜드에서 지원하는 루아 기능이에요.
함수
void print(string Text)
로그창에 메시지를 출력해요. (출력할 내용)
-- 샘플 --
--문자열(메시지)을 로그창에 출력해요.
print("Hello World!")
--.. 을 이용해서 각각의 문자열을 합쳐서 메시지를 로그창에 출력해요.
print("Hello " .. "Dito" .. "Land!")
--숫자나 bool 등의 자료형도 출력할 수 있어요.
print(1)
print(1.5)
print(false)
print(Vector.new(50, 0, 5))
print(Color.new(255, 255, 255, 255))
--실수는 math.floor로 정수로 변환해서 출력할 수 있어요.
print(math.floor(6.529))
--변수에 저장한 값도 출력할 수 있어요.
local SomeNumber = 5
local FloorTransform = Workspace.Floor.Transform
print(SomeNumber)
print(FloorTransform)
--쉼표를 이용해서 여러 값을 출력할 수 있어요.
print(1, " / ", 50.2, " / ", "Hello", " / ", true, " / ", Vector.new(50, 0, 10))
void Log(string Text)
로그창에 일반 메시지를 출력해요. (출력할 내용)
-- 샘플 --
Log("Log")
void LogWarning(string Text)
로그창에 워닝 메시지를 출력해요. (출력할 내용)
-- 샘플 --
LogWarning("Warning")
void LogError(string Text)
로그창에 에러 메시지를 출력해요. (출력할 내용)
-- 샘플 --
LogError("Error")
number time()
게임의 경과 시간을 얻을 수 있어요.
-- 샘플 --
local startTime = time()
print("wait 3s")
wait(3)
local passTime = time() - startTime
print(passTime)
number ostime()
OS 시간을 얻을 수 있어요. 1970년 1월 1일 0시 0분 0초를 기점으로 현재까지 흐른 시간을 초단위로 돌려줍니다.
-- 샘플 --
local getTime = ostime()
print(getTime)
DateTime nowtime()
현재 시간을 얻을 수 있어요.
-- 샘플 --
local getTime = nowtime()
print(getTime)
DateTime ToDateTime()
OsTime으로 부터 DateTime를 얻어 올 수 있어요.
-- 샘플 --
local getOsTime = ostime()
local Date = ToDateTime(getOsTime)
number ToOsTime()
Date으로 부터 OsTime를 얻어 올 수 있어요.
-- 샘플 --
local getDate = nowtime()
local getOsTime = ToOsTime(getDate)
number GetDayOfYear()
Date으로 부터 올해 기준 경과일을 얻어 올 수 있어요.
-- 샘플 --
local getDate = nowtime()
local DayOfYear = GetDayOfYear(getDate)
number GetWeekOfYear()
Date으로 부터 올해 기준 주차를 얻어 올 수 있어요.
-- 샘플 --
local getDate = nowtime()
local WeekOfYear = GetWeekOfYear(getDate)
number GetNumberOfWeek()
Date으로 부터 이번 주 기준으로 요일 번호 반환을 얻어 올 수 있어요.
-- 샘플 --
local getDate = nowtime()
local NumberOfWeek = GetNumberOfWeek(getDate)
bool IsChangedYear()
비교하는 Date가 다음 해인지 얻어 올 수 있어요.
-- 샘플 --
local T1 = DateTime.new(2022, 12, 31, 11, 20, 34)
local T2 = DateTime.new(2023, 01, 01, 11, 20, 34)
local ChangedYear = IsChangedYear(T1,T2)
bool IsChangedMonth()
비교하는 Date가 다음 월인지 얻어 올 수 있어요.
-- 샘플 --
local T1 = DateTime.new(2022, 12, 31, 11, 20, 34)
local T2 = DateTime.new(2023, 01, 01, 11, 20, 34)
local ChangedMonth = IsChangedMonth(T1,T2)
bool IsChangedDay()
비교하는 Date가 다음 날인지 얻어 올 수 있어요.
-- 샘플 --
local T1 = DateTime.new(2022, 12, 31, 11, 20, 34)
local T2 = DateTime.new(2023, 01, 01, 11, 20, 34)
local ChangedDay = IsChangedDay(T1,T2)
bool IsChangedWeek()
비교하는 Date가 다음 주인지 얻어 올 수 있어요.
-- 샘플 --
local T1 = DateTime.new(2022, 12, 31, 11, 20, 34)
local T2 = DateTime.new(2023, 01, 01, 11, 20, 34)
local ChangedWeek = IsChangedWeek(T1,T2)
number GetCompareYear()
두 날짜의 차이 년을 얻을 수 있어요.
-- 샘플 --
local T1 = DateTime.new(2022, 12, 31, 11, 20, 34)
local T2 = DateTime.new(2023, 01, 01, 11, 20, 34)
local CompareYear = GetCompareYear(T1,T2)
number GetCompareMonth()
두 날짜의 차이 달을 얻을 수 있어요.
-- 샘플 --
local T1 = DateTime.new(2022, 12, 31, 11, 20, 34)
local T2 = DateTime.new(2023, 01, 01, 11, 20, 34)
local CompareMonth = GetCompareMonth(T1,T2)
number GetCompareDay()
두 날짜의 차이 일을 얻을 수 있어요.
-- 샘플 --
local T1 = DateTime.new(2022, 12, 31, 11, 20, 34)
local T2 = DateTime.new(2023, 01, 01, 11, 20, 34)
local CompareDay = GetCompareDay(T1,T2)
number GetCompareHour()
두 날짜의 차이 시간을 얻을 수 있어요.
-- 샘플 --
local T1 = DateTime.new(2022, 12, 31, 11, 20, 34)
local T2 = DateTime.new(2023, 01, 01, 11, 20, 34)
local CompareHour = GetCompareHour(T1,T2)
number GetCompareMinute()
두 날짜의 차이 분을 얻을 수 있어요.
-- 샘플 --
local T1 = DateTime.new(2022, 12, 31, 11, 20, 34)
local T2 = DateTime.new(2023, 01, 01, 11, 20, 34)
local CompareMinute = GetCompareMinute(T1,T2)
number GetCompareSec()
두 날짜의 차이 초를 얻을 수 있어요.
-- 샘플 --
local T1 = DateTime.new(2022, 12, 31, 11, 20, 34)
local T2 = DateTime.new(2023, 01, 01, 11, 20, 34)
local CompareSec = GetCompareSec(T1,T2)
ModuleObject require(ObjectScript ModuleScript)
모듈 기능을 사용할 수 있게 로드해요. (모듈스크립트) (스크립트 처음 부분에서 한번만 작성하는 것을 권장합니다.)
-- 샘플 --
local Utility = require(ScriptModule.DefaultModules.Utility)
void assert(bool condition)
condition 값이 false이면 에러를 출력해요. (조건 값)
-- 샘플 --
local MakeError = false
print("a")
assert(MakeError) --인자가 true가 아니면 에러를 출력하고, 다음 줄을 처리해요.
assert(MakeError, "Some Error!!") --두번째 인자에 에러시 출력할 내용을 넣을 수 있어요.
print("b")
void wait(number Time)
지정한 시간만큼 기다려요. (대기시간)
-- 샘플 --
print("wait 3s")
wait(3)
print("end wait!")
void waitbool(function TargetFunction)
함수의 반환값이 true가 될때까지 함수를 계속 호출해요. (호출할 함수)
-- 샘플 --
local hour = 1
local function IsMorning()
if hour < 20 then
print("It's Morning!")
hour = hour + 1
return false
else
print("It's Night!")
return true
end
end
waitbool(IsMorning) --함수의 반환값이 true가 될때까지 함수를 계속 호출해요
void waitfunction(function TargetFunction)
함수를 호출한 뒤,함수가 종료될 때까지 기다려요. (호출할 함수)
-- 샘플 --
print("Call WaitMessage Function")
local function WaitMessage()
print("wait 3s")
wait(3)
print("Hello DitoLand!")
end
waitfunction(WaitMessage) --함수를 호출한 뒤, 함수가 종료될 때까지 기다려요
print("End WaitMessage Function")
coroutine create(function TargetFunction)
코루틴을 생성해요.
-- 샘플 --
local co = coroutine.create(function()
print("Hello!")
end)
void resume(coroutine coroutine)
코루틴을 실행해요.
-- 샘플 --
local co = coroutine.create(function()
print("Hello!")
end)
coroutine.resume(co)
void yield()
실행중인 코루틴을 일시정지해요. (코루틴 안에서 사용해야 해요.)
-- 샘플 --
local co = coroutine.create(function()
for i = 1, 3 do
print("num : " .. i)
coroutine.yield()
end
end)
coroutine.resume(co) -- num : 1
coroutine.resume(co) -- num : 2
coroutine.resume(co) -- num : 3
void wrap(function TargetFunction)
함수처럼 바로 호출할 수 있는 코루틴을 생성해요.
-- 샘플 --
local co = coroutine.wrap(function()
print("Hello!")
end)
co()
string status(coroutine coroutine)
코루틴의 상태를 반환해요.
-- 샘플 --
local co = coroutine.create(function()
print("Hello!")
end)
print(coroutine.status(co)) -- suspend
coroutine.resume(co)
print(coroutine.status(co)) -- dead
Last updated
Was this helpful?