-- // SERVICES
local Players = game:GetService("Players")
local MarketplaceService = game:GetService("MarketplaceService")
local StarterGui = game:GetService("StarterGui")
local player = Players.LocalPlayer
local GAMEPASS_ID = 1688200686
local GAMEPASS_LINK = "https://www.roblox.com/fr/game-pass/1688200686/wAVE-bRainrot-Key"
-- // RAYFIELD
local Rayfield = loadstring(game:HttpGet("https://sirius.menu/rayfield"))()
local Window = Rayfield:CreateWindow({
Name = "wAVE Key",
LoadingTitle = "wAVE Key",
LoadingSubtitle = "Accès Duplication",
ConfigurationSaving = { Enabled = false }
})
-- Onglet ultra simple
local Tab = Window:CreateTab("Dup")
-- Vérification du gamepass
local function OwnsGamepass()
local ok, owns = pcall(function()
return MarketplaceService:UserOwnsGamePassAsync(player.UserId, GAMEPASS_ID)
end)
return ok and owns
end
local function Notify(title, text)
pcall(function()
StarterGui:SetCore("SendNotification", {
Title = title,
Text = text,
Duration = 6
})
end)
end
-- BOUTON UNIQUE
Tab:CreateButton({
Name = "Ouvrir Duplication",
Callback = function()
if not OwnsGamepass() then
setclipboard(GAMEPASS_LINK)
Notify("Gamepass requis", "Lien copié dans ton presse-papier.")
return
end
-- ======================================================
-- TON SCRIPT GUI DE DUPLICATION
-- ======================================================
local gui = Instance.new("ScreenGui")
gui.Name = "DupToolGUI"
gui.ResetOnSpawn = false
gui.Parent = player:WaitForChild("PlayerGui")
local frame = Instance.new("Frame")
frame.Size = UDim2.new(0, 220, 0, 80)
frame.Position = UDim2.new(0, 50, 0, 50)
frame.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
frame.BorderSizePixel = 0
frame.Active = true
frame.Draggable = true
frame.Parent = gui
local frameCorner = Instance.new("UICorner")
frameCorner.CornerRadius = UDim.new(0, 12)
frameCorner.Parent = frame
local frameStroke = Instance.new("UIStroke")
frameStroke.Thickness = 2
frameStroke.Color = Color3.fromRGB(170, 0, 255)
frameStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
frameStroke.Parent = frame
local button = Instance.new("TextButton")
button.Size = UDim2.new(1, -20, 1, -20)
button.Position = UDim2.new(0, 10, 0, 10)
button.BackgroundColor3 = Color3.fromRGB(10, 10, 10)
button.BorderSizePixel = 0
button.Text = "Dupliquer le tool équipé"
button.TextColor3 = Color3.fromRGB(255, 255, 255)
button.Font = Enum.Font.GothamBold
button.TextScaled = true
button.Parent = frame
local btnCorner = Instance.new("UICorner")
btnCorner.CornerRadius = UDim.new(0, 10)
btnCorner.Parent = button
local btnStroke = Instance.new("UIStroke")
btnStroke.Thickness = 2
btnStroke.Color = Color3.fromRGB(170, 0, 255)
btnStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
btnStroke.Parent = button
local function duplicateEquippedTool()
local character = player.Character or player.CharacterAdded:Wait()
local humanoid = character:FindFirstChildOfClass("Humanoid")
if not humanoid then return end
local equippedTool
for _, child in ipairs(character:GetChildren()) do
if child:IsA("Tool") then
equippedTool = child
break
end
end
if not equippedTool then
for _, child in ipairs(player.Backpack:GetChildren()) do
if child:IsA("Tool") then
equippedTool = child
break
end
end
end
if equippedTool then
local clone = equippedTool:Clone()
clone.Parent = player.Backpack
end
end
button.MouseButton1Click:Connect(duplicateEquippedTool)
end
})