98 lines
3.7 KiB
JavaScript
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." })
|
|
}) |