Я пытаюсь создать хранилище данных и изменить значение данных игрока, но у меня возникла проблема с получением скрипта для запуска функции. Я вставлю код, с которым у меня возникли проблемы, и отмечу строки с ошибками. Я прошу прощения за любые ошибки новичка, это будет мой первый раз, программируя игру с Lua и на Roblox. Я думаю, что это может быть проблема с тем, как я называю statName
и как statName
из "Wheat"
не существует, но я не знаю, как это назвать иначе, или почему его там нет.
Это релевантный материал из модульного сценария:
function PlayerStatManager:ChangeStat(player, statName, value)
local playerUserId = "Player_" .. player.UserId
assert(typeof(sessionData[playerUserId][statName]) == typeof(value), "ChangeStat error: types do not match") <--this line
if typeof(sessionData[playerUserId][statName]) == "number" then
sessionData[playerUserId][statName] = sessionData[playerUserId][statName] + value
else
sessionData[playerUserId][statName] = value
end
end
-- Function to add player to the 'sessionData' table
local function setupPlayerData(player)
local playerUserId = "Player_" .. player.UserId
local data
local success, err = pcall(function()
playerData:UpdateAsync(playerUserId, function(playerData)
data = playerData
end)
end)
if success then
if data then
-- Data exists for this player
sessionData[playerUserId] = data
else
-- Data store is working, but no current data for this player
sessionData[playerUserId] = {Money=0, Wheat=0, Silo=0, Feeders=0, Chickens=0}
end
else
warn("Cannot set up data for player!")
end
end
Это соответствующий материал из сценария, использующий модульcriptcript:
local SrvrStats = require(game.ServerStorage.moduleScript)
SrvrStats:ChangeStat(player, 'Wheat', playerWheat.Value) <-- this line