Частина 1 | Як написати свій перший скрипт? | Roblox Studio

Зміст

Чи є українські туторіали по скриптингу в Roblox Studio?

Відповідь - ні. Чому? Не можу зрозуміти. Дуже багато роликів саме по цій темі, але російською, тому рекомендувати не буду. Є багато туторіалів на офіційному сайті з документацією, там є і приклад в картинках і є готові коди. Також є в devforum багато туторіалів, є розділ кацапською, на жаль, тому не підчепіть заразу.

До речі, вже 5-6 раз пишу до підтримки Roblox та Developer Relations з просьбою додати український розділ в форумі. Або мені не відповідають, або пишуть взагалі не про те що потрібно. Якщо хочете більше про цю тему та особисто про devforum, то пишіть.


Що ти маєш вже знати про Roblox Studio?

  1. Розібратись із інтерфейсом початкового екрану у Roblox Studio: New(створити нову гру на шаблоні), My Games(перелічення твоїх ігор), Recent(нещодавно змінені ігри), Archive(ігри в архіві, їх не можна змінювати поки вони там)

    Головний екран Roblox Studio
  2. Навчитись створювати нові ігри(New), нажавши на один із шаблонів, та входити до них(My Games).

  3. Знати різницю між режимами відображення ігор та вміти правильно їх в My Games.

  4. Знати як правильно користуватись розділами My Games(ігри від вашого імені), Group Games(ігри від імені групи), Shared With Me(ігри до яких у вас є доступ, включно Group Games) в My Games.

  5. Ознайомитись із базовими інструментами та вікнами в редакторі Roblox Studio.

    Вікна Explorer, Properties, Output
  6. Знати деякі швидкі клавіши, буду про них казати під час туторіалів. Alt+P для збереження свого проекту в Roblox, не боїтесь, він буде не доступний для всіх.

Коли вже писати код будемо? Які види скриптів є?

Я знаю, що вам вже хочеться написати скрипт, який хакне пентагон, мабуть)
Але для ясного старту вам потрібно розуміти що таке Local Script, Server Script, Module Script:

  • Local Script - локальний скрипт, клієнтський скрипт - цей вид скрипта відповідає за відображення все на стороні гравця, наприклад інтерфейс.

    Клієнтський скрипт системи рації
  • Server Script - скрипт, серверний скрипт - цей вид скрипта відповідає за ігрову логіку та розрахунки.

    Серверний скрипт системи рації
  • Module Script - модульний скрипт, shared - цей вид скрипта дозволяє мати в себе якісь константи: функції, змінні; зручний для зв’язку декількох скриптів; частіше використовується для налаштувань у проекті. І він має специфічну форму написання, ніж інші.

    Модульний скрипт(налаштування) системи рації

Сьогодні ми з вами розберемо базовий синтаксис Luau, та переглянемо декілька бібліотек.

Будемо йти за планов цього roadmap, який надав один із розробників, який зібрав всі приколюхи Luau і не тільки.


Функції print() та warn(), і в яких випадках їх використовувати

Створіть свій перший скрипт в ServerScriptServer(далі SSS):

  1. Наведіться на розділ SSS.

  2. Нажміть на “+” біля назви.

    Створіть свій перший скрипт в ServerScriptService
  3. Оберіть із списку об’єктів серверний скрипт.

    Як виглядає серверний скрипт
  4. Ви створили свій перший скрипт.

Початковий код

І перше, що ви побачили - це початковий код:

print("Hello world!")

>>> Hello world!

Тепер додайте якийсь туди текст.

Як з’єднати текст

А якщо не одними ковичками? Це буде виглядати так:

print("Hello".."Drukarnia")

>>> HelloDrukarnia

Дві крапки між ковичками з’єднують текст між собою, а ще можна з’єднати так:

print("Hello","Drukarnia")

>>> Hello Drukarnia

І так, кома з’єднує текст і між цим текстом ставить пробіли. Давайте я вам прикол покажу:

print"Hello Drukarnia"

>>> Hello Drukarnia

Це не є правильною формою, але просто щоб ви знали.

Розрахунки у print()

Також у print() можна робити розрахунки, але вони вже робляться без ковичок:

print(1 + 5)
print(2 * 1)

>>> 6
>>> 2

Використання змінних

Можемо додати змінні для цікавості:

a = "Hello,"
b = "Drukarnia"

print(a,b)

>>> "Hello, Drukarnia"
a = 3
b = 6

print(a + b)

>>> 9

Де знаходиться консоль

Я думаю, що тут все просто. І так, я робив код у друкарні, але ви можете написати його в своєму скрипті і коли ви зайдете в гру(гаряча клавіша: зайти - F5, вийти - Shift+F5), то нажміть далі на View > Output і там будуть відображатись ваша писемність :)

Другий стовпчик, перший ряд
Приклад Output тексту

Про warn()

І коротко про warn(): це теж саме що і print(), але виділене жовтим і жирнуватим текстом.


Що таке змінні? Як їх правильно визивати та називати?

Змінна - це певне значення в певній частині кода, яка використовується для визова в певній частині кода. Такий собі приклад ми вже робити із print().

Ось приклади правильних і неправильних назв змінних

LETTERS   -- правильне
a1        -- правильне
var_name  -- правильне
_test     -- правильне

if        -- неправильне
25th      -- неправильне

Зазвичай у проектах є певні форми назв ваших змін

HomeObject -- називай так свої об'єкти та класи

UserInputService -- називай так сервіси Roblox

