Jump to content
tpw

TPW MODS: enhanced realism and immersion for Arma 3 SP.

Recommended Posts

Hello TPW hope you have been well,

 

good to see that the mod has,some great features in here since i last used it.I just downloaded last night,i only have about half the features running for a particular scenario,and one i was interested in was the fireflies.

 

My question is,does it work on community made maps?I tried it on a version of chernarus,but i didnt see any.

Share this post


Link to post
Share on other sites

@ redarmy

 

Yes Fireflies work. Just tested it on Altis, Stratis and the Pandora user map from Steam Workshop which was where I originally made my request. You have to wait after 30 mins from Sunset and be near trees for it to spawn.

 

Works great in 64bit BTW. Seems much smoother to me despite a lower FPS vs 32bit.

 

Make sure you have copied the "userconfig" folder with the "twp_mods" folder inside from the @tpw_mod folder INTO the root "ARMA 3" folder. There are settings there that would enable and allow you to adjust the functions.

 

Also make sure you have ticked "enabled filepatching" under PARAMETERS, ADVANCE to use those functions.

 

More installation details here as per the very first post:

 

https://dl.dropboxusercontent.com/u/481663/docs/tpw_mods_readme.txt

 

 

  • Like 2

Share this post


Link to post
Share on other sites

Hi TPW,

 

Merry Christmas and wanted to report a potential conflict or just incompatibility.

 

I was playing this mission with your mod and these settings:

 

AIR on

ANIMALS ON

Fireflies ON

LIGHTS ON

RAIN ON

FOG ON

HUD ON

RADIO ON

 

Everything else was off and ~ 5-6 seconds after the mission loaded, it would slow down then crash out in the DEV 1.67 build with the newer performance binaries.

 

I unloaded TPW_MOD and then it would work.

 

I thought it was the rain and fog conflicting with the in game snow script, but even with RAIN and FOG OFF, it would still crash. I am not sure if it is just TPW_MOD and the map itself at this point (CUP Chernarus with Chernarus Winter textures loaded).

 

I will do some more testing with the current DEV 1.67 BETA build and see if improves.

 

Share this post


Link to post
Share on other sites
On 12/23/2016 at 2:14 AM, Valken said:

@ redarmy

 

Yes Fireflies work. Just tested it on Altis, Stratis and the Pandora user map from Steam Workshop which was where I originally made my request. You have to wait after 30 mins from Sunset and be near trees for it to spawn.

 

Works great in 64bit BTW. Seems much smoother to me despite a lower FPS vs 32bit.

 

Make sure you have copied the "userconfig" folder with the "twp_mods" folder inside from the @tpw_mod folder INTO the root "ARMA 3" folder. There are settings there that would enable and allow you to adjust the functions.

 

Also make sure you have ticked "enabled filepatching" under PARAMETERS, ADVANCE to use those functions.

 

More installation details here as per the very first post:

 

https://dl.dropboxusercontent.com/u/481663/docs/tpw_mods_readme.txt

 

 

Thanks mate i finally saw them,i was expecting them in the air i never noticed them near or around the grass on my map and at that said time,cheers.

Share this post


Link to post
Share on other sites

Hey dont know if ya know but maxjoiner has released a fantastic Woman civilian Beta and thought you might want to add it to your Civs/Crowds

Merry Xmas!

  • Like 1

Share this post


Link to post
Share on other sites
1 hour ago, froggyluv said:

Hey dont know if ya know but maxjoiner has released a fantastic Woman civilian Beta and thought you might want to add it to your Civs/Crowds

Merry Xmas!

I tried the mod out in Pilgrimage this morning. One issue is that the heads and bodies are separate models, so I came across a female head on a male body. I may yet come across a male head on a female body which I expect to look quite weird. To use the mod in conjunction with TPW, it will need something to stop the body parts intermingling.

  • Like 1

Share this post


Link to post
Share on other sites

How do Mr TPW?

 

I have another favor/request/idea.

I use cars in my mission playing. I have it set like so,...

 

