更改 leaderstats 的 IntValue 时尝试调用 nil 值
Attempt to call a nil value when changing an IntValue for leaderstats
我正在尝试制作一个管理面板,每次我想用用户名更改值
代码:
leaderstats 脚本;
--// Set up folder
local AdminModule = require(game:GetService('ServerScriptService').leaderstats.MainModule)
game.Players.PlayerAdded:Connect(function(plr)
local leaderstats = Instance.new('Folder', plr)
leaderstats.Name = 'leaderstats'
local Playtime = Instance.new('IntValue', leaderstats)
Playtime.Name = 'Playtime'
end)
AdminModule.GivePoints('happy_speler', 500)
主模块:
local module = {
GivePoints = function(plr, amount)
plr:WaitForChild('leaderstats'):WaitForChild('Playtime').Value = amount
end,
}
return module
错误告诉您您试图调用一个不存在的函数。
查看 AdminModule.GivePoints
函数,它似乎需要一个 Player 对象作为 plr
参数,但您传入了一个字符串。字符串库没有 WaitForChild
函数,因此调用 plr:WaitForChild
会引发错误。
解决这个问题的方法是正确地传入一个 Player 对象:
local Players = game:GetService("Players")
local ServerScriptService = game:GetService("ServerScriptService")
local AdminModule = require(ServerScriptService.leaderstats.MainModule)
Players.PlayerAdded:Connect( function(plr)
local leaderstats = Instance.new('Folder', plr)
leaderstats.Name = 'leaderstats'
local Playtime = Instance.new('IntValue', leaderstats)
Playtime.Name = 'Playtime'
if plr.Name == 'happy_speler' then
AdminModule.GivePoints(plr, 500)
end
end)
我正在尝试制作一个管理面板,每次我想用用户名更改值 代码:
leaderstats 脚本;
--// Set up folder
local AdminModule = require(game:GetService('ServerScriptService').leaderstats.MainModule)
game.Players.PlayerAdded:Connect(function(plr)
local leaderstats = Instance.new('Folder', plr)
leaderstats.Name = 'leaderstats'
local Playtime = Instance.new('IntValue', leaderstats)
Playtime.Name = 'Playtime'
end)
AdminModule.GivePoints('happy_speler', 500)
主模块:
local module = {
GivePoints = function(plr, amount)
plr:WaitForChild('leaderstats'):WaitForChild('Playtime').Value = amount
end,
}
return module
错误告诉您您试图调用一个不存在的函数。
查看 AdminModule.GivePoints
函数,它似乎需要一个 Player 对象作为 plr
参数,但您传入了一个字符串。字符串库没有 WaitForChild
函数,因此调用 plr:WaitForChild
会引发错误。
解决这个问题的方法是正确地传入一个 Player 对象:
local Players = game:GetService("Players")
local ServerScriptService = game:GetService("ServerScriptService")
local AdminModule = require(ServerScriptService.leaderstats.MainModule)
Players.PlayerAdded:Connect( function(plr)
local leaderstats = Instance.new('Folder', plr)
leaderstats.Name = 'leaderstats'
local Playtime = Instance.new('IntValue', leaderstats)
Playtime.Name = 'Playtime'
if plr.Name == 'happy_speler' then
AdminModule.GivePoints(plr, 500)
end
end)