generic image
Processing...
  • Games
  • Catalog
  • Develop
  • Robux
  • Search in Players
  • Search in Games
  • Search in Catalog
  • Search in Groups
  • Search in Library
  • Log In
  • Sign Up
  • Games
  • Catalog
  • Develop
  • Robux
   
ROBLOX Forum » Game Creation and Development » Scripting Helpers
Home Search
 

Re: So I have this script:

Previous Thread :: Next Thread 
Provix101 is not online. 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 is not online. Provix101
Joined: 13 Jul 2014
Total Posts: 313
25 Jul 2014 11:33 PM
Help plz.
Report Abuse
freekmax is not online. freekmax
Joined: 25 Feb 2012
Total Posts: 23
26 Jul 2014 04:57 AM
No errors?
Report Abuse
Previous Thread :: Next Thread 
Page 1 of 1
 
 
ROBLOX Forum » Game Creation and Development » Scripting Helpers
   
 
   
  • About Us
  • Jobs
  • Blog
  • Parents
  • Help
  • Terms
  • Privacy

©2017 Roblox Corporation. Roblox, the Roblox logo, Robux, Bloxy, and Powering Imagination are among our registered and unregistered trademarks in the U.S. and other countries.



Progress
Starting Roblox...
Connecting to Players...
R R

Roblox is now loading. Get ready to play!

R R

You're moments away from getting into the game!

Click here for help

Check Remember my choice and click Launch Application in the dialog box above to join games faster in the future!

Gameplay sponsored by:
Loading 0% - Starting game...
Get more with Builders Club! Join Builders Club
Choose Your Avatar
I have an account
generic image