Jump to content

Altis Life eXpanded Housing system with Vector Building


DirtySanchez

Recommended Posts

Hey everyone,


Altis Life eXpanded Housing system with Vector Building included for FREE
Brought to you by the eXpoch development team and DonkeyPunch Community Gaming. ENJOY!!!!

So far many items have been added but you guys can add whatever else you want to this system
The github was made like this so you can see EVERY SINGLE change I made.
LEARN FROM THIS, USE THIS, eXpand UPON THIS.
DO NOT SELL THIS, DO NOT CLAIM THIS AS YOURS.


but ENJOY
GAME ON!!!

-sTanG

https://github.com/ravmustang/AltisLife-eXpandedHousing

20170210191355_1.jpg

20170210194726_1.jpg

20170210180812_1.jpg

20170210161042_1.jpg

Edited by DirtySanchez
  • Like 1
  • Thanks 1
Link to comment
Share on other sites

  • 2 weeks later...

Hey guys sorry for the delay in popping back in here. Thanks to @BoGuu for telling me "told ya so!" :P

Ok so we have 64 bit arma 3 coming soon along with 5.0 sometime thereafter :fingers crossed:

 

If you look on my github at the wasteland versions readme, you will see what I am planning and have started to do for this version :)

 

Please be patient whIle all the arma 3 developers, scriptors and owners are preparing for all of the arma bis goodness we will get out of this update.

 

In the meantime those that have c succeeded please let me know any upgrades you have in mind or have implemented.

 

GAME ON!!!

-sTanG

Link to comment
Share on other sites

On 6/3/2017 at 6:57 PM, Wackbatt said:

take the files from the git and add them to your own mission

It is not that simple unless we are talking about a vanilla server. Most of us have modified things, here and there, to suit our needs. That means, someone wanting to install the expanded housing needs to track the modified or new files, which are marked as "Release v1" in the github announcement. This may be not enough though. Each of the already existing, in an existing server, files must be compared to the "Release v1" and changes applied. That's in order to avoid losing our changes, if done.

In a Vanilla server, even in one with only a few modifications, things are very easy of course.

Link to comment
Share on other sites

  • 2 weeks later...
  • 2 weeks later...
  • 4 weeks later...

To fix error in fn_removeContainer, go into the file, add "_furnitures", to the private[] section, add _furnitures = _house getVariable ["furnitures",[]]; right under _containers = _house getVariable ["containers",[]];

Link to comment
Share on other sites

  • 2 weeks later...

I had to remove some of the button keys to move the object forward sideways etc because people are able to stand in their house but still place objects far outside it using these keys.

Also, the limit to the amount of objects doesn't seem to be working for me, has anyone else got it working properly? 

lightPos[] = {2,0,3.5};
furniture = 12;

 

Link to comment
Share on other sites

  • 2 weeks later...
  • 4 weeks later...
On 6/23/2017 at 10:40 PM, 14e_Senator_Walter said:

Update:

I believe that the storage crates disappear when sold.

Desks are still staying - - testing other objects.

Update 2:

Only duplicates on player disconnect, not on #restart.

i went into houseCleanup and put 

_container = nearestObjects[_pos,["Box_IND_Grenades_F","B_supplyCrate_F"],12];
 
above 
_lifeContainers = getArray(missionConfigFile >> "CfgDonkeyPunchCustoms" >> "LifeContainers");
 
and it worked
Link to comment
Share on other sites

16 hours ago, Repentz said:

i went into houseCleanup and put 

_container = nearestObjects[_pos,["Box_IND_Grenades_F","B_supplyCrate_F"],12];
 
above 
_lifeContainers = getArray(missionConfigFile >> "CfgDonkeyPunchCustoms" >> "LifeContainers");
 
and it worked

Testing.

 In two parts of the video he explains that some things were duplicated. So I don't think it's just me. But on that Malden server both targets and storage are being duplicated.

Testing the fix now.

Edited by 14e_Senator_Walter
Video
Link to comment
Share on other sites

17 hours ago, Repentz said:

i went into houseCleanup and put 

_container = nearestObjects[_pos,["Box_IND_Grenades_F","B_supplyCrate_F"],12];
 
above 
_lifeContainers = getArray(missionConfigFile >> "CfgDonkeyPunchCustoms" >> "LifeContainers");
 
and it worked

I believe that you posted a fix for storage crates not deleting, I'm not 100% sure though. Anyways, this didn't fix my problem. Only Storage boxes are disappearing after being sold. But Storage boxes and furniture still do duplicate. (See Screenshot)

I hope someone can post a fix as even one of the biggest Malden life is having duplication issues (above video).

Spoiler

/*
    File: fn_houseCleanup.sqf
    Author: NiiRoZz

    Description:
    Cleans up containers inside in house of player.
*/
private ["_query","_containers"];
_query = format ["SELECT pid, pos FROM containers WHERE pid='%1' AND owned='1'",_this];

_containers = [_query,2,true] call DB_fnc_asyncCall;

