Provix101
|
  |
| Joined: 13 Jul 2014 |
| Total Posts: 313 |
|
|
| 25 Jul 2014 10:41 PM |
The obby part works but the buying part doesnt.
So when I buy the game pass it works but it wont prompt a purchase in game to purchase an item.
The Main Script:
local PassService = game:GetService("GamePassService")
local Func = {}
-- Options --
Options = { DataKey = "Obby"; MaxStages = 341;
KeepData = true; DeveloperMode = true; }
-- Private functions --
function Print(...) if Options.DeveloperMode then print(...) end end
function checkFor(parent, ...) for i, objName in pairs({...}) do if not parent:findFirstChild(objName) then return false end end return true end
-- Calls --
local Datastore = game:GetService("DataStoreService"):GetDataStore(Options.DataKey)
local Passes = { Skip10 = { Id = 168376913; Func = function(Player, Id) if PassService:PlayerHasPass(Player, Id) then local Old = Func.HandleProgress(Player) Func.HandleProgress(Player, Old + 10) Char.Humanoid.Health = 0 end end; }; Skip25 = { Id = 168377196; Func = function(Player, Id) if PassService:PlayerHasPass(Player, Id) then local Old = Func.HandleProgress(Player) Func.HandleProgress(Player, Old + 25) Char.Humanoid.Health = 0 end end; }; Skip50 = { Id = 168377357; Func = function(Player, Id) if PassService:PlayerHasPass(Player, Id) then local Old = Func.HandleProgress(Player) Func.HandleProgress(Player, Old + 50) Char.Humanoid.Health = 0 end end; }; Skip100 = { Id = 168376780; Func = function(Player, Id) if PassService:PlayerHasPass(Player, Id) then local Old = Func.HandleProgress(Player) Func.HandleProgress(Player, Old + 100) Char.Humanoid.Health = 0 end end; }; GravCoil = { Id = 168377514; Func = function(Player, Id) Player.CharacterAdded:connect(function(Char) if PassService:PlayerHasPass(Player, Id) then game.ServerStorage["Gravity Coil"]:clone().Parent = Player.Backpack end end) end; }; Admin = { Id = 168377066; Func = function(Player, Id) Player.CharacterAdded:connect(function(Char) if PassService:PlayerHasPass(Player, Id) then local var = script.Admin:clone() var.Parent = script var.Name = p.Name.."Admin" var.UserName.Value = p.Name var.Disabled = false end end) end; }; }
-- Functions --
Func.InititateData = function(Player) local key = Player.userId if not Datastore:GetAsync(key) or not Options.KeepData then Datastore:SetAsync(key, 1) end end
Func.UpdateStats = function(Player) local leaderstats = Player:FindFirstChild("leaderstats") if not leaderstats then leaderstats = Instance.new("Model", Player) leaderstats.Name = "leaderstats" Instance.new("IntValue", leaderstats).Name = "Stage" end leaderstats.Stage.Value = Func.HandleProgress(Player) end
Func.HandleProgress = function(Player, Save) local Key = Player.userId if Save ~= nil then if Save > Options.MaxStages then Save = Options.MaxStages end Datastore:UpdateAsync(Key, function(oldValue) local newValue = Save or oldValue return newValue end) else return Datastore:GetAsync(Key) end end
Func.CheckPasses = function(Player) for i, pass in pairs(Passes) do pass.Func(Player, pass.Id) end end
Func.HandleSpawn = function(Player) Player.CharacterAdded:connect(function(Char) local SpwnNum = Func.HandleProgress(Player) repeat wait() until checkFor(Char, "Torso", "Left Arm", "Right Arm", "Head", "Left Leg", "Right Leg", "Humanoid") Char:MoveTo(game.Workspace.SpawnPoints[SpwnNum].CFrame.p) end) end
Func.SpawnTouch = function(hit, Spawn) local Hum = hit.Parent:FindFirstChild("Humanoid") if Hum then local Player = game.Players:GetPlayerFromCharacter(Hum.Parent) Func.HandleProgress(Player, tonumber(Spawn.Name)) Func.UpdateStats(Player) end end
-- Connections --
game.Players.PlayerAdded:connect(Func.InititateData) game.Players.PlayerAdded:connect(Func.CheckPasses) game.Players.PlayerAdded:connect(Func.HandleSpawn)
for i, spawn in pairs(game.Workspace.SpawnPoints:GetChildren()) do spawn.Touched:connect(function(hit) Func.SpawnTouch(hit, spawn) end) end
The Script for GUI:
wait(1) local MPS = Game:GetService("MarketplaceService") LocalPlayer=script.Parent.Parent.Parent
Passes={ {"Skip10",168376913}, {"Skip25",168377196}, {"Skip50",168377357}, {"Skip100",168376780}, {"GravCoil",168377514},--Second number is your gamepass. {"Admin",168377066} }
script.Parent[Passes[1][1]].MouseButton1Click:connect(function() MPS:PromptProductPurchase(LocalPlayer, Passes[1][2]) end)
script.Parent[Passes[2][1]].MouseButton1Click:connect(function() MPS:PromptProductPurchase(LocalPlayer, Passes[2][2]) end)
script.Parent[Passes[3][1]].MouseButton1Click:connect(function() MPS:PromptProductPurchase(LocalPlayer, Passes[3][2]) end)
script.Parent[Passes[4][1]].MouseButton1Click:connect(function() MPS:PromptProductPurchase(LocalPlayer, Passes[4][2]) end)
script.Parent[Passes[5][1]].MouseButton1Click:connect(function() MPS:PromptProductPurchase(LocalPlayer, Passes[5][2]) end)
script.Parent[Passes[6][1]].MouseButton1Click:connect(function() MPS:PromptProductPurchase(LocalPlayer, Passes[6][2]) end)
|
|
|
| Report Abuse |
|
Provix101
|
  |
| Joined: 13 Jul 2014 |
| Total Posts: 313 |
|
| |
freekmax
|
  |
| Joined: 25 Feb 2012 |
| Total Posts: 23 |
|
| |