Installation


📦 Installation Instructions for Evo-Anklet Script System

To ensure the proper functioning of the Evo-Anklet Script System, follow these installation instructions carefully. This system has essential dependencies and setup steps for a smooth experience.


🛠️ Asset Dependencies

Mandatory Dependencies:

  • FiveM Server (latest recommended)

  • MySQL Database

  • Framework:

    • QB-Core (recommended)

    • es_extended (ESX Base)

    • QBox

    • Standalone

  • Target System:

    • qb-target

    • ox_target

  • Inventory System:

    • qb-inventory

    • ox_inventory

    • qs-inventory


1️⃣ Download & Place the Resource

  • Download Evo-Anklet and place it in your server's resources folder:

[FRAMEWORK]/evo-anklet/  

2️⃣Inventory Items

📦 QB Inventory Items

💡 Click to view usable items for qb_inventory:
['evo_anklet'] = {
    ['name'] = 'evo_anklet',
    ['label'] = 'Anklet Monitor',
    ['weight'] = 1000,
    ['type'] = 'item',
    ['image'] = 'evo_anklet.png',
    ['unique'] = true,
    ['useable'] = true,
    ['shouldClose'] = true,
    ['combinable'] = nil,
    ['description'] = 'Electronic monitoring anklet for tracking individuals'
},

['evo_anklet_tablet'] = {
    ['name'] = 'evo_anklet_tablet',
    ['label'] = 'Anklet Management Tablet',
    ['weight'] = 500,
    ['type'] = 'item',
    ['image'] = 'evo_anklet_tablet.png',
    ['unique'] = false,
    ['useable'] = true,
    ['shouldClose'] = true,
    ['combinable'] = nil,
    ['description'] = 'Tablet for managing anklet monitoring system'
},

['evo_cracker_sniff'] = {
    ['name'] = 'evo_cracker_sniff',
    ['label'] = 'Signal Sniffer',
    ['weight'] = 500,
    ['type'] = 'item',
    ['image'] = 'evo_cracker_sniff.png',
    ['unique'] = true,
    ['useable'] = true,
    ['shouldClose'] = true,
    ['combinable'] = nil,
    ['description'] = 'Device to sniff and crack signals.'
},

['evo_anklet_crackedtag'] = {
    ['name'] = 'evo_anklet_crackedtag',
    ['label'] = 'Cracked Anklet Tag',
    ['weight'] = 200,
    ['type'] = 'item',
    ['image'] = 'evo_anklet_crackedtag.png',
    ['unique'] = true,
    ['useable'] = true,
    ['shouldClose'] = true,
    ['combinable'] = nil,
    ['description'] = 'A cracked anklet tag, no longer secure.'
},

['evo_anklet_tag'] = {
    ['name'] = 'evo_anklet_tag',
    ['label'] = 'Anklet Tag',
    ['weight'] = 200,
    ['type'] = 'item',
    ['image'] = 'evo_anklet_tag.png',
    ['unique'] = true,
    ['useable'] = true,
    ['shouldClose'] = true,
    ['combinable'] = nil,
    ['description'] = 'A secure anklet tracking tag.'
},

['evo_anklet_spoofedtag'] = {
    ['name'] = 'evo_anklet_spoofedtag',
    ['label'] = 'Spoofed Anklet Tag',
    ['weight'] = 200,
    ['type'] = 'item',
    ['image'] = 'evo_anklet_spoofedtag.png',
    ['unique'] = true,
    ['useable'] = true,
    ['shouldClose'] = true,
    ['combinable'] = nil,
    ['description'] = 'A spoofed anklet tag to trick police systems.'
},

['evo_signal_extractor'] = {
    ['name'] = 'evo_signal_extractor',
    ['label'] = 'Signal Extractor',
    ['weight'] = 500,
    ['type'] = 'item',
    ['image'] = 'evo_signal_extractor.png',
    ['unique'] = true,
    ['useable'] = true,
    ['shouldClose'] = true,
    ['combinable'] = nil,
    ['description'] = 'Tool to extract signals from devices.'
},

['evo_anklet_boltcutter'] = {
    ['name'] = 'evo_anklet_boltcutter',
    ['label'] = 'Bolt Cutter',
    ['weight'] = 500,
    ['type'] = 'item',
    ['image'] = 'evo_anklet_boltcutter.png',
    ['unique'] = true,
    ['useable'] = true,
    ['shouldClose'] = true,
    ['combinable'] = nil,
    ['description'] = 'A heavy-duty tool for cutting anklets and chains.'
},


