⬇️Installation

A step-by-step guide on how to install the script correctly corresponding to your framework, resources etc.

Welcome to the Bulgar Development Computer installation guide, here you can learn how to completely install our asset, following each step we will achieve a clean and fluid installation where you will not find any problems, as long as the documentation has been completed in full.

If you do not have programming experience, we recommend that you read each step completely without skipping any lines, since all documentation is important and should not be ignored under any circumstances. If you have a trusted developer, you can install this quickly, easily and safely if you complete this documentation step by step.

If at the end of this documentation you still have any problems, review each step again, after having checked that everything is correct, you can obtain more information about common errors in the Common Problems section within this same documentation to seek help independently.


Asset Download

To find the asset, you must have made the purchase using your own keymaster account. Otherwise, you can use the transfer system to move the asset to a different keymaster account.

If you need to make an update you must also do this step again, download the asset and you will get the complete update.

Once the purchase is made on our official website, you will receive your asset directly in your Keymaster, in your own panel you can download the asset and install it following the following documentation.


Asset Dependencies

This asset has some dependencies that are completely mandatory and important for the operation of the asset. If you do not have these dependencies, your asset will probably start and have some error or message in its command console.


Asset Positioning

Correctly position the assets by following this step, if something goes wrong you will probably get errors about exports not found, do not skip this step.

For the execution of this asset, we will respect the respective order mentioned below. The dependencies should be ensured before the computer resources.

-- First we will start the cores, never below
ensure es_extended or qb-core or your-custom-core

-- Your inventory system, always on top
ensure [inventory]

-- Run bd-computer here along with its dependencies
ensure [dependencies]

ensure bd-computer

-- If you are using our laptop system
ensure bd-laptop

-- If you are using our heists
ensure [bd-heists]

Database Installation

Before running the Computer script we will have to update and install our database. Your framework doesn't affect the database structure, so it is the same for every framework.

