Arma 3
[SCRIPT] Phronk's Furniture
Showing 1-9 of 9 entries
Update: 20 Jun, 2021 @ 3:31pm

(20.JUN.2021)
Version: 0.7
Size: 208 KB

  • Added: New server-side looping script 'clean.sqf'
  • Added: Persistent furniture layouts (WIP)
  • Added: New setting in 'CFG.sqf' to adjust furniture activation range
  • Added: New furniture layouts for Altis, Malden, and Stratis: (8)
    • Land_Cargo_Patrol_V1_F
    • Land_Cargo_Patrol_V2_F
    • Land_Cargo_Patrol_V3_F
    • Land_Cargo_Patrol_V4_F
    • Land_GuardHouse_01_F
    • Land_i_Shed_Ind_03_F
    • Land_i_Shed_Ind_F
    • Land_FuelStation_01_workshop_F
  • Added: New furniture layouts for Tanoa: (4)
    • Land_FuelStation_01_shop_F
    • Land_Shed_01_F
    • Land_House_Native_01_F
    • Land_House_Native_02_F
  • Added: New furniture layouts for Livonia: (21)
    • Land_House_1W01_F
    • Land_House_1W02_F
    • Land_House_1W03_F
    • Land_House_1W04_F
    • Land_House_1W05_F
    • Land_House_1W06_F
    • Land_House_1W08_F
    • Land_House_1W09_F
    • Land_House_1W10_F
    • Land_House_1W11_F
    • Land_House_2W02_F
    • Land_House_2W03_F
    • Land_House_2W04_F
    • Land_House_2B01_F - Current WIP
    • Land_House_2B03_F
    • Land_House_2B04_F
    • Land_Barn_02_F
    • Land_Shed_13_F
    • Land_VillageStore_01_F
    • Land_Camp_House_01_brown_F
    • Land_i_Shed_Ind_old_F


  • Changed: Script is completely proximity based without triggers
  • Changed: House furniture function is called with an isNil to force scheduler
  • Changed: PF Supported houses have a 100% chance to spawn furniture
  • Changed: Blacklisting a specific house or an area of houses
  • Rebuilt: Furniture layout for large office building (Land_Offices_01_V1_F)
  • Tweaked: Height limit increased to infinite, up from 99 meters
  • Tweaked: Players in vehicles excluded from activating PF triggers
  • Tweaked: 'PF_Houses' variable moved to the 'init.sqf' in the PF folder
  • Fixed: Elevation detection was slightly broken
  • Fixed: Bug which caused furniture to spawn multiple times in houses
  • Fixed: Sometimes PF_Houses variable wouldn't load and broke script on init
  • Fixed: Functions were being initialized twice
  • Fixed: Floating bed in flower shop, for Land_i_Shop_01_V1_F
  • Fixed: Floating PC monitor in Land_Offices_01_V1_F
  • Fixed: Desk protruding through wall in Land_i_House_Small_02_V1
  • Fixed: Some floating objects in Land_i_House_Big_02_V1_F
  • Fixed: '_chair13' sinking through floor in Land_i_Shop_02_V1_F - RESTAURANT
  • Fixed: Wooden crates were blocking a buildingPos in Land_i_Shed_Ind_F
  • Fixed: Undefined variable '_pcMon1' in Land_Offices_01_V1_F
  • Fixed: Flickering textures on some vehicles
  • Fixed: Hid several selections on vehicles (Lights, clan logo, etc.)

  • Optimized: Converted most furniture simpleObjects to superSimpleObjects
  • Optimized: Replaced attachTo with setPos+modelToWorld
  • Optimized: Code is executed server-side
  • Optimized: Script no longer spawns helipads for every building
  • Optimized: Replaced while{true}do with waitUntil
  • Optimized: Code is no longer executed on duplicates in list of nearby houses
  • Optimized: Houses collected via pushBackUnique, with arrayIntersect
  • Optimized: Reduced number of objects spawned in layouts
  • Optimized: getDir _b is executed only once, instead of for every object
  • Optimized: Removed all sleeps in individual furniture scripts
  • Optimized: Script calls furniture scripts, instead of spawning them
  • Optimized: Code to setDir objects merged into a single forEach
  • Optimized: PF variable is no longer a global variable
  • Optimized: Replaced private variables in furniture functions with local ones
  • Optimized: Replaced getPosATL _x with _x, in nearestObjects[]
  • Optimized: Replaced private with params in some cases
  • Optimized: Replaced select with # in some cases
  • Optimized: Replaced a forEach within a forEach, with a count
  • Optimized: Replaced preprocessFileLineNumbers with preprocessFile
  • Optimized: Replaced preprocessFileLineNumbers with loadFile
  • Optimized: Shortened some furniture variable names

  • Removed: Location-based blacklisting
  • Removed: PF_Chance setting from 'CFG.sqf'
  • Removed: PF_Optimize setting from 'CFG.sqf'
  • Removed: 'PF.sqf' script
  • Removed: #include reference in 'init.sqf'
  • Removed: Crates from Land_i_Shed_Ind_F
  • Removed: Unused "CUP" folder
  • Removed: Land_i_Shop_01_V2 from list to search thru (Center pos of model is bad)

