스크립트 작성

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

스크립트는 경험에 사용자 지정, 동적 행동을 추가할 수 있는 평범한 텍스트 파일입니다. 스크립트를 사용하여 게임 이벤트를 트리거하고, 플레이어 입력에 응답하고, 플레이어 데이터를 저장하고, 순위표를 생성하고, 적을 조종하고, NPC 행동을 제어하고, 훨씬 더 많이 사용할 수 있습니다.

루아

Roblox 스크립트는 Luau 프로그래밍 언어를 사용하며, Lua 5.1에서 파생되었습니다.

  • Lua 5.1에 비해 Luau는 옵션 입력 시스템, 문자열 변환 및 테이블에 대한 일반화된 반복을 포함하여 성능 향상 및 많은 유용한 기능을 추가합니다.
  • 모든 유효한 Lua 5.1 코드는 유효한 Luau 코드이지만, 반대는 사실이 아닙니다.

Lua에 대한 대부분의 책과 온라인 리소스는 여전히 ​​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!

Lua는 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]입니다. 배열과 사전을 하나의 문자열로 선언합니다.


local myArray = {"chips", "sparkling water", "salsa"}
local myDictionary = {
snack = "chips",
drink = "sparkling water",
dip = "salsa"
}
print(myArray[1]) --> 칩
print(myDictionary.dip) --> salsa

배열에 대한 루프 for 함수와 사전 ipairs() 함수를 사용하여 테이블을 반복할 수 있지만, 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. In 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 Ctrl 또는 Command 명령 을 길게 누르거나 함수 또는 변수를 클릭하면 코드 기반(또는 온라인 문서)의 선언에 이동합니다. 찾기 모두 찾기 를 사용하면 더 큰 프로젝트를 탐색하는 데 도움이 될 수 있습니다.
  • 출력 창은 스크립트 동작을 이해하는 가장 기본적인 도구입니다. 메뉴를 사용하여 컨텍스트 표시 및 1>원본 표시1>를 활성화하십시오.
  • 스크립트 분석 창은 오류 및 경고의 요약을 표시하지만, 스크립트 분석기 를 사용하면 유틸리티가 제한되어 있을 수 있습니다. 스크립트 편집기 는 이미 입력하는 동안 이러한 문제를 하이라이트합니다.
  • 로깅 기능은 최소화되며, DEBUG 또는 FATAL 와 같은 로그 수준 개념이 없습니다. print() 및 1> Global.RobloxGlobals.warn()1> 를 사용하십시오.

스크립트 작성을 위해 Studio를 구성하는 방법에 대한 자세한 내용은 스크립트 편집기를 참조하십시오. 좋아하는 텍스트 편집기 및 버전 관리 시스템을 사용하는 방법에 대한 자세한 내용은 외부 도구를 참조하십시오.

두 번째 스크립트

  1. In Roblox Studio, Explorer 창에 있는 스크립트를 수정하여ReplicatedStorage 에 스크립트를 추가하고 이름을 OhNo 로 변경합니다.

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


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

  4. 출력이 처음 스크립트를 실행했을 때와 다르지 않다는 점에 주의하십시오.

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