Installation

Welcome to the Quasar Smartphone PRO 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.

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.

If you have more problems regarding Fivem Escrow, accounts or asset startup errors you can go here and see if any of them match your case, since Escrow requires some basic things for its operation, such as your keymaster account, your licensekey , etc.

pageFiveM Asset Escrow System

Asset dependencies

READ CAREFULLY: We strongly recommend NOT USING phpmyadmin. Use Heidisql and the most stable version of MariaDB.

To use this asset you must have gamebuild version 2545 or higher. If you do not complete this step, you will never be able to open or start the phone.

How to update the game build to version 2545?

This is a very simple step, we will directly access the artifacts for Windows or Linux, depending on our type of server. We will download it and replace it with the artifacts from our server.

Once this step was done, they added sv_enforceGameBuild 2545 in your server.cfg, make sure you don't have another convar with the same name or another version.

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.

This system will adapt automatically if you want to use mx-surround!


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. We recommend starting both dependencies and the same smartphone asset in the same [smartphone] folder. Otherwise we will have to start the dependencies first and then the qs-smartphone-pro.

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

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

-- Run qs-advancedgarages here along with its dependencies
ensure [smartphone] 

Database

Our Smartphone PRO system includes multiple databases, which will require you to wipe your current databases on other phones.

Before running the Smartphone PRO we will have to update and install our database, select the option that suits your framework since each one is different.

Database for esx

This database is exclusive for esx, if you do not use said framework, look for the next part of this document. This event will remove your current data and install the new ones completely.

ALTER TABLE
    `users`
ADD
    IF NOT EXISTS `cryptocurrency` LONGTEXT NOT NULL DEFAULT '',
ADD
    IF NOT EXISTS `crypto_wallet` INT(11) NULL DEFAULT '0',
ADD
    IF NOT EXISTS `phone_number` VARCHAR(25) NULL;

DROP TABLE IF EXISTS `crypto_transactions`;

CREATE TABLE `crypto_transactions` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `citizenid` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `title` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `message` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `date` TIMESTAMP NULL DEFAULT current_timestamp(),
    PRIMARY KEY (`id`) USING BTREE,
    INDEX `citizenid` (`citizenid`) USING BTREE
) COLLATE = 'utf8mb4_general_ci' ENGINE = InnoDB AUTO_INCREMENT = 1;

DROP TABLE IF EXISTS `darkchat_messages`;

CREATE TABLE `darkchat_messages` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `owner` varchar(46) DEFAULT NULL,
    `name` varchar(50) DEFAULT '',
    `messages` text DEFAULT NULL,
    `password` varchar(50) DEFAULT NULL,
    PRIMARY KEY (`id`) USING BTREE,
    KEY `id` (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 13 DEFAULT CHARSET = utf8mb4;

DROP TABLE IF EXISTS `instagram_accounts`;

CREATE TABLE `instagram_accounts` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `phone` varchar(50) NOT NULL DEFAULT '0',
    `owner` varchar(120) DEFAULT NULL,
    `name` varchar(50) DEFAULT NULL,
    `username` varchar(50) DEFAULT '0',
    `password` varchar(50) NOT NULL DEFAULT '0',
    `avatar` text DEFAULT NULL,
    `bio` text DEFAULT NULL,
    `verified` int(11) DEFAULT NULL,
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE KEY `username` (`username`) USING BTREE,
    KEY `phone` (`phone`) USING BTREE,
    KEY `id` (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;

DROP TABLE IF EXISTS `instagram_follow`;

CREATE TABLE `instagram_follow` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `follower` int(11) NOT NULL DEFAULT 0,
    `following` int(11) NOT NULL DEFAULT 0,
    `updatedDate` timestamp NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
    PRIMARY KEY (`id`)
) ENGINE = InnoDB AUTO_INCREMENT = 104 DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;

DROP TABLE IF EXISTS `instagram_messages`;

CREATE TABLE `instagram_messages` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `sender` INT(11) NOT NULL DEFAULT '0',
    `receiver` INT(11) NOT NULL DEFAULT '0',
    `time` TIMESTAMP NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
    `messages` LONGTEXT NOT NULL COLLATE 'utf8mb4_unicode_ci',
    PRIMARY KEY (`id`) USING BTREE
) COLLATE = 'utf8mb4_unicode_ci' ENGINE = InnoDB AUTO_INCREMENT = 1;

DROP TABLE IF EXISTS `instagram_notifications`;

CREATE TABLE `instagram_notifications` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `userId` int(11) NOT NULL DEFAULT 0,
    `targetId` int(11) NOT NULL DEFAULT 0,
    `type` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '0',
    `time` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
    `content` text COLLATE utf8mb4_unicode_ci DEFAULT NULL,
    PRIMARY KEY (`id`)
) ENGINE = InnoDB AUTO_INCREMENT = 116 DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;

DROP TABLE IF EXISTS `instagram_posts`;

CREATE TABLE `instagram_posts` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `time` timestamp NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
    `userId` int(11) DEFAULT NULL,
    `data` longtext DEFAULT NULL,
    `content` text DEFAULT NULL,
    `description` text DEFAULT NULL,
    `type` tinytext DEFAULT NULL,
    `likes` text DEFAULT NULL,
    `filter` tinytext DEFAULT NULL,
    `commentCount` int(11) DEFAULT 0,
    PRIMARY KEY (`id`)
) ENGINE = InnoDB AUTO_INCREMENT = 525 DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;

CREATE TABLE IF NOT EXISTS `instagram_post_comments` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `userId` int(11) DEFAULT NULL,
    `postId` int(11) DEFAULT NULL,
    `comment` text DEFAULT NULL,
    `time` timestamp NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
    PRIMARY KEY (`id`),
    KEY `postId` (`postId`)
) ENGINE = InnoDB AUTO_INCREMENT = 4405 DEFAULT CHARSET = latin1 COLLATE = latin1_swedish_ci;

DROP TRIGGER IF EXISTS `instagram_decrement_comment_count`;

SET @OLDTMP_SQL_MODE=@@SQL_MODE, SQL_MODE='STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
DELIMITER //
CREATE TRIGGER `instagram_decrement_comment_count` AFTER DELETE ON `instagram_post_comments` FOR EACH ROW BEGIN
    UPDATE instagram_posts SET commentCount = commentCount + 1 WHERE id = OLD.postId;
END//
DELIMITER ;
SET SQL_MODE=@OLDTMP_SQL_MODE;

DROP TRIGGER IF EXISTS `instagram_increment_comment_count`;

SET @OLDTMP_SQL_MODE=@@SQL_MODE, SQL_MODE='STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
DELIMITER //
CREATE TRIGGER `instagram_increment_comment_count` AFTER INSERT ON `instagram_post_comments` FOR EACH ROW BEGIN
    UPDATE instagram_posts SET commentCount = commentCount + 1 WHERE id = NEW.postId;
END//
DELIMITER ;
SET SQL_MODE=@OLDTMP_SQL_MODE;

DROP TABLE IF EXISTS `instagram_stories`;

CREATE TABLE `instagram_stories` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `userId` int(11) NOT NULL DEFAULT 0,
    `updatedDate` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
    `data` text COLLATE armscii8_bin NOT NULL,
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 14 DEFAULT CHARSET = armscii8 COLLATE = armscii8_bin;

DROP TABLE IF EXISTS `mail_accounts`;

CREATE TABLE `mail_accounts` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `owner` VARCHAR(50) NULL DEFAULT '0' COLLATE 'utf8mb4_unicode_ci',
    `mail` VARCHAR(50) NULL DEFAULT '0' COLLATE 'utf8mb4_unicode_ci',
    `name` VARCHAR(50) NULL DEFAULT '0' COLLATE 'utf8mb4_unicode_ci',
    `password` VARCHAR(50) NULL DEFAULT '' COLLATE 'utf8mb4_unicode_ci',
    `phone` VARCHAR(50) NULL DEFAULT '0' COLLATE 'utf8mb4_unicode_ci',
    PRIMARY KEY (`id`) USING BTREE
) COLLATE = 'utf8mb4_unicode_ci' ENGINE = InnoDB AUTO_INCREMENT = 14;

DROP TABLE IF EXISTS `phone_gallery`;

CREATE TABLE `phone_gallery` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `identifier` VARCHAR(46) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `content` TEXT NOT NULL COLLATE 'utf8mb4_general_ci',
    `type` VARCHAR(15) NOT NULL DEFAULT '' COLLATE 'utf8mb4_general_ci',
    `data` LONGTEXT NOT NULL DEFAULT '' COLLATE 'utf8mb4_general_ci',
    `created_at` TIMESTAMP NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
    `filter` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX `type` (`type`) USING BTREE,
    INDEX `identifier` (`identifier`) USING BTREE
) COLLATE = 'utf8mb4_general_ci' ENGINE = InnoDB AUTO_INCREMENT = 1;

DROP TABLE IF EXISTS `phone_messages`;

CREATE TABLE `phone_messages` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `phone` VARCHAR(50) NOT NULL DEFAULT '' COLLATE 'utf8mb4_general_ci',
    `number` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `messages` LONGTEXT NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `created` TIMESTAMP NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
    `unreaded` INT(11) NULL DEFAULT NULL,
    PRIMARY KEY (`id`) USING BTREE
) COLLATE = 'utf8mb4_general_ci' ENGINE = InnoDB AUTO_INCREMENT = 150;

DROP TABLE IF EXISTS `phone_notifies`;

CREATE TABLE `phone_notifies` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `phone` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `msg_content` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `msg_head` VARCHAR(50) NOT NULL DEFAULT '' COLLATE 'utf8mb4_general_ci',
    `app_name` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `msg_time` TIMESTAMP NULL DEFAULT current_timestamp(),
    PRIMARY KEY (`id`) USING BTREE
) COLLATE = 'utf8mb4_general_ci' ENGINE = InnoDB AUTO_INCREMENT = 1;

DROP TABLE IF EXISTS `phone_recipes`;

CREATE TABLE `phone_recipes` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `number` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
    `data` text COLLATE utf8mb4_unicode_ci NOT NULL,
    PRIMARY KEY (`id`)
) ENGINE = InnoDB AUTO_INCREMENT = 5 DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;

DROP TABLE IF EXISTS `player_contacts`;

CREATE TABLE `player_contacts` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `identifier` VARCHAR(46) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `name` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `number` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `iban` VARCHAR(50) NOT NULL DEFAULT '0' COLLATE 'utf8mb4_general_ci',
    `display` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `note` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `pp` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `isBlocked` INT(11) NULL DEFAULT NULL,
    PRIMARY KEY (`id`) USING BTREE,
    INDEX `identifier` (`identifier`) USING BTREE
) COLLATE = 'utf8mb4_general_ci' ENGINE = InnoDB AUTO_INCREMENT = 67;

DROP TABLE IF EXISTS `player_mails`;

CREATE TABLE `player_mails` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `taker` VARCHAR(46) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `sender` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `subject` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `message` LONGTEXT NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `read` TINYINT(4) NULL DEFAULT '0',
    `mailid` INT(11) NULL DEFAULT NULL,
    `date` TIMESTAMP NULL DEFAULT current_timestamp(),
    `button` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `medias` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX `identifier` (`taker`) USING BTREE
) COLLATE = 'utf8mb4_general_ci' ENGINE = InnoDB AUTO_INCREMENT = 1;

DROP TABLE IF EXISTS `tiktok_users`;

