Lots of stuff
This commit is contained in:
@@ -10,7 +10,7 @@
|
||||
|
||||
function initBusinessScript() {
|
||||
console.log("[Asshat.Business]: Initializing business script ...");
|
||||
serverData.businesses = loadBusinessesFromDatabase();
|
||||
getServerData().businesses = loadBusinessesFromDatabase();
|
||||
createAllBusinessPickups();
|
||||
addBusinessCommandHandlers();
|
||||
console.log("[Asshat.Business]: Business script initialized successfully!");
|
||||
@@ -40,7 +40,7 @@ function loadBusinessesFromDatabase() {
|
||||
let dbAssoc;
|
||||
|
||||
if(dbConnection) {
|
||||
dbQuery = queryDatabase(dbConnection, "SELECT * FROM `biz_main` WHERE `biz_server` = " + String(serverId));
|
||||
dbQuery = queryDatabase(dbConnection, "SELECT * FROM `biz_main` WHERE `biz_server` = " + toString(serverId));
|
||||
if(dbQuery) {
|
||||
if(dbQuery.numRows > 0) {
|
||||
while(dbAssoc = fetchQueryAssoc(dbQuery)) {
|
||||
@@ -70,7 +70,7 @@ function loadBusinessLocationsFromDatabase(businessId) {
|
||||
let dbAssoc;
|
||||
|
||||
if(dbConnection) {
|
||||
dbQuery = queryDatabase(dbConnection, "SELECT * FROM `biz_loc` WHERE `biz_loc_biz` = " + String(businessId));
|
||||
dbQuery = queryDatabase(dbConnection, "SELECT * FROM `biz_loc` WHERE `biz_loc_biz` = " + toString(businessId));
|
||||
if(dbQuery) {
|
||||
if(dbQuery.numRows > 0) {
|
||||
while(dbAssoc = fetchQueryAssoc(dbQuery)) {
|
||||
@@ -156,8 +156,8 @@ function createBusinessLocationCommand(command, params, client) {
|
||||
return false;
|
||||
}
|
||||
|
||||
let locationType = String(splitParams[0]);
|
||||
let businessId = Number(splitParams[1]) || (isPlayerInAnyBusiness(client.player)) ? getPlayerBusiness(client.player) : getClosestBusinessEntrance(client.player.position);
|
||||
let locationType = toString(splitParams[0]);
|
||||
let businessId = toInteger(splitParams[1]) || (isPlayerInAnyBusiness(client.player)) ? getPlayerBusiness(client.player) : getClosestBusinessEntrance(client.player.position);
|
||||
|
||||
createBusinessLocation(locationType, businessId);
|
||||
messageClientSuccess(client, "Business created in " + getAreaName(client.player.position) + " (" + params + ")");
|
||||
@@ -171,13 +171,13 @@ function createBusiness(name, entrancePosition, interiorId, virtualWorld) {
|
||||
|
||||
if(dbConnection) {
|
||||
escapedName = escapeDatabaseString(dbConnection, escapedName)
|
||||
let dbQuery = queryDatabase(dbConnection, "INSERT INTO `biz_main` (`biz_server`, `biz_name`, `biz_entrance_x`, `biz_entrance_y`, `biz_entrance_z`, `biz_entrance_int`, `biz_entrance_vw`) VALUES (" + String(serverId) + ", '" + escapedName + "', " + String(entrancePosition.x) + ", " + String(entrancePosition.y) + ", " + String(entrancePosition.z) + ", " + String(interiorId) + ", " + String(virtualWorld) + ")");
|
||||
let dbQuery = queryDatabase(dbConnection, "INSERT INTO `biz_main` (`biz_server`, `biz_name`, `biz_entrance_x`, `biz_entrance_y`, `biz_entrance_z`, `biz_entrance_int`, `biz_entrance_vw`) VALUES (" + toString(serverId) + ", '" + escapedName + "', " + toString(entrancePosition.x) + ", " + toString(entrancePosition.y) + ", " + toString(entrancePosition.z) + ", " + toString(interiorId) + ", " + toString(virtualWorld) + ")");
|
||||
disconnectFromDatabase(dbConnection);
|
||||
|
||||
let tempBusinessData = loadBusinessFromDatabaseById(dbConnection.insertID);
|
||||
if(tempBusinessData != false) {
|
||||
let tempBusiness = new serverClasses.businessData(tempBusinessData);
|
||||
serverData.business.push(tempBusiness);
|
||||
getServerData().business.push(tempBusiness);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
@@ -210,7 +210,7 @@ function deleteBusinessCommand(command, params, client) {
|
||||
return false;
|
||||
}
|
||||
|
||||
let businessId = Number(splitParams[1]) || (isPlayerInAnyBusiness(client.player)) ? getPlayerBusiness(client.player) : getClosestBusinessEntrance(client.player.position);
|
||||
let businessId = toInteger(splitParams[1]) || (isPlayerInAnyBusiness(client.player)) ? getPlayerBusiness(client.player) : getClosestBusinessEntrance(client.player.position);
|
||||
deleteBusiness(businessId);
|
||||
messageClientSuccess(client, `Business '${tempBusinessData.name} deleted!`);
|
||||
}
|
||||
@@ -245,7 +245,7 @@ function deleteBusinessLocationCommand(command, params, client) {
|
||||
return false;
|
||||
}
|
||||
|
||||
//let businessId = Number(splitParams[1]);
|
||||
//let businessId = toInteger(splitParams[1]);
|
||||
//deleteBusinessLocation(businessId);
|
||||
//messageClientSuccess(client, `Business '${tempBusinessData.name} deleted!`);
|
||||
}
|
||||
@@ -279,11 +279,11 @@ function setBusinessNameCommand(command, params, client) {
|
||||
|
||||
let splitParams = params.split(" ");
|
||||
|
||||
let newBusinessName = String(splitParams[0]);
|
||||
let businessId = Number(splitParams[1]) || (isPlayerInAnyBusiness(client.player)) ? getPlayerBusiness(client.player) : getClosestBusinessEntrance(client.player.position);
|
||||
let newBusinessName = toString(splitParams[0]);
|
||||
let businessId = toInteger(splitParams[1]) || (isPlayerInAnyBusiness(client.player)) ? getPlayerBusiness(client.player) : getClosestBusinessEntrance(client.player.position);
|
||||
|
||||
serverData.businesses[businessId].name = newBusinessName;
|
||||
messageClientSuccess(client, `Business '${serverData.businesses[businessId].name}' renamed to '${newBusinessName}'!`);
|
||||
getServerData().businesses[businessId].name = newBusinessName;
|
||||
messageClientSuccess(client, `Business '${getServerData().businesses[businessId].name}' renamed to '${newBusinessName}'!`);
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
@@ -321,7 +321,7 @@ function setBusinessOwnerCommand(command, params, client) {
|
||||
let splitParams = params.split(" ");
|
||||
|
||||
let newBusinessOwner = getClientFromParams(splitParams[0]);
|
||||
let businessId = Number(splitParams[1]) || (isPlayerInAnyBusiness(client.player)) ? getPlayerBusiness(client.player) : getClosestBusinessEntrance(client.player.position);
|
||||
let businessId = toInteger(splitParams[1]) || (isPlayerInAnyBusiness(client.player)) ? getPlayerBusiness(client.player) : getClosestBusinessEntrance(client.player.position);
|
||||
|
||||
if(!newBusinessOwner) {
|
||||
messageClientError("Player not found!");
|
||||
@@ -333,8 +333,8 @@ function setBusinessOwnerCommand(command, params, client) {
|
||||
return false;
|
||||
}
|
||||
|
||||
serverData.businesses[businessId].ownerId = serverData.clients[newBusinessOwner.index].accountData.databaseId;
|
||||
messageClientSuccess(client, `Business '${serverData.businesses[businessId].name}' owner set to '${newBusinessOwner.name}'!`);
|
||||
getServerData().businesses[businessId].ownerId = getServerData().clients[newBusinessOwner.index].accountData.databaseId;
|
||||
messageClientSuccess(client, `Business '${getServerData().businesses[businessId].name}' owner set to '${newBusinessOwner.name}'!`);
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
@@ -371,10 +371,10 @@ function lockBusinessCommand(command, params, client) {
|
||||
|
||||
let splitParams = params.split(" ");
|
||||
|
||||
let businessId = Number(splitParams[0]) || (isPlayerInAnyBusiness(client.player)) ? getPlayerBusiness(client.player) : getClosestBusinessEntrance(client.player.position);
|
||||
let businessId = toInteger(splitParams[0]) || (isPlayerInAnyBusiness(client.player)) ? getPlayerBusiness(client.player) : getClosestBusinessEntrance(client.player.position);
|
||||
|
||||
serverData.businesses[businessId].locked = !serverData.businesses[businessId].locked;
|
||||
messageClientSuccess(client, "Business " + serverData.businesses[businessId].name + " " + (serverData.businesses[businessId].locked) ? "locked" : "unlocked" + "!");
|
||||
getServerData().businesses[businessId].locked = !getServerData().businesses[businessId].locked;
|
||||
messageClientSuccess(client, "Business " + getServerData().businesses[businessId].name + " " + (getServerData().businesses[businessId].locked) ? "locked" : "unlocked" + "!");
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
@@ -406,11 +406,11 @@ function setBusinessEntranceFeeCommand(command, params, client) {
|
||||
|
||||
let splitParams = params.split(" ");
|
||||
|
||||
let entranceFee = Number(splitParams[0]) || 0;
|
||||
let businessId = Number(splitParams[1]) || (isPlayerInAnyBusiness(client.player)) ? getPlayerBusiness(client.player) : getClosestBusinessEntrance(client.player.position);
|
||||
let entranceFee = toInteger(splitParams[0]) || 0;
|
||||
let businessId = toInteger(splitParams[1]) || (isPlayerInAnyBusiness(client.player)) ? getPlayerBusiness(client.player) : getClosestBusinessEntrance(client.player.position);
|
||||
|
||||
serverData.businesses[businessId].entranceFee = entranceFee;
|
||||
messageClientSuccess(client, `Business '${serverData.businesses[businessId].name}' entrance fee to $'${entranceFee}'!`);
|
||||
getServerData().businesses[businessId].entranceFee = entranceFee;
|
||||
messageClientSuccess(client, `Business '${getServerData().businesses[businessId].name}' entrance fee to $'${entranceFee}'!`);
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
@@ -442,17 +442,17 @@ function withdrawFromBusinessCommand(command, params, client) {
|
||||
|
||||
let splitParams = params.split(" ");
|
||||
|
||||
let amount = Number(splitParams[0]) || 0;
|
||||
let businessId = Number(splitParams[1]) || (isPlayerInAnyBusiness(client.player)) ? getPlayerBusiness(client.player) : getClosestBusinessEntrance(client.player.position);
|
||||
let amount = toInteger(splitParams[0]) || 0;
|
||||
let businessId = toInteger(splitParams[1]) || (isPlayerInAnyBusiness(client.player)) ? getPlayerBusiness(client.player) : getClosestBusinessEntrance(client.player.position);
|
||||
|
||||
let tempBusinessData = serverData.businesses.filter(b => b.databaseId == businessId)[0];
|
||||
let tempBusinessData = getServerData().businesses.filter(b => b.databaseId == businessId)[0];
|
||||
|
||||
if(serverData.businesses[businessId].till < amount) {
|
||||
if(getServerData().businesses[businessId].till < amount) {
|
||||
messageClientError(client, `Business '${tempBusinessData.name}' doesn't have that much money! Use /bizbalance.`);
|
||||
return false;
|
||||
}
|
||||
|
||||
serverData.businesses[businessId].till -= amount;
|
||||
getServerData().businesses[businessId].till -= amount;
|
||||
getClientCurrentSubAccount(client).cash += amount;
|
||||
updatePlayerCash(client);
|
||||
messageClientSuccess(client, `You withdrew $${amount} from business '${tempBusinessData.name}''s till'`);
|
||||
@@ -487,15 +487,15 @@ function depositIntoBusinessCommand(command, params, client) {
|
||||
|
||||
let splitParams = params.split(" ");
|
||||
|
||||
let amount = Number(splitParams[0]) || 0;
|
||||
let businessId = Number(splitParams[1]) || (isPlayerInAnyBusiness(client.player)) ? getPlayerBusiness(client.player) : getClosestBusinessEntrance(client.player.position);
|
||||
let amount = toInteger(splitParams[0]) || 0;
|
||||
let businessId = toInteger(splitParams[1]) || (isPlayerInAnyBusiness(client.player)) ? getPlayerBusiness(client.player) : getClosestBusinessEntrance(client.player.position);
|
||||
|
||||
if(getClientCurrentSubAccount(client).cash < amount) {
|
||||
messageClientError(client, `You don't have that much money! You only have $${getClientCurrentSubAccount(client).cash}`);
|
||||
return false;
|
||||
}
|
||||
|
||||
serverData.businesses[businessId].till += amount;
|
||||
getServerData().businesses[businessId].till += amount;
|
||||
getClientCurrentSubAccount(client).cash -= amount;
|
||||
updatePlayerCash(client);
|
||||
messageClientSuccess(client, `You deposited $${amount} into business '${tempBusinessData.name}''s till'`);
|
||||
@@ -530,15 +530,15 @@ function viewBusinessTillAmountCommand(command, params, client) {
|
||||
|
||||
let splitParams = params.split(" ");
|
||||
|
||||
let businessId = Number(splitParams[0]) || (isPlayerInAnyBusiness(client.player)) ? getPlayerBusiness(client.player) : getClosestBusinessEntrance(client.player.position);
|
||||
let businessId = toInteger(splitParams[0]) || (isPlayerInAnyBusiness(client.player)) ? getPlayerBusiness(client.player) : getClosestBusinessEntrance(client.player.position);
|
||||
|
||||
messageClientSuccess(client, `Business '${serverData.businesses[businessId].name}''s till has $'${serverData.businesses[businessId].till}'!`);
|
||||
messageClientSuccess(client, `Business '${getServerData().businesses[businessId].name}''s till has $'${getServerData().businesses[businessId].till}'!`);
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
function getBusinessDataFromDatabaseId(databaseId) {
|
||||
let matchingBusinesses = serverData.businesses.filter(b => b.databaseId == businessId)
|
||||
let matchingBusinesses = getServerData().businesses.filter(b => b.databaseId == businessId)
|
||||
if(matchingBusinesses.length == 1) {
|
||||
return matchingBusinesses[0];
|
||||
}
|
||||
@@ -548,7 +548,7 @@ function getBusinessDataFromDatabaseId(databaseId) {
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
function getClosestBusinessEntrance(position) {
|
||||
return serverData.businesses.reduce((i, j) => ((i.entrancePosition.distance(position) <= j.entrancePosition.distance(position)) ? i : j));
|
||||
return getServerData().businesses.reduce((i, j) => ((i.entrancePosition.distance(position) <= j.entrancePosition.distance(position)) ? i : j));
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
@@ -574,7 +574,7 @@ function getPlayerBusiness(player) {
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
function saveAllBusinessesToDatabase() {
|
||||
for(let i in serverData.businesses) {
|
||||
for(let i in getServerData().businesses) {
|
||||
saveBusinessToDatabase(i);
|
||||
}
|
||||
}
|
||||
@@ -582,14 +582,14 @@ function saveAllBusinessesToDatabase() {
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
function saveBusinessToDatabase(businessId) {
|
||||
let tempBusinessData = serverData.businesses[businessId]
|
||||
let tempBusinessData = getServerData().businesses[businessId]
|
||||
console.log(`[Asshat.Business]: Saving business '${tempBusinessData.name}' to database ...`);
|
||||
let dbConnection = connectToDatabase();
|
||||
if(dbConnection) {
|
||||
if(tempBusinessData.databaseId == 0) {
|
||||
let dbQueryString = `INSERT INTO biz_main (biz_name, biz_owner_type, biz_owner_id, biz_locked, biz_entrance_fee, biz_till, biz_entrance_pos_x, biz_entrance_pos_y, biz_entrance_pos_z, biz_entrance_rot_z, biz_entrance_int, biz_entrance_vw, biz_exit_pos_x, biz_exit_pos_y, biz_exit_pos_z, biz_exit_rot_z, biz_exit_int, biz_exit_vw) VALUES ('${tempBusinessData.name}', ${tempBusinessData.ownerType}, ${tempBusinessData.ownerId}, ${boolToInt(tempBusinessData.locked)}, ${tempBusinessData.entranceFee}, ${tempBusinessData.till}, ${tempBusinessData.entrancePos.x}, ${tempBusinessData.entrancePos.y}, ${tempBusinessData.entrancePos.z}, ${tempBusinessData.entranceHeading}, ${tempBusinessData.entranceInterior}, ${tempBusinessData.entranceDimension}, ${tempBusinessData.exitPos.x}, ${tempBusinessData.exitPos.y}, ${tempBusinessData.exitPos.z}, ${tempBusinessData.exitHeading}, ${tempBusinessData.exitInterior}, ${tempBusinessData.exitDimension})`;
|
||||
queryDatabase(dbConnection, dbQueryString);
|
||||
serverData.businesses[businessId].databaseId = getDatabaseInsertId(dbConnection);
|
||||
getServerData().businesses[businessId].databaseId = getDatabaseInsertId(dbConnection);
|
||||
} else {
|
||||
let dbQueryString = `UPDATE biz_main SET biz_name=${tempBusinessData.name}, biz_owner_type=${tempBusinessData.ownerType}, biz_owner_id=${tempBusinessData.ownerId}, biz_locked=${boolToInt(tempBusinessData.locked)}, biz_entrance_fee=${tempBusinessData.entranceFee}, biz_till=${tempBusinessData.till}, biz_entrance_pos_x=${tempBusinessData.entrancePos.x}, biz_entrance_pos_y=${tempBusinessData.entrancePos.y}, biz_entrance_pos_z=${tempBusinessData.entrancePos.z}, biz_entrance_rot_z=${tempBusinessData.entranceHeading}, biz_entrance_int=${tempBusinessData.entranceInterior}, biz_entrance_vw=${tempBusinessData.entranceDimension}, biz_exit_pos_x=${tempBusinessData.exitPos.x}, biz_exit_pos_y=${tempBusinessData.exitPos.y}, biz_exit_pos_z=${tempBusinessData.exitPos.z}, biz_exit_rot_z=${tempBusinessData.exitHeading}, biz_exit_int=${tempBusinessData.exitInterior}, biz_exit_vw=${tempBusinessData.exitDimension} WHERE biz_id=${tempBusinessData.databaseId}`;
|
||||
queryDatabase(dbConnection, dbQueryString);
|
||||
@@ -605,17 +605,17 @@ function saveBusinessToDatabase(businessId) {
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
function createAllBusinessPickups() {
|
||||
for(let i in serverData.businesses) {
|
||||
serverData.businesses.pickup = createPickup(serverConfig.businessPickupModel, serverData.businesses[i].position);
|
||||
serverData.businesses[i].pickup.setData("ag.ownerType", AG_PICKUP_BUSINESS, true);
|
||||
serverData.businesses[i].pickup.setData("ag.ownerId", i, true);
|
||||
for(let i in getServerData().businesses) {
|
||||
getServerData().businesses.pickup = createPickup(getServerConfig().businessPickupModel, getServerData().businesses[i].position);
|
||||
getServerData().businesses[i].pickup.setData("ag.ownerType", AG_PICKUP_BUSINESS, true);
|
||||
getServerData().businesses[i].pickup.setData("ag.ownerId", i, true);
|
||||
}
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
function deleteBusiness(businessId) {
|
||||
let tempBusinessData = serverData.businesses[businessId];
|
||||
let tempBusinessData = getServerData().businesses[businessId];
|
||||
|
||||
let dbConnection = connectToDatabase();
|
||||
let dbQuery = null;
|
||||
@@ -636,7 +636,7 @@ function deleteBusiness(businessId) {
|
||||
|
||||
/*
|
||||
function deleteBusiness(businessId) {
|
||||
let tempBusinessData = serverData.businesses[businessId];
|
||||
let tempBusinessData = getServerData().businesses[businessId];
|
||||
|
||||
let dbConnection = connectToDatabase();
|
||||
let dbQuery = null;
|
||||
@@ -671,9 +671,9 @@ function removePlayersFromBusiness(businessId) {
|
||||
function exitBusiness(client) {
|
||||
let businessId = client.getData("ag.inBusiness");
|
||||
if(client.player) {
|
||||
triggerNetworkEvent("ag.interior", client, serverData.businesses[businessId].entranceInterior);
|
||||
triggerNetworkEvent("ag.dimension", client, serverData.businesses[businessId].entranceDimension);
|
||||
triggerNetworkEvent("ag.position", client, serverData.businesses[businessId].entrancePosition);
|
||||
triggerNetworkEvent("ag.interior", client, getServerData().businesses[businessId].entranceInterior);
|
||||
triggerNetworkEvent("ag.dimension", client, getServerData().businesses[businessId].entranceDimension);
|
||||
triggerNetworkEvent("ag.position", client, getServerData().businesses[businessId].entrancePosition);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user