Files
GTA4RP/scripts/server/house.js
2020-09-04 15:56:19 -05:00

98 lines
3.0 KiB
JavaScript

// ===========================================================================
// Asshat Gaming RP
// http://asshatgaming.com
// © 2020 Asshat Gaming
// ---------------------------------------------------------------------------
// FILE: house.js
// DESC: Provides house commands, functions, and usage
// TYPE: Server (JavaScript)
// ===========================================================================
function initHouseScript() {
console.log("[Asshat.House]: Initializing house script ...");
serverData.houses = loadHousesFromDatabase();
addHouseCommandHandlers();
console.log("[Asshat.House]: House script initialized successfully!");
return true;
}
// ---------------------------------------------------------------------------
function addHouseCommandHandlers() {
console.log("[Asshat.House]: Adding house commands!");
let houseCommands = serverCommands.house;
for(let i in houseCommands) {
addCommandHandler(houseCommands[i].command, houseCommands[i].handlerFunction);
}
console.log("[Asshat.House]: House commands added!");
return true;
}
// ---------------------------------------------------------------------------
function loadHousesFromDatabase() {
console.log("[Asshat.House]: Loading houses from database ...");
let tempHouses = [];
let dbConnection = connectToDatabase();
if(dbConnection) {
let dbQuery = dbConnection.query("SELECT * FROM `house_main` WHERE `house_server` = " + String(serverId))
if(dbQuery) {
if(dbQuery.numRows > 0) {
while(dbFetchAssoc = dbQuery.fetchAssoc()) {
let tempHouseData = getClasses().houseData(dbFetchAssoc);
tempHouses.push(tempHouseData);
console.log("[Asshat.House]: Houses '" + String(tempHouseData.databaseId) + "' loaded!");
}
}
dbQuery.free();
}
disconnectFromDatabase(dbConnection);
}
console.log("[Asshat.House]: " + String(tempHouses.length) + " houses loaded from database successfully!");
return tempHouses;
}
// ---------------------------------------------------------------------------
function getHouseDataFromDatabaseId(databaseId) {
let matchingHouses = serverData.houses.filter(b => b.databaseId == databaseId)
if(matchingHouses.length == 1) {
return matchingHouses[0];
}
return false;
}
// ---------------------------------------------------------------------------
function getClosestHouseEntrance(position) {
return serverData.houses.reduce((i, j) => ((i.entrancePosition.distance(position) <= j.entrancePosition.distance(position)) ? i : j));
}
// ---------------------------------------------------------------------------
function isPlayerInAnyBusiness(player) {
if(player.getData("ag.inHouse")) {
return true;
}
return false;
}
// ---------------------------------------------------------------------------
function getPlayerHouse(player) {
if(player.getData("ag.inHouse")) {
return player.getData("ag.inHouse");
}
return false;
}
// ---------------------------------------------------------------------------
function saveAllHousesToDatabase() {
}
// ---------------------------------------------------------------------------