Aller au contenu
Forma Roblox

Rechercher dans la formation

Module 07 · Monétisation

Examen du module 7 — Monétisation et DevEx

Vérifie que tu sais vendre honnêtement et de façon fiable dans l’Obby des Nuages, et que tu comprends le circuit des Robux jusqu’au DevEx (chiffres d’octobre 2026).

Ton meilleur résultat : Pas encore tenté

Questions de l’examen

16 questions · réussite à partir de 70 % · réponds à tout puis corrige

  1. Question 1QCMUn joueur non abonné à Roblox Plus dépense 250 Robux pour un Developer Product de ton jeu. Combien de Robux arrivent sur ton compte, en attente, au taux en vigueur en octobre 2026 ?
  2. Question 2QCMPour l’Obby des Nuages, tu veux vendre : (A) une zone VIP accessible pour toujours, (B) des sacs de 100 pièces, (C) un bonus de pièces actif tant que le joueur paie chaque mois. Quelle association est correcte ?
  3. Question 3Trouve le bugCe Script serveur doit donner l’accès VIP aux joueurs qui possèdent le pass. Pourtant, il ne reconnaît jamais personne. Où est le bug ?
    local MarketplaceService = game:GetService("MarketplaceService")
    local Players = game:GetService("Players")
    local ID_PASS_VIP = 123456789
    
    Players.PlayerAdded:Connect(function(player)
    	local ok, possede = pcall(function()
    		return MarketplaceService:UserOwnsGamePassAsync(player, ID_PASS_VIP)
    	end)
    	if ok and possede then
    		player:SetAttribute("EstVIP", true)
    	end
    end)
  4. Question 4Vrai ou fauxQuand PromptGamePassPurchaseFinished se déclenche, cela prouve que le joueur a acheté le pass.
  5. Question 5QCMDans ton ProcessReceipt, tu as donné l’étape et noté le PurchaseId dans les données du joueur, mais DonneesJoueurs.Sauvegarder échoue (DataStore indisponible). Que doit renvoyer le callback ?
  6. Question 6QCMPourquoi un ProcessReceipt doit-il être idempotent ? (plusieurs réponses possibles)

    Plusieurs réponses possibles : coche toutes les bonnes.

  7. Question 7Trouve le bugCe Script serveur propose « Passer l’étape » quand le client le demande. Où est le problème de sécurité ?
    local MarketplaceService = game:GetService("MarketplaceService")
    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local remotes = ReplicatedStorage:WaitForChild("Remotes")
    local demande = remotes:WaitForChild("DemanderPasserEtape") :: RemoteEvent
    
    demande.OnServerEvent:Connect(function(player, idProduit)
    	MarketplaceService:PromptProductPurchase(player, idProduit)
    end)
  8. Question 8Vrai ou fauxPour savoir si un joueur est abonné à « Nuage+ », un LocalScript peut appeler GetUserSubscriptionStatusAsync et donner lui-même le bonus de pièces.
  9. Question 9QCMUn abonnement payé en monnaie locale est vendu 4,99 $. Que gagne le créateur, d’après la documentation officielle (octobre 2026) ?
  10. Question 10QCMUn ancien tutoriel te conseille de « miser sur les Premium Payouts » et de tester player.MembershipType == Enum.MembershipType.Premium. Qu’en penser en octobre 2026 ?
  11. Question 11QCMTon jeu vend des « potions de chance » qui augmentent les chances d’obtenir un œuf rare. Que demandent les règles de Roblox ?
  12. Question 12Vrai ou fauxUn message « DERNIÈRE CHANCE ! » affiché à chaque connexion pour un objet qui reste toujours en vente respecte les règles de Roblox, puisque le prix est correct.
  13. Question 13QCMTu as accumulé 45 000 Earned Robux, tous gagnés en 2026, sans éligibilité au taux U.S. 18+. Combien représentent-ils au taux standard de 0,0038 $, avant frais et impôts ?
  14. Question 14QCMQuelle affirmation sur DevEx et les impôts est exacte ?
  15. Question 15QCMClaude Code t’a livré Achats.server.luau. En cherchant PurchaseGranted dans le fichier, tu le trouves à trois endroits : après une sauvegarde réussie, quand le joueur n’est pas sur le serveur, et quand le produit est inconnu. Que fais-tu ?
  16. Question 16Trouve le bugTrouve la faille dans ce code généré par IA. Ce LocalScript doit « activer » la traînée dorée des joueurs qui possèdent le Game Pass.
    -- LocalScript placé dans StarterPlayerScripts
    local MarketplaceService = game:GetService("MarketplaceService")
    local Players = game:GetService("Players")
    
    local ID_PASS_TRAIL_DORE = 123456789
    local joueur = Players.LocalPlayer
    
    local ok, possede = pcall(function()
    	return MarketplaceService:UserOwnsGamePassAsync(joueur.UserId, ID_PASS_TRAIL_DORE)
    end)
    if ok and possede then
    	joueur:SetAttribute("PossedeTrailDore", true)
    end

← Retour au module 07