// CARS
tpw_car_active = 1; // 0 = inactive
tpw_car_delay = 30; // delay before cars start spawning (sec)
tpw_car_waypoints = 15; // how many waypoints to give each car
tpw_car_num = 1; // max number of cars to spawn around player. 0 = ambient cars disabled
tpw_car_radius = 1000; // radius (m) around player to check for roads and spawn cars
tpw_car_nocombatspawn = 1; // cars will not be spawned during combat. 0 = cars continue to spawn during combat
tpw_car_include[] = {"RDS","LOP_"}; // strings to select classnames of custom cars
//><

tpw_car_frequency= every 1/5/10/15/20 minutes,.....or something like this.

 

I would like an option whereby the car that would eventually drive by my AO would only do so once every 10 minutes or so. Often times when I am scouting enemy presence, the constant pestering of that driver going back and forth can be annoying. The best immersion for me would be less not more. What do you think?

 

 

  • Like 1

Share this post


Link to post
Share on other sites

Hi everyone, hope you've had a great christmas and break.

 

Just to let you know that I'm still sporadically working on A3 stuff! I've got maxjoiners great female civs working in TPW CIVS and CROWD. If you can ignore the fact that they still use the default male swagger then it is indeed quite a treat to see civs with 2 x chromosomes on A3 for the first time.

 

pvt. partz, I know what you mean but it's not quite that simple. At the moment cars spawn in reasonably quickly around towns, and only every couple of minutes when away from towns. However they are given lopped waypoints and once spawned will continue to drive around the player in a more or less annoying fashion depending on the waypoints. I'll think of some ideas. 

 

Valken I'm not getting any slowdowns in 1.67 dev builds, other than the default poor performance A3 is famous for.  

  • Like 5

Share this post


Link to post
Share on other sites

@ TPW - that is awesome. Finally can see some females around.

 

Would be nice to add and integrate Zeealex's Femal3 mod:

 since the head are swappable for more variety. But a great start in either case!

  • Like 2

Share this post


Link to post
Share on other sites

Yes!!!!

 

 TPW your the man. I tried putting them in your config but failed....

 

*bows out*

Share this post


Link to post
Share on other sites

Hey I'm using the fireflies script. How do I get more small groups of the fireflies. Do i edit the init or the script itself?

Share this post


Link to post
Share on other sites
9 hours ago, Caluu66x said:

Hey I'm using the fireflies script. How do I get more small groups of the fireflies. Do i edit the init or the script itself?

 

If your calling the script from your players init, just edit the numbers from there.

Take a look at the script again and look to the "spawning" section to understand how they are spawned....

// Spawning 
25 = tpw_firefly_radius // Firefies will be spawned within this distance (m) of player
5 = tpw_firefly_time // Max seconds between spawning each firefly/swarm
50 = tpw_firefly_maxflies // Maximum number of fireflies around player
5 = tpw_firefly_swarmsize // Maximum number of fireflies per swarm (must be less than tpw_firefly_maxflies)
0.1 = tpw_firefly_largeswarm // Chance of a large swarm (5 X tpw_firefly_swarmsize) spawning near player. 0 = never, 1 = always

For more small groups as per your request i believe you will need to....

Increase "tpw_firefly_maxflies" (default is 50)

Decrease "tpw_firefly_swarmsize* (default is 5)

So try this in your players init...

0 = [4,18,5,25,5,75,3,0.1,[250,220,100],0.8,0.05,1,0.075] execvm "tpw_fireflies.sqf";

This will increase the maximum number of fireflies around player to 75, and decrease the maximum swarm size to 3.

I think this should help.... 

  • Like 1

Share this post


Link to post
Share on other sites
8 hours ago, Evil Organ said:

 

If your calling the script from your players init, just edit the numbers from there.

Take a look at the script again and look to the "spawning" section to understand how they are spawned....


// Spawning 
25 = tpw_firefly_radius // Firefies will be spawned within this distance (m) of player
5 = tpw_firefly_time // Max seconds between spawning each firefly/swarm
50 = tpw_firefly_maxflies // Maximum number of fireflies around player
5 = tpw_firefly_swarmsize // Maximum number of fireflies per swarm (must be less than tpw_firefly_maxflies)
0.1 = tpw_firefly_largeswarm // Chance of a large swarm (5 X tpw_firefly_swarmsize) spawning near player. 0 = never, 1 = always

