Как создать геймпасс с выдачей предмета в Roblox Studio

ГлавнаяДругие контенты, ИгрыКак создать геймпасс с выдачей предмета в Roblox Studio
Как создать геймпасс с выдачей предмета в Roblox Studio
Как создать геймпасс с выдачей предмета в Roblox Studio
Как добавить геймпасс с выдачей предмета в Roblox Studio

Локальный скрипт:

local Gui script.Parent
local Marketplace game:GetService(/»MarketplaceService/»)
local player game.Players.LocalPlayer
local GamepassId 0 — вместо нуля вставьте айди своего геймпасса
local Remotes game.ReplicatedStorage.Remotes

local ChangeText true — оставьте true, если хотите чтобы текст изменился после покупки, поменяйте на false,
— если хотите, чтобы текст не менялся
local GiveOnJoin true — оставьте true, если хотите, чтобы предмет сразу выдавался игроку с геймпассом, когда
— он зашёл в игру, поставьте false, если не хотите этого

Gui.GamepassButton.MouseButton1Click:Connect(function()
if Marketplace:UserOwnsGamePassAsync(player.UserId, GamepassId) then
Remotes.ItemsGiver:FireServer(/»Pult/») — если Вы используете не пульт от ядерки, то в кавычках напишите
— вместо Pult что-то другое, чтобы не запутаться

if ChangeText true then
Gui.GamepassButton.Text /»Взять пульт от ядерки/»
end
else
Marketplace:PromptGamePassPurchase(player, GamepassId)
end
end)

Marketplace.PromptGamePassPurchaseFinished:Connect(function()
if ChangeText true then
Gui.GamepassButton.Text /»Взять пульт от ядерки/»
end

Remotes.ItemsGiver:FireServer(/»Pult/») — если Вы выше в кавычках меняли Pult на
— что-то другое, то напишите тут в кавычках такое же название
end)

Remotes.ItemsGiver.OnClientEvent:Connect(function(info)
if info /»PlayerJoined/» then
if Marketplace:UserOwnsGamePassAsync(player.UserId, GamepassId) then
if GiveOnJoin true then
Remotes.ItemsGiver:FireServer(/»Pult/») — если Вы выше в кавычках меняли Pult на
— что-то другое, то напишите тут в кавычках такое же название
end

if ChangeText true then
Gui.GamepassButton.Text /»Взять пульт от ядерки/»
end
end
end
end)

Скрипт в ServerScriptService:

local remote game.ReplicatedStorage.Remotes.ItemsGiver
local AllowStack true — оставьте true, если хотите, чтобы предмет можно было стакать, поставьте false, если
— хотите, чтобы предмет нельзя было стакать

remote.OnServerEvent:Connect(function(plr, info)
if info /»Pult/» then — если Вы в локальном скрипте в кавычках меняли Pult на что-то другое, то напишите
—тут в кавычках такое же название
if AllowStack true then

local Item game.ReplicatedStorage.Items.Pult:Clone() — если вы используете не пульт от ядерки, то
— напишите вместо Pult название вашей штуки

Item.Parent plr.Backpack
elseif AllowStack false then

local Item game.ReplicatedStorage.Items.Pult:Clone() — если вы используете не пульт от ядерки, то
— напишите вместо Pult название вашей штуки

if plr.Backpack:FindFirstChild(/»Pult/») then — если вы используете не пульт от ядерки, то
— напишите вместо Pult название вашей штуки

print(/»У тебя уже есть предмет/»)
else
Item.Parent plr.Backpack
end
end
end
end)

game.Players.PlayerAdded:Connect(function(plr)
remote:FireClient(plr, /»PlayerJoined/»)
end)

Музыка из видео:
Alan Walker — Spectre https://youtu.be/lf7TVbYwJ7s?siYkyE2QwoD8leNnFn
retroVision — Puzzle VIP https://youtu.be/WtaKxxZGCKc?siRH-45dTFMGWfhfId
CØDE — Duck Face https://youtu.be/-cWkoBJuu-k?siNfBPSs-Mk8-11FWM
Tobu — Hope https://youtu.be/Y1Z3Q3O7IRE?siqPwZKjA6a3qDBS81

Таймкоды:
0:00 Начало
0:21 Создаю геймпасс
1:28 Создаю кнопку для геймпасса в gui
1:54 Скриптю кнопку пока без геймпасса
2:38 Добавляю ремоут ивент и предмет в ReplicatedStorage
3:23 Продолжаю скриптить кнопку
4:06 Создаю скрипт в ServerScriptService и скриптую его
5:16 Тестирую выдачу предмета пока без геймпасса
5:34 Продолжаю локальный скрипт уже с геймпассом
6:19 Копирую айди геймпасса и вставляю в скрипт
6:39 Фейлово продолжаю локальный скрипт
7:23 Фейлово тестирую результат и не понимаю, в чём дело
8:37 Фиксю проблемы и тестирую
9:32 Добавляю ньюансы в локальный скрипт
9:54 Тестирую результат
10:41 Всем пока

Воспользуйтесь возможностью поделиться этим видео со своими друзьями и семьей, если вы нашли его полезным.

No Comments

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *