Installation guide — please follow each step carefully and exactly as described to ensure the script works correctly on your server. Skipping or modifying steps may cause the system to not function properly, so follow it step by step.
This script requires some mandatory dependencies to function correctly. Make sure to download and extract them inside your server’s main directory, keeping their original folder structure intact.
This script includes an essential database required for its operation.You must import it before starting your server, preferably using HeidiSQL or any other manager compatible with MariaDB/MySQL.
ESX
sql
ALTER TABLE `users` ADDCOLUMN IF NOTEXISTS `yacht_inside` VARCHAR(40) NULLDEFAULTNULL;
CREATE TABLE IF NOTEXISTS `qs_yachts` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`yacht_id` INT(11) NOT NULL,
`owner` VARCHAR(60) NOT NULLCOLLATE'utf8mb4_unicode_ci',
`owner_name` VARCHAR(100) NOT NULLCOLLATE'utf8mb4_unicode_ci',
`name` VARCHAR(100) NULLDEFAULT''COLLATE'utf8mb4_unicode_ci',
`modifications` LONGTEXT NOT NULLCOLLATE'utf8mb4_unicode_ci',
`upgrades` LONGTEXT NULLDEFAULTNULLCOLLATE'utf8mb4_unicode_ci',
`locations` LONGTEXT NULLDEFAULTNULLCOLLATE'utf8mb4_unicode_ci',
`created_at` TIMESTAMPNULLDEFAULTcurrent_timestamp(),
`updated_at` TIMESTAMPNULLDEFAULTcurrent_timestamp() ONUPDATEcurrent_timestamp(),
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `yacht_id` (`yacht_id`) USING BTREE,
INDEX `owner` (`owner`) USING BTREE
)
COLLATE='utf8mb4_unicode_ci'
ENGINE=InnoDB
;
CREATE TABLE IF NOTEXISTS `qs_yacht_tebex_transactions` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`transaction_id` VARCHAR(255) NOT NULLCOLLATE'utf8mb4_unicode_ci',
`yacht_id` INT(11) NOT NULL,
`owner` VARCHAR(60) NOT NULLCOLLATE'utf8mb4_unicode_ci',
`created_at` TIMESTAMPNULLDEFAULTcurrent_timestamp(),
PRIMARY KEY (`id`) USING BTREE,
INDEX `transaction_id` (`transaction_id`) USING BTREE,
INDEX `yacht_id` (`yacht_id`) USING BTREE,
INDEX `owner` (`owner`) USING BTREE,
UNIQUE INDEX `unique_transaction_yacht` (`transaction_id`, `yacht_id`) USING BTREE,
FOREIGN KEY (`yacht_id`) REFERENCES `qs_yachts`(`yacht_id`) ONDELETE CASCADE
)
COLLATE='utf8mb4_unicode_ci'
ENGINE=InnoDB
;
CREATE TABLE IF NOTEXISTS `qs_yacht_tebex_spent` (
`transaction_id` VARCHAR(255) NOT NULLCOLLATE'utf8mb4_unicode_ci',
`owner` VARCHAR(60) NOT NULLCOLLATE'utf8mb4_unicode_ci',
`created_at` TIMESTAMPNULLDEFAULTcurrent_timestamp(),
PRIMARY KEY (`transaction_id`) USING BTREE,
INDEX `owner` (`owner`) USING BTREE
)
COLLATE='utf8mb4_unicode_ci'
ENGINE=InnoDB
;
CREATE TABLE IF NOTEXISTS `qs_yacht_player_tebex_saved` (
`identifier` VARCHAR(60) NOT NULLCOLLATE'utf8mb4_unicode_ci',
`transaction_id` VARCHAR(255) NOT NULLCOLLATE'utf8mb4_unicode_ci',
`updated_at` TIMESTAMPNULLDEFAULTcurrent_timestamp() ONUPDATEcurrent_timestamp(),
PRIMARY KEY (`identifier`) USING BTREE
)
COLLATE='utf8mb4_unicode_ci'
ENGINE=InnoDB
;
CREATE TABLE IF NOTEXISTS `qs_yacht_keys` (
`id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`yacht_id` INT(11) NOT NULL,
`identifier` VARCHAR(60) NOT NULL,
`created_at` TIMESTAMPDEFAULTCURRENT_TIMESTAMP,
UNIQUE KEY `unique_yacht_key` (`yacht_id`, `identifier`),
INDEX `yacht_id` (`yacht_id`),
INDEX `identifier` (`identifier`),
FOREIGN KEY (`yacht_id`) REFERENCES `qs_yachts`(`yacht_id`) ONDELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE IF NOTEXISTS `qs_yacht_decorations` (
`id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`creator` VARCHAR(60) NOT NULL,
`yacht_id` INT(11) NOT NULL,
`modelName` VARCHAR(255) NOT NULL,
`coords` LONGTEXT NOT NULL,
`rotation` LONGTEXT NOT NULL,
`inStash` TINYINT(1) DEFAULT0,
`inHouse` TINYINT(1) DEFAULT0,
`created` TIMESTAMPDEFAULTCURRENT_TIMESTAMP,
`uniq` VARCHAR(255) DEFAULTNULL,
`lightData` LONGTEXT DEFAULTNULL,
INDEX `yacht_id` (`yacht_id`),
INDEX `creator` (`creator`),
FOREIGN KEY (`yacht_id`) REFERENCES `qs_yachts`(`yacht_id`) ONDELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
ALTER TABLE `qs_yachts` ADDCOLUMN IF NOTEXISTS `locations` LONGTEXT NULLDEFAULTNULL;
CREATE TABLE IF NOTEXISTS `qs_yacht_vault_codes` (
`id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`yacht_id` INT(11) NOT NULL,
`code` VARCHAR(10) NOT NULL,
`uniq` VARCHAR(255) NOT NULL,
`created_at` TIMESTAMPDEFAULTCURRENT_TIMESTAMP,
UNIQUE KEY `unique_yacht_vault` (`yacht_id`, `uniq`),
INDEX `yacht_id` (`yacht_id`),
FOREIGN KEY (`yacht_id`) REFERENCES `qs_yachts`(`yacht_id`) ONDELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE IF NOTEXISTS `qs_yacht_vault_codes` (
`id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`yacht_id` INT(11) NOT NULL,
`code` VARCHAR(10) NOT NULL,
`uniq` VARCHAR(255) NOT NULL,
`created_at` TIMESTAMPDEFAULTCURRENT_TIMESTAMP,
UNIQUE KEY `unique_yacht_vault` (`yacht_id`, `uniq`),
INDEX `yacht_id` (`yacht_id`),
FOREIGN KEY (`yacht_id`) REFERENCES `qs_yachts`(`yacht_id`) ONDELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
INSERT INTO
`datastore` (name, label, shared)
VALUES
('yacht', 'Yacht', 0);
QB
sql
ALTER TABLE `players` ADDCOLUMN IF NOTEXISTS `yacht_inside` VARCHAR(40) NULLDEFAULTNULL;
CREATE TABLE IF NOTEXISTS `qs_yachts` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`yacht_id` INT(11) NOT NULL,
`owner` VARCHAR(60) NOT NULLCOLLATE'utf8mb4_unicode_ci',
`owner_name` VARCHAR(100) NOT NULLCOLLATE'utf8mb4_unicode_ci',
`name` VARCHAR(100) NULLDEFAULT''COLLATE'utf8mb4_unicode_ci',
`modifications` LONGTEXT NOT NULLCOLLATE'utf8mb4_unicode_ci',
`upgrades` LONGTEXT NULLDEFAULTNULLCOLLATE'utf8mb4_unicode_ci',
`created_at` TIMESTAMPNULLDEFAULTcurrent_timestamp(),
`updated_at` TIMESTAMPNULLDEFAULTcurrent_timestamp() ONUPDATEcurrent_timestamp(),
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `yacht_id` (`yacht_id`) USING BTREE,
INDEX `owner` (`owner`) USING BTREE
)
COLLATE='utf8mb4_unicode_ci'
ENGINE=InnoDB
;
CREATE TABLE IF NOTEXISTS `qs_yacht_tebex_transactions` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`transaction_id` VARCHAR(255) NOT NULLCOLLATE'utf8mb4_unicode_ci',
`yacht_id` INT(11) NOT NULL,
`owner` VARCHAR(60) NOT NULLCOLLATE'utf8mb4_unicode_ci',
`created_at` TIMESTAMPNULLDEFAULTcurrent_timestamp(),
PRIMARY KEY (`id`) USING BTREE,
INDEX `transaction_id` (`transaction_id`) USING BTREE,
INDEX `yacht_id` (`yacht_id`) USING BTREE,
INDEX `owner` (`owner`) USING BTREE,
UNIQUE INDEX `unique_transaction_yacht` (`transaction_id`, `yacht_id`) USING BTREE,
FOREIGN KEY (`yacht_id`) REFERENCES `qs_yachts`(`yacht_id`) ONDELETE CASCADE
)
COLLATE='utf8mb4_unicode_ci'
ENGINE=InnoDB
;
CREATE TABLE IF NOTEXISTS `qs_yacht_tebex_spent` (
`transaction_id` VARCHAR(255) NOT NULLCOLLATE'utf8mb4_unicode_ci',
`owner` VARCHAR(60) NOT NULLCOLLATE'utf8mb4_unicode_ci',
`created_at` TIMESTAMPNULLDEFAULTcurrent_timestamp(),
PRIMARY KEY (`transaction_id`) USING BTREE,
INDEX `owner` (`owner`) USING BTREE
)
COLLATE='utf8mb4_unicode_ci'
ENGINE=InnoDB
;
CREATE TABLE IF NOTEXISTS `qs_yacht_player_tebex_saved` (
`identifier` VARCHAR(60) NOT NULLCOLLATE'utf8mb4_unicode_ci',
`transaction_id` VARCHAR(255) NOT NULLCOLLATE'utf8mb4_unicode_ci',
`updated_at` TIMESTAMPNULLDEFAULTcurrent_timestamp() ONUPDATEcurrent_timestamp(),
PRIMARY KEY (`identifier`) USING BTREE
)
COLLATE='utf8mb4_unicode_ci'
ENGINE=InnoDB
;
CREATE TABLE IF NOTEXISTS `qs_yacht_keys` (
`id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`yacht_id` INT(11) NOT NULL,
`identifier` VARCHAR(60) NOT NULL,
`created_at` TIMESTAMPDEFAULTCURRENT_TIMESTAMP,
UNIQUE KEY `unique_yacht_key` (`yacht_id`, `identifier`),
INDEX `yacht_id` (`yacht_id`),
INDEX `identifier` (`identifier`),
FOREIGN KEY (`yacht_id`) REFERENCES `qs_yachts`(`yacht_id`) ONDELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE IF NOTEXISTS `qs_yacht_decorations` (
`id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`creator` VARCHAR(60) NOT NULL,
`yacht_id` INT(11) NOT NULL,
`modelName` VARCHAR(255) NOT NULL,
`coords` LONGTEXT NOT NULL,
`rotation` LONGTEXT NOT NULL,
`inStash` TINYINT(1) DEFAULT0,
`inHouse` TINYINT(1) DEFAULT0,
`created` TIMESTAMPDEFAULTCURRENT_TIMESTAMP,
`uniq` VARCHAR(255) DEFAULTNULL,
`lightData` LONGTEXT DEFAULTNULL,
INDEX `yacht_id` (`yacht_id`),
INDEX `creator` (`creator`),
FOREIGN KEY (`yacht_id`) REFERENCES `qs_yachts`(`yacht_id`) ONDELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
ALTER TABLE `qs_yachts` ADDCOLUMN IF NOTEXISTS `locations` LONGTEXT NULLDEFAULTNULL;
CREATE TABLE IF NOTEXISTS `qs_yacht_vault_codes` (
`id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`yacht_id` INT(11) NOT NULL,
`code` VARCHAR(10) NOT NULL,
`uniq` VARCHAR(255) NOT NULL,
`created_at` TIMESTAMPDEFAULTCURRENT_TIMESTAMP,
UNIQUE KEY `unique_yacht_vault` (`yacht_id`, `uniq`),
INDEX `yacht_id` (`yacht_id`),
FOREIGN KEY (`yacht_id`) REFERENCES `qs_yachts`(`yacht_id`) ONDELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;