Привет, уведомления не приходят с ютуба я в шоке, смотри я пытался перейти по модельке не получается выдаёт вот такие сообщения, если что я уже перевёл их на русский, вот так мне пишет: Вам нужны разрешения для доступа к этому контенту К видимым ресурсам относятся те, которые принадлежат вам или вашим группам, доступны совместно с вами или публично распространяются в Creator Store.
@Corieces_YT10 күн бұрын
попробуй эту ссылку:create.roblox.com/store/asset/90859312364210/DataStore
@mirtlife774010 күн бұрын
@@Corieces_YTтак же
@Corieces_YT10 күн бұрын
@@mirtlife7740 Тогда создай папку в ServerScriptService и назови её "DataStore" после создай там 2 скрипта и назови их "leaderstats" и "SavingData" в скрипт leaderstats вставь это: game.Players.PlayerAdded:connect(function(player) local DataStore = game:GetService("DataStoreService") local leader = Instance.new("Folder",player) leader.Name = "leaderstats" for i,v in pairs(script:GetChildren()) do local d = DataStore:GetDataStore(v.Name) local x = Instance.new("NumberValue",leader) x.Name = v.Name x.Value = d:GetAsync(player.UserId) or v.Value end end) game.Players.PlayerRemoving:Connect(function(player) for i,v in pairs(script:GetChildren()) do local DataStore = game:GetService("DataStoreService") local d = DataStore:GetDataStore(v.Name) d:SetAsync(player.UserId, player.leaderstats[v.Name].Value) end end) дальше в SavingData вставь это: local DS = game:GetService("DataStoreService"):GetDataStore("DataStore_02") game.Players.PlayerAdded:Connect(function(plr) wait() local plrkey = "id_"..plr.userId local leaderstats = plr:WaitForChild("leaderstats") local savevalue11 = leaderstats:WaitForChild("Coins") local savevalue22 = leaderstats:WaitForChild("Gems") local GetSaved = DS:GetAsync(plrkey) if GetSaved then savevalue11.Value = GetSaved[1] savevalue22.Value = GetSaved[2] else local NumbersForSaving = {savevalue11.Value, savevalue22.Value} DS:GetAsync(plrkey, NumbersForSaving) end end) game.Players.PlayerRemoving:Connect(function(plr) DS:SetAsync("id_"..plr.userId, {plr.leaderstats.Coins.Value,plr.leaderstats.Gems.Value}) end) и в leaderstats добавь NumberValue и назови его валютой которая тебе нужна ну вроде бы всё
@mirtlife774010 күн бұрын
@@Corieces_YT сделал как все ты сказал ничего не сохранилось, название первого скрипта(leaderstats): скрипт: game.Players.PlayerAdded:connect(function(player) local DataStore = game:GetService("DataStoreService") local leader = Instance.new("Folder",player) leader.Name = "leaderstats" for i,v in pairs(script:GetChildren()) do local d = DataStore:GetDataStore(v.Name) local Clicks = Instance.new("NumberValue",leader) Clicks.Name = v.Name Clicks.Value = d:GetAsync(player.UserId) or v.Value local Rebirths = Instance.new("NumberValue",leader) Rebirths.Name = v.Name Rebirths.Value = d:GetAsync(player.UserId) or v.Value local Gems = Instance.new("NumberValue",leader) Gems.Name = v.Name Gems.Value = d:GetAsync(player.UserId) or v.Value end end) NumberValue(leaderstats): # Clicks # Rebirths # Gems 2 скрипт(SavingData): local DS = game:GetService("DataStoreService"):GetDataStore("DataStore_02") game.Players.PlayerAdded:Connect(function(plr) wait() local plrkey = "id_"..plr.userId local leaderstats = plr:WaitForChild("leaderstats") local savevalue1 = leaderstats:WaitForChild("Clicks") local savevalue2 = leaderstats:WaitForChild("Rebirths") local savevalue3 = leaderstats:WaitForChild("Gems") local GetSaved = DS:GetAsync(plrkey) if GetSaved then savevalue1.Value = GetSaved[1] savevalue2.Value = GetSaved[2] savevalue2.Value = GetSaved[3] else local NumbersForSaving = {savevalue1.Value, savevalue2.Value, savevalue3.Value} DS:GetAsync(plrkey, NumbersForSaving) end end) game.Players.PlayerRemoving:Connect(function(plr) DS:SetAsync("id_"..plr.userId, {plr.leaderstats.Clicks.Value,plr.leaderstats.Rebirths.Value,plr.leaderstats.Gems.Value}) end) а теперь проблема в том что когда игрок присоединяется к игре и нажимает на Button(который подписан как Clicks) вот скрипт на кнопку gui(StarterGui): скрипт на Button: script.Parent.MouseButton1Click:Connect(function() local player = game.Players.LocalPlayer local clicks = player:WaitForChild("leaderstats"):WaitForChild("Clicks") local rebirths = player:WaitForChild("leaderstats"):WaitForChild("Rebirths") clicks.Value = clicks.Value +1 if rebirths.Value > 0 then clicks.Value = clicks.Value + rebirths.value *2 end end) то после выхода из игры или перезахода в игру у игрока не меняется значение value в leaderstats(и игрок начинает заного с значением value в leaderstats с 0) вот скрипт на Rebirths в разделе StarterGui(обязательно нужна кнопка для магазина ScreenGui и в ScreenGui магазин добавить Frame в Frame добавить Button и в Button написать local скрипт. скрипт на StarterGui (открытие закрытие магазина): script.Parent.MouseButton1Click:connect(function() if script.Parent.Parent["Frame"].Visible == false then script.Parent.Parent.Frame.Visible = true else script.Parent.Parent.Frame.Visible = false end end) скрипт на Button(ребитх в магазине): script.Parent.MouseButton1Click:Connect(function() local player = game.Players.LocalPlayer local clicks = player:WaitForChild("leaderstats"):WaitForChild("Clicks") local rebirths = player:WaitForChild("leaderstats"):WaitForChild("Rebirths") clicks.Value = clicks.Value +1 if rebirths.Value > 0 then clicks.Value = clicks.Value + rebirths.value *2 end end) проблема в том что когда игрок нажимает определенное количество кликов то у него не сохраняется изменение валюты и игрок начинает с 0
@mirtlife77409 күн бұрын
@@Corieces_YT сделал как ты все и сказал но ничего не сохраняется. я вчера оставлял комментарий видимо не дошел коммент мой до тебя. смотри этот скрипт рабочий но он не тот что мне нужен мне нужен скрипт который будет(сохранять данные игрока после получения какой либо валюты при взаимодействии игрока с Button) то есть игрок присоединяется к игре у него на экране есть Button игрок нажимает на этот button и игроку начисляется валюта и отображается в leaderstats и игрок когда выходит или перезаходит в игру должна сохраняться по идеи та валюта которую игрок накликал но этого не происходит. к примеру появляется игрок на сервере у него 0 валюты после он кликает набирает условно 1000 валюты и выходит заходит обратно и у него снова 0 валюты хотя должна быть 1000
Скрипт:local badgeID = local badgeService = game:GetService("BadgeService") function onEntered(player) wait(1) badgeService:AwardBadge(player.userId, badgeID) end game.Players.PlayerAdded:connect(onEntered)