CREATE TABLE `tiktok_users` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `owner` VARCHAR(50) NOT NULL DEFAULT '' COLLATE 'utf8mb4_general_ci',
    `username` VARCHAR(50) NOT NULL DEFAULT '0' COLLATE 'utf8mb4_general_ci',
    `password` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `phone` VARCHAR(50) NOT NULL DEFAULT '0' COLLATE 'utf8mb4_general_ci',
    `pp` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `name` VARCHAR(50) NOT NULL DEFAULT '0' COLLATE 'utf8mb4_general_ci',
    `bio` TEXT NOT NULL DEFAULT '' COLLATE 'utf8mb4_general_ci',
    `birthday` VARCHAR(50) NOT NULL DEFAULT '0' COLLATE 'utf8mb4_general_ci',
    `videos` TEXT NOT NULL DEFAULT '{}' COLLATE 'utf8mb4_general_ci',
    `followers` TEXT NOT NULL COLLATE 'utf8mb4_general_ci',
    `following` TEXT NOT NULL COLLATE 'utf8mb4_general_ci',
    `liked` TEXT NOT NULL COLLATE 'utf8mb4_general_ci',
    `verified` INT(11) NULL DEFAULT NULL,
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `username` (`username`) USING BTREE,
    INDEX `id` (`id`) USING BTREE
) COLLATE = 'utf8mb4_general_ci' ENGINE = InnoDB AUTO_INCREMENT = 1;

DROP TABLE IF EXISTS `tiktok_videos`;

CREATE TABLE `tiktok_videos` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `userID` int(11) DEFAULT NULL,
    `created` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
    `data` text COLLATE utf8mb4_unicode_ci DEFAULT NULL,
    PRIMARY KEY (`id`)
) ENGINE = InnoDB AUTO_INCREMENT = 8 DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;

DROP TABLE IF EXISTS `market_accounts`;

CREATE TABLE `market_accounts` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `owner` VARCHAR(50) NOT NULL DEFAULT '' COLLATE 'utf8mb4_unicode_ci',
    `created` TIMESTAMP NOT NULL DEFAULT current_timestamp(),
    `phone` VARCHAR(50) NOT NULL COLLATE 'utf8mb4_unicode_ci',
    `name` VARCHAR(50) NOT NULL COLLATE 'utf8mb4_unicode_ci',
    `username` VARCHAR(50) NOT NULL COLLATE 'utf8mb4_unicode_ci',
    `avatar` TEXT NOT NULL COLLATE 'utf8mb4_unicode_ci',
    `password` VARCHAR(50) NOT NULL DEFAULT '' COLLATE 'utf8mb4_unicode_ci',
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `username` (`username`) USING BTREE
) COLLATE = 'utf8mb4_unicode_ci' ENGINE = InnoDB AUTO_INCREMENT = 3;

DROP TABLE IF EXISTS `market_messages`;

CREATE TABLE `market_messages` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `sender` INT(11) NOT NULL,
    `receiver` INT(11) NOT NULL,
    `time` TIMESTAMP NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
    `messages` TEXT NOT NULL COLLATE 'utf8mb4_unicode_ci',
    `isMarket` INT(11) NULL DEFAULT NULL,
    PRIMARY KEY (`id`) USING BTREE
) COLLATE = 'utf8mb4_unicode_ci' ENGINE = InnoDB AUTO_INCREMENT = 3;

DROP TABLE IF EXISTS `market_markets`;

CREATE TABLE `market_markets` (
    `id` INT(11) NOT NULL,
    `name` VARCHAR(50) NOT NULL DEFAULT '' COLLATE 'utf8mb4_unicode_ci',
    `description` TEXT NOT NULL COLLATE 'utf8mb4_unicode_ci',
    `job` TEXT NOT NULL DEFAULT '[]' COLLATE 'utf8mb4_unicode_ci',
    `ratings` TEXT NOT NULL DEFAULT '[]' COLLATE 'utf8mb4_unicode_ci',
    `coords` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_unicode_ci',
    PRIMARY KEY (`id`) USING BTREE
) COLLATE = 'utf8mb4_unicode_ci' ENGINE = InnoDB;

DROP TABLE IF EXISTS `twitter_accounts`;

CREATE TABLE `twitter_accounts` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `owner` VARCHAR(46) NOT NULL DEFAULT '0' COLLATE 'utf8mb4_unicode_ci',
    `created` TIMESTAMP NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
    `phone` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_unicode_ci',
    `name` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_unicode_ci',
    `username` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_unicode_ci',
    `password` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_unicode_ci',
    `avatar` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_unicode_ci',
    `bio` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_unicode_ci',
    `verified` INT(11) NULL DEFAULT NULL,
    `background` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_unicode_ci',
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `username` (`username`) USING BTREE
) COLLATE = 'utf8mb4_unicode_ci' ENGINE = InnoDB AUTO_INCREMENT = 4;

DROP TABLE IF EXISTS `twitter_follow`;

CREATE TABLE `twitter_follow` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `follower` INT(11) NULL DEFAULT NULL,
    `following` INT(11) NULL DEFAULT NULL,
    `updatedDate` TIMESTAMP NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
    PRIMARY KEY (`id`) USING BTREE
) COLLATE = 'utf8mb4_unicode_ci' ENGINE = InnoDB AUTO_INCREMENT = 14;

DROP TABLE IF EXISTS `twitter_messages`;

CREATE TABLE `twitter_messages` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `sender` INT(11) NOT NULL,
    `receiver` INT(11) NOT NULL,
    `time` TIMESTAMP NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
    `messages` TEXT NOT NULL COLLATE 'utf8mb4_unicode_ci',
    PRIMARY KEY (`id`) USING BTREE
) COLLATE = 'utf8mb4_unicode_ci' ENGINE = InnoDB AUTO_INCREMENT = 2;

DROP TABLE IF EXISTS `twitter_notifications`;

CREATE TABLE `twitter_notifications` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `userId` INT(11) NOT NULL DEFAULT '0',
    `targetUserId` INT(11) NOT NULL DEFAULT '0',
    `type` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_unicode_ci',
    `tweetId` INT(11) NULL DEFAULT NULL,
    `time` TIMESTAMP NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
    PRIMARY KEY (`id`) USING BTREE
) COLLATE = 'utf8mb4_unicode_ci' ENGINE = InnoDB AUTO_INCREMENT = 28;

DROP TABLE IF EXISTS `twitter_retweets`;

CREATE TABLE `twitter_retweets` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `userId` INT(11) NOT NULL DEFAULT '0',
    `tweetId` INT(11) NOT NULL DEFAULT '0',
    `created` TIMESTAMP NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
    PRIMARY KEY (`id`) USING BTREE
) COLLATE = 'utf8mb4_unicode_ci' ENGINE = InnoDB AUTO_INCREMENT = 8;

DROP TABLE IF EXISTS `twitter_tweets`;

CREATE TABLE `twitter_tweets` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `userId` INT(11) NOT NULL,
    `time` TIMESTAMP NOT NULL DEFAULT current_timestamp(),
    `text` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_unicode_ci',
    `media` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_unicode_ci',
    `likes` TEXT NULL DEFAULT '[]' COLLATE 'utf8mb4_unicode_ci',
    `mentions` TEXT NULL DEFAULT '[]' COLLATE 'utf8mb4_unicode_ci',
    `comments` TEXT NULL DEFAULT '[]' COLLATE 'utf8mb4_unicode_ci',
    `retweets` TEXT NULL DEFAULT '[]' COLLATE 'utf8mb4_unicode_ci',
    PRIMARY KEY (`id`) USING BTREE
) COLLATE = 'utf8mb4_unicode_ci' ENGINE = InnoDB AUTO_INCREMENT = 19;

DROP TABLE IF EXISTS `phone_metadata`;

CREATE TABLE `phone_metadata` (
    `identifier` VARCHAR(90) NOT NULL DEFAULT '' COLLATE 'utf8mb4_unicode_ci',
    `metadata` LONGTEXT NULL DEFAULT NULL COLLATE 'utf8mb4_unicode_ci',
    `phoneNumber` VARCHAR(50) NULL DEFAULT '' COLLATE 'utf8mb4_unicode_ci',
    PRIMARY KEY (`identifier`) USING BTREE
) COLLATE = 'utf8mb4_unicode_ci' ENGINE = InnoDB;

DROP TABLE IF EXISTS `phone_yellowpages`;

CREATE TABLE `phone_yellowpages` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `owner` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `title` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `description` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `image` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `price` INT(11) NULL DEFAULT '0',
    `created` TIMESTAMP NULL DEFAULT current_timestamp(),
    PRIMARY KEY (`id`) USING BTREE
) COLLATE = 'utf8mb4_general_ci' ENGINE = InnoDB AUTO_INCREMENT = 4;

DROP TABLE IF EXISTS `phone_bills`;

CREATE TABLE `phone_bills` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `price` INT(11) NOT NULL DEFAULT '0',
    `identifier` VARCHAR(46) NOT NULL DEFAULT '' COLLATE 'utf8mb4_general_ci',
    `timestamp` TIMESTAMP NULL DEFAULT current_timestamp(),
    `sender` VARCHAR(50) NOT NULL DEFAULT '' COLLATE 'utf8mb4_general_ci',
    `label` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX `id` (`id`) USING BTREE,
    INDEX `identifier` (`identifier`) USING BTREE
) COLLATE = 'utf8mb4_general_ci' ENGINE = InnoDB AUTO_INCREMENT = 1;

DROP TABLE IF EXISTS `whatsapp_accounts`;

CREATE TABLE `whatsapp_accounts` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `phone` VARCHAR(50) NOT NULL DEFAULT '0' COLLATE 'utf8mb4_general_ci',
    `name` VARCHAR(50) NOT NULL DEFAULT '0' COLLATE 'utf8mb4_general_ci',
    `avatar` TEXT NOT NULL DEFAULT '' COLLATE 'utf8mb4_general_ci',
    `bio` VARCHAR(50) NOT NULL DEFAULT '' COLLATE 'utf8mb4_general_ci',
    `group_creator` INT(11) NULL DEFAULT NULL,
    `created` TIMESTAMP NULL DEFAULT current_timestamp(),
    `hide_receipts` INT(11) NULL DEFAULT '0',
    PRIMARY KEY (`id`) USING BTREE
) COLLATE = 'utf8mb4_general_ci' ENGINE = InnoDB AUTO_INCREMENT = 1;

DROP TABLE IF EXISTS `whatsapp_call_history`;

CREATE TABLE `whatsapp_call_history` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `caller` INT(11) NOT NULL DEFAULT '0',
    `calledId` INT(11) NULL DEFAULT NULL,
    `time` TIMESTAMP NULL DEFAULT current_timestamp(),
    PRIMARY KEY (`id`) USING BTREE
) COLLATE = 'utf8mb4_general_ci' ENGINE = InnoDB AUTO_INCREMENT = 1;

DROP TABLE IF EXISTS `whatsapp_call_history_users`;

CREATE TABLE `whatsapp_call_history_users` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `userId` INT(11) NOT NULL DEFAULT '0',
    `callId` INT(11) NOT NULL DEFAULT '0',
    PRIMARY KEY (`id`) USING BTREE
) COLLATE = 'utf8mb4_general_ci' ENGINE = InnoDB AUTO_INCREMENT = 1;

DROP TABLE IF EXISTS `whatsapp_chats`;

