💻Installation
Last updated
Last updated
You will need the latest version of es_extended.
Extract the contents of the archive to your resources folder.
Start the resource near the top of your resources in your server.cfg.
You will need the latest version of interact-sound.
Extract the contents of the archive to your resources folder.
Start the resource near the top of your resources in your server.cfg.
1 - Paste the code below in qb-core/shared/items.lua
zatpc = { name = 'zatpc', label = 'Gaming Setup', weight = 1, type = 'item', image = 'zatpc.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = 'Gaming Setup' },
zatminingrack = { name = 'zatminingrack', label = 'Mining Rack', weight = 1, type = 'item', image = 'zatminingrack.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = 'Metal Rack with 10 GPU slots' },
zatgpu = { name = 'zatgpu', label = 'GPU', weight = 1, type = 'item', image = 'zatgpu.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = 'GPU' },
zatcpu = { name = 'zatcpu', label = 'CPU', weight = 1, type = 'item', image = 'zatcpu.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = 'CPU' },
zatps = { name = 'zatps', label = 'Power Supply', weight = 1, type = 'item', image = 'zatps.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = 'Power Supply' },
zatmb = { name = 'zatmb', label = 'Mother Board', weight = 1, type = 'item', image = 'zatmb.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = 'Mother Board' },
zatmodem = { name = 'zatmodem', label = 'Modem', weight = 1, type = 'item', image = 'zatmodem.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = 'Modem' },
zatbaskets = { name = 'zatbaskets', label = 'Small Wicker Basket', weight = 1, type = 'item', image = 'zatbaskets.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = 'Wicker Basket used for storage.' },
zatbasketm = { name = 'zatbasketm', label = 'Wicker Basket', weight = 1, type = 'item', image = 'zatbasketm.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = 'Wicker Basket used for storage.' },
zatminingfan = { name = 'zatminingfan', label = 'GPU Rack Cooler', weight = 100, type = 'item', image = 'zatminingfan.png', unique = true, useable = true, shouldClose = true, combinable = nil, description = 'Fan - 60 and 120 RPM...' },
2 - Paste the code below in qb/ps-inventory/html/js/app.js
case "zatgpu":
return `<p>Type: ${itemData.info.type}</p>
<p>Performance:${itemData.info.performance}%</p>
<p>Freq:${itemData.info.hz}Ghz</p>`;
case "zatcpu":
return `<p>Type: ${itemData.info.type}</p>
<p>Performance:${itemData.info.performance}%</p>`;
case "zatmb":
return `<p>Type: ${itemData.info.type}</p>
<p>Performance:${itemData.info.performance}%</p>`;
case "zatps":
return `<p>Type: ${itemData.info.type}</p>
<p>Performance:${itemData.info.performance}%</p>`;
3 - Copy the images from [images] and paste them into qb/ps-inventory/html/images.
1 - Paste the code below under ox_inventory/data/items.lua
["zatpc"] = {
label = "Gaming Setup",
weight = 1,
stack = false,
close = true,
description = "Gaming Setup",
client = {
image = "zatpc.png",
}
},
["zatminingrack"] = {
label = "Mining Rack",
weight = 1,
stack = false,
close = true,
description = "Metal Rack with 10 GPU slots",
client = {
image = "zatminingrack.png",
}
},
["zatgpu"] = {
label = "GPU",
weight = 1,
stack = false,
close = true,
description = "GPU",
client = {
image = "zatgpu.png",
}
},
["zatcpu"] = {
label = "CPU",
weight = 1,
stack = false,
close = true,
description = "CPU",
client = {
image = "zatcpu.png",
}
},
["zatps"] = {
label = "Power Supply",
weight = 1,
stack = false,
close = true,
description = "Power Supply",
client = {
image = "zatps.png",
}
},
["zatmb"] = {
label = "Mother Board",
weight = 1,
stack = false,
close = true,
description = "Mother Board",
client = {
image = "zatmb.png",
}
},
["zatmodem"] = {
label = "Modem",
weight = 1,
stack = false,
close = true,
description = "Modem",
client = {
image = "zatmodem.png",
}
},
["zatbaskets"] = {
label = "Small Wicker Basket",
weight = 1,
stack = false,
close = true,
description = "Wicker Basket used for storage.",
client = {
image = "zatbaskets.png",
}
},
["zatbasketm"] = {
label = "Wicker Basket",
weight = 1,
stack = false,
close = true,
description = "Wicker Basket used for storage.",
client = {
image = "zatbasketm.png",
}
},
["zatminingfan"] = {
label = "Rack Cooler",
weight = 100,
stack = false,
close = true,
description = "Fan - 60 and 120 RPM...",
client = {
image = "zatresfan.png",
}
},
2 - Paste the code below into ox_inventory/modules/items/client.lua
local MiningProps = {
["zatpc"] = {model = 'prop_gaming_table'},
["zatminingrack"] = {model = 'prop_mining_rack'},
["zatminingfan"] = {model = 'prop_mining_fan'},
["zatbaskets"] = {model = 'prop_basket_s'},
["zatbasketm"] = {model = 'prop_basket_m'},
}
Item('zatpc', function(data, slot)
ox_inventory:useItem(data, function(data)
if data then
itemInfo= {}
TriggerEvent("zat-desktop:client:UseItem", "zatpc", MiningProps["zatpc"].model, itemInfo)
TriggerServerEvent("zat-desktop:server:RemoveItemOx", slot, nil)
end
end)
end)
Item('zatminingrack', function(data, slot)
ox_inventory:useItem(data, function(data)
if data then
itemInfo= {}
TriggerEvent("zat-desktop:client:UseItem", "zatminingrack", MiningProps["zatminingrack"].model, itemInfo)
TriggerServerEvent("zat-desktop:server:RemoveItemOx", slot, nil)
end
end)
end)
Item('zatminingfan', function(data, slot)
ox_inventory:useItem(data, function(data)
if data then
itemInfo= {}
TriggerEvent("zat-desktop:client:UseItem", "zatminingfan", MiningProps["zatminingfan"].model, itemInfo)
TriggerServerEvent("zat-desktop:server:RemoveItemOx", slot, nil)
end
end)
end)
Item('zatbaskets', function(data, slot)
ox_inventory:useItem(data, function(data)
if data then
itemInfo= {}
TriggerEvent("zat-desktop:client:UseItem", "zatbaskets", MiningProps["zatbaskets"].model, itemInfo)
TriggerServerEvent("zat-desktop:server:RemoveItemOx", slot, nil)
end
end)
end)
Item('zatbasketm', function(data, slot)
ox_inventory:useItem(data, function(data)
if data then
itemInfo= {}
TriggerEvent("zat-desktop:client:UseItem", "zatbasketm", MiningProps["zatbasketm"].model, itemInfo)
TriggerServerEvent("zat-desktop:server:RemoveItemOx", slot, nil)
end
end)
end)
3- Copy the images from [images] and paste them into ox_inventory/web/images.
1- Add the code below into qs-inventory/shared/items.lua:
['zatpc'] = {
['name'] = 'zatpc',
['label'] = 'Gaming Setup',
['weight'] = 0,
['type'] = 'item',
['image'] = 'zatpc.png',
['unique'] = true,
['useable'] = true,
['shouldClose'] = false,
['combinable'] = nil,
['description'] = '...'
},
['zatminingrack'] = {
['name'] = 'zatminingrack',
['label'] = 'Mining Rack',
['weight'] = 0,
['type'] = 'item',
['image'] = 'zatminingrack.png',
['unique'] = true,
['useable'] = true,
['shouldClose'] = false,
['combinable'] = nil,
['description'] = '...'
},
['zatgpu'] = {
['name'] = 'zatgpu',
['label'] = 'GPU',
['weight'] = 0,
['type'] = 'item',
['image'] = 'zatgpu.png',
['unique'] = true,
['useable'] = true,
['shouldClose'] = false,
['combinable'] = nil,
['description'] = '...'
},
['zatcpu'] = {
['name'] = 'zatcpu',
['label'] = 'CPU',
['weight'] = 0,
['type'] = 'item',
['image'] = 'zatcpu.png',
['unique'] = true,
['useable'] = true,
['shouldClose'] = false,
['combinable'] = nil,
['description'] = '...'
},
['zatps'] = {
['name'] = 'zatps',
['label'] = 'Power Supply',
['weight'] = 0,
['type'] = 'item',
['image'] = 'zatps.png',
['unique'] = true,
['useable'] = true,
['shouldClose'] = false,
['combinable'] = nil,
['description'] = '...'
},
['zatmb'] = {
['name'] = 'zatmb',
['label'] = 'Mother Board',
['weight'] = 0,
['type'] = 'item',
['image'] = 'zatmb.png',
['unique'] = true,
['useable'] = true,
['shouldClose'] = false,
['combinable'] = nil,
['description'] = '...'
},
['zatmodem'] = {
['name'] = 'zatmodem',
['label'] = 'Silent Fan',
['weight'] = 0,
['type'] = 'item',
['image'] = 'zatmodem.png',
['unique'] = true,
['useable'] = true,
['shouldClose'] = false,
['combinable'] = nil,
['description'] = '...'
},
['zatbaskets'] = {
['name'] = 'zatbaskets',
['label'] = 'Small Wicker Basket',
['weight'] = 0,
['type'] = 'item',
['image'] = 'zatbaskets.png',
['unique'] = true,
['useable'] = true,
['shouldClose'] = false,
['combinable'] = nil,
['description'] = '...'
},
['zatbasketm'] = {
['name'] = 'zatbasketm',
['label'] = 'Wicker Basket',
['weight'] = 0,
['type'] = 'item',
['image'] = 'zatbasketm.png',
['unique'] = true,
['useable'] = true,
['shouldClose'] = false,
['combinable'] = nil,
['description'] = '...'
},
['zatminingfan'] = {
['name'] = 'zatminingfan',
['label'] = 'GPU Rack Cooler',
['weight'] = 0,
['type'] = 'item',
['image'] = 'zatminingfan.png',
['unique'] = true,
['useable'] = true,
['shouldClose'] = false,
['combinable'] = nil,
['description'] = '...'
},
2 - Paste the code below into qs-inventory/server/custom/misc/CreateUseableItem.lua
local MiningProps = {
["zatpc"] = {model = 'prop_gaming_table'},
["zatminingrack"] = {model = 'prop_mining_rack'},
["zatminingfan"] = {model = 'prop_mining_fan'},
["zatbaskets"] = {model = 'prop_basket_s'},
["zatbasketm"] = {model = 'prop_basket_m'},
}
CreateUsableItem('zatpc', function(source, item)
local src = source
itemInfo= {}
TriggerClientEvent("zat-desktop:client:UseItem", src, "zatpc", MiningProps["zatpc"].model, itemInfo)
exports['qs-inventory']:RemoveItem(src, "zatpc", 1)
end)
CreateUsableItem('zatminingrack', function(source, item)
local src = source
itemInfo= {}
TriggerClientEvent("zat-desktop:client:UseItem", src, "zatminingrack", MiningProps["zatminingrack"].model, itemInfo)
exports['qs-inventory']:RemoveItem(src, "zatminingrack", 1)
end)
CreateUsableItem('zatminingfan', function(source, item)
local src = source
itemInfo= {}
TriggerClientEvent("zat-desktop:client:UseItem", src, "zatminingfan", MiningProps["zatminingfan"].model, itemInfo)
exports['qs-inventory']:RemoveItem(src, "zatminingfan", 1)
end)
CreateUsableItem('zatbaskets', function(source, item)
local src = source
itemInfo= {}
TriggerClientEvent("zat-desktop:client:UseItem", src, "zatbaskets", MiningProps["zatbaskets"].model, itemInfo)
exports['qs-inventory']:RemoveItem(src, "zatbaskets", 1)
end)
CreateUsableItem('zatbasketm', function(source, item)
local src = source
itemInfo= {}
TriggerClientEvent("zat-desktop:client:UseItem", src, "zatbasketm", MiningProps["zatbasketm"].model, itemInfo)
exports['qs-inventory']:RemoveItem(src, "zatbasketm", 1)
end)
Add the code below to qs-inventory/config/metadata.js:
} else if (itemData.name == "zatgpu") {
$(".item-info-title").html("<p>" + label + "</p>");
$(".item-info-description").html(
"<p><strong>Type: </strong><span>" +
itemData.info.type +
"</span></p><p><strong>Performance: </strong><span>" +
itemData.info.performance +
"</span></p><p><strong>Freq: </strong><span>" +
itemData.info.hz +
"</span></p>"
);
} else if (itemData.name == "zatcpu") {
$(".item-info-title").html("<p>" + label + "</p>");
$(".item-info-description").html(
"<p><strong>Type: </strong><span>" +
itemData.info.type +
"</span></p><p><strong>Performance: </strong><span>" +
itemData.info.performance +
"</span></p>"
);
} else if (itemData.name == "zatmb") {
$(".item-info-title").html("<p>" + label + "</p>");
$(".item-info-description").html(
"<p><strong>Type: </strong><span>" +
itemData.info.type +
"</span></p><p><strong>Performance: </strong><span>" +
itemData.info.performance +
"</span></p>"
);
} else if (itemData.name == "zatps") {
$(".item-info-title").html("<p>" + label + "</p>");
$(".item-info-description").html(
"<p><strong>Type: </strong><span>" +
itemData.info.type +
"</span></p><p><strong>Performance: </strong><span>" +
itemData.info.performance +
"</span></p>"
);
Copy the images from [images] and paste them into qs-inventory/html/images.
Import the sql files from [SQLs] folder into your database.
copy the drone.ogg file into interact-sound/client/html/sounds