Jump to content


  • Content Count

  • Joined

  • Last visited

  • Medals

Everything posted by phronk

  1. { _x forceWalk true; } forEach units player - [player];
  2. Kinda reminds me of the buildings from this TC's vids:
  3. DESCRIPTION: This is a script which enhances the in-game VOIP by adding radio effects when communicating with other players, while factoring distance during transmissions. No mods or third-party programs required. Setup is easy! VIDEO: (Very outdated, will recreate soon™️) SCREENSHOTS: FEATURES: Doesn't require any mods Doesn't require any third-party programs Script will initialize only if TFAR & ACRE2 aren't enabled Tiny file size (130 KB) No performance impact Admin/clients don't have to download anything to play your mission No custom files; AFAR reuses all Arma content Adds interesting depth to VOIP, which it has lacked for so long Using VOIP in-game will broadcast radio noise to friendlies with a radio within radio range Players not in range cannot hear you or your radio noise Incapacitated / dead players cannot use radio (Optional) Compatible with land, sea, and air vehicles Compatible with Arma's End Game respawn templates Compatible with Arma's End Game Spectator Compatible with Arma's Dynamic Groups Compatible with Zeus Easy to configure with the "AFAR\CFG.sqf" In-game radio interface includes options to customize settings locally More information in the "ReadMe.txt" TO DO LIST: Voice clipping due to signal interference Release a separate standalone mod version KNOWN BUGS: (Upcoming Change-Log) High ping players, server, or desync can cause code delays AFAR's displayEventHandlers are paused for client, while a display other than 46 or 312 is active CREDITS: • Phronk: Script Creator • Bohemia Interactive: Radio model, audio, animation, and BIS_fncs CONTRIBUTIONS: • Dedmen: Added important VON script commands to Arma 3 • DirtySanchez: Helped organize functions • Metalman [EXP]: Helped optimize code initialization TESTERS: • Genesis92x • Harris • LightHouse • MorpheousMike • Moser • newgen • PRYMSUSPEC • Task Force Ronin INSTALLATION: (03SEP2021) - v0.98 Download Link (Google Drive) Download Link (Steam Workshop) Download Link (Armaholic) CHANGE-LOGS:
  4. Download Link (Google Drive) Download Link (Steam Workshop) Version: 0.98 Size: 130 KB ADDITIONS: • Added: Compatibility with the new SOG:PF CDLC radio backpacks • Added: Compatibility with the new SOG:PF CDLC radios + Can only use your own side's radios (Enemy radios give no benefit) • Added: Radio range extends to 9600m when in a military vehicle + Only while in the Driver seat, any turret, or first cargo seat ADJUSTMENTS: • Tweaked: Reduced VON volume check to 10%, down from 50% • Tweaked: SystemChat messages on init are now more obvious FIXES: • Fixed: SOG:PF aircrew slots weren't recognized • Fixed: Detection of player's living/breaking status on KeyPress & KeyRelease • Fixed: Dead and unable-to-breathe players could transmit squelches • Fixed: Detection of radio backpack • Fixed: Dropping radio backpack isn't properly detected • Fixed: Outdated reference to unused "r_dis" global variable in "up.sqf" OPTIMIZATIONS: • Optimized: CUP & SOG:PF RTO backpacks removed from "r_RTOBP" unless detected • Optimized: RemoteExec JIP queue • Optimized: isAbleToBreathe checks on keypress/release • Optimized: Wrapped condition in the "hasRadio.sqf" with parenthesis REMOVALS: • Replaced: N/A KNOWN BUGS: • Displays other than 46 and 312 will pause AFAR eventHandlers until it exits __________________________________________________________________________ I honestly thought I released this update months ago... Although it hasn't been thoroughly tested, this update adds support for the S.O.G. Prairie Fire CDLC. A brief test in the "Mike Force" mission proved it works, if you follow these installation instructions. The next update will focus on a complete rewrite and potential redesign, using OnEachFrame instead of displayEventHandlers which will fix the listed DisplayEventHandler bug and add mouse-button support, but could impact performance. Only way to find out is to get it done! Enjoy!
  5. By Phronk Description Scripted melee weapons system which doesn't require addons. Currently supports up to 7 different melee weapons, each with slightly different characteristics. Features Installation 1. Locate/open the folder of the mission you want to add this script to 2. Copy & Paste the Melee folder contained in the downloaded file, into your mission's folder 3. Copy & Paste this into your mission's init.sqf: null=[]execVM "Melee\cfg.sqf";" 4. Place a supported object/weapon to be used as a melee weapon (Example: Land_Axe_F) 5. Copy & Paste the appropriate below code into your object's init: (Example: If the object/weapon is Land_Axe_F, only paste the axe code in it's init) 7. Done! DOWNLOAD (10.23.2016) Known Bugs 1. Weapon is too static when attached to player 2. Hit detection is not precise and inefficient against crowds 3. Can pickup a gun in hands if already holding a melee weapon 4. Harmless script errors 5. Potentially broken in multiplayer environment (UNTESTED!) Change-Log
  6. I N S U R G E N C Y TAKISTAN [ REQUIRED ADDON: CUP:Terrains ] [ OPTIONAL ADDONS: TFAR ; CUP_Weapons ; CUP_Units ; CUP_Vehicles ; TalibanFighters ; TacticalBeard ; RHS:USF ] ACE3 Compatibility is still WIP! 'Takistan Insurgency' is a cooperative multiplayer mission/game mode for ArmA 3, influenced by the insurgency mission made in ArmA 2:OA by PogoMan and Fireball. [CO-27] FEATURES: SCREENSHOTS: VIDEOS: TO DO LIST: DOWNLOAD - 26.NOV.2017 SAMPLE SERVER SETTINGS: (OUTDATED!!!!) OFFICIAL SERVER: Hostname: ~TAKISTAN INSURGENCY~ [@CUPTerrains;@TalibanFighters;] IP: Port: 2302 BattlEye: No FilePatching: Yes VerifySignatures: Yes TeamSpeak: ATCAG.TS.NFOServers.com Website: www.ATCAG.com
  7. DESCRIPTION: This is a script which dynamically spawns furniture in houses around players. Easy to setup! VIDEO: SCREENSHOTS: FEATURES: No mods required! No DLCs required! Compatible with all maps which use buildings from Altis, Malden, Stratis, and Tanoa Compatible with single-player, client-hosted, and dedicated servers Nearly no performance impact Spawns furniture in random houses within town, when player enters it Furniture layouts are built with AI pathing / buildingPositons in mind Despawns the furniture when there are no players within that town Includes an easy to configure script file TO DO LIST: (Upcoming Change-Log) Finish support for Tanoa buildings Include furniture layouts for abandoned buildings Create up to 5 possible furniture layouts for each individual unique building KNOWN BUGS: Bug free! CREDITS: Phronk: Script Creator Bohemia Interactive: Furniture models, textures, and configs CONTRIBUTORS: Metalman10 optimized the initialization of functions TESTERS: Chaser (ATCAG) PRYMSUSPEC Sjakal INSTALLATION: Copy & paste the "PF" folder into your mission's root folder EXAMPLE: C:\Users\<MyUsername>\Documents\Arma 3 - Other Profiles\missions\<myMissionName.mapName> Copy & paste this line of code into your mission's init.sqf: if(isServer)then{PFrun=false;[]spawn compileFinal(preprocessFile"PF\init.sqf")}; Done! (OPTIONAL) - The "CFG.sqf" file in the "PF" folder is the settings file. PF_On = TRUE; //TRUE enables furniture, FALSE disables it (Default = TRUE) PF_Range = 60; //Activation range on buildings to spawn furniture (Default = 60) PF_BlacklistObj = [""]; //List of building CLASSNAMES to avoid spawning furniture in (Example: ["land_slum_01_f"]) v0.7 (20.JUN.2021) DOWNLOAD LINK - (Google Drive) DOWNLOAD LINK - (Steam Workshop) DOWNLOAD LINK - (Armaholic) CHANGE-LOGS:
  8. Totally forgot Armaholic vanished, thank you!
  9. Download Link (Google Drive) Download Link (Steam Workshop) Download Link (Armaholic) Version: 0.7 Size: 208 KB ADDITIONS: • 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_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 ADJUSTMENTS: • 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 FIXES: • 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.) OPTIMIZATIONS: • 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/public 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 REMOVALS: • 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) KNOWN BUGS: • Vectors not properly setup on some objects __________________________________________________________________________ Finally, after more than 3 years, I've decided to release this update. It's not as complete as I'd like (In terms of having more furniture templates done) but it is overall a gigantic upgrade in performance and includes support for many Livonia buildings. Thanks and enjoy!
  10. Thought you quit on this project years ago, nice to see it's still being worked on. Looks good.
  11. If the house has multiple possible templates, it will always use the same one it randomly selected initially.
  12. Each house has their own furniture templates. Some have just one, others may have up to 3 different templates.
  13. As a slight tip, playAction is a global command that AI on the server can execute and doesn't need to be remoteExecuted. However, switchAction does need to be remoteExecuted, as well as the animation commands like you mentioned such as playMove / playMoveNow / switchMove.
  14. It's Karl Pilkington at his peak form
  15. Download Link (Google Drive) Download Link (Steam Workshop) Download Link (Armaholic) Version: 0.97 Size: 127 KB ADDITIONS: • Added: Distance and terrain factors impact radio interference • Added: Volume control knob to radio interface • Added: "vol.sqf" script to handle local radio volume for players • Added: "volu.sqf" script to scale squelch and noise volumes • Added: Volume knob handles radio VON, squelches and noise • Added: Custom squelch-out noise for receiving players (+4kb) • Added: Beep noise when clicking "Mode" button on radio interface • Added: Radio interface can now be dragged around screen, position is cached • Added: Dropping radio will reset cached radio UI position ADJUSTMENTS: • Changed: Radio range is dictated by radio used, instead of channel • Improved: Positioning/scale of radio interface across more screen varieties • Merged: Scripted radio screen controls into "dialogs.hpp" • Tweaked: Buttons are highlighted first few times you open the radio • Tweaked: Squelches are only audible to client who is transmitting • Tweaked: Increased long-range radio range from 8000m to 9600m • Tweaked: Reduced short-range radio range from 3500m to 3200m • Tweaked: Moved spawning of global squelch/noise code to "d.sqf" • Tweaked: Opening radio while dead now switches you to Spectator channel • Tweaked: '_p' is no longer a private variable in "M_In.sqf" • Tweaked: Condensed help text in radio UI FIXES: • Fixed: Check for radio or RTO backpack was broken in "d.sqf" • Fixed: Talking in Spectator channel while respawning would soft-break AFAR • Fixed: Opening radio when in Global channel would block channel switching • Fixed: AFAR init muted Speech volume, which muted sounds like Tactical Ping • Fixed: Players without a radio still heard VOIP in channels other than Direct • Fixed: Radio no longer on top of "Press 'Esc' key to put away radio" text OPTIMIZATIONS: • Optimized: Changed backpack to unitBackpack in multiple scripts • Optimized: Squelch-outs no longer checks receiver's incapacitated state • Optimized: All controls are committed within a forEach, instead of individually • Optimized: Replaced code to check for radio with 'r_rC' function in "out.sqf" REMOVALS: • Replaced: 3D radio with a 2D image of a AN/PRC-148 Thales radio (+65kb) • Replaced: Global squelch-out sound with more realistic end of transmission noise • Removed: "Toggle 3D pop-up radio" option from AFAR options menu • Removed: RscTitles reference from "Description.ext" • Removed: "titles.hpp" • Removed: "3DLR.sqf" • Removed: 'r_3DR' global variable • Removed: Placeholder comments in UI code KNOWN BUGS: • Displays other than 46 and 312 will pause AFAR eventHandlers until it exits __________________________________________________________________________ TLDR; More important bug fixes, rewrote radio interface code, made interface a bit more user-friendly, added a volume control knob, and changed radio range from being channel dependent to being radio type dependent; RTO backpack has 9600m radio range while just a handheld radio grants 3200m radio range. The bug reports from the community have been very helpful thus far and are largely why this update is here. If you find any bugs that aren't already listed here, please let me know. Otherwise enjoy!
  16. If you're trying to optimize EOS, I recommend also using the setTriggerInterval script command to increase the interval value. I personally set it to 2, whereas by default a trigger's interval is 0.5.
  17. Download Link (Google Drive) Download Link (Steam Workshop) Download Link (Armaholic) Version: 0.96a [HOTFIX] Size: 52 KB ADDITIONS: • Added: Some initialization debug info to be logged to RPT ADJUSTMENTS: • Tweaked: Changed the radio help icon image and its position FIXES: • Fixed: Custom channels weren't being created • Fixed: Headless-client and JIP compatibility checks had too many parenthesis • Fixed: Forced script to waitUntil custom channels are created to avoid errors • Fixed: Clicking the radio help icon by mistake would block the knob function • Fixed: Typo in Arma Radio Instructions Manual briefing OPTIMIZATIONS: • Optimized: Improved getPlayerUID code by merging variable code in "fuzz.sqf" REMOVALS: • Removed: N/A KNOWN BUGS: • Displays other than 46 and 312 will pause AFAR eventHandlers until it exits • Respawning while talking in Spectator channel may cause AFAR to break on your end (Drop radio and pick it back up to fix) __________________________________________________________________________ Fixed some important stuff in this update which resolve the errors reported relating to the custom channels not being available or working. Thanks & enjoy!
  18. There is a performance boost when hiding and disabling simulation of units. Also, for reasons unknown to me, lots of groups is bad. Even if they're just full of objNull, so keep the number of groups as low as possible -- I did a test with 166 groups and almost all of them were for groups where the units were deleted (Forgot to add group deletion in my garbage collection) and FPS would stutter because of it. The issue went away once I fixed this. IMO it is best to utilize exactly what you need and not get greedy, which is part of the art of design and optimization lol.
  19. phronk

    Position Algorithm ArmA3

    Haven't tried your method @hansen111 but if it's 250+ times faster than inArea, that sounds yummy. One thing with triggers though is you can also use thisList with triggers, which returns all objects in the trigger that can trigger it, if any. So if player is in the trigger, thisList will equal [player] if the trigger is set to "ANYPLAYER". That method has been fastest for me, but I'm all about optimization so who knows. Maybe you're onto something. I find a lot of stuff on the wiki to be situationally correct or inaccurate sometimes. Trial and error through experimentation and do what works for you!
  20. @Melody_Mike You can write a script to block those keybinds using displayAddEventHandler ["KeyDown", {//muhCodez}]; in conjuction with actionKeys or inputAction.
  21. If it works it works! Good job.
  22. I would recommend switchMove, however, any player movement will break the animation. Might need to disableUserInput for the duration of the animation or whatever to prevent that.
  23. I use the AnimDone eventHandler and it works pretty good for me.
  24. phronk

    Multiplayer Animated briefing

    What's happening is you are flooding the scheduler with too much code/scripts at once and I think that function loops, so it never finishes. There is a limit to how much you can spawn. Depending on whether the code quickly does its' thing and terminates or if it loops will determine how impactful it might be, in an environment where lots of code is being spawned. Looking at your example, I think that's a $#!† ton of spawned code which all loop. You cannot have an infinite amount of looping scripts. I would recommend redesigning what you want to be more simple -- use static markers and make them animate only when you need them to, rather than just doing it for all.