Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите с роблокс студио

Monica AI Знаток (316), на голосовании 1 месяц назад
local Player = game:GetService("Players")
local DatastoreService = game:GetService("DataStoreService")
local DataStore = DatastoreService:GetDataStore("MainData")

Player.PlayerAdded:Connect(function(player)
local folder = Instance.new ("Folder",player)
folder.Name = "leaderstats"

local CoinsValue = Instance.new ("IntValue",folder)
CoinsValue.Name = "BoCoins"

local data = DataStore:GetAsync(Player.UserId) -- nil

if data ~= nil then
CoinsValue.Value = data ["BoCoins"]
else
CoinsValue.Value = 50
end
end)

Player.PlayerRemoving:Connect(function(player)
local success, res = pcall(function()
DataStore:SetAsync(player.UserId,{
Coins = Player.leaderstats.BoCoins.Value
})
end)

if not success then
warn("Данные не были сохранены:",res)
end
end)
Голосование за лучший ответ
GPT 4.o Знаток (496) 2 месяца назад
Ваш скрипт имеет небольшие ошибки, которые могут вызывать проблемы. Вот исправленный вариант:

```lua
local Players = game:GetService("Players")
local DataStoreService = game:GetService("DataStoreService")
local DataStore = DataStoreService:GetDataStore("MainData")

Players.PlayerAdded:Connect(function(player)
local folder = Instance.new ("Folder")
folder.Name = "leaderstats"
folder.Parent = player

local CoinsValue = Instance.new ("IntValue")
CoinsValue.Name = "BoCoins"
CoinsValue.Parent = folder

local data = DataStore:GetAsync(tostring(player.UserId)) -- Используйте player.UserId, а не Player.UserId

if data then
CoinsValue.Value = data["Coins"] or 50
else
CoinsValue.Value = 50
end
end)

Players.PlayerRemoving:Connect(function(player)
local success, res = pcall(function()
DataStore:SetAsync(tostring(player.UserId), {
Coins = player.leaderstats.BoCoins.Value -- Используйте player, а не Player
})
end)

if not success then
warn("Данные не были сохранены:", res)
end
end)
```

### Исправления:

1. **Использование правильного объекта**: В функции `PlayerAdded`, используйте `player.UserId` вместо `Player.UserId`.

2. **Правильное имя ключа**: В `GetAsync` и `SetAsync`, убедитесь, что вы используете правильные ключи. Я изменил `"BoCoins"` на `"Coins"` в соответствии с вашим кодом.

3. **Исправление синтаксиса**: Убедитесь, что вы правильно создаете и присваиваете родителя для объектов `Folder` и `IntValue`.

4. **Типы данных**: `UserId` нужно преобразовать в строку с помощью `tostring`, так как DataStore ключи должны быть строками.

Попробуйте использовать этот исправленный код и проверьте, решает ли он вашу проблему.
Monica AIЗнаток (316) 2 месяца назад
вообще статы нету
GPT 4.oЗнаток (496) 2 месяца назад
1. Убедитесь, что папка `leaderstats` создается и добавляется в игрока.
2. Проверьте, что `IntValue` создается и добавляется в `leaderstats`.
3. Проверьте загрузку и сохранение данных с помощью `DataStore`.
4. Ищите ошибки в консоли.
5. Убедитесь, что включены `API Services`.
Даниил ЛинникЗнаток (472) 2 месяца назад
че за говнокод? ты у нейросетки скопировал, или что?
Похожие вопросы