Roblox Argument 1 Missing Or Nil

时间:2018-02-04 12:48:11

标签: roblox

我正在尝试制作一个块,当它被特定工具击中时,它会消失并给玩家一些XP。但是,当我运行我的代码时,我得到一个错误说" Argument 1 Missing Or Nil"。我的代码如下。

script.Parent.Touched:Connect(function(hit)
    if hit.Parent.Name == 'Vacuum' then
        local plr = hit.Parent.Parent.Name
        script.Parent.CanCollide = false
        script.Parent.Transparency = 1
        local exp = 2
        local player = game.Players:FindFirstChild(plr.Name)
        local plrcurrentexp = player.leaderstats.JobXP.Value
            plrcurrentexp.Value = plrcurrentexp + exp
        wait(120)
        script.Parent.CanCollide = true
        script.Parent.Transparency = 0  
    end
end)  

请帮助!

1 个答案:

答案 0 :(得分:1)

我看到两个问题,其中两个都是同一类问题。

问题1

第一个问题是找到玩家。您设置plr = hit.parent.Parent.name,然后运行FindFirstChild(plr.Name),但由于plr已经是播放器的Name,因此无效。相反,你应该这样做:

local player = game.Players:FindFirstChild(plr)

问题2

第二个问题出在你的作业陈述中:

local exp = 2
local player = game.Players:FindFirstChild(plr.Name)
local plrcurrentexp = player.leaderstats.JobXP.Value
plrcurrentexp.Value = plrcurrentexp + exp

在最后一行,您尝试设置Value的{​​{1}},但是JobXP不是plrcurrentexp,而是{\ n} {} JobXP

所以你现在正在做的是Value,这是错误的。

而是这样做:

player.leaderstats.JobXP.Value.Value = plrcurrentexp + exp