如何修复“尝试调用方法'addMoney'(空值)”错误?

我有两个.lua文件,一个名为sv_money.lua,另一个是economy.lua

在sv_money.lua中的代码如下:

local meta = FindMetaTable(“Player”)
local PlayersMoney={} 

function meta:addMoney(amount)
如果没有return false 的数量

PlayersMoney[self:SteamID64()] = PlayersMoney[self:SteamID64()] + amount 
end

而在economy.lua中:

for k,v in pairs(player.GetAll())do 
    v:addMoney(60)
    Notify(v,“你收到了60€。”,5,“通用”)
end

预期结果是在玩家屏幕上显示通知“您已收到...”,但实际结果是错误:

Lua错误:[ERROR]addons/economy/lua/autorun/economy.lua:63:尝试调用方法'addMoney'(空值)
 1.未知-addons/economy/lua/autorun/economy.lua:63

由于我不知道的原因,economy.lua中的此代码是有效的:

hook.Add(“PlayerSpawnProp”,“Cost”,function(ply,class)
如果ply:canAfford(10)then
 Notify(ply,“你没有足够的钱!” ,5,“错误”)
返回false 
否则
 Notify(ply,“您已花费10€来生成此道具。”,5,“通用”) 
ply:addMoney(-10)
返回真 
end)
点赞
用户9947542
用户9947542

问题在于 economy.lua 是在客户端执行,而我的代码是针对服务器端的。

2019-10-14 17:06:36