首页 > 解决方案 > 如何获取本地播放器

问题描述

我正在制作一个转换脚本,我正在尝试获取 LocalPlayer 但出现此错误:

13:54:03.806 ServerScriptService.SSJScript:2:尝试使用“GetMouse”索引 nil - 服务器 - SSJScript:2

怎么修?

这是我的代码:

    local plr = game.Players.LocalPlayer
    local mouse = plr:GetMouse()
    local chr = plr.Character
    local offence = {
        "AAARGH!! I HATE YOU!!",
        "FUS RO DAH!",
        "I'M COMING FOR THE SAAUCE!",
        "IT IS TIME TO PERISH!",
        "POOTIS POOTIS POOTIS POOTIS!"
    }
    local transformcooldown = 10
    local healthboost = 1000
    local speedboost = 32
    local aura = game.ReplicatedStorage.Aura
    local hair = game.ReplicatedStorage.Hair
    local anim = chr.Humanoid:LoadAnimation(game.ReplicatedStorage.Animation)
    local iscooldown = false
    local ison = plr.SSJOnOff.Value
    local cooldown = 10

    game.Players.PlayerAdded:Connect(function(plrjoin)
        plr = plrjoin
    end)

    mouse.KeyDown:connect(function(key)
    if iscooldown == false then
        key = string.lower(key)
        if string.byte(key) == 48 then
        local indicator = plr.SSJOnOff
        if indicator.Value == false then
            chr.Humanoid.WalkSpeed = 0
            ison = true
            game:GetService("Chat"):Chat(plr.Head,offence[math.random(1,#offence)])
            wait(1)
            anim:Play()
            wait(1.4)
            aura:Clone().Parent = chr.HumanoidRootPart
            hair:Clone().Parent = chr
            wait(0.6)
            chr.Humanoid.MaxHealth = healthboost
            chr.Humanoid.Health = healthboost / 2
            chr.Humanoid.WalkSpeed = chr.Humanoid.WalkSpeed + speedboost
        else
            ison = false
            iscooldown = true
            chr.Hair:destroy()
            chr.HumanoidRootPart.Aura:destroy()
            chr.Humanoid.WalkSpeed = chr.Humanoid.WalkSpeed - speedboost
            chr.Humanoid.Health = 100
            chr.Humanoid.MaxHealth = 100
            wait(cooldown)
            end
        end
    end

标签: luaroblox

解决方案


代码需要在LocalScript一部分中。

该功能GetMouse()在播放器的屏幕上,因此服务器无法知道您的鼠标在哪里。

PS:game.Players.LocalPlayer是 nil 因为它是 ServerScript 而不是 LocalScript


推荐阅读