Optional, if you want the Penthouse used in the trailer here is the link to download:
2. SQL
Inside the package you will find the SQL to install in your database.
3. CONFIG.LUA
Open config.lua and choose your framework, customize your packages, notifications and translations
```lua
return {
Framework = 'qb', --- @param Set 'esx' | 'qb' | 'qbx'
AdminCommand = 'createvip',
AdminsPermission = {
"license:6b08a2a7d211ed358678d598bd85997a4c554e39", -- Example License ID
},
RedeemCommand = 'redeem',
Packages = {
['diamond'] ={
vip_coins = {
amount = 100,
},
account_money = {
account = 'bank',
amount = 100000,
},
items = {
items = {
{item_name = 'water_bottle', amount = 2},
{item_name = 'water_bottle', amount = 2},
},
},
penthouse = {
penthouse_name = 'penthouse1',
replace_penthouse = 50,
}
},
-- ['bronze'] ={
-- vip_coins = {
-- amount = 10,
-- },
-- account_money = {
-- account = 'bank',
-- amount = 50000,
-- },
-- },
},
Penthouses = {
['penthouse1'] = {
label = "Penthouse",
blip = {sprite = 40, col = 48, scale = 0.7},
points = {enter = vec4(-305.07, -721.07, 28.03, 159.58), out = vec4(-287.81, -722.86, 125.47, 247.9)},
stash = {coords = vec4(-286.41, -735.21, 125.49, 330.46), weight = 500000, slots = 50},
closet = vec4(-270.1, -731.41, 125.47, 245.9),
},
},
Stands = {
['premium_deluxe'] = {
label = "Premium Deluxe",
vehicleType = 'car',
blip = {sprite = 326, col = 46, scale = 0.7},
spawn_test = vector4(-34.641754, -1687.397827, 28.347290, 209.76377),
vehicles = {
[1] = { label = "Nero 2", spawn = "nero2", price = 10, coords = vector4(-40.92, -1689.64, 28.36, 27.34),},
[2] = { label = "Entity 2", spawn = "entity2", price = 10, coords = vector4(-45.54, -1691.65, 28.41, 23.67),},
[3] = { label = "Prototipo", spawn = "prototipo", price = 30, coords = vector4(-50.69, -1693.66, 28.49, 27.36),},
[4] = { label = "Fister 811", spawn = "pfister811", price = 20, coords = vector4(-55.83, -1691.51, 28.49, 313.37),},
[5] = { label = "Tyrant Huracan", spawn = "tyrant", price = 30, coords = vector4(-60.17, -1687.01, 28.49, 246.28),},
[6] = { label = "TurismoR", spawn = "turismor", price = 30, coords = vector4(-56.08, -1682.76, 28.49, 222.97),},
[7] = { label = "Adder", spawn = "adder", price = 30, coords = vector4(-52.48, -1678.89, 28.41, 226.15),},
},
},
['helis'] = {
label = "Helis VIP",
vehicleType = 'air',
blip = {sprite = 43, col = 46, scale = 0.7},
spawn_test = vector4(-995.5, -2986.61, 13.95, 59.77),
vehicles = {
[1] = { label = "Supervolito2", spawn = "supervolito2", price = 50, coords = vector4(-981.87, -3030.22, 12.95, 327.0),},
[2] = { label = "Swift2", spawn = "swift2", price = 75, coords = vector4(-988.19, -3026.29, 12.95, 328.22),},
[3] = { label = "Volatus", spawn = "volatus", price = 100, coords = vector4(-997.26, -3021.49, 12.95, 345.97),},
},
},
},
Marker = {
type = 2,
scale = {x = 0.2, y = 0.2, z = 0.1},
colour = {r = 0, g = 248, b = 185, a = 120},
movement = 1
},
Translations = {
['no_permissions'] = "You don't have permission!",
['no_package_name'] = "You need to write the package vip name after the command!",
['no_package_found'] = "No package VIP found with that name",
['create_success'] = "You registered a new code VIP",
['redeem_no_code'] = "You need to insert the vip code after the command!",
['redeem_cooldown'] = "You need to wait %s seconds before using the command again!",
['redeem_coins'] = "%s coins VIP",
['redeem_account'] = "%sโฌ",
['redeem_items'] = "Check your inventory for the items of the VIP",
['redeem_penthouse'] = "You received a penthouse",
['redeem_penthouse_replaced'] = "Since you already have the penthouse, you got more %s coins VIP",
['redeem_failed'] = "Something went wrong",
['penthouse_no_keys'] = "You don't have the keys",
['penthouse_no_ringbell'] = "No doorbell available at the moment",
['penthouse_dw_enter'] = "~b~[E]~s~ - Enter | ~y~[G]~s~ - DoorBell",
['penthouse_dw_out'] = "~b~[E]~s~ - Exit Penthouse",
['penthouse_dw_stash'] = "~b~[E]~s~ - Stash",
['penthouse_dw_closet'] = "~b~[E]~s~ - Closet",
['ringbell_ringing'] = "ID: %s is ringing the bell.",
['ringbell_accept'] = "Accept",
['ringbell_refuse'] = "Refuse",
['ringbell_refused'] = "I don't think they want to open the door for you.",
['stand_testdrive'] = "[E] - Test Drive",
['stand_testdrive_already'] = "You already are doing a test drive",
['stand_buy'] = "~y~[G] - Buy~w~",
['stand_no_money'] = "You don't have enough coins VIP!",
['stand_bought'] = "Congratulations on your new purchase, check your garage!",
},
}
```
4. EDITABLE_CLIENT.LUA
You have here the events to edit your car keys event, custom stash and custom clothing script.
5. EDITABLE_SERVER.LUA
You can edit the webhook logs and sql query to insert a vehicle when bought in your database if you use a garage script that changed the database of player vehicles.
6. TEBEX INTEGRATION
Insert this command on Game Commands in every package, change the packagename with the name of the vip you created in the config of our script.
purchase_package_tebex {"transid":"{transaction}", "packagename":"bronze"}