For more small groups as per your request i believe you will need to....

Increase "tpw_firefly_maxflies" (default is 50)

Decrease "tpw_firefly_swarmsize* (default is 5)

So try this in your players init...


0 = [4,18,5,25,5,75,3,0.1,[250,220,100],0.8,0.05,1,0.075] execvm "tpw_fireflies.sqf";

This will increase the maximum number of fireflies around player to 75, and decrease the maximum swarm size to 3.

I think this should help.... 

 

Thanks you EO. Now for the init is this the one that I have placed in the mission folder correct?

Share this post


Link to post
Share on other sites
16 minutes ago, Caluu66x said:

Thanks you EO. Now for the init is this the one that I have placed in the mission folder correct?

 

Place the tpw_fireflies script in your mission folder, then call the script from your playable units initialization field....double click on your playable unit and add the call line to it's init field. :wink_o: 

  • Like 1

Share this post


Link to post
Share on other sites
2 hours ago, Evil Organ said:

 

Place the tpw_fireflies script in your mission folder, then call the script from your playable units initialization field....double click on your playable unit and add the call line to it's init field. :wink_o: 

I actually got it working by creating the init.sqf file and placing it along side the fireflies script in the mission folder. I guess whatever works. Thanks again EO

  • Like 1

Share this post


Link to post
Share on other sites

Crosses fingers that tpw's New Year resolution (with all our help) is to make this FULLY MP compatible :)

  • Like 1

Share this post


Link to post
Share on other sites

Please update with funiture mod spawner thing please. Houses and buildings are far to empty for me.

 

Thanks

Share this post


Link to post
Share on other sites

TPW MODS 20170101: https://dl.dropboxusercontent.com/u/481663/TPW_MODS_20170101.zip

 

Changes:

  • [CIVS 1.50, CROWD 1.03, CORE 1.28] Maxjoiner's female civilians will be used (only on Greek and European maps at present), if the mod is active. Approx 50% fewer civs will wear headgear.
  • [FIREFLIES 1.01] Fixed to display firefly lightpoints correctly when running the 64 bit exe.
  • [PUDDLE 1.01] Fixed issues with CUP Terrains and no entry 'bin\config.bin/cfgmodels.default' messages. Previous workarounds involving binarisation caused bad texture and RVMat issues.  
  • [SOAP 1.09] Improved relationship between wind strength and shutter rattling in houses


Happy new year everyone. I had a shithouse 2016 and hope that 2017 is better for all of us! Anyway, here's my first 2017 release with a major new feature (women civs), a fix for 64 bit, and some other bugfixes. Please be aware that the 64 bit exe is still not 100% and some things will give anomolies. If you spot any related to TPW MODS I'd appreciate the heads up.

 

I've only just gotten back into Arma3 after a couple of months off playing other games and doing other things. I'm again struck by how beautiful and ambitious this game is, but also struck by how clunky and halfarsed and unoptimised it is too. C'est la vie.

 

Hopefully I'll get my A3 mojo back and will get on with some new things such as furniture, and possibly MP. 

 

 

  • Like 16

Share this post


Link to post
Share on other sites

Thanks man. I really appreciate your continued efforts to improve your mod. I hope that 2017 is a better year for you.

Share this post


Link to post
Share on other sites

Since you didn't mention it, it sounds like old userconfigs don't need updating?  I know you try to let us know, but just checking.

Share this post


Link to post
Share on other sites

Please do furniture!!! Thanks for update good sir/madam!!!

Share this post


Link to post
Share on other sites

Great mod, please will be amazing if add a module of advanced first aid how: drag, carry so as player as IA THANK...

Share this post


Link to post
Share on other sites
Quote

Great mod, please will be amazing if add a module of advanced first aid how: drag, carry so as player as IA THANK

   Not sure but think that type of mod is a whole other can of worms.

These guys are sorting this type of mod.

Share this post


Link to post
Share on other sites

AMBIENT FURNITURE - REQUEST FOR HELP

 

furniture.jpg

 

Hi everyone. I've been hard at work on an ambient furniture script. Believe me when I say this is not trivial, but I have finally come up with a couple of WIP scripts:

 

tpw_furniture.sqf scans for the nearest building around the player, matches the building type to a building specific list of furniture and offsets, and then spawns the simulation disabled furniture into the house. Currently it only spawns furniture into a couple of small Tanoa house types (especially the green and pink house). 

Spoiler

/*
HOUSE AMBIENT FURNITURE SCRIPT
tpw 20170104
*/

// FURNISH HOUSE
tpw_furnish_fnc_populate =
    {
    private ["_bld","_type","_items","_item","_offset","_angle","_bld","_pos"];
    _bld = _this select 0;
    _type = typeof _bld;
    
    // Assign appropriate furnishing template for house
    switch _type do
        {
        case "Land_House_Small_03_F":
            {
            if (_bld getvariable ["tpw_furnished",0] == 0) then
                {
                _bld setvariable ["tpw_furnished",1];
                _items = [["Land_WoodenTable_large_F",[-3.04688,-1.09473,-1.32258],-177.826],["Land_ChairWood_F",[-4.02051,-1.66113,-1.32258],102.879],["Land_ChairWood_F",[-3.95264,-0.40918,-1.32258],72.8789],["Land_ChairWood_F",[-2.96143,0.394531,-1.32258],1.36459],["Land_ShelvesWooden_F",[-2.70898,3.6416,-1.32258],-180.168],["Land_ShelvesWooden_F",[-3.58252,5.09668,-1.32258],-89.0166],["Fridge_01_closed_F",[-6.14307,5.00391,-1.32258],0.283615],["Land_BarrelWater_F",[-5.05859,4.875,-1.32258],-12.9616],["Land_PlasticCase_01_small_F",[-2.63818,2.64941,-1.32258],-0.86998],["Land_Sacks_goods_F",[-5.83984,2.27734,-1.32258],146.318],["Land_Sack_F",[-5.77539,0.879883,-1.32258],-183.514],["Land_Sack_F",[-5.87988,-1.62305,-1.32258],-74.1766],["Land_Sacks_heap_F",[2.4209,-1.18457,-1.32258],79.303],["Land_CanisterPlastic_F",[2.64453,0.347656,-1.32258],2.86423],["Land_GasTank_01_blue_F",[2.66113,1.92578,-1.32258],2.86423],["Land_Basket_F",[0.0766602,-1.71875,-1.32258],-7.47496],["Land_Basket_F",[-1.5332,2.85645,-1.32258],-140.148],["Land_Metal_rack_Tall_F",[-1.91113,4.40332,-1.32258],91.9407],["Land_Metal_rack_Tall_F",[0.318359,4.99023,-1.32258],-1.69688]];
                };
            };
        case "Land_House_Small_04_F":
            {
            if (_bld getvariable ["tpw_furnished",0] == 0) then
                {
                _bld setvariable ["tpw_furnished",1];
                _items = [["Land_WoodenTable_large_F",[-1.66309,-3.93457,-0.864875],-180.002],["Land_RattanChair_01_F",[-0.495117,-4.66602,-0.86476],-185.523],["Land_RattanChair_01_F",[-0.614258,-3.41992,-0.864752],-95.9327],["Land_RattanChair_01_F",[-1.5791,-2.18408,-0.86497],-10.4366],["Land_WoodenCounter_01_F",[3.91211,-2.41406,-0.86588],91.3104],["Land_ShelvesWooden_F",[0.543945,1.9248,-0.865171],-174.964],["Land_Sacks_goods_F",[0.27002,3.65137,-0.86414],-63.6292],["Land_Basket_F",[0.648438,0.700684,-0.865187],-115.737]];
                };
            };    
        case "Land_House_Small_06_F":
            {
            if (_bld getvariable ["tpw_furnished",0] == 0) then
                {
                _bld setvariable ["tpw_furnished",1];
                _items = [["Land_TablePlastic_01_F",[-1.41699,-4.63379,-1.00068],-178.977],["Land_ChairPlastic_F",[0.0175781,-3.98975,-1.00068],-132.682],["Land_ChairPlastic_F",[-2.93457,-3.97656,-1.00068],-32.8382],["Land_ChairPlastic_F",[-1.40234,-3.51807,-1.00068],-84.6655],["Land_WoodenTable_large_F",[-2.25391,1.56348,-1.00068],-88.8574],["Land_WoodenCounter_01_F",[1.86621,-3.7085,-1.00068],91.8469],["Land_Metal_rack_F",[2.27832,0.189453,-1.00068],-90.243],["Land_Basket_F",[-4.02246,1.79492,-1.00068],45.8277],["Land_Sack_F",[-3.87305,0.850586,-1.00068],77.0597],["Land_Sack_F",[-4.0918,-0.185547,-1.00068],-177.337],["Land_PlasticCase_01_small_F",[-3.97559,-5.03857,-1.00068],-89.3508],["Land_CanisterFuel_F",[-3.97266,-4.03271,-1.00068],-53.4766]];
                };
            };
        };
    
    // Furnish house appropriately
    if (_bld getvariable "tpw_furnished" == 1) then
        {
        _bld setvariable ["tpw_furniture",_items];
        _bld setvariable ["tpw_furnished",2];
        _dir = getdir _bld;
            {
            _item = _x select 0;
            _offset = _x select 1 vectoradd [0,0,-0.1];
            _angle = _x select 2;
            _dir = getdir _bld;
            _pos = _bld modeltoworld _offset;
            _item = _item createvehiclelocal _pos;
            _item setposatl _pos;
            _item setdir (_dir - _angle);
            _item enablesimulation false;
            } foreach _items;        
        };
    };