if (count _containers isEqualTo 0) exitWith {};
{
    _pos = call compile format ["%1",_x select 1];
    _lifeContainers = getArray(missionConfigFile >> "CfgDonkeyPunchCustoms" >> "LifeContainers");
	_lifeFurniture = getArray(missionConfigFile >> "CfgDonkeyPunchCustoms" >> "BuildableFurniture");
	_lifeContainers = _lifeContainers + _lifeFurniture;
    {
        deleteVehicle _x;
    } forEach _container;
} forEach _containers;

 

Spoiler

#include "\life_server\script_macros.hpp"
/*
    File : fn_fetchPlayerHouses.sqf
    Author: Bryan "Tonic" Boardwine
    Modified : NiiRoZz

    Description:
    1. Fetches all the players houses and sets them up.
    2. Fetches all the players containers and sets them up.
*/
private ["_query","_containers","_containerss","_houses","_furnituress"];
params [
    ["_uid","",[""]]
];
if (_uid isEqualTo "") exitWith {};

_query = format ["SELECT pid, pos, classname, inventory, gear, dir, id FROM containers WHERE pid='%1' AND owned='1'",_uid];
_containers = [_query,2,true] call DB_fnc_asyncCall;

_containerss = [];
_furnituress = [];
{
    _position = call compile format ["%1",_x select 1];
    _house = nearestObject [_position, "House"];
    _direction = call compile format ["%1",_x select 5];
    _trunk = [_x select 3] call DB_fnc_mresToArray;
    if (_trunk isEqualType "") then {_trunk = call compile format ["%1", _trunk];};
    _gear = [_x select 4] call DB_fnc_mresToArray;
    if (_gear isEqualType "") then {_gear = call compile format ["%1", _gear];};
    //furniture and container split
	_className = _x select 2;
	_type = getText(missionConfigFile >> "CfgDonkeyPunchCustoms" >> _className);
	_isFurniture = getNumber(missionConfigFile >> "VirtualItems" >> _type >> "furniture") isEqualTo 1;
    _container = createVehicle[_x select 2,[0,0,999],[],0,"NONE"];
    waitUntil {!isNil "_container" && {!isNull _container}};
    if!(_isFurniture)then{
		_containerss pushBack _container;
	}else{
		_furnituress pushBack _container;
		_container enableSimulationGlobal false;
	};
    _container allowDamage false;
    _container setPosATL _position;
    _container setVectorDirAndUp _direction;
    //Fix position for more accurate positioning
    _posX = _position select 0;
    _posY = _position select 1;
    _posZ = _position select 2;
    _currentPos = getPosATL _container;
    _fixX = (_currentPos select 0) - _posX;
    _fixY = (_currentPos select 1) - _posY;
    _fixZ = (_currentPos select 2) - _posZ;
    _container setPosATL [(_posX - _fixX), (_posY - _fixY), (_posZ - _fixZ)];
    _container setVectorDirAndUp _direction;
    _container setVariable ["Trunk",_trunk,true];
    _container setVariable ["container_owner",[_x select 0],true];
    _container setVariable ["container_id",_x select 6,true];
    clearWeaponCargoGlobal _container;
    clearItemCargoGlobal _container;
    clearMagazineCargoGlobal _container;
    clearBackpackCargoGlobal _container;
    if (count _gear > 0) then {
        _items = _gear select 0;
        _mags = _gear select 1;
        _weapons = _gear select 2;
        _backpacks = _gear select 3;
        for "_i" from 0 to ((count (_items select 0)) - 1) do {
            _container addItemCargoGlobal [((_items select 0) select _i), ((_items select 1) select _i)];
        };
        for "_i" from 0 to ((count (_mags select 0)) - 1) do{
            _container addMagazineCargoGlobal [((_mags select 0) select _i), ((_mags select 1) select _i)];
        };
        for "_i" from 0 to ((count (_weapons select 0)) - 1) do{
            _container addWeaponCargoGlobal [((_weapons select 0) select _i), ((_weapons select 1) select _i)];
        };
        for "_i" from 0 to ((count (_backpacks select 0)) - 1) do{
            _container addBackpackCargoGlobal [((_backpacks select 0) select _i), ((_backpacks select 1) select _i)];
        };
    };
    _house setVariable ["containers",_containerss,true];
} forEach _containers;

_query = format ["SELECT pid, pos FROM houses WHERE pid='%1' AND owned='1'",_uid];
_houses = [_query,2,true] call DB_fnc_asyncCall;

_return = [];
{
    _pos = call compile format ["%1",_x select 1];
    _house = nearestObject [_pos, "House"];
    _house allowDamage false;
    _return pushBack [_x select 1,_containerss];
} forEach _houses;

missionNamespace setVariable [format ["houses_%1",_uid],_return];

 

I believe those two files are the files that have a problem in them, not sure though.

Edited by 14e_Senator_Walter
'and furniture'
Link to comment
Share on other sites

  • 2 weeks later...
On 6/27/2017 at 1:51 AM, Repentz said:

i went into houseCleanup and put 

_container = nearestObjects[_pos,["Box_IND_Grenades_F","B_supplyCrate_F"],12];
 
above 
_lifeContainers = getArray(missionConfigFile >> "CfgDonkeyPunchCustoms" >> "LifeContainers");
 
and it worked

Btw, it still happened on your Malden server after you posted this.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.