Skip to main content

UXR Handcuff System

The UXR Handcuff System is a complete solution for implementing realistic handcuffs in your Roblox games. This system is ideal for roleplaying games, especially those featuring law enforcement and criminal gameplay.

Features

  • Realistic handcuff animations and sounds
  • Server-side security to prevent exploits
  • Configurable handcuff properties and permissions
  • Integration with character controls and movement
  • Support for both R6 and R15 rigs
  • Events API for custom integrations

Setup Tutorial

Prerequisites

  • Roblox Studio
  • Basic Lua knowledge
  • Access to the UXPLIMA Asset Library or provided UXR Handcuff package

Installation Steps

  1. Import the UXR Handcuff System package into your game
  2. Place the main HandcuffSystem module in ReplicatedStorage
  3. Insert the provided animations into your animation folder
  4. Configure the permissions in the HandcuffConfig module
  5. Test the system with the provided example script

Configuration Options

The UXR Handcuff System can be extensively configured using the HandcuffConfig module:
-- HandcuffConfig.lua
return {
    -- General Settings
    AllowedGroups = {1234567}, -- Group IDs allowed to use handcuffs
    AllowedRanks = {10, 50, 100}, -- Minimum rank required in the groups
    
    -- Handcuff Properties
    HandcuffBreakTime = 30, -- Time in seconds before handcuffs can be broken
    ReducedWalkSpeed = 8, -- Walk speed when handcuffed (default is 16)
    DisableJump = true, -- Whether jumping is disabled when handcuffed
    
    -- Animation Settings
    HandcuffAnimationId = "rbxassetid://1234567890", -- Animation for applying handcuffs
    HandcuffedIdleAnimationId = "rbxassetid://0987654321", -- Animation for handcuffed state
    BreakHandcuffAnimationId = "rbxassetid://5555555555", -- Animation for breaking handcuffs
    
    -- System Integration
    UseCustomNotifications = false, -- Use game's notification system
    IntegrateWithTeamSystem = true, -- Automatically detect teams for permissions
    
    -- Advanced Options
    AntiExploitEnabled = true, -- Enable additional security measures
    HandcuffRange = 5, -- Maximum distance for handcuffing in studs
    CustomModelId = nil -- Optional custom handcuff model ID
}

Default Config Files

Below are the default configuration files provided with the UXR Handcuff System:

Standard Server Config

-- StandardServerConfig.lua
return {
    AllowedGroups = {},
    AllowedRanks = {},
    HandcuffBreakTime = 60,
    ReducedWalkSpeed = 6,
    DisableJump = true,
    AntiExploitEnabled = true,
    HandcuffRange = 4
}

Roleplay Server Config

-- RoleplayServerConfig.lua
return {
    AllowedGroups = {1234567, 7654321},
    AllowedRanks = {5, 10, 15},
    HandcuffBreakTime = 180,
    ReducedWalkSpeed = 4,
    DisableJump = true,
    DisableTools = true,
    EscapeChance = 0.1,
    AllowTeamHandcuffing = false,
    AntiExploitEnabled = true,
    HandcuffRange = 3
}

API Reference

Server-side Functions

-- Apply handcuffs to a player
HandcuffSystem:Handcuff(player, target)

-- Remove handcuffs from a player
HandcuffSystem:Uncuff(player)

-- Check if a player is handcuffed
HandcuffSystem:IsHandcuffed(player)

-- Get the player who applied the handcuffs
HandcuffSystem:GetHandcuffer(player)

-- Set custom handcuff permissions
HandcuffSystem:SetPermissions(permissionsTable)

Client-side Functions

-- Attempt to handcuff a player in range
HandcuffSystem:AttemptHandcuff()

-- Attempt to uncuff a player in range
HandcuffSystem:AttemptUncuff()

-- Attempt to break free from handcuffs
HandcuffSystem:AttemptBreakFree()

-- Check if local player has handcuff permissions
HandcuffSystem:HasPermission()

Support and Contact

For support with the UXR Handcuff System: