Roblox - во время тестирования фермы работают, когда я их перетаскиваю, но когда я использую скрипт, чтобы установить все вещи, то я не могу подняться на него
Я использую скрипт для установки cancollide = true и прозрачности = 0, но я не могу подняться на ферму. но когда я уже в режиме тестирования (в студии) и перетаскиваю одну и ту же ферму, я могу взобраться на нее, и я смотрю на свойства, они одинаковые, оба закреплены, это правда, они касаются одних и тех же частей, я не знаю почему это происходит. Пожалуйста, помогите спасибо:) Кстати, я делаю магнат, и это скрипт, который я использую:
wait(1)
amount = 0 -- cost of model
owner = script.Parent.Parent.Owner
local stun = false
pcall(script.Parent.Head.Touched:connect(function(hit)
if hit.Parent ~= nil then
player = game.Players:findFirstChild(hit.Parent.Name)
if not stun and player ~= nil then
if player.Name == owner.Value then
if player:findFirstChild("leaderstats") ~= nil then
stats = player:findFirstChild("leaderstats")
if stats.Money.Value >= amount then
stun = true
stats.Money.Value = stats.Money.Value - amount
script.Parent.ladder.CanCollide = true
script.Parent.ladder.Transparency = (0)
script.Parent.Head:Remove()
wait(1)
stun = false
end
end
end
end
end
end))
не беспокойтесь о других вещах, это работает, только эта часть имеет значение сейчас:
script.Parent.ladder.CanCollide = true
script.Parent.ladder.Transparency = (0)
script.Parent.Head:Remove()
Пожалуйста, помогите:(это проблема с лестницей, использующей скрипт, который не работает, и та же самая, перетаскиваемая из фермы инструментов, работает, iv я сделал это со многими фермами и лестницами, и тот же результат:(
2 ответа
На этот вопрос сложно ответить, потому что вы не упомянули, какова иерархия этой модели.
Знаете ли вы, что вы правильно находите ферменную часть? Есть ли script.Parent.ladder
на самом деле существует, когда кнопка нажата?
Кроме того, вы должны вынуть pcall()
потому что это подавляет ошибки. Ошибки хороши! Они помогают вам отследить, что не так. Вы должны действительно использовать их, только когда знаете, что код, который вы используете, генерирует конкретные ошибки, и вы хотите их перехватить.
Итак, ошибка, которую я заметил в вашем коде, заключается в том, что вы удаляете голову своего персонажа, которая убьет вашего персонажа, или, возможно, выдает ошибку, если событие.Touched сработает два раза.
В этом скрипте много ошибок эффективности, таких как .Transparency = (0)
или делать script.Parent.ladder
вместо использования переменных, но в большинстве случаев это действительно не проблема. То, что вы можете попробовать, это использовать Instance.new()
чтобы создать лестницу. Если эта игра включена в FilteringEnabled (экспериментальный режим выключен), обратите внимание, что ваш скрипт не будет работать должным образом, если это LocalScript, он будет хорошо работать только на стороне сервера (иначе, обычный скрипт вместо LocalScript)