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 价值问题的主要内容,如果未能解决你的问题,请参考以下文章