Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local dataStoreService = game:GetService("DataStoreService")
- local statStore = dataStoreService:GetDataStore("Test4242")
- local accessories = {}
- local Data = game.ReplicatedStorage.Data
- local Folder = Data:Clone()
- local function AttachToBack(Player, Object, Offset)
- if not Offset then Offset = Vector3.new(0, 0, 0) end
- Object = Object:Clone()
- local Character = Player.Character or Player.CharacterAdded:Wait()
- local CharacterTorso = Character:FindFirstChild("Torso") or Character:FindFirstChild("UpperTorso")
- Object.Parent = Character
- Object:SetPrimaryPartCFrame(CharacterTorso.CFrame * CFrame.new(Offset))
- local Weld = Instance.new("WeldConstraint")
- Weld.Parent = Object
- Weld.Part0 = CharacterTorso
- Weld.Part1 = Object.PrimaryPart
- end
- local function AttachToBack2(Player, Object, Offset)
- if not Offset then Offset = Vector3.new(0, 0, 0) end
- Object = Object:Clone()
- local Character = Player.Character or Player.CharacterAdded:Wait()
- local CharacterTorso = Character:FindFirstChild("Head")
- Object.Parent = Character.Helmets
- Object:SetPrimaryPartCFrame(CharacterTorso.CFrame * CFrame.new(Offset))
- local Weld = Instance.new("WeldConstraint")
- Weld.Parent = Object
- Weld.Part0 = CharacterTorso
- Weld.Part1 = Object.PrimaryPart
- end
- game.Players.PlayerAdded:Connect(function(player)
- Folder.Parent = player
- local leaderstats = player:WaitForChild("Data")
- local money = leaderstats:WaitForChild("Shirt")
- local backpack = leaderstats:WaitForChild("HasBackpack")
- local Hat = leaderstats:WaitForChild("HasHat")
- local tix = leaderstats:WaitForChild("Pants")
- local char = player.Character or player.CharacterAdded:Wait()
- local recieved, notRecieved = pcall(function()
- stat = statStore:GetAsync("UserId-"..player.UserId)
- end)
- if recieved then
- local Hat = player.Data.HasHat
- money.ShirtTemplate = stat[1]
- tix.PantsTemplate = stat[2]
- backpack.Value = stat[3]
- Hat.Value = stat[4]
- print("Data was recieved")
- else
- print("Data was not recieved")
- end
- for _, accessory in pairs(player.Character.Humanoid:GetAccessories()) do
- table.insert(accessories, accessory:Clone())
- end
- if stat [3] == true then
- wait(5)
- AttachToBack(player, game.ReplicatedStorage.BackpackModel, Vector3.new(0, 0.5, 0.7))
- end
- if stat [4] == "Marine" then
- wait(5)
- player.Character.Humanoid:RemoveAccessories()
- AttachToBack2(player, game.ReplicatedStorage.MarineHelmet, Vector3.new(0.04, 0.05, -0.01))
- elseif stat [4] == "Army" then
- wait(5)
- player.Character.Humanoid:RemoveAccessories()
- AttachToBack2(player, game.ReplicatedStorage.ArmyHelmet, Vector3.new(0.04, 0.05, -0.01))
- end
- backpack.Changed:Connect(function()
- local backpack = player.Data.HasBackpack
- local Hat = player.Data.HasHat
- statStore:SetAsync("UserId-"..player.UserId,{money.ShirtTemplate, tix.PantsTemplate, backpack.Value, Hat.Value})
- char.Shirt.ShirtTemplate = money.ShirtTemplate
- char.Pants.PantsTemplate = tix.PantsTemplate
- print("Data was saved!")
- end)
- Hat.Changed:Connect(function()
- local backpack = player.Data.HasBackpack
- local Hat = player.Data.HasHat
- statStore:SetAsync("UserId-"..player.UserId,{money.ShirtTemplate, tix.PantsTemplate, backpack.Value, Hat.Value})
- char.Shirt.ShirtTemplate = money.ShirtTemplate
- char.Pants.PantsTemplate = tix.PantsTemplate
- print("Data was saved!")
- end)
- tix.Changed:Connect(function()
- local backpack = player.Data.HasBackpack
- local Hat = player.Data.HasHat
- statStore:SetAsync("UserId-"..player.UserId,{money.ShirtTemplate, tix.PantsTemplate, backpack.Value, Hat.Value})
- char.Shirt.ShirtTemplate = money.ShirtTemplate
- char.Pants.PantsTemplate = tix.PantsTemplate
- print("Data was saved!")
- end)
- game.Players.PlayerRemoving:Connect(function(player)
- local leaderstats = player:WaitForChild("Data")
- local money = leaderstats:WaitForChild("Shirt")
- local backpack = leaderstats:WaitForChild("HasBackpack")
- local Hat = leaderstats:WaitForChild("HasHat")
- local tix = leaderstats:WaitForChild("Pants")
- local saved, notSaved = pcall(function()
- statStore:SetAsync("UserId-"..player.UserId,{money.ShirtTemplate,tix.PantsTemplate, backpack.Value, Hat.Value})
- end)
- if saved then
- print("Data was saved")
- else
- print("Data was not saved")
- end
- end)
- end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement