Initial commit
This commit is contained in:
98
scripts/server/house.js
Normal file
98
scripts/server/house.js
Normal file
@@ -0,0 +1,98 @@
|
||||
// ===========================================================================
|
||||
// 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() {
|
||||
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
Reference in New Issue
Block a user