# Install guide

1. Download the resources.
2. (Optional) There are a cityhall map (desk). This is a .ymap. If you want to use then copy the idcardmap to your resource folder and start it. \
   server.cfg -> ensure idcardmap&#x20;
3. (Optional) The voice files are in the ogg folder. Copy the all .ogg files and paste into your interact-sound script. The location (default): resources/\[standalone]/interact-sound/client/html/sounds
4. Copy qb\_realistic\_idcard into your resource folder. I suggest the main folder or edit server/PhotoBooth.js path.&#x20;
5. The discord webhooks not supported anymore because the links will be broken after a few days. So the script use fivemanage.com to store the images. Ofc the script is full opensource so you can edit it if you would like to use something else. We can help you if you have something problem. Just write on FiveM forum or Discord :)\
   \- Go to [https://fivemanage.com/login](https://fivemanage.com/login)\
   \- Login Discord or Github (or email)\
   \- Create New Team (if you haven't)\
   \- Basic plan: 10GB free storage. An image below 2MB. So you can storage 5000+ selfie + signature. \
   \- Left side panel click the Tokes.\
   \- Click Create new token and copy.\
   \- Open qb\_realistic\_idcard/server/PhotoBooth.js file.\
   ![](https://1032749803-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9JoELqbd8UNsnzDcJtMO%2Fuploads%2FmOrZ87jBBoITFs0iGPGU%2Fimage.png?alt=media\&token=a075f78a-204c-498f-afbf-d43967b00a3a)\
   \- Edit the apiKey and save the file.\
   \- (If the script not in the main resource folder then don't forget to edit mainSavePath too.)
6.  Default item names are: id\_card\_r, driver\_license\_r and selfie. You can edit it in the config.lua\
    Add the items into your qb-core/shared/items.lua\


    ```
    id_card_r                      = { name = 'id_card', label = 'ID Card', weight = 0, type = 'item', image = 'id_card_r.png', unique = true, useable = true, shouldClose = false, description = 'A card containing all your information to identify yourself' },
    driver_license_r               = { name = 'driver_license', label = 'Drivers License', weight = 0, type = 'item', image = 'driver_license_r.png', unique = true, useable = true, shouldClose = false, description = 'Permit to show you can drive a vehicle' },
    selfie                         = { name = 'selfie', label = 'Selfie', weight = 0, type = 'item', image = 'selfie.png', unique = true, useable = true, shouldClose = false, description = 'A selfie' },
    ```
7. Run these sql queries:

```
CREATE TABLE `rrp_licenses` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `dd` VARCHAR(36) NOT NULL COLLATE 'utf8_general_ci',
    `owner` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8_general_ci',
    `type` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8_general_ci',
    `sId` INT(11) NOT NULL DEFAULT '0',
    `pId` INT(11) NOT NULL DEFAULT '0',
    `info` LONGTEXT NOT NULL COLLATE 'utf8mb4_bin',
    `iss` DATE NULL DEFAULT curdate(),
    `exp` DATE NULL DEFAULT (curdate() + interval 5 year),
    `status` VARCHAR(50) NULL DEFAULT 'valid' COLLATE 'utf8_general_ci',
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `dd` (`dd`) USING BTREE,
    INDEX `owner` (`owner`) USING BTREE,
    CONSTRAINT `info` CHECK (json_valid(`info`))
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB
AUTO_INCREMENT=6;
```

```
CREATE TABLE `selfies` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `url` LONGTEXT NOT NULL COLLATE 'utf8_general_ci',
    `citizenid` VARCHAR(11) NOT NULL COLLATE 'utf8mb4_general_ci',
    PRIMARY KEY (`id`) USING BTREE
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB
AUTO_INCREMENT=49;
```

```
CREATE TABLE `signatures` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `url` LONGTEXT NOT NULL COLLATE 'utf8_general_ci',
    `citizenid` VARCHAR(11) NOT NULL COLLATE 'utf8mb4_general_ci',
    PRIMARY KEY (`id`) USING BTREE
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB
AUTO_INCREMENT=44;
```

8. ensure qb\_realistic\_idcard