Update: 6 Mar, 2018 @ 8:09pm

Version: 0.6
Size: 180 KB

  • Added: New furniture layout for Land_i_Addon_03_V1_F
  • Added: New furniture layout for Land_Slum_House01_F
  • Added: New furniture layout for Land_Slum_House02_F
  • Added: New furniture layout for Land_Slum_House03_F
  • Added: New furniture layout for Land_Shed_02_F
  • Added: New furniture layout for Land_House_Big_01_F
  • Added: New setting in 'CFG.sqf' to toggle "Optimization Mode"
  • Added: Playable unit to player's group in demo mission for MP testing

  • Tweaked: Invisible helipads on each building have a PF variable set on them
  • Tweaked: Enabled simulation for invisible helipads on each building

  • Fixed: Furniture wouldn't rotate on dedicated servers
  • Fixed: Only 2 of the 6 supported Tanoa houses would actually spawn furniture
  • Fixed: Invisible helipads not spawned by furniture script could get deleted
  • Fixed: Sofa objects were mixed up in Land_i_House_Small_02_V1_F
  • Fixed: Missing bucket object script error, in h1_4.sqf
  • Fixed: Tanoa furniture script h1_1 incorrectly defined _H variable
  • Fixed: Some floating furniture

  • Optimized: Reduced sleep delays to .2 seconds, down from 1 second
  • Optimized: Removed _blanket variable which selectRandom'd array

  • Removed: N/A

Update: 23 Dec, 2017 @ 3:01pm

(23.12.2017)
Version: 0.5
Size: 160 KB

  • Added: Furniture layout for 6 unique Tanoa houses
  • Added: New furniture layout for Land_i_House_Small_02_V1_F
  • Added: New furniture layout for Land_i_Addon_02_V1_F
  • Added: New setting to blacklist specific locations, in the CFG.sqf
  • Added: New setting to blacklist specific building classnames, in the CFG.sqf
  • Added: New unhide function which unhides furniture within 150m of player
  • Added: Code now repositions/resizes some map specific locations (WIP)

  • Tweaked: Increased furniture spawn chance setting to 75%, up from 50%
  • Tweaked: Added more furniture to a couple houses which still felt too empty
  • Tweaked: Slightly moved some furniture to be less intrusive in a couple houses
  • Tweaked: Wooden table in Land_i_Stone_HouseBig_V1_F is now larger
  • Tweaked: Replaced getPosATL with getPosASL in some instances

  • Fixed: Blacklist markers system
  • Fixed: Fireplaces wouldn't despawn upon trigger deactivation
  • Fixed: Some triggers/markers spawned in water didn't behave correctly

  • Optimized: Furniture is hidden globally after spawning
  • Optimized: Furniture is revealed to client when he is within 150m of furniture
  • Optimized: Replaced some forEach commands with count
  • Optimized: Renamed _tempH variable to _H, in spawn.sqf
  • Optimized: Renamed _house variable to _B, in spawn.sqf
  • Optimized: Renamed _house variable to _H, in furniture scripts
  • Optimized: Code no longer pointlessly checks for location types
  • Optimized: Removed useless _housePos variable from garage layout script

  • Removed: Useless array of location types
  • Removed: Redundant _townType check / variable