CREATE TABLE `whatsapp_chats` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `sender` INT(11) NOT NULL DEFAULT '0',
    `receiver` INT(11) NOT NULL DEFAULT '0',
    `wallpaper` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `isGroup` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `time` TIMESTAMP NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
    `messages` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    PRIMARY KEY (`id`) USING BTREE
) COLLATE = 'utf8mb4_general_ci' ENGINE = InnoDB AUTO_INCREMENT = 21;

DROP TABLE IF EXISTS `whatsapp_group_admins`;

CREATE TABLE `whatsapp_group_admins` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `userId` INT(11) NOT NULL DEFAULT '0',
    `groupId` INT(11) NOT NULL DEFAULT '0',
    PRIMARY KEY (`id`) USING BTREE
) COLLATE = 'utf8mb4_general_ci' ENGINE = InnoDB AUTO_INCREMENT = 11;

DROP TABLE IF EXISTS `whatsapp_group_members`;

CREATE TABLE `whatsapp_group_members` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `userId` INT(11) NOT NULL DEFAULT '0',
    `groupId` INT(11) NOT NULL DEFAULT '0',
    PRIMARY KEY (`id`) USING BTREE
) COLLATE = 'utf8mb4_general_ci' ENGINE = InnoDB AUTO_INCREMENT = 28;

DROP TABLE IF EXISTS `whatsapp_status`;

CREATE TABLE `whatsapp_status` (
    `userId` INT(11) NOT NULL DEFAULT '0',
    `data` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    PRIMARY KEY (`userId`) USING BTREE
) COLLATE = 'utf8mb4_general_ci' ENGINE = InnoDB;

DROP TABLE IF EXISTS `phone_app_store`;

CREATE TABLE `phone_app_store` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `application` VARCHAR(50) NULL DEFAULT '0' COLLATE 'utf8mb4_general_ci',
    `ratings` TEXT NULL DEFAULT '[]' COLLATE 'utf8mb4_general_ci',
    `downloads` INT(11) NULL DEFAULT '0',
    PRIMARY KEY (`id`) USING BTREE
) COLLATE = 'utf8mb4_general_ci' ENGINE = InnoDB;

DROP TABLE IF EXISTS `weazel`;

CREATE TABLE `weazel` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `owner` VARCHAR(46) NULL DEFAULT NULL COLLATE 'utf8mb4_unicode_ci',
    `title` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_unicode_ci',
    `content` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_unicode_ci',
    `image` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_unicode_ci',
    `created` VARCHAR(50) NULL DEFAULT '' COLLATE 'utf8mb4_unicode_ci',
    PRIMARY KEY (`id`) USING BTREE
) COLLATE = 'utf8mb4_unicode_ci' ENGINE = InnoDB AUTO_INCREMENT = 2;

DROP TABLE IF EXISTS `tinder_accounts`;

CREATE TABLE `tinder_accounts` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `phone` VARCHAR(50) NOT NULL DEFAULT '0' COLLATE 'utf8mb4_general_ci',
    `name` VARCHAR(50) NOT NULL DEFAULT '0' COLLATE 'utf8mb4_general_ci',
    `owner` VARCHAR(70) NOT NULL DEFAULT '0' COLLATE 'utf8mb4_general_ci',
    `photos` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `dob` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `bio` VARCHAR(100) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `password` VARCHAR(100) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `gender` VARCHAR(10) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `interested` VARCHAR(10) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    PRIMARY KEY (`id`) USING BTREE
) COLLATE = 'utf8mb4_general_ci' ENGINE = InnoDB AUTO_INCREMENT = 7;

DROP TABLE IF EXISTS `tinder_messages`;

CREATE TABLE `tinder_messages` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `unread` INT(11) NOT NULL DEFAULT '0',
    `sender` INT(11) NOT NULL DEFAULT '0',
    `receiver` INT(11) NOT NULL DEFAULT '0',
    `time` TIMESTAMP NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
    `messages` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    PRIMARY KEY (`id`) USING BTREE
) COLLATE = 'utf8mb4_general_ci' ENGINE = InnoDB AUTO_INCREMENT = 5;

DROP TABLE IF EXISTS `tinder_swipers`;

CREATE TABLE `tinder_swipers` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `userId` INT(11) NOT NULL DEFAULT '0',
    `targetId` INT(11) NOT NULL DEFAULT '0',
    `liked` INT(11) NOT NULL DEFAULT '0',
    PRIMARY KEY (`id`) USING BTREE
) COLLATE = 'utf8mb4_general_ci' ENGINE = InnoDB AUTO_INCREMENT = 21;

DROP TABLE IF EXISTS `uber_rider_last_transactions`;

CREATE TABLE `uber_rider_last_transactions` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `owner` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `date` TIMESTAMP NOT NULL DEFAULT current_timestamp(),
    `target` VARCHAR(80) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `targetName` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `plate` VARCHAR(80) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `price` INT(11) NULL DEFAULT NULL,
    `type` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    PRIMARY KEY (`id`) USING BTREE
) COLLATE = 'utf8mb4_general_ci' ENGINE = InnoDB AUTO_INCREMENT = 6;

DROP TABLE IF EXISTS `phone_chatrooms`;