// SCAN FOR NEAREST HOUSE TO FURNISH
while {true} do
    {
    _bld = nearestbuilding player;
    0 = [_bld] call tpw_furnish_fnc_populate;
    sleep 2;
    };

 

 

tpw_furniture_place.sqf this allows the player to select the appropriate furniture item in game, rotate it, and place it near/within the nearest house. Once the house has been fully furnished the array of furniture/offsets are pasted from the clipboard and used in tpw_furniture.sqf. It's not very flashy but it's 1000% faster than trying to do it in the editor.

Spoiler

 

/*
FURNITURE PLACEMENT SCRIPT
tpw 20170104
*/

sleep 5;

hint "Furniture placement active";

 

// Items
tpw_furniture_items = ["Land_CampingChair_V2_F","Land_CampingTable_F","Land_CampingTable_small_F","Land_ChairPlastic_F","Land_CampingChair_V1_F","Land_TablePlastic_01_F","Land_RattanChair_01_F","Land_WoodenTable_large_F","Land_WoodenTable_small_F","Land_WoodenCounter_01_F","Land_ChairWood_F","Land_TableDesk_F","Land_OfficeCabinet_01_F","Land_OfficeChair_01_F","OfficeTable_01_new_F","OfficeTable_01_old_F","Land_CashDesk_F","Land_Icebox_F","Land_Metal_rack_F","Land_Metal_rack_Tall_F","Land_ShelvesMetal_F","Land_ShelvesWooden_F","Land_Pillow_camouflage_F","Land_Pillow_grey_F","Land_Pillow_old_F","Land_Sleeping_bag_F","Land_Sleeping_bag_blue_F","Land_Sleeping_bag_blue_folded_F","Land_Sleeping_bag_brown_F","Land_Sleeping_bag_folded_F","Land_Ground_sheet_F","Land_Ground_sheet_folded_blue_F","Land_Ground_sheet_folded_F","Land_Camera_01_F","Land_FlatTV_01_F","Land_FMradio_F","Land_Laptop_device_F","Land_Microwave_01_F","Fridge_01_closed_F","Land_Tablet_01_F","Land_BakedBeans_F","Land_Can_Dented_F","Land_Can_V2_F","Land_Can_V3_F","Land_Can_Rusty_F","Land_Can_V1_F","Land_Canteen_F","Land_CerealsBox_F","Land_Tableware_01_fork_F","Land_Tableware_01_knife_F","Land_Tableware_01_spoon_F","Land_FoodContainer_01_F","Land_Ketchup_01_F","Land_Mustard_01_F","Land_Tableware_01_stackOfNapkins_F","Land_BottlePlastic_V1_F","Land_Tableware_01_cup_F","Land_Tableware_01_tray_F","Land_PowderedMilk_F","Land_RiceBox_F","Land_TinContainer_F","Land_BottlePlastic_V2_F","Land_LuggageHeap_03_F","Land_LuggageHeap_01_F","Land_LuggageHeap_02_F","Land_Basket_F","Land_CratesShabby_F","Land_Sack_F","Land_Sacks_goods_F","Land_Sacks_heap_F","Land_BarrelWater_F","Land_PlasticCase_01_large_F","Land_PlasticCase_01_small_F","Land_Suitcase_F","Land_CanisterFuel_F","Land_CanisterPlastic_F","Land_GasCooker_F","Land_GasTank_01_blue_F"];