Update: 30 Nov, 2017 @ 9:00am

Version: 0.4
Size: 124 KB

  • Added: New setting to adjust % chance for furniture to spawn per house
  • Added: Electronics store furniture layout for one of the Altis shops
  • Added: Script now supports all A3 location types
  • Added: Script now supports all A2 location types
  • Added: MissionEventHandler to delete furniture in ruined houses

  • Changed: Rewrote location finder code:
    • Trigger/marker size scales with town size
    • Trigger/marker angle taken into account
  • Changed: Trigger deactivation deletes objects attached to invisible helipads
  • Changed: Color of debug markers to ColorCiv, from ColorWest
  • Tweaked: Merged Arma 2 location types with Arma 3 location types
  • Tweaked: Increased trigger's max elevation activation to 99m, up from 0m
  • Tweaked: Disabled simulation of invisible helipads on houses, instead of deleted
  • Tweaked: Reduced damage check of buildings to 0.6, down from 0.9

  • Optimized: Script initialization (Thanks to Metalman10)
  • Optimized: All instances of the createVehicle[] command now use "can_collide"
  • Optimized: Invisible helipads are created only on buildings with furniture
  • Optimized: Trigger calls code for PF supported houses only
  • Optimized: Trigger deactivation deletes a couple specific objects
  • Optimized: Triggers are only created in locations with PF supported houses
  • Optimized: Blacklist marker code
  • Optimized: Replaced BIS_fnc_inTrigger, with inArea
  • Optimized: Significantly reduced script delays
  • Optimized: Naming of furniture trigger markers
  • Optimized: HelipadEmpty is created on the house's position, instead of setPos
  • Optimized: Replaced a couple forEach commands, with count
  • Optimized: Removed some unneeded occurrences of the setDir command

  • Fixed: Overlapping triggers could cause furniture to spawn more than once
  • Fixed: Blacklisted markers system
  • Fixed: All buildings in trigger would spawn an invisible helipad
  • Fixed: Trigger deactivation should no longer delete loot
  • Fixed: Locations with 0 PF supported houses in them no longer spawn a trigger
  • Fixed: A specific house type did not have its functions initialized
  • Fixed: Undefined variable reference for bucket object caused a script error
  • Fixed: Undefined variable reference for radio object caused a script error
  • Fixed: Undefined variable reference for table object caused a script error
  • Fixed: Tanoa flag paths were defined incorrectly
  • Fixed: Reduced sleep delays to help fix the delayed object rotation issues
  • Fixed: Removed most sleep delays to help fix the delayed object rotation issues

Update: 22 Nov, 2017 @ 9:24am

  • Fixed: Objects in blacklisted markers are no longer deleted upon trigger deactivation
  • Fixed: Incorrect classname reference caused an invisible sack
  • Fixed: Incorrect classname reference caused an invisible flag
  • Fixed: Incorrect classname reference caused an invisible plastic table

Update: 18 Nov, 2017 @ 6:47am

  • Fixed: Incorrect classname reference caused an invisible desk

  • Optimized: Blacklist code is more efficient
  • Optimized: If PF_Blacklist = [] or [""], the script will skip blacklist code

Update: 17 Nov, 2017 @ 1:54pm

  • Initial release

Update: 17 Nov, 2017 @ 1:44pm

Update: 17 Nov, 2017 @ 1:42pm