스크립트는 경험에 사용자 지정, 동적 행동을 추가할 수 있는 일반 텍스트 파일입니다.스크립트를 사용하여 게임 내 이벤트를 트리거하고, 플레이어 입력에 응답하고, 플레이어 데이터를 저장하고, 리더보드를 생성하고, 적을 스폰하고, NPC 행동을 제어하고, 훨씬 더 많은 일을 수행할 수 있습니다.
루아우
Roblox 스크립트는 Luau 프로그래밍 언어를 사용하며, 이는 Lua 5.1에서 파생됩니다.
- Lua 5.1과 비교하여 Luau는 선택적 타이핑 시스템, 문자열 중첩 및 테이블에 대한 일반화된 반복을 포함하여 성능 향상과 많은 유용한 기능을 추가합니다.
- 모든 유효한 Lua 5.1 코드는 유효한 Luau 코드이지만 반대는 사실이 아닙니다.
루아에 대한 대부분의 책과 온라인 리소스는 여전히 루아우에 넓게 적용할 수 있습니다.차이점의 자세한 요약은 Luau 문서의 호환성에 참조하십시오.언어 구문에 대해서는 Luau 참조를 참조하십시오.
Luau 기본
Luau는 점진적으로 입력되므로 변수를 만들 때 유형을 지정할 필요가 없습니다. type()를 사용하여 개체 유형을 확인할 수 있습니다.
logMessage = "User has more than 10 items!"print(logMessage) --> 사용자에게는 10개 이상의 아이템이 있습니다!print(type(logMessage)) --> string
Luau에는 전역과 로컬 범위가 있지만, 변수와 함수를 로컬에서 선언하는 것이 거의 항상 더 좋습니다: local 키워드:
local logMessage = "User has more than 10 items!"
local function printMessage()
print(logMessage)
end
printMessage() --> User has more than 10 items!
Luau는 조건부 문에서 nil를 사용하여 존재하지 않음이나 무효함을 나타냅니다: false
local messageToUserprint(messageToUser) --> 무효print(type(message)) --> 무효if messageToUser then-- 문이 false로 평가됩니다end
알고 계셨을 수도 있지만, --는 한 줄 코멘트를 달다/남기다, 의견을 내다시작합니다. --[[]]는 블록 코멘트를 달다/남기다, 의견을 내다생성합니다:
--[[
Shuts off the cosmic moon ray immediately.
Should only be called within 15 minutes of midnight Mountain Standard
Time to avoid damage to the cosmic moon ray.
]]
local function stopCosmicMoonRay()
-- 나중에 이것을 추가하면 중요할 수 있습니다
end
테이블은 배열과 사전의 일반적인 용어입니다.배열은 0 기반이 아닌 1 기반이므로 첫 번째 항목은 [1]입니다.한 세트의 굵은 괄호로 배열과 사전을 선언합니다: You declare arrays and dictionaries with a single set of curly braces:
local myArray = {"chips", "sparkling water", "salsa"}local myDictionary = {snack = "chips",drink = "sparkling water",dip = "salsa"}print(myArray[1]) --> 반칩print(myDictionary.dip) --> salsa
배열용 루프와 사전용 함수를 사용하여 테이블을 반복할 수 있지만 Luau는 더 깔끔한 구문을 위해 이러한 함수를 생략할 수도 있습니다:
for index, value in ipairs(myArray) do -- 표준 Luaprint(index, value)endfor key, value in pairs(myDictionary) do -- 표준 Luaprint(key, value)endfor key, value in myDictionary do -- Luau 일반화된 반복print(key, value)end
첫 번째 스크립트
Roblox Studio에서 Explorer 창에서 ServerScriptService에 마우스를 올리고 + 를 클릭하십시오.
새 스크립트를 추가하려면 스크립트 를 선택하십시오.
스크립트를 마우스 오른쪽 버튼으로 클릭하고 HelloScript로 이름을 바꿉니다.
스크립트를 두 번 클릭하여 스크립트 편집기에서 열립니다.
파일에 다음 코드를 추가합니다:
local helloArray = {"h", "e", "l", "l", "o"}local worldArray = {"w", "o", "r", "l", "d"}for index, value in helloArray doprint(value)endprint(table.concat(worldArray))출력 창이 열려 있는지 확인하십시오.
경험을 실행하려면 플레이 를 클릭하십시오.
출력을 참고하십시오:
hel (x2)oworld
편안해지기
새로운 개발 환경에 적응하는 큰 부분은 요구 사항을 충족시키도록 구성하고 사용 가능한 도구를 이해하는 것입니다.
- 스크립트 편집기 섹션의 Studio 설정에서는 서체, 색상, 들여쓰기, 자동 완성, 괄호 및 도구 설명과 같은 생활 품질 기능을 조정할 수 있습니다.또한 Studio 섹션에서 어두운 모드를 활성화하는 것이 좋습니다.
- Ctrl 또는 Command 를 길게 누르고 함수나 변수를 클릭하면 코드베이스(또는 온라인 문서)에서 선언으로 이동합니다.검색 및 모두 검색을 사용하면 더 큰 프로젝트를 탐색하는 데 도움이 될 수 있습니다.
- 스크립트 분석 창에는 오류와 경고의 요약이 표시되지만, 유용성이 제한되어 있을 수 있습니다; 스크립트 편집기는 입력하는 대로 이러한 문제를 강조 표시합니다.
스크립트용으로 Studio를 구성하는 자세한 정보는 스크립트 편집기를 참조하십시오.가장 좋아하는 텍스트 편집기와 버전 제어 시스템을 사용하는 방법에 대한 자세한 정보는 외부 도구를 참조하십시오.
두 번째 스크립트
Roblox Studio에서 탐색기 창에서 ReplicatedStorage에 스크립트를 추가하고 OhNo 이름을 변경합니다.
파일에 다음 코드를 추가합니다:
print("Hello script types and locations!")경험을 실행하려면 플레이 를 클릭하십시오.
출력이 처음 스크립트를 실행할 때와 다르지 않은지 확인하십시오 .
스크립트가 실행되지 않은 이유를 이해하려면 스크립트 유형 및 위치를 참조하십시오.