Menu
CoddyTech

Кто это коснулся?

Часть раздела Скриптинг игр в 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. Присваивание нового значения с помощью = заменяет прежнее значение.

challenge icon

Задание

Средне

Светящаяся площадка — это сокровище, и этот скрипт находится внутри него. У каждого игрока уже есть 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)
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Скриптинг игр в Roblox

Потренируйтесь самостоятельно: Онлайн-компилятор Lua