['evo_anklet_tablet'] = {
    ['name'] = 'evo_anklet_tablet',
    ['label'] = 'Anklet Tablet',
    ['weight'] = 500,
    ['type'] = 'item',
    ['image'] = 'evo_anklet_tablet.png',
    ['unique'] = true,
    ['useable'] = true,
    ['shouldClose'] = true,
    ['combinable'] = nil,
    ['description'] = 'Police-issued tablet for monitoring and managing anklets.',
},

📦OX Inventory Items

💡 Click to view usable items for ox_inventory:
["evo_anklet"] = {
    label = "Anklet Monitor",
    weight = 1000,
    stack = false,
    close = true,
    description = "Electronic monitoring anklet for tracking individuals",
},

["evo_anklet_tablet"] = {
    label = "Anklet Management Tablet",
    weight = 500,
    stack = true,
    close = true,
    description = "Tablet for managing anklet monitoring system",
},

["evo_cracker_sniff"] = {
    label = "Signal Sniffer",
    weight = 500,
    stack = false,
    close = true,
    description = "Device to sniff and crack signals.",
},

["evo_anklet_crackedtag"] = {
    label = "Cracked Anklet Tag",
    weight = 200,
    stack = false,
    close = true,
    description = "A cracked anklet tag, no longer secure.",
},

["evo_anklet_tag"] = {
    label = "Anklet Tag",
    weight = 200,
    stack = false,
    close = true,
    description = "A secure anklet tracking tag.",
},

["evo_anklet_spoofedtag"] = {
    label = "Spoofed Anklet Tag",
    weight = 200,
    stack = false,
    close = true,
    description = "A spoofed anklet tag to trick police systems.",
},

["evo_signal_extractor"] = {
    label = "Signal Extractor",
    weight = 500,
    stack = false,
    close = true,
    description = "Tool to extract signals from devices.",
},

["evo_anklet_boltcutter"] = {
    label = "Bolt Cutter",
    weight = 500,
    stack = false,
    close = true,
    description = "A heavy-duty tool for cutting anklets and chains.",
},

["evo_anklet_police_tablet"] = {
    label = "Anklet Tablet",
    weight = 500,
    stack = false,
    close = true,
    description = "Police-issued tablet for monitoring and managing anklets.",
},

3️⃣ Database Setup

Run the SQL commands from sql.sql to set up required tables and columns:

💡 Click to view Database setup
CREATE TABLE IF NOT EXISTS `evo_anklets` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `citizenid` varchar(64) NOT NULL,
  `code` varchar(10) NOT NULL,
  `status` varchar(20) NOT NULL DEFAULT 'active',
  `restricted_location` longtext DEFAULT NULL,
  `last_location_x` float DEFAULT 0,
  `last_location_y` float DEFAULT 0,
  `last_location_z` float DEFAULT 0,
  `name` varchar(50) DEFAULT NULL,
  `lastname` varchar(50) DEFAULT NULL,
  `description` text DEFAULT NULL,
  `incidentid` varchar(50) DEFAULT NULL,
  `removedate` date DEFAULT NULL,
  `created_at` timestamp NOT NULL DEFAULT current_timestamp(),
  `updated_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
  PRIMARY KEY (`id`),
  KEY `idx_citizenid` (`citizenid`),
  KEY `idx_status` (`status`),
  KEY `idx_location` (`restricted_location`(768)),
  KEY `idx_incidentid` (`incidentid`),
  CONSTRAINT `chk_status` CHECK (`status` in ('active','hacked','disabled','breached','broken'))
) ENGINE=InnoDB AUTO_INCREMENT=53 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

4️⃣ Images Installation

Copy all images from the images/ folder to your inventory images directory Ensure proper file paths in your inventory configuration

5️⃣ ⚙️ Script Configuration

Open config.lua and adjust settings to match your server:

Config = {
    Framework = 'qb', -- 'auto', 'qb', 'esx', 'qbox'
    target = "qb-target", -- qb-target or ox_target
    InventoryType = 'qb-inventory', -- qb-inventory or ox_inventory
    language = 'en', -- Language for localization
    DevMode = false, -- Enable debug mode
}

Adjust shop, tracking, and other options as needed for your server

7️⃣ Add to server.cfg

Add the resource to your server.cfg:

ensure evo-anklet

Last updated