CREATE TABLE `phone_chatrooms` (
    `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
    `room_code` VARCHAR(10) NOT NULL COLLATE 'utf8mb4_general_ci',
    `room_name` VARCHAR(15) NOT NULL COLLATE 'utf8mb4_general_ci',
    `room_owner_id` INT(11) NULL DEFAULT NULL,
    `room_owner_name` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `room_members` TEXT NULL DEFAULT '{}' COLLATE 'utf8mb4_general_ci',
    `room_pin` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `unpaid_balance` DECIMAL(10, 2) NULL DEFAULT '0.00',
    `is_masked` TINYINT(1) NULL DEFAULT '0',
    `is_pinned` TINYINT(1) NULL DEFAULT '0',
    `created` DATETIME NULL DEFAULT current_timestamp(),
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `room_code` (`room_code`) USING BTREE
) COLLATE = 'utf8mb4_general_ci' ENGINE = InnoDB AUTO_INCREMENT = 1;

INSERT INTO
    `phone_chatrooms` (
        `room_code`,
        `room_name`,
        `room_owner_id`,
        `room_owner_name`,
        `is_pinned`
    )
VALUES
    ('411', '411', -1, 'Government', 1),
    (
        'lounge',
        'The Lounge',
        -1,
        'Government',
        1
    ),
    ('events', 'Events', -1, 'Government', 1);

DROP TABLE IF EXISTS `phone_chatroom_messages`;

CREATE TABLE `phone_chatroom_messages` (
    `id` INT unsigned NOT NULL AUTO_INCREMENT,
    `room_id` INT unsigned,
    `member_id` VARCHAR(20),
    `member_name` VARCHAR(50),
    `message` TEXT NOT NULL,
    `is_pinned` BOOLEAN DEFAULT FALSE,
    `created` DATETIME DEFAULT NOW(),
    PRIMARY KEY (`id`)
);

DROP TABLE IF EXISTS `discord_accounts`;

CREATE TABLE `discord_accounts` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `owner` VARCHAR(80) NOT NULL DEFAULT '0' COLLATE 'utf8mb4_general_ci',
    `phone` VARCHAR(50) NOT NULL DEFAULT '0' COLLATE 'utf8mb4_general_ci',
    `name` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `username` VARCHAR(50) NOT NULL DEFAULT '0' COLLATE 'utf8mb4_general_ci',
    `password` VARCHAR(50) NOT NULL DEFAULT '0' COLLATE 'utf8mb4_general_ci',
    PRIMARY KEY (`id`) USING BTREE
) COLLATE = 'utf8mb4_general_ci' ENGINE = InnoDB AUTO_INCREMENT = 3;

DROP TABLE IF EXISTS `facetime_call_history`;

CREATE TABLE `facetime_call_history` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `caller` VARCHAR(50) NOT NULL DEFAULT '0' COLLATE 'utf8mb4_general_ci',
    `calledId` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `time` TIMESTAMP NULL DEFAULT current_timestamp(),
    PRIMARY KEY (`id`) USING BTREE
) COLLATE = 'utf8mb4_general_ci' ENGINE = InnoDB;

DROP TABLE IF EXISTS `phone_favorite_contacts`;

CREATE TABLE `phone_favorite_contacts` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `identifier` VARCHAR(50) NOT NULL DEFAULT '0' COLLATE 'utf8mb4_general_ci',
    `phone` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    PRIMARY KEY (`id`) USING BTREE
) COLLATE = 'utf8mb4_general_ci' ENGINE = InnoDB;

DROP TABLE IF EXISTS `crypto`;

CREATE TABLE `crypto` (
    `crypto` varchar(50) NOT NULL DEFAULT 'btc',
    `worth` int(11) NOT NULL DEFAULT 0,
    `history` text DEFAULT NULL,
    PRIMARY KEY (`crypto`)
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;

INSERT INTO
    `crypto`
VALUES
    (
        'btc',
        1000,
        '[{"NewWorth":1000,"PreviousWorth":1000}]'
    );

DROP TABLE IF EXISTS `crypto_history`;

CREATE TABLE `crypto_history` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `worth` INT(11) NOT NULL DEFAULT '0',
    `name` VARCHAR(50) NOT NULL DEFAULT '0' COLLATE 'utf8mb4_general_ci',
    `date` TIMESTAMP NOT NULL DEFAULT current_timestamp(),
    PRIMARY KEY (`id`) USING BTREE
) COLLATE = 'utf8mb4_general_ci' ENGINE = InnoDB;

DROP TABLE IF EXISTS `lapraces`;

CREATE TABLE `lapraces` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `name` varchar(50) DEFAULT NULL,
    `checkpoints` text DEFAULT NULL,
    `records` text DEFAULT NULL,
    `creator` varchar(50) DEFAULT NULL,
    `distance` int(11) DEFAULT NULL,
    `raceid` varchar(50) DEFAULT NULL,
    PRIMARY KEY (`id`)
) ENGINE = InnoDB AUTO_INCREMENT = 35 DEFAULT CHARSET = utf8mb4;

DROP TABLE IF EXISTS `phone_blocked_phones`;

CREATE TABLE `phone_blocked_phones` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `uniqueId` VARCHAR(50) NOT NULL DEFAULT '' COLLATE 'utf8mb4_unicode_ci',
    PRIMARY KEY (`id`) USING BTREE
) COLLATE = 'utf8mb4_unicode_ci' ENGINE = InnoDB;

DROP TABLE IF EXISTS `phone_backups`;

CREATE TABLE `phone_backups` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `phone` VARCHAR(50) NOT NULL DEFAULT '0' COLLATE 'utf8mb4_unicode_ci',
    `data` LONGTEXT NOT NULL COLLATE 'utf8mb4_unicode_ci',
    `owner` VARCHAR(120) NOT NULL DEFAULT '' COLLATE 'utf8mb4_unicode_ci',
    PRIMARY KEY (`id`) USING BTREE
) COLLATE = 'utf8mb4_unicode_ci' ENGINE = InnoDB AUTO_INCREMENT = 17;
Database for qbcore

If you are a qbcore user, you will also need to edit the playertables of your qb-core, removing the tables from the old qb-phone, if you use the default tables in your qb-core/server/player.lua, you can simply copy and paste this to edit your playertable.

local playertables = { -- Add tables as needed
    { table = 'players' },
    { table = 'apartments' },
    { table = 'bank_accounts' },
    { table = 'crypto_transactions' },
    { table = 'playerskins' },
    { table = 'player_houses' },
    { table = 'player_outfits' },
    { table = 'player_vehicles' }
}

This database is exclusive for qbcore, if you do not use said framework, look for the next part of this document. This event will remove your current data and install the new ones completely.

ALTER TABLE
    `players`
ADD
    IF NOT EXISTS `cryptocurrency` LONGTEXT NOT NULL DEFAULT '',
ADD
    IF NOT EXISTS `crypto_wallet_id` TEXT NULL DEFAULT NULL;

DROP TABLE IF EXISTS `crypto_transactions`;

CREATE TABLE `crypto_transactions` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `citizenid` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `title` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `message` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `date` TIMESTAMP NULL DEFAULT current_timestamp(),
    PRIMARY KEY (`id`) USING BTREE,
    INDEX `citizenid` (`citizenid`) USING BTREE
) COLLATE = 'utf8mb4_general_ci' ENGINE = InnoDB AUTO_INCREMENT = 1;

DROP TABLE IF EXISTS `darkchat_messages`;

CREATE TABLE `darkchat_messages` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `owner` varchar(46) DEFAULT NULL,
    `name` varchar(50) DEFAULT '',
    `messages` text DEFAULT NULL,
    `password` varchar(50) DEFAULT NULL,
    PRIMARY KEY (`id`) USING BTREE,
    KEY `id` (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 13 DEFAULT CHARSET = utf8mb4;

DROP TABLE IF EXISTS `instagram_accounts`;

CREATE TABLE `instagram_accounts` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `phone` varchar(50) NOT NULL DEFAULT '0',
    `owner` varchar(120) DEFAULT NULL,
    `name` varchar(50) DEFAULT NULL,
    `username` varchar(50) DEFAULT '0',
    `password` varchar(50) NOT NULL DEFAULT '0',
    `avatar` text DEFAULT NULL,
    `bio` text DEFAULT NULL,
    `verified` int(11) DEFAULT NULL,
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE KEY `username` (`username`) USING BTREE,
    KEY `phone` (`phone`) USING BTREE,
    KEY `id` (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;

DROP TABLE IF EXISTS `instagram_follow`;

CREATE TABLE `instagram_follow` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `follower` int(11) NOT NULL DEFAULT 0,
    `following` int(11) NOT NULL DEFAULT 0,
    `updatedDate` timestamp NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
    PRIMARY KEY (`id`)
) ENGINE = InnoDB AUTO_INCREMENT = 104 DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;

DROP TABLE IF EXISTS `instagram_messages`;

CREATE TABLE `instagram_messages` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `sender` INT(11) NOT NULL DEFAULT '0',
    `receiver` INT(11) NOT NULL DEFAULT '0',
    `time` TIMESTAMP NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
    `messages` LONGTEXT NOT NULL COLLATE 'utf8mb4_unicode_ci',
    PRIMARY KEY (`id`) USING BTREE
) COLLATE = 'utf8mb4_unicode_ci' ENGINE = InnoDB AUTO_INCREMENT = 1;

DROP TABLE IF EXISTS `instagram_notifications`;

CREATE TABLE `instagram_notifications` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `userId` int(11) NOT NULL DEFAULT 0,
    `targetId` int(11) NOT NULL DEFAULT 0,
    `type` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '0',
    `time` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
    `content` text COLLATE utf8mb4_unicode_ci DEFAULT NULL,
    PRIMARY KEY (`id`)
) ENGINE = InnoDB AUTO_INCREMENT = 116 DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;

DROP TABLE IF EXISTS `instagram_posts`;

CREATE TABLE `instagram_posts` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `time` timestamp NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
    `userId` int(11) DEFAULT NULL,
    `data` longtext DEFAULT NULL,
    `content` text DEFAULT NULL,
    `description` text DEFAULT NULL,
    `type` tinytext DEFAULT NULL,
    `likes` text DEFAULT NULL,
    `filter` tinytext DEFAULT NULL,
    `commentCount` int(11) DEFAULT 0,
    PRIMARY KEY (`id`)
) ENGINE = InnoDB AUTO_INCREMENT = 525 DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;

CREATE TABLE IF NOT EXISTS `instagram_post_comments` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `userId` int(11) DEFAULT NULL,
    `postId` int(11) DEFAULT NULL,
    `comment` text DEFAULT NULL,
    `time` timestamp NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
    PRIMARY KEY (`id`),
    KEY `postId` (`postId`)
) ENGINE = InnoDB AUTO_INCREMENT = 4405 DEFAULT CHARSET = latin1 COLLATE = latin1_swedish_ci;

DROP TRIGGER IF EXISTS `instagram_decrement_comment_count`;

SET @OLDTMP_SQL_MODE=@@SQL_MODE, SQL_MODE='STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
DELIMITER //
CREATE TRIGGER `instagram_decrement_comment_count` AFTER DELETE ON `instagram_post_comments` FOR EACH ROW BEGIN
    UPDATE instagram_posts SET commentCount = commentCount + 1 WHERE id = OLD.postId;
END//
DELIMITER ;
SET SQL_MODE=@OLDTMP_SQL_MODE;

DROP TRIGGER IF EXISTS `instagram_increment_comment_count`;

SET @OLDTMP_SQL_MODE=@@SQL_MODE, SQL_MODE='STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
DELIMITER //
CREATE TRIGGER `instagram_increment_comment_count` AFTER INSERT ON `instagram_post_comments` FOR EACH ROW BEGIN
    UPDATE instagram_posts SET commentCount = commentCount + 1 WHERE id = NEW.postId;
END//
DELIMITER ;
SET SQL_MODE=@OLDTMP_SQL_MODE;

DROP TABLE IF EXISTS `instagram_stories`;

CREATE TABLE `instagram_stories` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `userId` int(11) NOT NULL DEFAULT 0,
    `updatedDate` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
    `data` text COLLATE armscii8_bin NOT NULL,
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 14 DEFAULT CHARSET = armscii8 COLLATE = armscii8_bin;

DROP TABLE IF EXISTS `mail_accounts`;

CREATE TABLE `mail_accounts` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `owner` VARCHAR(50) NULL DEFAULT '0' COLLATE 'utf8mb4_unicode_ci',
    `mail` VARCHAR(50) NULL DEFAULT '0' COLLATE 'utf8mb4_unicode_ci',
    `name` VARCHAR(50) NULL DEFAULT '0' COLLATE 'utf8mb4_unicode_ci',
    `password` VARCHAR(50) NULL DEFAULT '' COLLATE 'utf8mb4_unicode_ci',
    `phone` VARCHAR(50) NULL DEFAULT '0' COLLATE 'utf8mb4_unicode_ci',
    PRIMARY KEY (`id`) USING BTREE
) COLLATE = 'utf8mb4_unicode_ci' ENGINE = InnoDB AUTO_INCREMENT = 14;

DROP TABLE IF EXISTS `phone_gallery`;

CREATE TABLE `phone_gallery` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `identifier` VARCHAR(46) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `content` TEXT NOT NULL COLLATE 'utf8mb4_general_ci',
    `type` VARCHAR(15) NOT NULL DEFAULT '' COLLATE 'utf8mb4_general_ci',
    `data` LONGTEXT NOT NULL DEFAULT '' COLLATE 'utf8mb4_general_ci',
    `created_at` TIMESTAMP NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
    `filter` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX `type` (`type`) USING BTREE,
    INDEX `identifier` (`identifier`) USING BTREE
) COLLATE = 'utf8mb4_general_ci' ENGINE = InnoDB AUTO_INCREMENT = 1;

DROP TABLE IF EXISTS `phone_messages`;

CREATE TABLE `phone_messages` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `phone` VARCHAR(50) NOT NULL DEFAULT '' COLLATE 'utf8mb4_general_ci',
    `number` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `messages` LONGTEXT NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `created` TIMESTAMP NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
    `unreaded` INT(11) NULL DEFAULT NULL,
    PRIMARY KEY (`id`) USING BTREE
) COLLATE = 'utf8mb4_general_ci' ENGINE = InnoDB AUTO_INCREMENT = 150;

DROP TABLE IF EXISTS `phone_notifies`;

CREATE TABLE `phone_notifies` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `phone` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `msg_content` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `msg_head` VARCHAR(50) NOT NULL DEFAULT '' COLLATE 'utf8mb4_general_ci',
    `app_name` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `msg_time` TIMESTAMP NULL DEFAULT current_timestamp(),
    PRIMARY KEY (`id`) USING BTREE
) COLLATE = 'utf8mb4_general_ci' ENGINE = InnoDB AUTO_INCREMENT = 1;

DROP TABLE IF EXISTS `phone_recipes`;

CREATE TABLE `phone_recipes` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `number` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
    `data` text COLLATE utf8mb4_unicode_ci NOT NULL,
    PRIMARY KEY (`id`)
) ENGINE = InnoDB AUTO_INCREMENT = 5 DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;

DROP TABLE IF EXISTS `player_contacts`;

CREATE TABLE `player_contacts` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `identifier` VARCHAR(46) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `name` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `number` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `iban` VARCHAR(50) NOT NULL DEFAULT '0' COLLATE 'utf8mb4_general_ci',
    `display` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `note` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `pp` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `isBlocked` INT(11) NULL DEFAULT NULL,
    PRIMARY KEY (`id`) USING BTREE,
    INDEX `identifier` (`identifier`) USING BTREE
) COLLATE = 'utf8mb4_general_ci' ENGINE = InnoDB AUTO_INCREMENT = 67;

DROP TABLE IF EXISTS `player_mails`;

CREATE TABLE `player_mails` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `taker` VARCHAR(46) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `sender` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `subject` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `message` LONGTEXT NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `read` TINYINT(4) NULL DEFAULT '0',
    `mailid` INT(11) NULL DEFAULT NULL,
    `date` TIMESTAMP NULL DEFAULT current_timestamp(),
    `button` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `medias` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX `identifier` (`taker`) USING BTREE
) COLLATE = 'utf8mb4_general_ci' ENGINE = InnoDB AUTO_INCREMENT = 1;

DROP TABLE IF EXISTS `tiktok_users`;

CREATE TABLE `tiktok_users` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `owner` VARCHAR(50) NOT NULL DEFAULT '' COLLATE 'utf8mb4_general_ci',
    `username` VARCHAR(50) NOT NULL DEFAULT '0' COLLATE 'utf8mb4_general_ci',
    `password` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `phone` VARCHAR(50) NOT NULL DEFAULT '0' COLLATE 'utf8mb4_general_ci',
    `pp` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `name` VARCHAR(50) NOT NULL DEFAULT '0' COLLATE 'utf8mb4_general_ci',
    `bio` TEXT NOT NULL DEFAULT '' COLLATE 'utf8mb4_general_ci',
    `birthday` VARCHAR(50) NOT NULL DEFAULT '0' COLLATE 'utf8mb4_general_ci',
    `videos` TEXT NOT NULL DEFAULT '{}' COLLATE 'utf8mb4_general_ci',
    `followers` TEXT NOT NULL COLLATE 'utf8mb4_general_ci',
    `following` TEXT NOT NULL COLLATE 'utf8mb4_general_ci',
    `liked` TEXT NOT NULL COLLATE 'utf8mb4_general_ci',
    `verified` INT(11) NULL DEFAULT NULL,
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `username` (`username`) USING BTREE,
    INDEX `id` (`id`) USING BTREE
) COLLATE = 'utf8mb4_general_ci' ENGINE = InnoDB AUTO_INCREMENT = 1;

DROP TABLE IF EXISTS `tiktok_videos`;

CREATE TABLE `tiktok_videos` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `userID` int(11) DEFAULT NULL,
    `created` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
    `data` text COLLATE utf8mb4_unicode_ci DEFAULT NULL,
    PRIMARY KEY (`id`)
) ENGINE = InnoDB AUTO_INCREMENT = 8 DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;

DROP TABLE IF EXISTS `market_accounts`;

CREATE TABLE `market_accounts` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `owner` VARCHAR(50) NOT NULL DEFAULT '' COLLATE 'utf8mb4_unicode_ci',
    `created` TIMESTAMP NOT NULL DEFAULT current_timestamp(),
    `phone` VARCHAR(50) NOT NULL COLLATE 'utf8mb4_unicode_ci',
    `name` VARCHAR(50) NOT NULL COLLATE 'utf8mb4_unicode_ci',
    `username` VARCHAR(50) NOT NULL COLLATE 'utf8mb4_unicode_ci',
    `avatar` TEXT NOT NULL COLLATE 'utf8mb4_unicode_ci',
    `password` VARCHAR(50) NOT NULL DEFAULT '' COLLATE 'utf8mb4_unicode_ci',
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `username` (`username`) USING BTREE
) COLLATE = 'utf8mb4_unicode_ci' ENGINE = InnoDB AUTO_INCREMENT = 3;

DROP TABLE IF EXISTS `market_messages`;

CREATE TABLE `market_messages` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `sender` INT(11) NOT NULL,
    `receiver` INT(11) NOT NULL,
    `time` TIMESTAMP NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
    `messages` TEXT NOT NULL COLLATE 'utf8mb4_unicode_ci',
    `isMarket` INT(11) NULL DEFAULT NULL,
    PRIMARY KEY (`id`) USING BTREE
) COLLATE = 'utf8mb4_unicode_ci' ENGINE = InnoDB AUTO_INCREMENT = 3;

DROP TABLE IF EXISTS `market_markets`;

CREATE TABLE `market_markets` (
    `id` INT(11) NOT NULL,
    `name` VARCHAR(50) NOT NULL DEFAULT '' COLLATE 'utf8mb4_unicode_ci',
    `description` TEXT NOT NULL COLLATE 'utf8mb4_unicode_ci',
    `job` TEXT NOT NULL DEFAULT '[]' COLLATE 'utf8mb4_unicode_ci',
    `ratings` TEXT NOT NULL DEFAULT '[]' COLLATE 'utf8mb4_unicode_ci',
    `coords` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_unicode_ci',
    PRIMARY KEY (`id`) USING BTREE
) COLLATE = 'utf8mb4_unicode_ci' ENGINE = InnoDB;

DROP TABLE IF EXISTS `twitter_accounts`;

CREATE TABLE `twitter_accounts` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `owner` VARCHAR(46) NOT NULL DEFAULT '0' COLLATE 'utf8mb4_unicode_ci',
    `created` TIMESTAMP NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
    `phone` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_unicode_ci',
    `name` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_unicode_ci',
    `username` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_unicode_ci',
    `password` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_unicode_ci',
    `avatar` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_unicode_ci',
    `bio` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_unicode_ci',
    `verified` INT(11) NULL DEFAULT NULL,
    `background` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_unicode_ci',
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `username` (`username`) USING BTREE
) COLLATE = 'utf8mb4_unicode_ci' ENGINE = InnoDB AUTO_INCREMENT = 4;

DROP TABLE IF EXISTS `twitter_follow`;

CREATE TABLE `twitter_follow` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `follower` INT(11) NULL DEFAULT NULL,
    `following` INT(11) NULL DEFAULT NULL,
    `updatedDate` TIMESTAMP NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
    PRIMARY KEY (`id`) USING BTREE
) COLLATE = 'utf8mb4_unicode_ci' ENGINE = InnoDB AUTO_INCREMENT = 14;

DROP TABLE IF EXISTS `twitter_messages`;

CREATE TABLE `twitter_messages` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `sender` INT(11) NOT NULL,
    `receiver` INT(11) NOT NULL,
    `time` TIMESTAMP NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
    `messages` TEXT NOT NULL COLLATE 'utf8mb4_unicode_ci',
    PRIMARY KEY (`id`) USING BTREE
) COLLATE = 'utf8mb4_unicode_ci' ENGINE = InnoDB AUTO_INCREMENT = 2;

DROP TABLE IF EXISTS `twitter_notifications`;

CREATE TABLE `twitter_notifications` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `userId` INT(11) NOT NULL DEFAULT '0',
    `targetUserId` INT(11) NOT NULL DEFAULT '0',
    `type` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_unicode_ci',
    `tweetId` INT(11) NULL DEFAULT NULL,
    `time` TIMESTAMP NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
    PRIMARY KEY (`id`) USING BTREE
) COLLATE = 'utf8mb4_unicode_ci' ENGINE = InnoDB AUTO_INCREMENT = 28;

DROP TABLE IF EXISTS `twitter_retweets`;

CREATE TABLE `twitter_retweets` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `userId` INT(11) NOT NULL DEFAULT '0',
    `tweetId` INT(11) NOT NULL DEFAULT '0',
    `created` TIMESTAMP NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
    PRIMARY KEY (`id`) USING BTREE
) COLLATE = 'utf8mb4_unicode_ci' ENGINE = InnoDB AUTO_INCREMENT = 8;

DROP TABLE IF EXISTS `twitter_tweets`;

CREATE TABLE `twitter_tweets` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `userId` INT(11) NOT NULL,
    `time` TIMESTAMP NOT NULL DEFAULT current_timestamp(),
    `text` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_unicode_ci',
    `media` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_unicode_ci',
    `likes` TEXT NULL DEFAULT '[]' COLLATE 'utf8mb4_unicode_ci',
    `mentions` TEXT NULL DEFAULT '[]' COLLATE 'utf8mb4_unicode_ci',
    `comments` TEXT NULL DEFAULT '[]' COLLATE 'utf8mb4_unicode_ci',
    `retweets` TEXT NULL DEFAULT '[]' COLLATE 'utf8mb4_unicode_ci',
    PRIMARY KEY (`id`) USING BTREE
) COLLATE = 'utf8mb4_unicode_ci' ENGINE = InnoDB AUTO_INCREMENT = 19;

DROP TABLE IF EXISTS `phone_metadata`;

CREATE TABLE `phone_metadata` (
    `identifier` VARCHAR(90) NOT NULL DEFAULT '' COLLATE 'utf8mb4_unicode_ci',
    `metadata` LONGTEXT NULL DEFAULT NULL COLLATE 'utf8mb4_unicode_ci',
    `phoneNumber` VARCHAR(50) NULL DEFAULT '' COLLATE 'utf8mb4_unicode_ci',
    PRIMARY KEY (`identifier`) USING BTREE
) COLLATE = 'utf8mb4_unicode_ci' ENGINE = InnoDB;

DROP TABLE IF EXISTS `phone_yellowpages`;

CREATE TABLE `phone_yellowpages` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `owner` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `title` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `description` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `image` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `price` INT(11) NULL DEFAULT '0',
    `created` TIMESTAMP NULL DEFAULT current_timestamp(),
    PRIMARY KEY (`id`) USING BTREE
) COLLATE = 'utf8mb4_general_ci' ENGINE = InnoDB AUTO_INCREMENT = 4;

DROP TABLE IF EXISTS `phone_bills`;

CREATE TABLE `phone_bills` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `price` INT(11) NOT NULL DEFAULT '0',
    `identifier` VARCHAR(46) NOT NULL DEFAULT '' COLLATE 'utf8mb4_general_ci',
    `timestamp` TIMESTAMP NULL DEFAULT current_timestamp(),
    `sender` VARCHAR(50) NOT NULL DEFAULT '' COLLATE 'utf8mb4_general_ci',
    `label` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX `id` (`id`) USING BTREE,
    INDEX `identifier` (`identifier`) USING BTREE
) COLLATE = 'utf8mb4_general_ci' ENGINE = InnoDB AUTO_INCREMENT = 1;

DROP TABLE IF EXISTS `whatsapp_accounts`;

CREATE TABLE `whatsapp_accounts` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `phone` VARCHAR(50) NOT NULL DEFAULT '0' COLLATE 'utf8mb4_general_ci',
    `name` VARCHAR(50) NOT NULL DEFAULT '0' COLLATE 'utf8mb4_general_ci',
    `avatar` TEXT NOT NULL DEFAULT '' COLLATE 'utf8mb4_general_ci',
    `bio` VARCHAR(50) NOT NULL DEFAULT '' COLLATE 'utf8mb4_general_ci',
    `group_creator` INT(11) NULL DEFAULT NULL,
    `created` TIMESTAMP NULL DEFAULT current_timestamp(),
    `hide_receipts` INT(11) NULL DEFAULT '0',
    PRIMARY KEY (`id`) USING BTREE
) COLLATE = 'utf8mb4_general_ci' ENGINE = InnoDB AUTO_INCREMENT = 1;

DROP TABLE IF EXISTS `whatsapp_call_history`;

CREATE TABLE `whatsapp_call_history` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `caller` INT(11) NOT NULL DEFAULT '0',
    `calledId` INT(11) NULL DEFAULT NULL,
    `time` TIMESTAMP NULL DEFAULT current_timestamp(),
    PRIMARY KEY (`id`) USING BTREE
) COLLATE = 'utf8mb4_general_ci' ENGINE = InnoDB AUTO_INCREMENT = 1;

DROP TABLE IF EXISTS `whatsapp_call_history_users`;

CREATE TABLE `whatsapp_call_history_users` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `userId` INT(11) NOT NULL DEFAULT '0',
    `callId` INT(11) NOT NULL DEFAULT '0',
    PRIMARY KEY (`id`) USING BTREE
) COLLATE = 'utf8mb4_general_ci' ENGINE = InnoDB AUTO_INCREMENT = 1;

DROP TABLE IF EXISTS `whatsapp_chats`;

CREATE TABLE `whatsapp_chats` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `sender` INT(11) NOT NULL DEFAULT '0',
    `receiver` INT(11) NOT NULL DEFAULT '0',
    `wallpaper` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `isGroup` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `time` TIMESTAMP NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
    `messages` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    PRIMARY KEY (`id`) USING BTREE
) COLLATE = 'utf8mb4_general_ci' ENGINE = InnoDB AUTO_INCREMENT = 21;

DROP TABLE IF EXISTS `whatsapp_group_admins`;

CREATE TABLE `whatsapp_group_admins` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `userId` INT(11) NOT NULL DEFAULT '0',
    `groupId` INT(11) NOT NULL DEFAULT '0',
    PRIMARY KEY (`id`) USING BTREE
) COLLATE = 'utf8mb4_general_ci' ENGINE = InnoDB AUTO_INCREMENT = 11;

DROP TABLE IF EXISTS `whatsapp_group_members`;

CREATE TABLE `whatsapp_group_members` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `userId` INT(11) NOT NULL DEFAULT '0',
    `groupId` INT(11) NOT NULL DEFAULT '0',
    PRIMARY KEY (`id`) USING BTREE
) COLLATE = 'utf8mb4_general_ci' ENGINE = InnoDB AUTO_INCREMENT = 28;

DROP TABLE IF EXISTS `whatsapp_status`;

CREATE TABLE `whatsapp_status` (
    `userId` INT(11) NOT NULL DEFAULT '0',
    `data` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    PRIMARY KEY (`userId`) USING BTREE
) COLLATE = 'utf8mb4_general_ci' ENGINE = InnoDB;

DROP TABLE IF EXISTS `phone_app_store`;

CREATE TABLE `phone_app_store` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `application` VARCHAR(50) NULL DEFAULT '0' COLLATE 'utf8mb4_general_ci',
    `ratings` TEXT NULL DEFAULT '[]' COLLATE 'utf8mb4_general_ci',
    `downloads` INT(11) NULL DEFAULT '0',
    PRIMARY KEY (`id`) USING BTREE
) COLLATE = 'utf8mb4_general_ci' ENGINE = InnoDB;

DROP TABLE IF EXISTS `weazel`;

CREATE TABLE `weazel` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `owner` VARCHAR(46) NULL DEFAULT NULL COLLATE 'utf8mb4_unicode_ci',
    `title` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_unicode_ci',
    `content` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_unicode_ci',
    `image` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_unicode_ci',
    `created` VARCHAR(50) NULL DEFAULT '' COLLATE 'utf8mb4_unicode_ci',
    PRIMARY KEY (`id`) USING BTREE
) COLLATE = 'utf8mb4_unicode_ci' ENGINE = InnoDB AUTO_INCREMENT = 2;

DROP TABLE IF EXISTS `tinder_accounts`;

CREATE TABLE `tinder_accounts` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `phone` VARCHAR(50) NOT NULL DEFAULT '0' COLLATE 'utf8mb4_general_ci',
    `name` VARCHAR(50) NOT NULL DEFAULT '0' COLLATE 'utf8mb4_general_ci',
    `owner` VARCHAR(70) NOT NULL DEFAULT '0' COLLATE 'utf8mb4_general_ci',
    `photos` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `dob` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `bio` VARCHAR(100) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `password` VARCHAR(100) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `gender` VARCHAR(10) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `interested` VARCHAR(10) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    PRIMARY KEY (`id`) USING BTREE
) COLLATE = 'utf8mb4_general_ci' ENGINE = InnoDB AUTO_INCREMENT = 7;

DROP TABLE IF EXISTS `tinder_messages`;

CREATE TABLE `tinder_messages` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `unread` INT(11) NOT NULL DEFAULT '0',
    `sender` INT(11) NOT NULL DEFAULT '0',
    `receiver` INT(11) NOT NULL DEFAULT '0',
    `time` TIMESTAMP NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
    `messages` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    PRIMARY KEY (`id`) USING BTREE
) COLLATE = 'utf8mb4_general_ci' ENGINE = InnoDB AUTO_INCREMENT = 5;

DROP TABLE IF EXISTS `tinder_swipers`;

CREATE TABLE `tinder_swipers` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `userId` INT(11) NOT NULL DEFAULT '0',
    `targetId` INT(11) NOT NULL DEFAULT '0',
    `liked` INT(11) NOT NULL DEFAULT '0',
    PRIMARY KEY (`id`) USING BTREE
) COLLATE = 'utf8mb4_general_ci' ENGINE = InnoDB AUTO_INCREMENT = 21;

DROP TABLE IF EXISTS `uber_rider_last_transactions`;

CREATE TABLE `uber_rider_last_transactions` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `owner` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `date` TIMESTAMP NOT NULL DEFAULT current_timestamp(),
    `target` VARCHAR(80) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `targetName` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `plate` VARCHAR(80) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `price` INT(11) NULL DEFAULT NULL,
    `type` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    PRIMARY KEY (`id`) USING BTREE
) COLLATE = 'utf8mb4_general_ci' ENGINE = InnoDB AUTO_INCREMENT = 6;

DROP TABLE IF EXISTS `phone_chatrooms`;

CREATE TABLE `phone_chatrooms` (
    `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
    `room_code` VARCHAR(10) NOT NULL COLLATE 'utf8mb4_general_ci',
    `room_name` VARCHAR(15) NOT NULL COLLATE 'utf8mb4_general_ci',
    `room_owner_id` INT(11) NULL DEFAULT NULL,
    `room_owner_name` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `room_members` TEXT NULL DEFAULT '{}' COLLATE 'utf8mb4_general_ci',
    `room_pin` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `unpaid_balance` DECIMAL(10, 2) NULL DEFAULT '0.00',
    `is_masked` TINYINT(1) NULL DEFAULT '0',
    `is_pinned` TINYINT(1) NULL DEFAULT '0',
    `created` DATETIME NULL DEFAULT current_timestamp(),
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `room_code` (`room_code`) USING BTREE
) COLLATE = 'utf8mb4_general_ci' ENGINE = InnoDB AUTO_INCREMENT = 1;

