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

Roblox Studio矿石系统服务器脚本无法获取Player变量求助

Roblox矿石系统服务器脚本获取Power变量报错解决方案

问题根源

  1. 服务器脚本无法访问LocalPlayer:game.Players.LocalPlayer是客户端专属属性,服务器端调用会返回nil,你第二个脚本是服务器脚本,用这个方法获取玩家完全错误。
  2. 变量未定义:代码里print(m.power)中的m从未声明,直接调用会触发报错。
  3. 错误的玩家获取逻辑:game:GetService("Players").LocalScript是无效属性,PlayerAdded:Wait()仅会返回第一个加入服务器的玩家,和触发物体交互的玩家完全无关。

修正后的第二个脚本代码

local prox = script.Parent
local ore = prox.Parent.Parent.Ore

-- 初始化提示文本
prox.ObjectText = ore.Value
prox.ActionText = ore.Price.Value .. "$"

-- 通过交互事件获取触发的玩家
prox.Triggered:Connect(function(player)
    -- 安全获取玩家的power变量
    local power = player:FindFirstChild("power")
    if power then
        print(power.Value)
    else
        warn("玩家" .. player.Name .. "的power变量不存在")
    end
end)

修正说明

  • 移除所有错误的LocalPlayer相关代码,改用ProximityPrompt的Triggered事件获取触发交互的玩家,这是服务器脚本获取交互玩家的标准方式。
  • 使用player:FindFirstChild("power")替代直接访问,避免因变量未创建导致的报错。
  • 修复了未定义的m变量问题,直接使用事件返回的player对象访问power属性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 12:50:18