尝试将钱分配给Steam名字中包含特定字符串的用户 Glua

我在制作一个基于奖励的系统,为在Steam名字中的用户名而奖励给他们,我已经做到了这么多

local XPTimer = 0

local XPTimer = CurTime() + 10

if(XPTimer <= CurTime()) then
    if string.find("SERVERNAME", ply:SteamName()) then
            starwarsrp.ply:AddMoney(500)
                            starwarsrp.notify(ply, 3, 4, "您因为是SERVERNAME团队的一份子而被奖励了£500!")

        end
    else
        Msg("没有成功")
end
XPTimer = CurTime() + 10

我在控制台中收到了“否则”信息“没有成功”,计时器似乎也没有工作,这里我做错了吗。我感谢反馈!

点赞
用户1442917
用户1442917

根据 string.find("SERVERNAME", ply:SteamName()),你正在尝试在字符串 "SERVERNAME" 中寻找 SteamName 值,这很可能每次都会失败,除非你的 Steam 名称恰好是 SERVERNAME 的子字符串。你可能在考虑获取 SERVERNAME 环境变量的值,为此需要使用 os.getenv("SERVERNAME"),因此类似于 string.find(os.getenv("SERVERNAME") or "", ply:SteamName()) 的代码可能更合适(你需要添加 or "",因为 os.getenv 在 SERVERNAME 未设置时可能返回 nil,而 string.find 将对传递给它的 nil 抛出错误)。

2017-09-06 17:56:39