Я пишу простую игру в Roblox.
Один скрипт в плеере меняет цвет всех серых блоков, которых он касается. Другой скрипт в части заставляет мигать. Эта часть должна перестать мигать, когда к ней прикасаются, а затем ее цвет меняется.
Когда я касаюсь блока, меняются визуализированный цвет и имя цвета в скрипте проигрывателя, но не имя цвета в скрипте части. Я добавил несколько распечаток, чтобы понять, что происходит. Я знаю, что это можно решить с помощью события. Но почему разные значения?
Этот сценарий находится в объекте StarterCharacterScripts:
print(":)")
local originalColor = BrickColor.new(0.639216, 0.635294, 0.647059)
local player = game.Players.LocalPlayer
local human = player.Character.Humanoid
print("Player logged: " .. human.DisplayName)
human.Touched:Connect(function(hit,limb)
if hit.BrickColor.Name == originalColor.Name then
hit.Color = player.TeamColor.Color
end
end)
while true do
print("From human: " .. workspace.Test.BrickColor.Name)
wait(3)
end
Этот другой сценарий находится в объекте:
local greyPart=script.Parent
local myColor = greyPart.Color
print(greyPart.Name)
print(script.Parent.Name)
while myColor == script.Parent.Color do
greyPart.Transparency = 1
wait(1)
greyPart.Transparency = 0
wait(1)
print("From part: " .. workspace.Test.BrickColor.Name)
end
Результат, который я получаю до касания примерно так:
From human: Medium stone grey
From part: Medium stone grey (x2)
А после касания примерно так:
From human: Really red
From part: Medium stone grey (x2)