local VIM = game:GetService("VirtualInputManager") local cam = workspace.CurrentCamera local sW = cam.ViewportSize.X local sH = cam.ViewportSize.Y local pad = 25 local keySize = 70 local funcSizeW = 80 local funcSizeH = 40 local SG = Instance.new("ScreenGui") SG.Parent = game.CoreGui local function makeBtn(name, keyCode, x, y, w, h) local btn = Instance.new("TextButton") btn.Parent = SG btn.Text = name btn.Size = UDim2.new(0, w, 0, h) btn.Position = UDim2.new(0, x, 0, y) btn.BackgroundColor3 = Color3.fromRGB(40,40,40) btn.TextColor3 = Color3.new(1,1,1) btn.TextSize = 18 btn.BorderSizePixel = 0 btn.AutoButtonColor = true local holding = false btn.MouseButton1Down:Connect(function() holding = true spawn(function() while holding do VIM:SendKeyEvent(true, keyCode, false, game) wait(0.03) end VIM:SendKeyEvent(false, keyCode, false, game) end) end) btn.MouseButton1Up:Connect(function() holding = false end) btn.MouseLeave:Connect(function() holding = false end) return btn end makeBtn("W", Enum.KeyCode.W, pad, sH - 220, keySize, keySize) makeBtn("S", Enum.KeyCode.S, pad, sH - 140, keySize, keySize) makeBtn("A", Enum.KeyCode.A, sW - keySize - pad - 80, sH - 140, keySize, keySize) makeBtn("D", Enum.KeyCode.D, sW - keySize - pad, sH - 140, keySize, keySize) local funcX = sW - funcSizeW - pad - 180 makeBtn("Shift", Enum.KeyCode.LeftShift, funcX, sH - 200, funcSizeW, funcSizeH) makeBtn("Space", Enum.KeyCode.Space, funcX, sH - 150, funcSizeW, funcSizeH) makeBtn("Ctrl", Enum.KeyCode.LeftControl, funcX, sH - 100, funcSizeW, funcSizeH)