Кто это коснулся?
Часть раздела Скриптинг игр в Roblox путешествия по Lua на Coddy. Урок 14 из 24.
hit — это часть тела, а hit.Parent — персонаж, которому принадлежит эта часть тела. Сервис Players преобразует персонажа в игрока, который им управляет:
local Players = game:GetService("Players")
local player = Players:GetPlayerFromCharacter(hit.Parent)Если коснувшийся объект — не персонаж (мяч, падающий кирпич), GetPlayerFromCharacter возвращает nil, поэтому проверьте его, прежде чем использовать:
local player = Players:GetPlayerFromCharacter(hit.Parent)
if player then
print(player.Name .. " found the secret")
endПолучив игрока, вы можете обратиться к чему угодно внутри него, например к его таблице очков: player.leaderstats.Coins.Value. Присваивание нового значения с помощью = заменяет прежнее значение.
Задание
СреднеСветящаяся площадка — это сокровище, и этот скрипт находится внутри него. У каждого игрока уже есть leaderstats со значением Coins, равным 0.
Когда игрок касается сокровища, выведи его имя и установи для его Coins значение 100. Объекты, которые не являются игроками, не должны вызывать ошибку.
Нажми Play, наступи на площадку и посмотри на таблицу очков, затем нажми Check.
Попробуйте сами
local Players = game:GetService("Players")
local treasure = script.Parent
treasure.Touched:Connect(function(hit)
local player = Players:GetPlayerFromCharacter(hit.Parent)
-- Если это игрок: выведите его имя и установите его Coins равным 100
end)
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Скриптинг игр в Roblox
2Циклы и функции
Ряд столбовСтроитель лестницСтроитель башенФабрика монетМигающий светИсчезающий мост5Ваша первая игра
Ваш первый обби3События и игроки
Сенсорная панельПол из лавыLeaderstatsКто это коснулся?Сборщик монетДверь с монетойПотренируйтесь самостоятельно: Онлайн-компилятор Lua