INSERT INTO
    `phone_chatrooms` (
        `room_code`,
        `room_name`,
        `room_owner_id`,
        `room_owner_name`,
        `is_pinned`
    )
VALUES
    ('411', '411', -1, 'Government', 1),
    (
        'lounge',
        'The Lounge',
        -1,
        'Government',
        1
    ),
    ('events', 'Events', -1, 'Government', 1);

DROP TABLE IF EXISTS `phone_chatroom_messages`;

CREATE TABLE `phone_chatroom_messages` (
    `id` INT unsigned NOT NULL AUTO_INCREMENT,
    `room_id` INT unsigned,
    `member_id` VARCHAR(20),
    `member_name` VARCHAR(50),
    `message` TEXT NOT NULL,
    `is_pinned` BOOLEAN DEFAULT FALSE,
    `created` DATETIME DEFAULT NOW(),
    PRIMARY KEY (`id`)
);

DROP TABLE IF EXISTS `discord_accounts`;

CREATE TABLE `discord_accounts` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `owner` VARCHAR(80) NOT NULL DEFAULT '0' COLLATE 'utf8mb4_general_ci',
    `phone` VARCHAR(50) NOT NULL DEFAULT '0' COLLATE 'utf8mb4_general_ci',
    `name` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `username` VARCHAR(50) NOT NULL DEFAULT '0' COLLATE 'utf8mb4_general_ci',
    `password` VARCHAR(50) NOT NULL DEFAULT '0' COLLATE 'utf8mb4_general_ci',
    PRIMARY KEY (`id`) USING BTREE
) COLLATE = 'utf8mb4_general_ci' ENGINE = InnoDB AUTO_INCREMENT = 3;

