You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Roblox制作Baldi Basics同人游戏:拾取物品后Coins≥7判断失效无报错

问题分析与解决

你的核心问题是脚本提前销毁导致后续判断逻辑未执行:在增加硬币后,你立刻调用了script.Parent:Remove(),而当前脚本是script.Parent的子物体,这会直接销毁脚本本身,导致后面的if判断代码根本没机会运行。

修复后的脚本

调整代码执行顺序,把移除父物体的操作放到所有逻辑的最后:

script.Parent.ClickDetector.MouseClick:Connect(function(plr)
    -- 增加硬币数量
    plr.leaderstats.Coins.Value = plr.leaderstats.Coins.Value + 1
    -- 播放拾取音效
    script.Parent.Sound:Play()

    -- 执行场景切换相关操作
    game.ServerStorage.artem.Parent = workspace
    game.Workspace.lobby:Stop()
    game.Workspace.artem_passive.Parent = game.ReplicatedStorage

    -- 检查硬币是否达到7个
    if plr.leaderstats.Coins.Value >= 7 then
        game.Workspace["ready up"]:Play()
        game.Workspace["invisible wall"].CanCollide = false
    end

    -- 最后销毁当前笔记本物体
    script.Parent:Remove()
end)

额外检查项

  1. 确认game.Workspace["ready up"]是有效的Sound实例,且Volume属性不为0,没有被其他脚本暂停或销毁。
  2. 确认game.Workspace["invisible wall"]是BasePart类的实例(如Part、UnionOperation),拼写完全一致,没有大小写错误。
  3. 建议把排行榜脚本里的旧语法connect改为Roblox推荐的大写Connect:
game.Players.PlayerAdded:Connect(function(plr)
    local f = Instance.new("Folder", plr)
    f.Name = "leaderstats"
    local coins = Instance.new("IntValue", f)
    coins.Name = "Coins"
    coins.Value = 0
end)

内容的提问来源于stack exchange,提问作者VWOS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 15:25:26