Lewati ke konten
Berfungsi

Snap Tap Movement

CLclarkdevlinorg0 tayanganUniversal26 Jul 2026
Bagikan
Snap Tap Movement

Kode Script

Lua
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local Players = game:GetService("Players")

local player = Players.LocalPlayer
local camera = workspace.CurrentCamera

-- Wait for character and humanoid
local character = player.Character or player.CharacterAdded:Wait()
local humanoid = character:WaitForChild("Humanoid")

player.CharacterAdded:Connect(function(newCharacter)
	character = newCharacter
	humanoid = newCharacter:WaitForChild("Humanoid")
end)

-- Disable default controls
local PlayerModule = require(player:WaitForChild("PlayerScripts"):WaitForChild("PlayerModule"))
local controls = PlayerModule:GetControls()
controls:Disable()

-- Input tracking
local keys = {
	[Enum.KeyCode.W] = false,
	[Enum.KeyCode.S] = false,
	[Enum.KeyCode.A] = false,
	[Enum.KeyCode.D] = false,
	[Enum.KeyCode.Space] = false
}

-- Last pressed stacks for opposing directions
local verticalStack = {} -- W, S
local horizontalStack = {} -- A, D

local function removeFromStack(stack, key)
	for i = #stack, 1, -1 do
		if stack[i] == key then
			table.remove(stack, i)
		end
	end
end

local function updateStack(stack, key, isPressed)
	removeFromStack(stack, key)
	if isPressed then
		table.insert(stack, key)
	end
end

UserInputService.InputBegan:Connect(function(input, gameProcessed)
	if gameProcessed then return end
	
	if keys[input.KeyCode] ~= nil then
		keys[input.KeyCode] = true
		if input.KeyCode == Enum.KeyCode.W or input.KeyCode == Enum.KeyCode.S then
			updateStack(verticalStack, input.KeyCode, true)
		elseif input.KeyCode == Enum.KeyCode.A or input.KeyCode == Enum.KeyCode.D then
			updateStack(horizontalStack, input.KeyCode, true)
		end
	end
end)

UserInputService.InputEnded:Connect(function(input)
	if keys[input.KeyCode] ~= nil then
		keys[input.KeyCode] = false
		if input.KeyCode == Enum.KeyCode.W or input.KeyCode == Enum.KeyCode.S then
			updateStack(verticalStack, input.KeyCode, false)
		elseif input.KeyCode == Enum.KeyCode.A or input.KeyCode == Enum.KeyCode.D then
			updateStack(horizontalStack, input.KeyCode, false)
		end
	end
end)

RunService.RenderStepped:Connect(function()
	if not humanoid or not character:IsDescendantOf(workspace) then return end
	
	-- Handle jumping
	if keys[Enum.KeyCode.Space] then
		humanoid.Jump = true
	end
	
	local moveDir = Vector3.new(0, 0, 0)
	
	-- Vertical movement (Snap Tap)
	if #verticalStack > 0 then
		local activeKey = verticalStack[#verticalStack]
		if activeKey == Enum.KeyCode.W then
			moveDir += Vector3.new(0, 0, -1)
		elseif activeKey == Enum.KeyCode.S then
			moveDir += Vector3.new(0, 0, 1)
		end
	end
	
	-- Horizontal movement (Snap Tap)
	if #horizontalStack > 0 then
		local activeKey = horizontalStack[#horizontalStack]
		if activeKey == Enum.KeyCode.A then
			moveDir += Vector3.new(-1, 0, 0)
		elseif activeKey == Enum.KeyCode.D then
			moveDir += Vector3.new(1, 0, 0)
		end
	end
	
	if moveDir.Magnitude > 0 then
		humanoid:Move(moveDir.Unit, true)
	else
		humanoid:Move(Vector3.new(0, 0, 0), true)
	end
end)

Deskripsi

Snap Tap is an advanced movement feature that gives instant priority to the most recently pressed movement key. When two opposite movement keys (such as A and D, or W and S) are held at the same time, the latest key pressed automatically becomes active without requiring the other key to be released. This allows for faster direction changes, smoother movement, and more responsive controls during gameplay. Once the active key is released, control instantly returns to the previously held key.

Komentar (0)

Masuk untuk ikut berdiskusi

  • Jadilah yang pertama berkomentar.

Pertanyaan yang sering diajukan

Bagaimana cara menggunakan script Snap Tap Movement?
Salin kode script di atas, buka executor Roblox Anda, tempel kodenya, lalu tekan execute saat Anda berada di dalam game. Fitur akan aktif seketika setelah script berjalan.
Apakah script Snap Tap Movement gratis?
Ya. Script ini gratis untuk disalin dan digunakan. Jika menggunakan sistem kunci, ikuti tautan "Dapatkan kunci" untuk membukanya tanpa biaya.
Apakah script Snap Tap Movement aman digunakan?
Kode sumber lengkap ditampilkan di halaman ini sehingga Anda bisa membaca persis apa yang dilakukannya sebelum menjalankannya. Selalu gunakan executor tepercaya, dan ingat bahwa menggunakan script melanggar ketentuan layanan Roblox, jadi gunakan dengan risiko Anda sendiri.
Executor mana yang kompatibel dengan Snap Tap Movement?
Script ini bekerja dengan sebagian besar executor Roblox populer. Lihat halaman executor kami untuk menemukan executor gratis atau berbayar yang tepercaya untuk perangkat Anda.
Snap Tap Movement | BloxScripter