Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local DataStoreService = game:GetService("DataStoreService")
- local DataStore = DataStoreService:GetDataStore('DataStore')
- local Researches = {
- ["BigStick"] = {
- ["Header"] = "Big Stick: 1000 ¤",
- ["Details"] = "New Unlock: Big Stick",
- ["Price"] = 500,
- ["RequiredFortLevel"] = 2,
- },
- ["AdvancedTreeShakingMethods"] = {
- ["Header"] = "Advanced Tree Shaking Methods: 2000 ¤",
- ["Details"] = "Trees have a chance to drop double",
- ["Price"] = 1000,
- ["RequiredFortLevel"] = 4,
- },
- ["TreeShakingMethods"] = {
- ["Header"] = "Tree Shaking Methods: 1000 ¤",
- ["Details"] = "Stick Drop Chance ↓ 25%",
- ["Price"] = 500,
- ["RequiredFortLevel"] = 2,
- },
- ["StickSMG"] = {
- ["Header"] = "Stick SMG: 500 ¤",
- ["Details"] = "New Unlock: Stick SMG",
- ["Price"] = 500,
- ["RequiredFortLevel"] = 3,
- },
- ["DeathFromAbove"] = {
- ["Header"] = "Death From Above: 2000 ¤",
- ["Details"] = "New Crate Drop: Airstrike",
- ["Price"] = 2000,
- ["RequiredFortLevel"] = 3,
- },
- ["RecoilReductionTactics"] = {
- ["Header"] = "Recoil Reduction Tactics: 1000 ¤",
- ["Details"] = "New Crate Drop: Reduced Recoil",
- ["Price"] = 1000,
- ["RequiredFortLevel"] = 3,
- },
- ["DeepPockets"] = {
- ["Header"] = "Deep Pockets: 1500 ¤",
- ["Details"] = "King of the hill earnings ↑ 1 bottlecap",
- ["Price"] = 1000,
- ["RequiredFortLevel"] = 2,
- },
- ["DeadMansSwitch"] = {
- ["Header"] = "Dead Man's Switch: 500 ¤",
- ["Details"] = "Held pine grenades/bombs explode on elimination",
- ["Price"] = 500,
- ["RequiredFortLevel"] = 4,
- },
- ["Sunglasses"] = {
- ["Header"] = "Sunglasses: 2000 ¤",
- ["Details"] = "Makes you look 150% cooler",
- ["Price"] = 2000,
- ["RequiredFortLevel"] = 4,
- },
- ["Makeshift ESP"] = {
- ["Header"] = "Makeshift ESP: 1000 ¤",
- ["Details"] = "New Crate Drop: Radar",
- ["Price"] = 1000,
- ["RequiredFortLevel"] = 4,
- },
- }
- local PlayerResearches = {}
- game.ReplicatedStorage.RemoteEvents.Research.CheckPlayerResearchServer.OnInvoke = function(Player,Research)
- if PlayerResearches[Player][Research] == true then
- return true
- else
- return false
- end
- end
- game.Players.PlayerAdded:Connect(function(Player)
- PlayerResearches[Player] = {}
- for Research,Details in pairs(Researches) do
- PlayerResearches[Player][Research] = false
- end
- local Data
- local Success, ErrorMessage = pcall(function()
- Data = DataStore:GetAsync(Player.UserId.."-Researches")
- end)
- if Success then
- if Data ~= nil then
- PlayerResearches[Player] = Data
- for Research,Details in pairs(Researches) do
- if PlayerResearches[Player][Research] == nil then
- PlayerResearches[Player][Research] = false
- end
- end
- end
- print("Data Store Status: Loaded!")
- end
- print("Researches Loaded!")
- for Research,IsResearched in pairs(PlayerResearches[Player]) do
- print(Research,IsResearched)
- end
- end)
- game.Players.PlayerRemoving:Connect(function(Player)
- local Success, ErrorMessage = pcall(function()
- DataStore:SetAsync(Player.UserId.."-Researches",PlayerResearches[Player])
- print("Data Store Status: Saved!")
- end)
- PlayerResearches[Player] = nil
- end)
- game.ReplicatedStorage.RemoteEvents.Research.GetPlayerResearches.OnServerInvoke = function(Player)
- return PlayerResearches[Player]
- end
- game.ReplicatedStorage.RemoteEvents.Research.GetResearches.OnServerInvoke = function()
- return Researches
- end
- game.ReplicatedStorage.RemoteEvents.Research.RequestResearch.OnServerInvoke = function(Player,Research)
- if Player.PlayerVariables.Stats.Total.Bottlecaps.Value >= Researches[Research]["Price"] then
- Player.PlayerVariables.Stats.Total.Bottlecaps.Value -= Researches[Research]["Price"]
- print(PlayerResearches[Player])
- print(Research)
- PlayerResearches[Player][Research] = true
- return true
- else
- return false
- end
- end
- game.ReplicatedStorage.RemoteEvents.Developer.ResetAll.OnServerEvent:Connect(function(Player)
- PlayerResearches[Player] = {}
- for Research,Details in pairs(Researches) do
- PlayerResearches[Player][Research] = false
- end
- end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement