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)

Другие вопросы по тегам