What is the error Lua code
local trap = script.Parent -- указываем родителя скрипта
local function Touch(Part) -- объявляем функцию обработки
if Part.Parent.Name == trap.Parent.Parent.Parent.Owner.Value then -- проверяем что это хозяин tycoon её коснулся
-- если это условие убрать, то по идее деньги может тырить любой игрок
trap.BrickColor = BrickColor.new("Bright red") -- меняем цвет плиты
if trap.Parent.Parent.Parent.Money.Value > 0 then -- проверяем что в коллекторе деньги есть
local stats = game.Players:GetPlayerFromCharacter(Part.Parent) -- заводим локальную переменную
local stats2 = stats:FindFirstChild("leaderstats") -- заносим в переменную нас из таблицы лидеров
local cash = stats2:FindFirstChild("Cash") --заносим в переменную наши деньги в таблице лидеров
cash.Value = cash.Value + trap.Parent.Parent.Parent.Money.Value -- прибавляем к переменной выше наши деньги
trap.Parent.Parent.Parent.Money.Value = 0 -- обнуляем текущую сумму собранных коллектором денег
end -- конец условия проверки денег
wait(1) -- ждём секунду
trap.BrickColor = BrickColor.new("Sea green") -- возвращаем плите зелёный цвет
end -- конец условия проверки на хозяина
end -- конец описания функции
trap.Touched:Connect(Touch) -- задаём обработчик запускающий выполнение функции по касанию плиты
In this form, it does not give money. If you comment out the 3rd line and END.
local trap = script.Parent -- указываем родителя скрипта
local function Touch(Part) -- объявляем функцию обработки
--if Part.Parent.Name == trap.Parent.Parent.Parent.Owner.Value then -- проверяем что это хозяин tycoon её коснулся
-- если это условие убрать, то по идее деньги может тырить любой игрок
trap.BrickColor = BrickColor.new("Bright red") -- меняем цвет плиты
if trap.Parent.Parent.Parent.Money.Value > 0 then -- проверяем что в коллекторе деньги есть
local stats = game.Players:GetPlayerFromCharacter(Part.Parent) -- заводим локальную переменную
local stats2 = stats:FindFirstChild("leaderstats") -- заносим в переменную нас из таблицы лидеров
local cash = stats2:FindFirstChild("Cash") --заносим в переменную наши деньги в таблице лидеров
cash.Value = cash.Value + trap.Parent.Parent.Parent.Money.Value -- прибавляем к переменной выше наши деньги
trap.Parent.Parent.Parent.Money.Value = 0 -- обнуляем текущую сумму собранных коллектором денег
end -- конец условия проверки денег
wait(1) -- ждём секунду
trap.BrickColor = BrickColor.new("Sea green") -- возвращаем плите зелёный цвет
--end -- конец условия проверки на хозяина
end -- конец описания функции
trap.Touched:Connect(Touch) -- задаём обработчик запускающий выполнение функции по касанию плиты
The code gives money to any player.
How to properly register the owner check?
0
1 answers
Problem solved. The code is correct. Owner is not registered in another script, and the result was an error.
game.Workspace.Tycoons.Tycoon1:FindFirstChild("Owner").Value = Part.Parent.Name
-- trap.Parent.Parent.Parent:FindFirstChild("Owner").Value = Part.Parent.Name -- прописываем владельца данного Tycoon
We change the comments on the lines, the Owner is registered and everything works correctly.
You can also use
trap.Parent.Parent:FindFirstChild("Owner").Value = Part.Parent.Name
0
Author: xeL4, 2020-11-24 15:31:25