2026-04-14 17:41:39 +02:00

98 lines
3.7 KiB
JavaScript

async function createVehicleToPlayer(playerId, postBody, res) {
if (config.Framework.includes("qb")) {
let result = await query(`
select * from \`players\`
where \`citizenid\` = '${playerId}'
`)
if (result === false) return res.json({ code: 404, message: "SQL Error Appeared." })
if (result.length === 0) return res.json({ code: 404, message: "Player not found." })
result = result [0]
const plate = await randomPlate()
result = await query(`
insert into \`player_vehicles\` (
\`license\`,
\`citizenid\`,
\`vehicle\`,
\`hash\`,
\`mods\`,
\`plate\`,
\`garage\`,
\`state\`,
\`balance\`,
\`paymentamount\`,
\`paymentsleft\`,
\`financetime\`
) values (
'${result.license}',
'${playerId}',
'${postBody.model}',
'${GetHashKey(postBody.model)}',
'${generateVehicleMods(postBody.model, plate)}',
'${plate}',
'pillboxgarage',
1,
0,
0,
0,
0
)`)
if (result === false) return res.json({ code: 404, message: "SQL Error Appeared." })
} else if (config.Framework.includes("esx")) {
let result = await query(`
select * from \`users\`
where \`identifier\` = '${playerId}'
`)
if (result === false) return res.json({ code: 404, message: "SQL Error Appeared." })
if (result.length === 0) return res.json({ code: 404, message: "Player not found." })
result = result [0]
const plate = await randomPlate()
result = await query(`
insert into \`owned_vehicles\` (
\`owner\`, \`plate\`, \`vehicle\`, \`type\`, \`stored\`, \`parking\`, \`mileage\`
) values (
'${playerId}',
'${plate}',
'${generateVehicleMods(postBody.model, plate)}',
'car',
1,
'SanAndreasAvenue',
0
)
`)
if (result === false) return res.json({ code: 404, message: "SQL Error Appeared." })
}
return true
}
/**
* @param {string} key
* @param {string} model
* @param {string} playerIdentifier
* @returns {string}
*/
app.use("/vehiclesGiveVehicleToPlayer.lvorex", express.json())
app.post("/vehiclesGiveVehicleToPlayer.lvorex", async (req, res) => {
const postBody = req.body
const { keyFound, userKey } = await controlKey(req, postBody.key)
if (keyFound === false) return res.json({ code: 404, message: "Not authorized." })
const PermissionCheck = await checkPermission(userKey.rank, "Vehicles", 5)
if (!PermissionCheck) return res.json({ code: 401, message: "Your rank is not enough." })
const playerId = Number(postBody.playerIdentifier)
let response = undefined
if (isNaN(playerId)) {
response = await createVehicleToPlayer(postBody.playerIdentifier, postBody, res)
} else {
const onlinePlayers = await getOnlinePlayers()
const NeededPlayer = onlinePlayers.find(p => Number(p.playerId) === playerId)
if (!NeededPlayer) return res.json({ code: 404, message: "Player not found." })
response = await createVehicleToPlayer(config.Framework.includes("qb") ? NeededPlayer.citizenid : NeededPlayer.identifier, postBody, res)
}
if (response === true) return res.json({ code: 200, message: "Vehicle gave." })
})