Add util to remove players from houses

This commit is contained in:
Vortrex
2020-12-28 12:52:43 -06:00
parent 4a0b9e7bad
commit aab30c1977

View File

@@ -274,6 +274,14 @@ function deleteHouse(houseId, whoDeleted = 0) {
// ---------------------------------------------------------------------------
function removePlayerFromHouses(client) {
if(isPlayerInAnyHouse(client)) {
exitHouse(client);
}
}
// ---------------------------------------------------------------------------
function createHouse(description, entrancePosition, exitPosition, entrancePickupModel = -1, entranceBlipModel = -1, entranceInteriorId = 0, entranceVirtualWorld = 0, exitInteriorId = -1, exitVirtualWorld = -1, exitPickupModel = -1, exitBlipModel = -1) {
let tempHouseData = new serverClasses.houseData(false);
tempHouseData.description = description;
@@ -398,10 +406,10 @@ function createHouseEntrancePickup(houseId) {
}
getServerData().houses[houseId].pickup = gta.createPickup(pickupModelId, getServerData().houses[houseId].entrancePosition);
//getServerData().houses[i].pickup.dimension = getServerData().houses[houseId].entranceDimension;
//getServerData().houses[i].pickup.interior = getServerData().houses[houseId].entranceInterior;
getServerData().houses[houseId].pickup.setData("ag.ownerType", AG_PICKUP_HOUSE, true);
getServerData().houses[houseId].pickup.setData("ag.ownerId", houseId, true);
getServerData().houses[houseId].pickup.dimension = getServerData().houses[houseId].entranceDimension;
getServerData().houses[houseId].pickup.interior = getServerData().houses[houseId].entranceInterior;
getServerData().houses[houseId].pickup.setData("ag.ownerType", AG_PICKUP_HOUSE, false);
getServerData().houses[houseId].pickup.setData("ag.ownerId", houseId, false);
}
}
@@ -590,4 +598,45 @@ function deleteHouseExitBlip(houseId) {
}
}
// ---------------------------------------------------------------------------
function reloadAllHousesCommand(command, params, client) {
let clients = getClients();
for(let i in clients) {
if(isPlayerInAnyHouse(clients[i])) {
removePlayerFromHouses(clients[i]);
}
}
for(let i in getServerData().houses) {
deleteHouseExitBlip(i);
deleteHouseEntranceBlip(i);
deleteHouseExitPickup(i);
deleteHouseEntrancePickup(i);
}
getServerData().houses = null;
getServerData().houses = loadHouseFromDatabase();
createAllHousePickups();
createAllHouseBlips();
for(let i in clients) {
sendAllHouseLabelsToPlayer(clients[i]);
}
messageAdminAction(`All houses have been reloaded by an admin!`);
}
// ---------------------------------------------------------------------------
function exitHouse(client) {
let houseId = getPlayerHouse(client);
if(isPlayerSpawned(client)) {
triggerNetworkEvent("ag.interior", client, getServerData().house[houseId].entranceInterior);
triggerNetworkEvent("ag.dimension", client, getServerData().house[houseId].entranceDimension);
triggerNetworkEvent("ag.position", client, getServerData().house[houseId].entrancePosition);
}
removeEntityData(client, "ag.inHouse");
}
// ---------------------------------------------------------------------------