DROP TABLE IF EXISTS `facetime_call_history`;

CREATE TABLE `facetime_call_history` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `caller` VARCHAR(50) NOT NULL DEFAULT '0' COLLATE 'utf8mb4_general_ci',
    `calledId` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    `time` TIMESTAMP NULL DEFAULT current_timestamp(),
    PRIMARY KEY (`id`) USING BTREE
) COLLATE = 'utf8mb4_general_ci' ENGINE = InnoDB;

DROP TABLE IF EXISTS `phone_favorite_contacts`;

CREATE TABLE `phone_favorite_contacts` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `identifier` VARCHAR(50) NOT NULL DEFAULT '0' COLLATE 'utf8mb4_general_ci',
    `phone` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci',
    PRIMARY KEY (`id`) USING BTREE
) COLLATE = 'utf8mb4_general_ci' ENGINE = InnoDB;

DROP TABLE IF EXISTS `crypto`;

CREATE TABLE `crypto` (
    `crypto` varchar(50) NOT NULL DEFAULT 'btc',
    `worth` int(11) NOT NULL DEFAULT 0,
    `history` text DEFAULT NULL,
    PRIMARY KEY (`crypto`)
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;

INSERT INTO
    `crypto`
VALUES
    (
        'btc',
        1000,
        '[{"NewWorth":1000,"PreviousWorth":1000}]'
    );

DROP TABLE IF EXISTS `crypto_history`;

CREATE TABLE `crypto_history` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `worth` INT(11) NOT NULL DEFAULT '0',
    `name` VARCHAR(50) NOT NULL DEFAULT '0' COLLATE 'utf8mb4_general_ci',
    `date` TIMESTAMP NOT NULL DEFAULT current_timestamp(),
    PRIMARY KEY (`id`) USING BTREE
) COLLATE = 'utf8mb4_general_ci' ENGINE = InnoDB;

DROP TABLE IF EXISTS `lapraces`;

CREATE TABLE `lapraces` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `name` varchar(50) DEFAULT NULL,
    `checkpoints` text DEFAULT NULL,
    `records` text DEFAULT NULL,
    `creator` varchar(50) DEFAULT NULL,
    `distance` int(11) DEFAULT NULL,
    `raceid` varchar(50) DEFAULT NULL,
    PRIMARY KEY (`id`)
) ENGINE = InnoDB AUTO_INCREMENT = 35 DEFAULT CHARSET = utf8mb4;

DROP TABLE IF EXISTS `phone_blocked_phones`;

CREATE TABLE `phone_blocked_phones` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `uniqueId` VARCHAR(50) NOT NULL DEFAULT '' COLLATE 'utf8mb4_unicode_ci',
    PRIMARY KEY (`id`) USING BTREE
) COLLATE = 'utf8mb4_unicode_ci' ENGINE = InnoDB;

DROP TABLE IF EXISTS `phone_backups`;

CREATE TABLE `phone_backups` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `phone` VARCHAR(50) NOT NULL DEFAULT '0' COLLATE 'utf8mb4_unicode_ci',
    `data` LONGTEXT NOT NULL COLLATE 'utf8mb4_unicode_ci',
    `owner` VARCHAR(120) NOT NULL DEFAULT '' COLLATE 'utf8mb4_unicode_ci',
    PRIMARY KEY (`id`) USING BTREE
) COLLATE = 'utf8mb4_unicode_ci' ENGINE = InnoDB AUTO_INCREMENT = 17;

Items for Smartphone use

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

If you use qbcore + ox_inventory, you must add the items inside ox_inventory for the phone opening to work.

Smartphone has a series of items that are important for its use. For example, phones with different colors or simply items that will apply new functions to our new phone.

Here you will find a series of selected items in different extensions for different inventories, select the option that suits your server, remember that Quasar Store has a completely unique Inventory system with which you can also enjoy your phone.

Items for qs-inventory
['cryptostick'] = {
    ['name'] = 'cryptostick',
    ['label'] = 'Crypto Stick',
    ['weight'] = 50,
    ['type'] = 'item',
    ['image'] = 'cryptostick.png',
    ['unique'] = false,
    ['useable'] = true,
    ['shouldClose'] = false,
    ['combinable'] = nil,
    ['description'] = 'A suspicious USB...'
},

['phone_dongle'] = {
    ['name'] = 'phone_dongle',
    ['label'] = 'Phone Dongle',
    ['weight'] = 50,
    ['type'] = 'item',
    ['image'] = 'phone_dongle.png',
    ['unique'] = false,
    ['useable'] = true,
    ['shouldClose'] = false,
    ['combinable'] = nil,
    ['description'] = 'Telephone key to make a bypass, maybe...'
},

['powerbank'] = {
    ['name'] = 'powerbank',
    ['label'] = 'Power Bank',
    ['weight'] = 50,
    ['type'] = 'item',
    ['image'] = 'powerbank.png',
    ['unique'] = false,
    ['useable'] = true,
    ['shouldClose'] = false,
    ['combinable'] = nil,
    ['description'] = 'Portable charger for high-end phones'
},

["phone"] = {
    ["name"] = "phone",
    ["label"] = "Classic Phone",
    ["weight"] = 150,
    ["type"] = "item",
    ["image"] = "phone.png",
    ["unique"] = true,
    ["useable"] = true,
    ["shouldClose"] = true,
    ["combinable"] = nil,
    ["description"] = "They say that Quasar Smartphone is the same as an iPhone, what do you think?"
},