SQL File
-- --------------------------------------------------------
-- Хост:                         127.0.0.1
-- Версия на сървъра:            11.3.2-MariaDB - mariadb.org binary distribution
-- ОС на сървъра:                Win64
-- HeidiSQL Версия:              12.5.0.6677
-- --------------------------------------------------------

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET NAMES utf8 */;
/*!50503 SET NAMES utf8mb4 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

-- Дъмп структура за таблица bulgarog.bd_computers
CREATE TABLE IF NOT EXISTS `bd_computers` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `owner` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL,
  `username` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL,
  `password` varchar(8) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL,
  `build` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`build`)),
  `macaddress` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL,
  `cryptoaddress` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL,
  `bulgarcoin` decimal(20,6) DEFAULT 0.000000,
  `minercoin` decimal(20,6) DEFAULT 0.000000,
  `minerextcoin` decimal(20,6) DEFAULT 0.000000,
  `wifis` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL,
  `miners` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`miners`)),
  `apps` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`apps`)),
  `notes` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`notes`)),
  `gang` int(11) DEFAULT NULL,
  `props` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`props`)),
  `coords` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`coords`)),
  `bucket` int(11) DEFAULT NULL,
  `wallpaper` longtext CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT 'https://r2.fivemanage.com/pub/4m02sqtf01yu.jpg',
  `avatar` longtext DEFAULT 'https://r2.fivemanage.com/pub/b3wlienka20z.png',
  `metadata` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT '{"security_level":0,"noid_attempts":1,"noid_access":false}',
  `connectionTime` datetime DEFAULT NULL,
  `isDisabled` bit(1) DEFAULT b'0',
  `isSetup` bit(1) NOT NULL DEFAULT b'0',
  `os` varchar(55) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=88 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='Table used for Bulgar Development''s FiveM Computer Script.';

-- Изнасянето на данните беше деселектирано.

-- Дъмп структура за таблица bulgarog.bd_computers_associations
CREATE TABLE IF NOT EXISTS `bd_computers_associations` (
  `id` int(11) NOT NULL,
  `primaryComputer` int(11) NOT NULL,
  `secondaryComputer` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

-- Изнасянето на данните беше деселектирано.

-- Дъмп структура за таблица bulgarog.bd_computers_contracts
CREATE TABLE IF NOT EXISTS `bd_computers_contracts` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `owner` varchar(50) DEFAULT NULL,
  `name` varchar(55) DEFAULT NULL,
  `category` varchar(55) DEFAULT NULL,
  `info` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`info`)),
  `image` longtext DEFAULT NULL,
  `price` int(11) DEFAULT 0,
  `minMembers` int(1) DEFAULT 0,
  `maxMembers` int(1) DEFAULT 0,
  `eventInfo` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`eventInfo`)),
  `members` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`members`)),
  `generateTime` datetime DEFAULT NULL,
  `expirationTime` datetime DEFAULT NULL,
  `resetTime` datetime DEFAULT NULL,
  `status` text DEFAULT 'Available',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=481 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='All of the crime contracts for the computer script.';

-- Изнасянето на данните беше деселектирано.

-- Дъмп структура за таблица bulgarog.bd_computers_gangs
CREATE TABLE IF NOT EXISTS `bd_computers_gangs` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `owner` varchar(55) NOT NULL,
  `computer` int(11) DEFAULT NULL,
  `name` varchar(55) NOT NULL,
  `members` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL,
  `announcements` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=60 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='All of the gangs for the computer script.';

-- Изнасянето на данните беше деселектирано.

-- Дъмп структура за таблица bulgarog.bd_computers_minerext
CREATE TABLE IF NOT EXISTS `bd_computers_minerext` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `computerId` int(11) DEFAULT NULL,
  `data` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`data`)),
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='MinerEXT Graph Data for the computers.';

-- Изнасянето на данните беше деселектирано.

-- Дъмп структура за таблица bulgarog.bd_computers_player_cooldowns
CREATE TABLE IF NOT EXISTS `bd_computers_player_cooldowns` (
  `pid` varchar(50) NOT NULL,
  `cooldownUntil` datetime DEFAULT NULL,
  PRIMARY KEY (`pid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='Player cooldown for the laptop script';

-- Изнасянето на данните беше деселектирано.

-- Дъмп структура за таблица bulgarog.bd_computers_transactions
CREATE TABLE IF NOT EXISTS `bd_computers_transactions` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `senderUsername` varchar(100) DEFAULT NULL,
  `senderAddress` varchar(100) DEFAULT NULL,
  `receiverAddress` varchar(100) DEFAULT NULL,
  `macAddress` varchar(100) DEFAULT NULL,
  `amount` varchar(50) DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=133 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;

-- Изнасянето на данните беше деселектирано.

/*!40103 SET TIME_ZONE=IFNULL(@OLD_TIME_ZONE, 'system') */;
/*!40101 SET SQL_MODE=IFNULL(@OLD_SQL_MODE, '') */;
/*!40014 SET FOREIGN_KEY_CHECKS=IFNULL(@OLD_FOREIGN_KEY_CHECKS, 1) */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40111 SET SQL_NOTES=IFNULL(@OLD_SQL_NOTES, 1) */;

Items

This asset has different items with different uses or props. If your inventory file is not located here, you can take another one as an example and simply adapt it to your needs.

Our Computer has a series of items that are important for its use. For example, desks with different props, servers with different props or GPU's that enhance/worsen your computer.

Here you will find a series of selected items in different extensions for different inventories, select the option that suits your server.

Items for ox_inventory
['bd_desk1'] = {
	label = 'Desk 1',
	weight = 20000,
	stack = false,
	close = false,
	description = "Computer Desk 1",
	client = {
		image = "bd_desk.png",
		event = "bd-hacking:client:place-desk",
	}
},

['bd_desk2'] = {
	label = 'Desk 2',
	weight = 20000,
	stack = false,
	close = false,
	description = "Computer Desk 2",
	client = {
		image = "bd_desk.png",
		event = "bd-hacking:client:place-desk",
	}
},

