我正在使用脚本来设置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用许多桁架和梯子完成了此任务,并且结果相同:(
答案 0 :(得分:0)
这个问题很难回答,因为您没有提到此模型的层次结构。
您知道您在正确地定位桁架零件吗?按下按钮时script.Parent.ladder
实际上存在吗?
此外,您应该取出pcall()
,因为它可以消除错误。错误很好!他们可以帮助您找出问题所在。仅当您知道所使用的代码引发特定错误并且想要捕获它们时,才应该真正使用它们。
答案 1 :(得分:0)
所以,我在代码中发现的一个错误是,您擦除了角色的头部,这会杀死您的角色,或者如果.Touched事件触发两次,可能会引发错误。
此脚本中存在许多效率错误,例如.Transparency = (0)
或执行script.Parent.ladder
而不使用变量,但这实际上在大多数情况下都没有问题。您可以尝试使用Instance.new()
来创建梯子。如果此游戏处于FilteringEnabled开启(关闭了Expermiental模式)的状态,请注意,如果该脚本是LocalScript,则脚本将无法正常工作在服务器端(也就是普通脚本而不是LocalScript)上很好