YOUR_NUMBER -- називай так константи у своєму проекті

Не використовуй такі назви змін у своєму проекті

Ці назви є специфічними і більше використовуються для логіки вашої програми:

and
for
or
break
function
repeat
do
if
return
else
in
then
elseif
local
true
end
nil
until
false
not
while

Як правильно створювати свої змінні та використовувати їх

local nilVar -- пустота
local x = 10 -- цифра 10
local word = "Hello" -- текст Hello
local reference = workspace.Camera -- об'єкт в workspace

print(nilVar) -- nil (пусто)
print(x) -- цифра 10
print(word) -- текст Hello
print(reference) -- об'єкт Camera

На початку ми пишемо local, потім свою назву змінної, знак рівності, і на останок пишемо значення нашої змінної.

Як створювати мульті-змінні та як використовувати

Це такі ж самі змінні, але вони можуть писатись в одну строку:

local a, b, c = 1, 2, 3
local d, e, f = 4, 5 -- так звані extra variable
local g, h = 7, 8, 9 -- так звані extra value

print(a, b, c) -- 1, 2, 3
print(d, e, f) -- 4, 5, nil
print(g, h) -- 7, 8

Як змінювати змінні

Все дуже просто: можемо їм змінити значення, а можемо перестворити змінні

local x, y = 10, 20

print(x,y) -- 10 20


x = 1000
y = 2000

print(x,y) -- 1000 2000
local x, y = 10, 20

print(x,y) -- 10 20


local x = 1000
local y = 2000

print(x,y) -- 1000 2000

Умови if..elseif..else..end та різні знаки рівності

Що таке умова? Умова - це якщо якесь значення дорівнює якомусь, то будет true та виповнюється якийсь код, або false та виконується, або ні, якийсь певний код.

Приклади умов

local example = 5 + 5

if example == 10 then
    print("5 + 5 = 10")
end
local example = 5 + 5

if example == 10 then
    print(example.." = 10")
elseif example == 15 then
    print(example.." = 15")
end
local example = 5 + 5

if example == 10 then
    print(example.." = 10")
elseif example == 15 then
    print(example.." = 15")
else
    print("Чорт його зна що воно дорівнює")
end

Я думаю, ви вже зрозуміли, що if - це початок умови, then - це закінчення певної умови, elseif - це початок іншої умови, else - це всі інші умови, а end - закінчення умови. Знак дорівнює в умовах тільки можуть бути як два знака дорівнює “==” - цей знак працює як і на назви, так і на числа, так і на об’єкти(але про це пізніше).

Використання ~= та not

Для цих значень може підійти знак нерівності “~=“ або перед умовою вставляємо “not”:

local example = 5 + 5

-- перший варіант
if not example == 15 then
    print(example.." не дорівнює 15")
end

-- другий варіант
if example ~= 15 then
    print(example.." не дорівнює 15")
end

Математичні оператори для умов

Для математичних виразів є також такі знаки(оператори):

== -- дорівнює
~= -- не дорівнює
>= -- більше або дорівнює
<= -- менше або дорівнює
>  -- більше
<  -- менше

Більше про логічні оператори(or,and)

or та and ми використовуємо для з’єднання умов. Завдяки них ми не будемо писати так:

local example1 = 5 + 5
local example2 = 2 + 2

if example1 == 10 then
    if example2 == 4 then
        print(example1,"=","10","та",example2,"=","4")
    end 
end

Ми можемо написати так…

Якщо нам потрібно дізнатись, чи 5+5=10 та 2+2=4, то будемо використовувати and та писати так:

local example1 = 5 + 5
local example2 = 2 + 2

if example1 == 10 and example2 == 4 then
    print(example1,"=","10","ТА",example2,"=","4")
end

А якщо нам потрібно дізнатись, чи 5+5=10 або 2+2=4, то будемо використовувати or та писати так:

local example1 = 5 + 5
local example2 = 2 + 5

if example1 == 10 or example2 == 4 then
    print(example1,"=","10","АБО",example2,"=","4")
end

На сьогодні досить

Сьогодні я вам дав багато інформації про деякий функціонал Luau, та хочу, щоб ви запам’ятали це, бо ми розібрали всього та нічого.

Якщо вам це сподобалось та було корисно, то дайте знати про це.

Якщо є неточності та неправильності, то пишіть про це в коментарях!

Успіхів вам!

Поділись своїми ідеями в новій публікації.
Ми чекаємо саме на твій довгочит!
Кирило
Кирило@kyrylo

🧑🏻‍💻 Python, Lua Coder

1.9KПрочитань
2Автори
10Читачі
Підтримати
На Друкарні з 15 квітня

Більше від автора

  • Коледж у Discord. Плюси і мінуси. Створення бота.

    Моя історію того, як хотілось мені покращити досвіду студентства. Ідея про створення певного осередку студентів коледжу, де вони могли обмінюватись інформацією, заводити дружні стосунки та просто читати важливу інформацію про якісь події та тощо.

    Теми цього довгочиту:

    Студентство
  • Що таке Roblox та чому це один із прогресивних двигунів для розробки?

    Для рядового гравця Roblox - це дитяча платформа? Але на ній можна заробити, підвищити свої навички розробки! Більше про інструменти та цікавинки про Roblox та Roblox Studio в цьому довгочиті!

    Теми цього довгочиту:

    Roblox

Вам також сподобається

Коментарі (4)

Доброго дня чи можете ви навчити писати скрипти в роблокс студіо за певну плату?

Вам також сподобається