Trong lập trình, biến là từ giữ chỗ cho các loại thông tin khác nhau trong trải nghiệm của bạn, chẳng hạn như tên người chơi, điểm số của một đội, hoặc từ ngữ cho một trò chơi câu chuyện. Trong chương này, hãy cùng khám phá cách mở tập tin chính cho lối chơi cốt lõi của trải nghiệm và thêm mã để hỏi người chơi câu hỏi và sử dụng câu trả lời của họ cho câu chuyện của bạn.
Mở tập tin script
Các nhà phát triển Roblox viết mã của họ bên trong các tập tin script mà cho Studio biết cách và thời điểm thêm hành vi tùy chỉnh vào các trải nghiệm, chẳng hạn như kích hoạt các loại sự kiện khác nhau, lưu thông tin người chơi, hoặc xuất hiện kẻ thù. Các tập tin script Roblox sử dụng ngôn ngữ lập trình Luau, mà bạn có thể tìm hiểu thêm trong phần Cơ bản về lập trình.
Mẫu trò chơi Câu Chuyện sử dụng một tập tin script duy nhất có tên là StoryManager để kiểm soát lối chơi cốt lõi của trải nghiệm. Tập tin script này đã chứa một số mã cần thiết để hiển thị toàn bộ câu chuyện cho người chơi, nhưng bạn sẽ thêm nhiều điều hơn nữa để hiển thị câu chuyện tương tác của bạn.
Để mở tập tin script StoryManager:
Trong cửa sổ Explorer, nhấp vào mũi tên bên cạnh StarterGui để xem tất cả các thành phần của nó. GameGui hiện ra.
Nhấp vào mũi tên bên cạnh GameGui để xem tất cả các thành phần của nó. Tập tin script StoryManager hiện ra ở trên cùng cùng với một vài thứ khác không quan trọng cho bài học này.

Nhấp đúp vào tập tin script StoryManager. Mã của tập tin script sẽ được hiển thị.
-- GLOBAL VARIABLESlocal storyMaker = require(script:WaitForChild("StoryMaker"))-- Code controlling the gamelocal playing = truewhile playing dostoryMaker:Reset()-- Code story between the dashes-- =============================================-- =============================================-- Add the story variable between the parenthesis belowstoryMaker:Write()-- Play again?playing = storyMaker:PlayAgain()end
Lưu ý rằng một phần lớn của mã sử dụng ký hiệu --, được gọi là chú thích. Những người lập trình sử dụng chú thích để để lại ghi chú, và chúng không thay đổi cách mà tập tin script chạy. Trong bài học này, bạn sẽ tạo mã của bạn giữa các chú thích đường gạch ngang để bạn có thể tập trung vào việc tạo câu chuyện tương tác của bạn ở một nơi.
Hỏi người chơi các câu hỏi
Như một thực tiễn tốt nhất, các lập trình viên tạo ra các biến với các tên mô tả loại thông tin mà chúng lưu trữ. Ví dụ, nếu bạn đang làm việc trên một trò chơi mà người chơi được chia thành các đội:
- Biến team lưu trữ thông tin về đội của người chơi.
- Biến teamColor lưu trữ thông tin về màu đội của người chơi.
- Biến teamScore lưu trữ thông tin cho điểm số đội của người chơi.
Các biến có thể lưu trữ đủ loại thông tin, chẳng hạn như số nhỏ, câu trả lời đúng hoặc sai, và chuỗi. Các biến kiểu chuỗi đặc biệt vì chúng có thể lưu trữ toàn bộ câu, bao gồm các câu hỏi mà bạn muốn hỏi người chơi của bạn.
Sử dụng các từ giữ chỗ của bạn từ chương trước, bạn có thể tạo các biến kiểu chuỗi với các tên giữ chỗ giống như những gì mô tả loại từ mà bạn sẽ hỏi người chơi khi họ chơi trò chơi câu chuyện của bạn.
Để tạo ra các biến cho các câu hỏi của người chơi:
Nhấp bên dưới các chú thích đường gạch ngang và tạo một biến cục bộ cho từ đầu tiên mà bạn muốn người chơi thay thế bằng câu trả lời của họ. Ví dụ:
-- =============================================local name1-- =============================================Đặt biến bằng cách sử dụng ký hiệu = với phương thức storyMaker:GetInput() được cung cấp để hiển thị các câu hỏi của bạn trong cuốn sách khổng lồ. Bạn phải gõ phương thức này chính xác như nó là với cách viết hoa cụ thể của nó để mã hoạt động. Ví dụ:
-- =============================================local name1 = storyMaker:GetInput()-- =============================================Tạo một chuỗi nằm giữa dấu ngoặc với câu hỏi mà bạn muốn hỏi người chơi của mình. Hãy nhớ, chuỗi luôn nằm trong dấu ngoặc kép!
-- =============================================local name1 = storyMaker:GetInput("Tên yêu thích của bạn là gì?")-- =============================================
Sử dụng câu trả lời của họ
Bây giờ bạn đã có một câu hỏi mà người chơi có thể trả lời, đã đến lúc lập trình câu chuyện của bạn và thêm hành vi để thay thế từ giữ chỗ của bạn bằng câu trả lời của họ.
Để tạo ra các biến cho câu chuyện của bạn và sử dụng câu trả lời của người chơi:
Dưới câu hỏi của bạn, tạo một biến mới có tên là story. Nhớ rằng, các biến phải viết thường!
-- =============================================local name1 = storyMaker:GetInput("Tên yêu thích của bạn là gì?")local story-- =============================================Đặt biến kiểu chuỗi của bạn thành câu đầu tiên của câu chuyện trước từ giữ chỗ đầu tiên của bạn, để lại một khoảng trống sau từ cuối cùng và trước dấu ngoặc kép. Nếu từ giữ chỗ của bạn tình cờ nằm ở giữa một câu, bạn có thể thêm phần còn lại của câu trong một chương sau của hướng dẫn.
-- =============================================local name1 = storyMaker:GetInput("Tên yêu thích của bạn là gì?")local story = ("Trong một cái cây trên một ngọn đồi sống một pháp sư vĩ đại ")-- =============================================Kết hợp chuỗi đầu tiên của câu chuyện với câu trả lời của người chơi bằng cách sử dụng ... Kết hợp lại với nhau được gọi là nối chuỗi.
- Trên cùng một dòng với biến story, thêm hai dấu chấm.
- Thêm một khoảng trống, sau đó gõ tên của biến chứa câu trả lời đầu tiên của người chơi.
-- =============================================local name1 = storyMaker:GetInput("Tên yêu thích của bạn là gì?")local story = ("Trong một cái cây trên một ngọn đồi sống một pháp sư vĩ đại " .. name1)-- =============================================Hiển thị phần đầu tiên của câu chuyện này cho người chơi bằng cách gọi biến câu chuyện từ phương thức storyMaker:Write() được cung cấp mà viết câu chuyện của bạn trong cuốn sách khổng lồ.
-- =============================================local name1 = storyMaker:GetInput("Tên yêu thích của bạn là gì?")local story = ("Trong một cái cây trên một ngọn đồi sống một pháp sư vĩ đại " .. name1)-- =============================================-- =============================================storyMaker:Write(story)
Bây giờ là một thời điểm tốt để tạm dừng một chút, thử nghiệm trải nghiệm trong chương tiếp theo, và đảm bảo rằng câu chuyện đang hoạt động!