더북(TheBook)

지금은 대사가 한 개만 있습니다. 만약 여러 개의 대사를 말하게 하려면 기존에 선언한 dialogue 배열에 대사를 추가하고 speak 함수를 약간 수정하면 됩니다. 수정된 코드는 아래와 같습니다.

 

코드 | 파일명: AutoDialog2.lua

local ChatService = game:GetService("Chat")   --Chat Service 가져오기
local npc = script.Parent                     --NPC 변수에 담기
local head = npc.Head                         --NPC의 Head 파트 변수에 담기
local click = npc.ClickDetector               --ClickerDetector 변수에 담기
--dialog 배열 선언
local dialogue= {"안녕하세요? 반갑습니다.^^", "전생에 당신은 전설의 용사였습니다.", "대마왕이 부활했습니다!!", "용사여!! 어서 깨어나세요!!"}
local index = 1                               --index 초깃값 1

local function speak()             --speak 함수 선언
    local talk = dialogue[index]   --talk 변수에 미리 준비된 대사 담기
    ChatService:Chat(head, talk)   --Chat Service를 이용한 NPC 대사 위치 Head, 대사 dialogue
    if index .. #dialogue then    --index가 dialogue 배열의 크기와 같으면 아래 코드 실행
        index = 1
    else                          --그 이외에 index가 #dialogue 길이와 같지 않은 경우
        index = index + 1
    end
end

click.MouseClick:Connect(speak)   --ClickDetector가 클릭을 감지하면 speak 함수 실행

TIP dialogue 배열의 내용은 한 줄로 이어 써야 오류가 나지 않습니다. 책에는 지면 관계상 두 줄로 보이는 것입니다.

 

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.