W programowaniu, zmienne to słowa zastępcze dla różnych typów informacji w twojej grze, takich jak imiona graczy, wynik drużyny lub słowa do gry fabularnej. W tym rozdziale przyjrzymy się, jak otworzyć główny skrypt dla podstawowej rozgrywki i dodać kod, aby zadawać pytania graczom i wykorzystać ich odpowiedzi w twojej historii.
Otwórz skrypt
Twórcy Roblox piszą swój kod w skryptach, które mówią Studio, jak i kiedy dodać niestandardowe zachowanie do gier, takie jak wyzwalanie różnych typów zdarzeń, zapisywanie informacji o graczach lub pojawianie się wrogów. Skrypty Roblox używają języka programowania Luau, o którym możesz dowiedzieć się więcej później w serii Podstawy programowania.
Szablon Gry Fabularnej używa jednego skryptu o nazwie StoryManager, aby kontrolować podstawową rozgrywkę gry. Ten skrypt już zawiera pewien kod, który jest niezbędny do pokazania pełnej historii graczowi, ale dodasz więcej, aby wyświetlić swoją interaktywną historię.
Aby otworzyć skrypt StoryManager:
W oknie Explorer kliknij strzałkę obok StarterGui, aby zobaczyć wszystko, co zawiera. Wyświetla się GameGui.
Kliknij strzałkę obok GameGui, aby zobaczyć wszystko, co zawiera. Skrypt StoryManager wyświetla się na górze wraz z kilkoma innymi rzeczami, które nie są ważne dla tej lekcji.

Kliknij dwukrotnie skrypt StoryManager. Wyświetli się kod skryptu.
-- GLOBAL VARIABLES
local storyMaker = require(script:WaitForChild("StoryMaker"))
-- Kod kontrolujący grę
local playing = true
while playing do
storyMaker:Reset()
-- Kod historii między myślnikami
-- =============================================
-- =============================================
-- Dodaj zmienną historii między nawiasami poniżej
storyMaker:Write()
-- Grać ponownie?
playing = storyMaker:PlayAgain()
endZauważ, jak duża część kodu używa symbolu --, który nazywa się komentarzem. Programiści używają komentarzy, aby zostawiać notatki, a one nie zmieniają sposobu działania skryptu. W tej lekcji stworzysz swój kod między komentarzami z myślnikami, aby skupić się na tworzeniu swojej interaktywnej historii w jednym miejscu.
Zadawaj pytania graczom
Jako najlepsza praktyka, programiści tworzą zmienne z nazwami, które opisują typ informacji, które przechowują. Na przykład, jeśli pracujesz nad grą, w której gracze są podzieleni na drużyny:
- Zmienna team przechowuje informacje o drużynie gracza.
- Zmienna teamColor przechowuje informacje o kolorze drużyny gracza.
- Zmienna teamScore przechowuje informacje o wyniku drużyny gracza.
Zmienne mogą przechowywać różne rodzaje informacji, takie jak małe liczby, odpowiedzi prawda/fałsz i ciągi znaków. Zmienne typu ciąg są szczególne, ponieważ mogą przechowywać całe zdania, w tym pytania, które chcesz zadać swoim graczom.
Używając swoich słów zastępczych z poprzedniego rozdziału, możesz stworzyć zmienne typu ciąg z tymi samymi nazwami zastępczymi, które opisują, jakiego typu słowo chcesz zapytać gracza podczas gry w swoją grę fabularną.
Aby stworzyć zmienne dla pytań do graczy:
Kliknij poniżej komentarzy z myślnikami i stwórz lokalną zmienną dla pierwszego słowa, które chcesz, aby gracze zastąpili swoją własną odpowiedzią. Na przykład:
-- =============================================local name1-- =============================================Ustaw zmienną używając symbolu = na podaną metodę storyMaker:GetInput(), która wyświetla twoje pytania w wielkiej książce. Musisz wpisać tę metodę dokładnie tak, jak jest, z jej specyficzną wielkością liter, aby kod działał. Na przykład:
-- =============================================local name1 = storyMaker:GetInput()-- =============================================Stwórz ciąg w nawiasach z pytaniem, które chcesz zadać swoim graczom. Pamiętaj, że ciągi są zawsze w cudzysłowach!
-- =============================================local name1 = storyMaker:GetInput("Jakie jest twoje ulubione imię?")-- =============================================
Użyj ich odpowiedzi
Teraz, gdy masz pytanie, na które gracze mogą odpowiedzieć, czas napisać swoją historię i dodać zachowanie, które zastąpi twoje słowo zastępcze ich odpowiedzią.
Aby stworzyć zmienne dla swojej historii i użyć odpowiedzi graczy:
Pod swoim pytaniem stwórz nową zmienną o nazwie story. Pamiętaj, że zmienne są pisane małymi literami!
-- =============================================local name1 = storyMaker:GetInput("Jakie jest twoje ulubione imię?")local story-- =============================================Ustaw swoją zmienną typu ciąg na pierwsze zdanie twojej historii przed twoim pierwszym słowem zastępczym, zostawiając spację po ostatnim słowie i przed cudzysłowem. Jeśli twoje słowo zastępcze znajduje się w środku zdania, możesz dodać resztę zdania w późniejszym rozdziale samouczka.
-- =============================================local name1 = storyMaker:GetInput("Jakie jest twoje ulubione imię?")local story = ("Na drzewie na wzgórzu mieszka wielki czarodziej ")-- =============================================Połącz pierwszy ciąg historii z odpowiedzią gracza używając ... Łączenie rzeczy razem nazywa się konkatenacją.
- W tym samym wierszu co zmienna story, dodaj dwie kropki.
- Dodaj spację, a następnie wpisz nazwę zmiennej, która przechowuje pierwszą odpowiedź gracza.
-- =============================================local name1 = storyMaker:GetInput("Jakie jest twoje ulubione imię?")local story = ("Na drzewie na wzgórzu mieszka wielki czarodziej " .. name1)-- =============================================Pokaż tę pierwszą część historii graczom, wywołując zmienną story z podaną metodą storyMaker:Write(), która zapisuje twoją historię w wielkiej książce.
-- =============================================local name1 = storyMaker:GetInput("Jakie jest twoje ulubione imię?")local story = ("Na drzewie na wzgórzu mieszka wielki czarodziej " .. name1)-- =============================================-- =============================================storyMaker:Write(story)
Teraz jest dobry moment, aby na chwilę się zatrzymać, przetestować grę w następnym rozdziale i upewnić się, że historia działa!