["black_phone"] = {
    ["name"] = "black_phone",
    ["label"] = "Black Phone",
    ["weight"] = 150,
    ["type"] = "item",
    ["image"] = "black_phone.png",
    ["unique"] = true,
    ["useable"] = true,
    ["shouldClose"] = true,
    ["combinable"] = nil,
    ["description"] = "They say that Quasar Smartphone is the same as an iPhone, what do you think?"
},

["yellow_phone"] = {
    ["name"] = "yellow_phone",
    ["label"] = "Yellow Phone",
    ["weight"] = 150,
    ["type"] = "item",
    ["image"] = "yellow_phone.png",
    ["unique"] = true,
    ["useable"] = true,
    ["shouldClose"] = true,
    ["combinable"] = nil,
    ["description"] = "They say that Quasar Smartphone is the same as an iPhone, what do you think?"
},

["red_phone"] = {
    ["name"] = "red_phone",
    ["label"] = "Red Phone",
    ["weight"] = 150,
    ["type"] = "item",
    ["image"] = "red_phone.png",
    ["unique"] = true,
    ["useable"] = true,
    ["shouldClose"] = true,
    ["combinable"] = nil,
    ["description"] = "They say that Quasar Smartphone is the same as an iPhone, what do you think?"
},

["green_phone"] = {
    ["name"] = "green_phone",
    ["label"] = "Green Phone",
    ["weight"] = 150,
    ["type"] = "item",
    ["image"] = "green_phone.png",
    ["unique"] = true,
    ["useable"] = true,
    ["shouldClose"] = true,
    ["combinable"] = nil,
    ["description"] = "They say that Quasar Smartphone is the same as an iPhone, what do you think?"
},

["white_phone"] = {
    ["name"] = "white_phone",
    ["label"] = "White Phone",
    ["weight"] = 150,
    ["type"] = "item",
    ["image"] = "white_phone.png",
    ["unique"] = true,
    ["useable"] = true,
    ["shouldClose"] = true,
    ["combinable"] = nil,
    ["description"] = "They say that Quasar Smartphone is the same as an iPhone, what do you think?"
},
Items for origen_inventory
cryptostick = {
    ['name'] = 'cryptostick',
    ['label'] = 'Crypto Stick',
    ['weight'] = 50,
    ['type'] = 'item',
    ['image'] = 'cryptostick.png',
    ['unique'] = false,
    ['useable'] = true,
    ['shouldClose'] = false,
    ['combinable'] = nil,
    ['description'] = 'A suspicious USB...'
},

phone_dongle = {
    ['name'] = 'phone_dongle',
    ['label'] = 'Phone Dongle',
    ['weight'] = 50,
    ['type'] = 'item',
    ['image'] = 'phone_dongle.png',
    ['unique'] = false,
    ['useable'] = true,
    ['shouldClose'] = false,
    ['combinable'] = nil,
    ['description'] = 'Telephone key to make a bypass, maybe...'
},

powerbank = {
    ['name'] = 'powerbank',
    ['label'] = 'Power Bank',
    ['weight'] = 50,
    ['type'] = 'item',
    ['image'] = 'powerbank.png',
    ['unique'] = false,
    ['useable'] = true,
    ['shouldClose'] = false,
    ['combinable'] = nil,
    ['description'] = 'Portable charger for high-end phones'
},

phone = {
    ["name"] = "phone",
    ["label"] = "Classic Phone",
    ["weight"] = 150,
    ["type"] = "item",
    ["image"] = "phone.png",
    ["unique"] = true,
    ["useable"] = true,
    ["shouldClose"] = true,
    ["combinable"] = nil,
    ["description"] = "They say that Quasar Smartphone is the same as an iPhone, what do you think?"
},

black_phone = {
    ["name"] = "black_phone",
    ["label"] = "Black Phone",
    ["weight"] = 150,
    ["type"] = "item",
    ["image"] = "black_phone.png",
    ["unique"] = true,
    ["useable"] = true,
    ["shouldClose"] = true,
    ["combinable"] = nil,
    ["description"] = "They say that Quasar Smartphone is the same as an iPhone, what do you think?"
},

yellow_phone = {
    ["name"] = "yellow_phone",
    ["label"] = "Yellow Phone",
    ["weight"] = 150,
    ["type"] = "item",
    ["image"] = "yellow_phone.png",
    ["unique"] = true,
    ["useable"] = true,
    ["shouldClose"] = true,
    ["combinable"] = nil,
    ["description"] = "They say that Quasar Smartphone is the same as an iPhone, what do you think?"
},

red_phone = {
    ["name"] = "red_phone",
    ["label"] = "Red Phone",
    ["weight"] = 150,
    ["type"] = "item",
    ["image"] = "red_phone.png",
    ["unique"] = true,
    ["useable"] = true,
    ["shouldClose"] = true,
    ["combinable"] = nil,
    ["description"] = "They say that Quasar Smartphone is the same as an iPhone, what do you think?"
},

green_phone = {
    ["name"] = "green_phone",
    ["label"] = "Green Phone",
    ["weight"] = 150,
    ["type"] = "item",
    ["image"] = "green_phone.png",
    ["unique"] = true,
    ["useable"] = true,
    ["shouldClose"] = true,
    ["combinable"] = nil,
    ["description"] = "They say that Quasar Smartphone is the same as an iPhone, what do you think?"
},

white_phone = {
    ["name"] = "white_phone",
    ["label"] = "White Phone",
    ["weight"] = 150,
    ["type"] = "item",
    ["image"] = "white_phone.png",
    ["unique"] = true,
    ["useable"] = true,
    ["shouldClose"] = true,
    ["combinable"] = nil,
    ["description"] = "They say that Quasar Smartphone is the same as an iPhone, what do you think?"
},

Next, to show the item information with its metadata, we will search in origin_inventory/html/js/app.js and edit the function called FormatItemInfo.

We will place the following code right on the first line within this function:

let phoneMeta = ['phone', 'black_phone', 'yellow_phone', 'white_phone', 'red_phone', 'green_phone']