['bd_desk3'] = {
	label = 'Desk 3',
	weight = 20000,
	stack = false,
	close = false,
	description = "Computer Desk 3",
	client = {
		image = "bd_desk.png",
		event = "bd-hacking:client:place-desk",
	}
},

['bd_desk4'] = {
	label = 'Desk 4',
	weight = 20000,
	stack = false,
	close = false,
	description = "Computer Desk 4",
	client = {
		image = "bd_desk.png",
		event = "bd-hacking:client:place-desk",
	}
},

['bd_server1'] = {
	label = 'Rack 1',
	weight = 20000,
	stack = false,
	close = false,
	description = "Mining Rack 1",
	client = {
		image = "bd_server.png",
		event = "bd-hacking:client:place-server",
	}
},

['bd_server2'] = {
	label = 'Rack 2',
	weight = 20000,
	stack = false,
	close = false,
	description = "Mining Rack 2",
	client = {
		image = "bd_server.png",
		event = "bd-hacking:client:place-server",
	}
},

['bd_server3'] = {
	label = 'Rack 3',
	weight = 20000,
	stack = false,
	close = false,
	description = "Mining Rack 3",
	client = {
		image = "bd_server.png",
		event = "bd-hacking:client:place-server",
	}
},

['bd_server4'] = {
	label = 'Rack 4',
	weight = 20000,
	stack = false,
	close = false,
	description = "Mining Rack 4",
	client = {
		image = "bd_server.png",
		event = "bd-hacking:client:place-server",
	}
},

['bd_server5'] = {
	label = 'Rack 5',
	weight = 20000,
	stack = false,
	close = false,
	description = "Mining Rack 5",
	client = {
		image = "bd_server.png",
		event = "bd-hacking:client:place-server",
	}
},

['bd_cpu'] = {
	label = 'CPU',
	weight = 2000,
	stack = false,
	close = false,
	description = "CPU for your personal computer at home.",
},

['bd_gpu'] = {
	label = 'GPU',
	weight = 2000,
	stack = false,
	close = false,
	description = "GPU for your personal computer at home.",
},

['bd_ssd'] = {
	label = 'SSD',
	weight = 2000,
	stack = false,
	close = false,
	description = "SSD for your personal computer at home.",
},

['bd_vpn'] = {
	label = 'VPN',
	weight = 2000,
	stack = false,
	close = false,
	description = "VPN for your personal computer at home.",
},

['bd_lq_plank'] = {
	label = 'Low Quality Plank',
	weight = 100,
	stack = false,
	close = false,
	description = "This looks shitty ngl.",
},

['bd_hq_plank'] = {
	label = 'High Quality Plank',
	weight = 200,
	stack = false,
	close = false,
	description = "This ones a little bit better but stil shitty.",
},

['bd_steel_bar'] = {
	label = 'Steel Bar',
	weight = 1000,
	stack = false,
	close = false,
	description = "What if I hit you with this on your back???",
},

['bd_hdd'] = {
        label = 'HDD',
        weight = 2000,
        stack = false,
        close = false,
        description = "HHD for storing large portions of data.",
},
Items for qb-core
bd_desk1 = { name = 'bd_desk1', label = 'Desk 1', weight = 20000, type = 'item', image = 'bd_desk.png', unique = true, useable = true, shouldClose = true, description = 'Computer Desk 1' },

bd_desk2 = { name = 'bd_desk2', label = 'Desk 1', weight = 20000, type = 'item', image = 'bd_desk.png', unique = true, useable = true, shouldClose = true, description = 'Computer Desk 2' },

bd_desk3 = { name = 'bd_desk3', label = 'Desk 1', weight = 20000, type = 'item', image = 'bd_desk.png', unique = true, useable = true, shouldClose = true, description = 'Computer Desk 3' },

bd_desk4 = { name = 'bd_desk4', label = 'Desk 1', weight = 20000, type = 'item', image = 'bd_desk.png', unique = true, useable = true, shouldClose = true, description = 'Computer Desk 4' },

