#roblox
#roblox
Вопрос:
Я собирался спросить об этом на форуме разработчиков roblox, но у них есть какая-то система уровней
Я написал этот код, который должен сделать любого персонажа, который касается части «сок», невидимым, затем скопировать локальный скрипт в их персонажа игрока, который ждет, затем делает их видимыми и уничтожает себя. код работает один раз, однако, если вы попробуете это во второй раз, функция event запускается и даже печатает после каждой строки без ошибок, но это не меняет никаких прозрачных пленок игрока. вот основной сценарий.
local healthpack = script.Parent.juice
healthpack.CanCollide = false
healthpack.Anchored = true
healthpack.Touched:Connect(function(hit)
print"hit"
if hit.Parent:FindFirstChild("Humanoid") and healthpack.Transparency ~= 1 then
print"if"
local scrip = script.Parent.LocalScript
local player = game.Players:GetPlayerFromCharacter(hit.Parent)
local copy = scrip:Clone()
local tran = .99
local efrem = script.Parent.effectremover:Clone()
print"var"
hit.Parent.LeftFoot.Transparency = tran
print"1"
hit.Parent.LeftHand.Transparency = tran
print"2"
hit.Parent.LeftLowerArm.Transparency = tran
print"3"
hit.Parent.LeftLowerLeg.Transparency = tran
print"4"
hit.Parent.LeftUpperArm.Transparency = tran
print"5"
hit.Parent.LeftUpperLeg.Transparency = tran
print"6"
hit.Parent.LowerTorso.Transparency = tran
print"7"
hit.Parent.RightFoot.Transparency = tran
print"8"
hit.Parent.RightHand.Transparency = tran
print"9"
hit.Parent.RightLowerArm.Transparency = tran
print"10"
hit.Parent.RightLowerLeg.Transparency = tran
print"11"
hit.Parent.RightUpperArm.Transparency = tran
print"12"
hit.Parent.RightUpperLeg.Transparency = tran
print"13"
hit.Parent.UpperTorso.Transparency = tran
print"14"
hit.Parent.Head.Transparency = tran
print"15"
hit.Parent["Pal Hair"].Handle.Transparency = tran
print"16"
efrem.Parent = hit.Parent.Humanoid
print"17"
copy.Parent = player.PlayerGui
print"18"
script.Parent.Heal:Play()
print"19"
healthpack.Transparency = 1
script.Parent.stem.Transparency = 1
script.Parent.bottle.Transparency = 1
script.Parent.cork.Transparency = 1
script.Parent.rim.Transparency = 1
wait(10)
healthpack.Transparency = 0
script.Parent.stem.Transparency = .45
script.Parent.bottle.Transparency = .45
script.Parent.cork.Transparency = 0
script.Parent.rim.Transparency = .35
end
end)
Ответ №1:
Прежде всего, добро пожаловать в Stack Overflow! Я не уверен на 100%, чего вы хотите, но, похоже, есть проблема с вашим оператором if, где он говорит healthpack.Transparency ~= 1
. Похоже, что вы устанавливаете прозрачность на .99
:
local tran = .99
а затем проверяет, не 1
:
healthpack.Transparency ~= 1
Итак, если вы измените свое if
утверждение:
if hit.Parent:FindFirstChild("Humanoid") and healthpack.Transparency ~= .99 then
Я предлагаю определить вашу tran
переменную вне вашего оператора if:
-- Set transparency here instead:
local tran = .99
if (hit.Parent:FindFirstChild("Humanoid") and healthpack.Transparency == tran) then
-- ...
end
Комментарии:
1. итак, что должен делать этот скрипт, когда объект «Healthpack» (скрипт. При прикосновении к Parent.juice) запускается функция, содержащая оператор if «при попадании. Родитель: найди первого ребенка («Гуманоид») и пакет здоровья. Прозрачность ~ = 1 тогда» если оба из них верны (первый проверяет, что объект, который его коснулся, является частью игрока, второй проверяет, что объект зелья все еще виден, потому что он становится невидимым в течение определенного времени после использования), тогда он делает частииз прозрачных пленок игрока «tran»
2. после установки для частей игроков значения «tran» сценарий клонирует два сценария и помещает их в игрока (один в playergui, а другой в персонаже под «Гуманоидом»). один скрипт отображает графический интерфейс «зелье подобрано» и удаляет себя. другой ждет 60 секунд и снова делает игрока видимым и удаляетсамо по себе. после того, как основной скрипт клонирует эти скрипты, он устанавливает healthpack. Прозрачность равна 1, поэтому зелье неактивно. проблема в том, что скрипт работает один раз идеально, но после того, как игрок использует его, он больше не делает их невидимыми без ошибок и при печати всех этих отпечатков.