지금은 대사가 한 개만 있습니다. 만약 여러 개의 대사를 말하게 하려면 기존에 선언한 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 배열의 내용은 한 줄로 이어 써야 오류가 나지 않습니다. 책에는 지면 관계상 두 줄로 보이는 것입니다.

     

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