Could someone tell me how to change this script, so if you buy the Developer Product gives you for example a Darkheart. PLayer points should still be added to the server.
local plr = script.Parent.Parent.Parent
local link = game:GetService("MarketplaceService")
local y = 75 -- 300( the frame's Y Size offset) /# of buttons you want. -> 300/4 = 75
local statn = "KOs" -- stat name here
local function create(instanc)
return function(object)
local button = Instance.new(instanc)
for i,v in pairs(object) do
button[i] = v
end
return button
end
end
------For testing, comment this out when you're going online.
------------------------------------------------------
repeat wait() until plr:findFirstChild("leaderstats")
local stat = plr.leaderstats[statn]
--[[
*Your info in conversion.
*You can't use my ID's in your place, you will get a maintenance error.
-id = Your dev product id.
-points = How much will be rewarded upon purchase. [ LEAVE IT TO 0 ]
-cost = Shows how much it will cost on the GUI
-nam = Desc of product on the GUI
- You can also put more of the id = stuff to add more developer products. Copy and paste it again.
--]]
local conversions =
{
{id = 19793144, points = 0, cost = 1, nam = "Add 100 Player Points"};
{id = 19740656, points = 0, cost = 1, nam = "Add Player Points"};
{id = 19740656, points = 0, cost = 1, nam = "Add Player Points"};
}
local main = create("Frame")
{
Size = UDim2.new(0, 250, 0, 0);
BackgroundTransparency = 1;
ZIndex = 3;
Position = UDim2.new(0,-250,.5,-165);
Name = "Shop";
Parent = script.Parent
}
local folder = create("Frame")
{
Size = UDim2.new(0,200,0,300);
BackgroundColor = BrickColor.new("Really black");
BackgroundTransparency = .3;
Active = true;
ZIndex = 2;
Parent = main
}
local header = create("Frame")
{
Size = UDim2.new(.5,0,0,20);
Position = UDim2.new(1,0,0,0);
Name = "ShopHeader";
BackgroundTransparency = 1;
ZIndex = 3;
Parent = main
}
local Tbutton = create("TextButton")
{
Size = UDim2.new(0,20,0,20);
Position = UDim2.new(1,3,0,0);
BackgroundTransparency = .25;
BackgroundColor = BrickColor.new("Really black");
ZIndex = 3;
BorderSizePixel = 0;
Text = ">>";
TextColor = BrickColor.White();
Parent = header
}
local label = create("TextLabel")
{
Text = "Shop";
Size = UDim2.new(1,0,0,20);
BackgroundTransparency = .25;
BackgroundColor = BrickColor.new("Really black");
ZIndex = 3;
BorderSizePixel = 0;
TextColor = BrickColor.White();
Font = "Legacy";
FontSize = "Size12";
Parent = header
}
local watermark = create("TextLabel")
{
Size = UDim2.new(0,0,0,0);
Position = UDim2.new(1,0,1,0);
TextXAlignment = "Right";
TextYAlignment = "Bottom";
BackgroundTransparency = 1;
ZIndex = 3;
TextColor = BrickColor.new("Institutional white");
Font = "Legacy";
FontSize = "Size10";
Text = "GUI";
TextTransparency = .9;
Parent = folder
}
local function buyItem(button)
button.MouseButton1Click:connect(function()
local marketId = button["market"].Value
local pointsToAward = button["points"].Value
link:PromptProductPurchase(plr,marketId)
link.ProcessReceipt = function(receiptInfo)
if Enum.ProductPurchaseDecision.PurchaseGranted and receiptInfo.PlayerId == plr.userId then
stat.Value = stat.Value + pointsToAward
end
end
end)
end
for i,v in ipairs(conversions) do
local button = create("TextButton")
{
Size = UDim2.new(1,0,0,y);
BackgroundColor = BrickColor.Black();
TextColor = BrickColor.White();
TextXAlignment = "Left";
FontSize = "Size14";
Position = UDim2.new(0,0,0,((i*y)+2)-(y+2));
BorderSizePixel = 0;
Font = "Legacy";
Text = v.nam;
ZIndex = 3;
Parent = folder
}
local cost = create("TextLabel")
{
Size = UDim2.new(0,0,1,0);
BackgroundColor = BrickColor.Black();
TextXAlignment = "Right";
FontSize = "Size14";
Position = UDim2.new(1,0,0,0);
BorderSizePixel = 0;
TextColor3 = Color3.new(20/255, 166/255, 0/255);
Text = v.cost.."R$";
ZIndex = 3;
Parent = button
}
local buyTag = create("IntValue")
{
Name = "market";
Value = v.id;
Parent = button;
}
local pointsTag = create("IntValue")
{
Name = "points";
Value = v.points;
Parent = button;
}
buyItem(button)
end
local gui = main
Tbutton.MouseButton1Click:connect(function()
if Tbutton.Text == ">>" then
gui:TweenPosition(UDim2.new(0,0,.5,-165), "Out", "Back", true,.5)
header:TweenPosition(header.Position - UDim2.new(0,45,0,0), "In", "Quad", true)
Tbutton.Text = "<<"
else
gui:TweenPosition(UDim2.new(0,-250,.5,-165), "Out", "Quad", true,.5)
header:TweenPosition(UDim2.new(1,0,0,0), "In", "Quad", true)
Tbutton.Text = ">>"
end
end)
