스크립팅

*이 콘텐츠는 AI(베타)를 사용해 번역되었으며, 오류가 있을 수 있습니다. 이 페이지를 영어로 보려면 여기를 클릭하세요.

스크립트는 경험에 사용자 지정, 동적 행동을 추가할 수 있는 일반 텍스트 파일입니다.스크립트를 사용하여 게임 내 이벤트를 트리거하고, 플레이어 입력에 응답하고, 플레이어 데이터를 저장하고, 리더보드를 생성하고, 적을 스폰하고, 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 messageToUser
print(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 -- 표준 Lua
print(index, value)
end
for key, value in pairs(myDictionary) do -- 표준 Lua
print(key, value)
end
for key, value in myDictionary do -- Luau 일반화된 반복
print(key, value)
end

첫 번째 스크립트

  1. Roblox Studio에서 Explorer 창에서 ServerScriptService에 마우스를 올리고 + 를 클릭하십시오.

  2. 새 스크립트를 추가하려면 스크립트 를 선택하십시오.

  3. 스크립트를 마우스 오른쪽 버튼으로 클릭하고 HelloScript로 이름을 바꿉니다.

  4. 스크립트를 두 번 클릭하여 스크립트 편집기에서 열립니다.

  5. 파일에 다음 코드를 추가합니다:


    local helloArray = {"h", "e", "l", "l", "o"}
    local worldArray = {"w", "o", "r", "l", "d"}
    for index, value in helloArray do
    print(value)
    end
    print(table.concat(worldArray))
  6. 출력 이 열려 있는지 확인하십시오.

  7. 경험을 실행하려면 플레이 를 클릭하십시오.

  8. 출력을 참고하십시오:


    h
    e
    l (x2)
    o
    world

편안해지기

새로운 개발 환경에 적응하는 큰 부분은 요구 사항을 충족시키도록 구성하고 사용 가능한 도구를 이해하는 것입니다.

  • 스크립트 편집기 섹션의 Studio 설정에서는 서체, 색상, 들여쓰기, 자동 완성, 괄호 및 도구 설명과 같은 생활 품질 기능을 조정할 수 있습니다.또한 Studio 섹션에서 어두운 모드를 활성화하는 것이 좋습니다.
  • Ctrl 또는 Command 를 길게 누르고 함수나 변수를 클릭하면 코드베이스(또는 온라인 문서)에서 선언으로 이동합니다.검색 및 모두 검색을 사용하면 더 큰 프로젝트를 탐색하는 데 도움이 될 수 있습니다.
  • 출력 은 스크립트의 동작을 이해하는 데 가장 기본적인 도구입니다. 메뉴를 사용하여 컨텍스트 표시원본 표시 를 활성화합니다.
  • 스크립트 분석 창에는 오류와 경고의 요약이 표시되지만, 유용성이 제한되어 있을 수 있습니다; 스크립트 편집기는 입력하는 대로 이러한 문제를 강조 표시합니다.
  • 로깅 기능은 최소화되며, DEBUG 또는 FATAL와 같은 로그 레벨 개념은 없습니다. print()warn() 을 사용하십시오.

스크립트용으로 Studio를 구성하는 자세한 정보는 스크립트 편집기를 참조하십시오.가장 좋아하는 텍스트 편집기와 버전 제어 시스템을 사용하는 방법에 대한 자세한 정보는 외부 도구를 참조하십시오.

두 번째 스크립트

  1. Roblox Studio에서 탐색기 창에서 ReplicatedStorage에 스크립트를 추가하고 OhNo 이름을 변경합니다.

  2. 파일에 다음 코드를 추가합니다:


    print("Hello script types and locations!")
  3. 경험을 실행하려면 플레이 를 클릭하십시오.

  4. 출력이 처음 스크립트를 실행할 때와 다르지 않은지 확인하십시오 .

스크립트가 실행되지 않은 이유를 이해하려면 스크립트 유형 및 위치를 참조하십시오.