Produkt developera jest przedmiotem lub umiejętności, którą użytkownik może kupić więcej niż raz, takich jak waluta w grze, amunicja lub eliksiry.
Tworzenie produktów dla rozwiniętych
Aby stworzyć produkt dla rozwiniętych:
- Idź do Kreacje i wybierz doświadczenie.
- Idź do Monetyzacji > Produkty dla Rozwójca .
- Kliknij Utwórz produkt dla programisty .
- Załaduj obraz, aby wyświetlić jako ikona produktu. Upewnij się, że obraz nie przekracza 512x512 pikseli, nie zawiera ważnych szczegółów poza jego obwodowymi granicami i jest w formacie .jpg , .png lub .bmp .
- Wpisz nazwę i opis produktu.
- Ustaw cenę produktu w Robux. Minimalna cena wynosi 1 Robux, a maksymalna cena wynosi 1 miliard Robux.
- Kliknij Utwórz produkt dla programisty .
Zdobywanie ID produktu dla programisty
Aby użyć skryptu, potrzebujesz ID produktu rozwiniętego. Aby uzyskać ID produktu:
Idź do Monetyzacji > Produkty dla Rozwójca .
Przytrzymajте produkt i kliknijте menu ⋯ .
Kliknij Skopiuj ID zasobu , aby skopiować ID do swojego zapisu.
Sprzedaż produktów dla programistów
Aby wdrożyć i sprzedać produkt rozwinięty w doświadczeniu, wezwij funkcje MarketplaceService.
Użyj GetProductInfo() , aby odzyskać informacje o produkcie dla programistów, takie jak imię i cenę, a następnie wyświetlić go użytkownikom. Możesz sprzedać produkt w swoim doświadczeniu, na przykład. Dla produktów dla programistów drugi parametr musi być Enum.InfoType.Product.
local MarketplaceService = game:GetService("MarketplaceService")
-- Zastąp ID znacznika zidentyfikowanego produktu Twojego producenta
local productId = 000000
local success, productInfo = pcall(function()
return MarketplaceService:GetProductInfo(productId, Enum.InfoType.Product)
end)
if success and productInfo then
-- Pokaż informacje o produkcie
-- Zastąp stany drukowania kodem UI, aby wyświetlić produkt
print("Developer Product Name: " .. productInfo.Name)
print("Price in Robux: " .. productInfo.PriceInRobux)
print("Description: " .. productInfo.Description)
end
Użyj GetDeveloperProductsAsync() , aby odzyskać wszystkie produkty dla rozwinięcia związane z Twoim doświadczeniem. Ta funkcja zwraca obiekt Pages, który możesz przeglądać i filtrować, aby zbudować rzeczy, takie jak witryna w grze lub listy produktów, które możesz zbudować
local MarketplaceService = game:GetService("MarketplaceService")
local success, developerProducts = pcall(function()
return MarketplaceService:GetDeveloperProductsAsync()
end)
if success and developerProducts then
local firstPage = developerProducts:GetCurrentPage()
for _, developerProduct in firstPage do
-- Zastąp deklarację drukowania kodem UI, aby wyświetlić produkt
print(field .. ": " .. value)
end
end
Użyj PromptProductPurchase() , aby zachęcić do kupowania produktów w swoim doświadczeniu. Możesz weзваć tę funkcję, gdy użytkownik wykonuje działania, takie jak naciśnięcie przycisku lub rozmowa z kupcem NPC.
local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local player = Players.LocalPlayer
-- Zastąp ID znacznika zidentyfikowanego produktu Twojego producenta
local productId = 000000
local function promptProductPurchase()
local success, errorMessage = pcall(function()
MarketplaceService:PromptProductPurchase(player, productId)
end)
if success then
print("Purchase prompt shown successfully")
end
end
Możesz również połączyć funkcje w LocalScript . Na przykład możesz stworzyć element UI, takich jak przycisk lub na sprzedażNPC, a następnie użyć GetProductInfo() , aby połączyć istniejący produkt rozwoju
local MarketplaceService = game:GetService("MarketplaceService")
local player = game.Players.LocalPlayer
local button = script.Parent
-- Zastąp ID znacznika zidentyfikowanego produktu Twojego producenta
local productId = 000000
-- Dostarcza informacje o produkcie, gdy użytkownik kliknie przycisk UI
button.MouseButton1Click:Connect(function()
local success, productInfo = pcall(function()
return MarketplaceService:GetProductInfo(productId, Enum.InfoType.Product)
end)
if success and productInfo then
-- Sprawdza, czy produkt jest na sprzedaży
if productInfo.IsForSale then
print("This is for sale")
-- Zaproś kupowaćproduktu
MarketplaceService:PromptProductPurchase(player, productId)
else
-- Informuje produkt nie jest na sprzedaży
print("This product is not currently for sale.")
end
else
print("Error retrieving product info: " .. tostring(productInfo))
end
end)
Przyjmowanie Zakupów
Po zakupie użytkownikiem produktu rozwozowego, musisz zarządzać i zapisać transakcję. Aby to zrobić, użyj Script w ServerScriptService używając funkcji ProcessReceipt().
local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local productFunctions = {}
-- Przykład: ID produktu 123123 przynosi użytkownika do pełnego zdrowia
productFunctions[123123] = function(receipt, player)
local character = player.Character
local humanoid = character and character:FindFirstChildWhichIsA("Humanoid")
if humanoid then
humanoid.Health = humanoid.MaxHealth
-- Wskazuje na udany kupować
return true
end
end
-- Przykład: ID produktu 456456 przyznaje 100 złotych monet użytkownikowi
productFunctions[456456] = function(receipt, player)
local leaderstats = player:FindFirstChild("leaderstats")
local gold = leaderstats and leaderstats:FindFirstChild("Gold")
if gold then
gold.Value += 100
return true
end
end
local function processReceipt(receiptInfo)
local userId = receiptInfo.PlayerId
local productId = receiptInfo.ProductId
local player = Players:GetPlayerByUserId(userId)
if player then
-- Zdobywa funkcję identyfikatora związaną z ID produktu rozwiniętego i próbuje go uruchomić
local handler = productFunctions[productId]
local success, result = pcall(handler, receiptInfo, player)
if success then
-- Użytkownik otrzymał swoje przedmioty
-- Wyświetla „PurchaseGranted”, aby potwierdzić transakcję
return Enum.ProductPurchaseDecision.PurchaseGranted
else
warn("Failed to process receipt:", receiptInfo, result)
end
end
-- Nie można było przyznać przedmiotów użytkownikowi
-- Powoduje "NotProcessedYet" i próbuje ponownie następnym razem, gdy użytkownik dołączy do doświadczenia
return Enum.ProductPurchaseDecision.NotProcessedYet
end
-- Zdefiniuje wezwanie
-- Można to zrobić tylko raz przez jeden serwerowy skrypt
MarketplaceService.ProcessReceipt = processReceipt
Analiza produktu rozwiniętego
Użyj analityki produktu rozwojowego, aby zidentyfikować sukces poszczególnych produktów, zidentyfikować trendy i przewidzieć potencjalne zarobki przyszłości.
Z analityką możesz:
- Zobacz swoje najlepsze produkty dla programistów w wybranym okresie czasu.
- Pokazuj do ośmiu najlepiej sprzedających się pozycji na grafice serii czasowej, aby z分析 ogólne sprzedaż i przychody netto.
- Monitoruj swój katalog i sortuj przedmioty według sprzedaży i przychodów netto.
Aby uzyskać dostęp do analityki produktu rozwiniętego:
- Idź do Kreacje i wybierz doświadczenie.
- Idź do Monetyzacji > Produkty dla Rozwójca .
- Wybierz Analitykę zakładkę.