Then below we can add this code to give metadata to all the items of the Smartphone PRO:

} else if (phoneMeta.includes(itemData.name) && itemData.info.phoneNumber) {
	$(".item-info-title").html("<p>" + `${itemData.label}` + "</p>");
	$(".item-info-description").html(
		"<p><strong>Phone Number: </strong><span>" +
		itemData.info.phoneNumber +
		"</span></p><p><strong>Firstname: </strong><span>" +
		itemData.info.charinfo.firstname +
		"</span></p><p><strong>Lastname: </strong><span>" +
		itemData.info.charinfo.lastname +
		"</span></p>"
);

The result should look like this:

function FormatItemInfo(itemData) {
	let phoneMeta = ['phone', 'black_phone', 'yellow_phone', 'white_phone', 'red_phone', 'green_phone']

	if (itemData != null && itemData.info != '') {
		if (itemData.name == 'id_card') {
			var gender = translations['Man'];
			if (itemData.info.gender == 1) {
				gender = translations['Woman'];
			}
			$('.item-info-title').html('<p>' + itemData.label + '</p>');
			$('.item-info-description').html(
				'<p><strong>CSN: </strong><span>' +
				itemData.info.citizenid +
				`</span></p><p><strong>${translations['FirstName']}: </strong><span>` +
				itemData.info.firstname +
				`</span></p><p><strong>${translations['LastName']}: </strong><span>` +
				itemData.info.lastname +
				`</span></p><p><strong>${translations['Birthday']}: </strong><span>` +
				itemData.info.birthdate +
				`</span></p><p><strong>${translations['Gender']}: </strong><span>` +
				gender +
				`</span></p><p><strong>${translations['Nacionality']}: </strong><span>` +
				itemData.info.nationality +
				'</span></p>'
			);
		} else if (phoneMeta.includes(itemData.name) && itemData.info.phoneNumber) {
			$(".item-info-title").html("<p>" + `${itemData.label}` + "</p>");
			$(".item-info-description").html(
				"<p><strong>Phone Number: </strong><span>" +
				itemData.info.phoneNumber +
				"</span></p><p><strong>Firstname: </strong><span>" +
				itemData.info.charinfo.firstname +
				"</span></p><p><strong>Lastname: </strong><span>" +
				itemData.info.charinfo.lastname +
				"</span></p>"
			);
Other code...
Items for qb-inventory
cryptostick = {
    ['name'] = 'cryptostick',
    ['label'] = 'Crypto Stick',
    ['weight'] = 50,
    ['type'] = 'item',
    ['image'] = 'cryptostick.png',
    ['unique'] = false,
    ['useable'] = true,
    ['shouldClose'] = false,
    ['combinable'] = nil,
    ['description'] = 'A suspicious USB...'
},

phone_dongle = {
    ['name'] = 'phone_dongle',
    ['label'] = 'Phone Dongle',
    ['weight'] = 50,
    ['type'] = 'item',
    ['image'] = 'phone_dongle.png',
    ['unique'] = false,
    ['useable'] = true,
    ['shouldClose'] = false,
    ['combinable'] = nil,
    ['description'] = 'Telephone key to make a bypass, maybe...'
},

powerbank = {
    ['name'] = 'powerbank',
    ['label'] = 'Power Bank',
    ['weight'] = 50,
    ['type'] = 'item',
    ['image'] = 'powerbank.png',
    ['unique'] = false,
    ['useable'] = true,
    ['shouldClose'] = false,
    ['combinable'] = nil,
    ['description'] = 'Portable charger for high-end phones'
},

phone = {
    ["name"] = "phone",
    ["label"] = "Classic Phone",
    ["weight"] = 150,
    ["type"] = "item",
    ["image"] = "phone.png",
    ["unique"] = true,
    ["useable"] = true,
    ["shouldClose"] = true,
    ["combinable"] = nil,
    ["description"] = "They say that Quasar Smartphone is the same as an iPhone, what do you think?"
},

black_phone = {
    ["name"] = "black_phone",
    ["label"] = "Black Phone",
    ["weight"] = 150,
    ["type"] = "item",
    ["image"] = "black_phone.png",
    ["unique"] = true,
    ["useable"] = true,
    ["shouldClose"] = true,
    ["combinable"] = nil,
    ["description"] = "They say that Quasar Smartphone is the same as an iPhone, what do you think?"
},

yellow_phone = {
    ["name"] = "yellow_phone",
    ["label"] = "Yellow Phone",
    ["weight"] = 150,
    ["type"] = "item",
    ["image"] = "yellow_phone.png",
    ["unique"] = true,
    ["useable"] = true,
    ["shouldClose"] = true,
    ["combinable"] = nil,
    ["description"] = "They say that Quasar Smartphone is the same as an iPhone, what do you think?"
},

red_phone = {
    ["name"] = "red_phone",
    ["label"] = "Red Phone",
    ["weight"] = 150,
    ["type"] = "item",
    ["image"] = "red_phone.png",
    ["unique"] = true,
    ["useable"] = true,
    ["shouldClose"] = true,
    ["combinable"] = nil,
    ["description"] = "They say that Quasar Smartphone is the same as an iPhone, what do you think?"
},

green_phone = {
    ["name"] = "green_phone",
    ["label"] = "Green Phone",
    ["weight"] = 150,
    ["type"] = "item",
    ["image"] = "green_phone.png",
    ["unique"] = true,
    ["useable"] = true,
    ["shouldClose"] = true,
    ["combinable"] = nil,
    ["description"] = "They say that Quasar Smartphone is the same as an iPhone, what do you think?"
},

white_phone = {
    ["name"] = "white_phone",
    ["label"] = "White Phone",
    ["weight"] = 150,
    ["type"] = "item",
    ["image"] = "white_phone.png",
    ["unique"] = true,
    ["useable"] = true,
    ["shouldClose"] = true,
    ["combinable"] = nil,
    ["description"] = "They say that Quasar Smartphone is the same as an iPhone, what do you think?"
},

To reproduce the item information with data such as name or phone number, we will have to add this in qb-inventory/html/js/app.js within the generateDescription function.

Don't forget to add this just below the function title, on line one within it. Otherwise you can add the items below one by one, but this way we will save lines of code.

let phoneMeta = ['phone', 'black_phone', 'yellow_phone', 'white_phone', 'red_phone', 'green_phone']
if (phoneMeta.includes(itemData.name)) {
    return "<p><strong>Phone Number: </strong><span>" +
        itemData.info.phoneNumber +
        "</span></p><p><strong>Firstname: </strong><span>" +
        itemData.info.charinfo.firstname +
        "</span></p><p><strong>Lastname: </strong><span>" +
        itemData.info.charinfo.lastname +
        "</span></p>";
}
Item for ox_inventory
["cryptostick"] = {
    label = "Crypto Stick",
    weight = 50,
    stack = false,
},

["phone_dongle"] = {
    label = "Phone Dongle",
    weight = 50,
    stack = false,
},

["powerbank"] = {
    label = "Power Bank",
    weight = 50,
    stack = false,
},

['phone'] = {
    label = 'Classic Phone',
    weight = 150,
    stack = false,
    consume = 0,
    client = {
        export = "qs-smartphone-pro.UsePhoneItem",
        add = function(total)
            TriggerServerEvent('phone:itemAdd')
        end,

        remove = function(total)
            TriggerServerEvent('phone:itemDelete')
        end
    }
},

['black_phone'] = {
    label = 'Black Phone',
    weight = 150,
    stack = false,
    consume = 0,
    client = {
        export = "qs-smartphone-pro.UsePhoneItem",
        add = function(total)
            TriggerServerEvent('phone:itemAdd')
        end,

        remove = function(total)
            TriggerServerEvent('phone:itemDelete')
        end
    }
},

['yellow_phone'] = {
    label = 'Yellow Phone',
    weight = 150,
    stack = false,
    consume = 0,
    client = {
        export = "qs-smartphone-pro.UsePhoneItem",
        add = function(total)
            TriggerServerEvent('phone:itemAdd')
        end,

        remove = function(total)
            TriggerServerEvent('phone:itemDelete')
        end
    }
},

['red_phone'] = {
    label = 'Red Phone',
    weight = 150,
    stack = false,
    consume = 0,
    client = {
        export = "qs-smartphone-pro.UsePhoneItem",
        add = function(total)
            TriggerServerEvent('phone:itemAdd')
        end,

        remove = function(total)
            TriggerServerEvent('phone:itemDelete')
        end
    }
},

['green_phone'] = {
    label = 'Green Phone',
    weight = 150,
    stack = false,
    consume = 0,
    client = {
        export = "qs-smartphone-pro.UsePhoneItem",
        add = function(total)
            TriggerServerEvent('phone:itemAdd')
        end,

        remove = function(total)
            TriggerServerEvent('phone:itemDelete')
        end
    }
},

['white_phone'] = {
    label = 'White Phone',
    weight = 150,
    stack = false,
    consume = 0,
    client = {
        export = "qs-smartphone-pro.UsePhoneItem",
        add = function(total)
            TriggerServerEvent('phone:itemAdd')
        end,

        remove = function(total)
            TriggerServerEvent('phone:itemDelete')
        end
    }
},
Items for core_inventory

In core_inventory/config.lua find ItemCategories and add in it:

["uniqueItem"] = {
    color = "#87ceeb",
    takeSound = 'take',
    putSound = 'put',
},

In the case of core_inventory it varies whether we use esx or qbcore. In case of esx:

INSERT INTO `items` (`name`, `label`, `weight`, `category`) VALUES
    ('cryptostick', 'Crypto Stick', 50, 'uniqueItem'),
    ('phone_dongle', 'Phone Dongle', 50, 'uniqueItem'),
    ('powerbank', 'Power Bank', 50, 'uniqueItem'),
    ('phone', 'Classic Phone', 150, 'uniqueItem'),
    ('black_phone', 'Black Phone', 150, 'uniqueItem'),
    ('yellow_phone', 'Yellow Phone', 150, 'uniqueItem'),
    ('red_phone', 'Red Light Phone', 150, 'uniqueItem'),
    ('green_phone', 'Green Phone', 150, 'uniqueItem'),
    ('white_phone', 'White Phone', 150, 'uniqueItem')
;

In the case of qbcore:

cryptostick = {
    ['name'] = 'cryptostick',
    ['label'] = 'Crypto Stick',
    ['weight'] = 50,
    ['type'] = 'item',
    ['image'] = 'cryptostick.png',
    ['category'] = 'uniqueItem',
    ['unique'] = false,
    ['useable'] = true,
    ['shouldClose'] = false,
    ['combinable'] = nil,
    ['description'] = 'A suspicious USB...'
},

phone_dongle = {
    ['name'] = 'phone_dongle',
    ['label'] = 'Phone Dongle',
    ['weight'] = 50,
    ['type'] = 'item',
    ['image'] = 'phone_dongle.png',
    ['category'] = 'uniqueItem',
    ['unique'] = false,
    ['useable'] = true,
    ['shouldClose'] = false,
    ['combinable'] = nil,
    ['description'] = 'Telephone key to make a bypass, maybe...'
},

powerbank = {
    ['name'] = 'powerbank',
    ['label'] = 'Power Bank',
    ['weight'] = 50,
    ['type'] = 'item',
    ['image'] = 'powerbank.png',
    ['category'] = 'uniqueItem',
    ['unique'] = false,
    ['useable'] = true,
    ['shouldClose'] = false,
    ['combinable'] = nil,
    ['description'] = 'Portable charger for high-end phones'
},

phone = {
    ['name'] = 'phone',
    ['label'] = 'Classic Phone',
    ['weight'] = 150,
    ['type'] = 'item',
    ['image'] = 'phone.png',
    ['category'] = 'uniqueItem',
    ['unique'] = true,
    ['useable'] = true,
    ['shouldClose'] = true,
    ['combinable'] = nil,
    ['description'] = 'They say that Quasar Smartphone is the same as an iPhone, what do you think?'
},

black_phone = {
    ['name'] = 'black_phone',
    ['label'] = 'Black Phone',
    ['weight'] = 150,
    ['type'] = 'item',
    ['image'] = 'black_phone.png',
    ['category'] = 'uniqueItem',
    ['unique'] = true,
    ['useable'] = true,
    ['shouldClose'] = true,
    ['combinable'] = nil,
    ['description'] = 'They say that Quasar Smartphone is the same as an iPhone, what do you think?'
},

yellow_phone = {
    ['name'] = 'yellow_phone',
    ['label'] = 'Yellow Phone',
    ['weight'] = 150,
    ['type'] = 'item',
    ['image'] = 'yellow_phone.png',
    ['category'] = 'uniqueItem',
    ['unique'] = true,
    ['useable'] = true,
    ['shouldClose'] = true,
    ['combinable'] = nil,
    ['description'] = 'They say that Quasar Smartphone is the same as an iPhone, what do you think?'
},

red_phone = {
    ['name'] = 'red_phone',
    ['label'] = 'Red Phone',
    ['weight'] = 150,
    ['type'] = 'item',
    ['image'] = 'red_phone.png',
    ['category'] = 'uniqueItem',
    ['unique'] = true,
    ['useable'] = true,
    ['shouldClose'] = true,
    ['combinable'] = nil,
    ['description'] = 'They say that Quasar Smartphone is the same as an iPhone, what do you think?'
},

green_phone = {
    ['name'] = 'green_phone',
    ['label'] = 'Green Phone',
    ['weight'] = 150,
    ['type'] = 'item',
    ['image'] = 'green_phone.png',
    ['category'] = 'uniqueItem',
    ['unique'] = true,
    ['useable'] = true,
    ['shouldClose'] = true,
    ['combinable'] = nil,
    ['description'] = 'They say that Quasar Smartphone is the same as an iPhone, what do you think?'
},

white_phone = {
    ['name'] = 'white_phone',
    ['label'] = 'White Phone',
    ['weight'] = 150,
    ['type'] = 'item',
    ['image'] = 'white_phone.png',
    ['category'] = 'uniqueItem',
    ['unique'] = true,
    ['useable'] = true,
    ['shouldClose'] = true,
    ['combinable'] = nil,
    ['description'] = 'They say that Quasar Smartphone is the same as an iPhone, what do you think?'
},
Items for esx_inventory
INSERT INTO `items` (`name`, `label`, `weight`) VALUES
    ('cryptostick', 'Crypto Stick', 50),
    ('phone_dongle', 'Phone Dongle', 50),
    ('powerbank', 'Power Bank', 50),
    ('phone', 'Classic Phone', 150),
    ('black_phone', 'Black Phone', 150),
    ('yellow_phone', 'Yellow Phone', 150),
    ('red_phone', 'Red Light Phone', 150),
    ('green_phone', 'Green Phone', 150),
    ('white_phone', 'White Phone', 150)
;

Unique Phones

If your inventory is not in the list, you can ask the creator of your inventory for help to make the compatibility by sending them the Smartphone PRO files to make it compatible.

If you do not use any of these inventory systems, you can still use the phone but without metadata on the item and the phones will not be unique.

The unique telephone system will work automatically if you use any of the inventory listed below, if yours is not listed, you will automatically have no unique phones.

In case your inventory is not listed, you can edit the config.lua using Config.UniquePhone and Config.Inventory, adding more values on the client/custom and server/custom side, which are open source so you can edit yourself these values if you have the necessary knowledge.


Voice system & configuration

If you use a voice other than pma, mumble, toko or salty, you can edit them in client/custom/voice or server/custom/voice.

If you renamed your voice, you will have to edit the export names in client/custom/voice or server/custom/voice.

To configure the voice, we will simply go to config.lua and in Config.Voice we will select the voice we want to use as follows. If you use another one, edit it yourself in the client or server custom folders.

-- pma, mumble, toko, salty (no others)
Config.Voice = 'pma'

Photos, videos & webhooks

Do not run the asset or open a ticket without first completing this step.

You must also add the token or webhook in the qs-videos/config/config.js asset.

Due to the new terms of Discord, many servers will no longer be able to use the webhooks that were usually used, so we recommend using fivemanage.com, within the following sliding box, you will find a guide on how to create the token and use it. of the.

Option via fivemanage.com

Thanks to the new collaboration with fivemanage.com, we can now use this private service to upload images, videos or audios. With this system we can do these actions incredibly quickly.

In order to upload the files through fivemanage.com, we will have to register on the website and generate a token, which we will place in the Config.Webhook of our Smartphone or Smartphone PRO.

We have an exclusive video on how to generate a token and integrate it by clicking here.

Option via webhook (Not working at this time)

The main dependency for photographs and videos is the use of webhooks, which is fully explained in the Webhhook System post.

To add the webhooks to this asset, we will have to go to qs-smartphone-pro/server/custom/webhooks, there we will find the configurable ones to add the webhooks.

If you skip this step, you will not be able to take photos or videos on the phone, avoid skipping this step before opening a ticket in the community.


Basic asset 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/custom and server/custom 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.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/custom/framework or server/custom/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/custom or server/custom. We do not recommend using these configurations if you do not have the basics of programming.


Last updated