// vars
tpw_furniture_index = 0;
tpw_furniture_angle = 0;
tpw_furniture_itemcount = (count tpw_furniture_items) - 1;
tpw_furniture_lastchange = time;

// Initial ball
tpw_furniture_ball = "sign_sphere10cm_f" createvehiclelocal position player;
tpw_furniture_ball attachto [player,[0,2,0]];
tpw_furniture_item = "Land_HelipadEmpty_F" createvehiclelocal position player;
tpw_furniture_item attachto [player,[0,2,1]];

tpw_furniture_fnc_updateitem =
    {
    deletevehicle tpw_furniture_item;    
    tpw_furniture_item = (tpw_furniture_items select tpw_furniture_index) createvehiclelocal position player;
    tpw_furniture_item attachto [player,[0,2,1]];
    tpw_furniture_item setdir tpw_furniture_angle;    
    };
    
tpw_furniture_fnc_placeitem = 
    {
    tpw_furniture_bld = nearestbuilding player;
    tpw_furniture_dir = getdir tpw_furniture_bld;
    tpw_furniture_ballpos = tpw_furniture_bld worldtomodel getposatl tpw_furniture_ball;
    tpw_furniture_pos = tpw_furniture_bld modeltoworld tpw_furniture_ballpos;

    tpw_furniture_lastitem = (tpw_furniture_items select tpw_furniture_index) createvehiclelocal tpw_furniture_pos;
    tpw_furniture_lastitem setposatl tpw_furniture_pos;
    tpw_furniture_lastitem setdir (getdir tpw_furniture_item);
    tpw_furniture_lastitem enablesimulation false;
    
    hintsilent format ["%1,%2,%3,%4",typeof tpw_furniture_bld,tpw_furniture_items select tpw_furniture_index,tpw_furniture_ballpos,tpw_furniture_dir - getdir tpw_furniture_lastitem];
    _list = tpw_furniture_bld getvariable ["tpw_furniture",[]];
    _list pushback [tpw_furniture_items select tpw_furniture_index,tpw_furniture_ballpos,tpw_furniture_dir - getdir tpw_furniture_lastitem];
    tpw_furniture_bld setvariable ["tpw_furniture",_list];
    copytoclipboard format ["%1,%2",typeof tpw_furniture_bld,_list];
    };

tpw_furniture_fnc_deleteitem =
    {
    deletevehicle tpw_furniture_lastitem; 
    _list = tpw_furniture_bld getvariable "tpw_furniture";
    _list deleteat ((count _list) - 1);
    tpw_furniture_bld setvariable ["tpw_furniture",_list];
    };
    
