Roblox Studio 价值问题

Posted

技术标签:

【中文标题】Roblox Studio 价值问题【英文标题】:Roblox Studio Value Issue 【发布时间】:2021-11-12 22:54:35 【问题描述】:

我对在 Roblox Studio 中编码时发生过几次的事情有疑问: 我有一个简单的问题示例:

local Value = Instance.new("NumberValue")
Value.Value = 10 
while true do 
   print(Value.Value)
end

到目前为止,一切正常,但如果我添加或删除“值”的值,它仍然会打印 10。 当我想将值保存在数据存储中时也是一样的,它只采用创建“值”时存在的值。这是我保存玩家数据的代码。

game.Players.PlayerRemoving:Connect(function(player)
    local money = player:WaitForChild("money")
    local DataStoreService = game:GetService("DataStoreService")
    local MoneyStore = DataStoreService:GetDataStore("PlayerMoney")
    local success, errorMessage = pcall(function()
        MoneyStore:SetAsync(player.UserId, money.Value)
    end)
    if not success then
        print(errorMessage)
    end
    print("saved "..player.Name.."'s money! It is $"..money.Value)
end)

【问题讨论】:

你是如何设置 NumberValue 的值的? 括号内代码的第 6 行显示的是 money.Value 或者你的意思是我如何充值? game.Players.PlayerAdded:Connect(function(player) local moneyvalue = Instance.new("NumberValue",player) moneyvalue.Name = "money" local Datastoreservice = game:GetService("DataStoreService") local MoneyStore = Datastoreservice:GetDataStore("PlayerMoney") local success, Moneyload = pcall(function() return MoneyStore:GetAsync(player.UserId) end) if success then moneyvalue.Value = Moneyload wait(5) end 你如何在游戏中修改moneyvalue?你提到它的价值永远不会改变原始价值,尽管你如何改变它。什么代码在改变玩家在游戏中的钱? 你可以通过玩来赚钱,脚本是这样的:首先定义金钱,然后是金钱。价值=金钱。价值+ 10 【参考方案1】:

我不明白您的问题,但我认为您使用的是 LocalScript,请使用服务器脚本进行更改。如果想要播放器,那么有一些参数可以为您提供触摸、触发、添加或删除的播放器。如果您使用的是 UserInputService,那么您应该使用 RemoteEvent 或 RemoteFunction。

【讨论】:

以上是关于Roblox Studio 价值问题的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Roblox Studio 中移动网格

为啥 Roblox 和 Roblox Studio 在运行某些没有错误代码的脚本时都会崩溃?

GUI 动画 - Roblox Studio [关闭]

Roblox Studio 跳过循环

Roblox Studio 打印错误值

循环中的 Roblox Studio Lua if 语句