function onKey(key, state) local hasWeapon = getPedWeapon(localPlayer) ~= 0 local isSprinting = getPedControlState(localPlayer, 'sprint') local isRestricted = getElementData(localPlayer, 'player > cuffed') or getElementData(localPlayer, 'player > roped') or getElementData(localPlayer, 'nc_fall') or isPedDead(localPlayer) or isPedInVehicle(localPlayer) if not isRestricted then if key == 'forwards' or key == 'backwards' or key == 'left' or key == 'right' then if isSprinting then setPedControlState(localPlayer, 'walk', false) else setPedControlState(localPlayer, 'walk', true) end elseif key == 'sprint' then if state == 'down' then setPedControlState(localPlayer, 'walk', false) elseif state == 'up' then setPedControlState(localPlayer, 'walk', true) end end end end for _, key in ipairs({'forwards', 'backwards', 'left', 'right', 'sprint'}) do bindKey(key, 'both', onKey) end