(findDisplay 46) displayAddEventHandler ["keyDown", "_this call tpw_furniture_fnc_keys"];
tpw_furniture_fnc_keys = 
    {
    private["_ctrl","_alt","_key"];
    _ctrl = _this select 3;
    _alt = _this select 4;
    _key = _this select 1;
    if (_ctrl && _alt && time > tpw_furniture_lastchange) then 
        {

        switch _key do
            {
            case 200: // arrow up, scroll back through items
                {
                tpw_furniture_lastchange = time + 0.1;
                tpw_furniture_index = tpw_furniture_index - 1;
                if (tpw_furniture_index < 0) then
                    {
                    tpw_furniture_index = tpw_furniture_itemcount;
                    };
                0 = [] call tpw_furniture_fnc_updateitem;    
                };
            case 208: // arrow down,  scroll down through items
                {
                tpw_furniture_lastchange = time + 0.1;
                tpw_furniture_index = tpw_furniture_index + 1;
                if (tpw_furniture_index > tpw_furniture_itemcount) then
                    {
                    tpw_furniture_index = 0;
                    };
                0 = [] call tpw_furniture_fnc_updateitem;    
                };
            case 203: // arrow left, rotate left
                {
                tpw_furniture_lastchange = time + 0.1;
                tpw_furniture_angle = tpw_furniture_angle - 15;
                if (tpw_furniture_angle < 0) then
                    {
                    tpw_furniture_angle = 360 + tpw_furniture_angle;
                    };
                0 = [] call tpw_furniture_fnc_updateitem;
                };
            case 205: // arrow right, rotate right
                {
                tpw_furniture_lastchange = time + 0.1;
                tpw_furniture_angle = tpw_furniture_angle + 15;
                if (tpw_furniture_angle > 360) then
                    {
                    tpw_furniture_angle = tpw_furniture_angle - 360;
                    };
                0 = [] call tpw_furniture_fnc_updateitem;
                };                
                
            case 156: //numpad enter, place item
                {
                tpw_furniture_lastchange = time + 0.1;
                0 = [] call tpw_furniture_fnc_placeitem;
                };
                
            case 82: //    numpad 0, delete last item
                {
                tpw_furniture_lastchange = time + 0.1;
                0 = [] call tpw_furniture_fnc_deleteitem;
                };
            };
        };
    };

 

 

 

It turns out that writing the code was the easy part. Actually placing all the furniture in the dozens of building types on Tanoa and Altis (let alone 3rd party maps) is going to be a big job that I don't have the patience for. But I'm hoping that some of you might care to help me out by running tpw_furniture_place.sqf and PMing me the resultant output. The program is easy to use:

 

1 - It starts up with a yellow ball in front of the player. This represents the target for placement

2 - ctrl + alt + up/down arrows allow you to select the furniture item

3 - ctrl + alt + left/right arrows allow you to rotate the item

4 - ctrl + alt + keypad enter places the item at the target

5 - ctrl + alt + keypad 0 deletes the last placed object

6 - once you've furnished a house alt-tab back to your text editor and paste the clipboard, which should look something like this

Land_House_Small_04_F,[["Land_WoodenTable_large_F",[-1.66309,-3.93457,-0.864875],-180.002],["Land_RattanChair_01_F",[-0.495117,-4.66602,-0.86476],-185.523],["Land_RattanChair_01_F",[-0.614258,-3.41992,-0.864752],-95.9327],["Land_RattanChair_01_F",[-1.5791,-2.18408,-0.86497],-10.4366],["Land_WoodenCounter_01_F",[3.91211,-2.41406,-0.86588],91.3104],["Land_ShelvesWooden_F",[0.543945,1.9248,-0.865171],-174.964],["Land_Sacks_goods_F",[0.27002,3.65137,-0.86414],-63.6292],["Land_Basket_F",[0.648438,0.700684,-0.865187],-115.737]]   

7 - move to another house and start the process over. The clipboard will clear each time you move house.

 

Caveats:

1 - As you know, Arma3 only provides a pretty poor selection of furnishings. No beds, couches, rugs etc. But there's enough to at least provide the illusion of habitation

2 - Please resist the urge to fill houses chock a block with items, which will get in the way of AI and tank the framerate.

3 - My placement script only allows for placing items on the floor, not on other items. 

 

Please PM me if you're interested. Thanks in advance for any help. If none of you choose to help, I'll still release the mod eventually, it will just take longer and I won't listen to any bitching about the artistry of my work!

 

  • Like 6

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×