bd_server1 = { name = 'bd_server1', label = 'Desk 1', weight = 20000, type = 'item', image = 'bd_server.png', unique = true, useable = true, shouldClose = true, description = 'Mining Rack 1' },

bd_server2 = { name = 'bd_server2', label = 'Desk 1', weight = 20000, type = 'item', image = 'bd_server.png', unique = true, useable = true, shouldClose = true, description = 'Mining Rack 2' },

bd_server3 = { name = 'bd_server3', label = 'Desk 1', weight = 20000, type = 'item', image = 'bd_server.png', unique = true, useable = true, shouldClose = true, description = 'Mining Rack 3' },

bd_server4 = { name = 'bd_server4', label = 'Desk 1', weight = 20000, type = 'item', image = 'bd_server.png', unique = true, useable = true, shouldClose = true, description = 'Mining Rack 4' },

bd_server5 = { name = 'bd_server5', label = 'Desk 1', weight = 20000, type = 'item', image = 'bd_server.png', unique = true, useable = true, shouldClose = true, description = 'Mining Rack 5' },

bd_cpu = { name = 'bd_cpu', label = 'CPU', weight = 2000, type = 'item', image = 'bd_cpu.png', unique = false, useable = false, shouldClose = false, description = 'CPU for your personal computer at home.' },

bd_gpu = { name = 'bd_gpu', label = 'GPU', weight = 2000, type = 'item', image = 'bd_gpu.png', unique = false, useable = false, shouldClose = false, description = 'GPU for your personal computer at home.' },

bd_ssd = { name = 'bd_ssd', label = 'SSD', weight = 2000, type = 'item', image = 'bd_ssd.png', unique = false, useable = false, shouldClose = false, description = 'SSD for your personal computer at home.' },

bd_vpn = { name = 'bd_vpn', label = 'VPN', weight = 2000, type = 'item', image = 'bd_vpn.png', unique = false, useable = false, shouldClose = false, description = 'VPN for your personal computer at home.' },

bd_lq_plank = { name = 'bd_lq_plank', label = 'Low Quality Plank', weight = 500, type = 'item', image = 'bd_lq_plank.png', unique = false, useable = false, shouldClose = false, description = 'This looks shitty ngl.' },

bd_hq_plank = { name = 'bd_hq_plank', label = 'High Quality Plank', weight = 500, type = 'item', image = 'bd_hq_plank.png', unique = false, useable = false, shouldClose = false, description = 'This ones a little bit better but stil shitty.' },

bd_steel_bar = { name = 'bd_steel_bar', label = 'Steel Bar', weight = 500, type = 'item', image = 'bd_steel_bar.png', unique = false, useable = false, shouldClose = false, description = 'What if I hit you with this on your back???' },

bd_hdd = { name = 'bd_hdd', label = 'HDD', weight = 1000, type = 'item', image = 'bd_ssd.png', unique = true, useable = true, shouldClose = true, description = 'HHD for storing large portions of data.' },

Configuration

We do not recommend editing frameworks unnecessarily, since almost all assets depend exclusively on your framework and exports on the name of your framework. Otherwise and if you edited your framework, read these steps carefully.

If you still require more open codes for the configuration, you can check within client/editable and server/editable to adapt the asset to your personal taste.

Please expand each part to see information about the configuration of the asset, this way you will understand the general operation of the asset on the framework and editable files side.

Basic framework configuration

The asset will work automatically if your framework is called es_extended or qb-core, it will automatically detect if any of them are started. In case your framework has been renamed, you can modify it in config.core.lua to edit the name of your framework.

Advanced framework configuration

If your framework is completely modified, both in events and name, you should access client/editable/framework or server/editable/framework to adapt the native events of your framework to the codes you have created. If this step doesn't work, we ask that you ask your framework modifier or trusted developer for help.

More general settings

This asset contains multiple configurations within the config folder. But you can also access more open source and configurations within client/editable or server/editable. We do not recommend using these configurations if you do not have the basics of programming.

Last updated