phronk 898 Posted July 5, 2020 Download Link (Google Drive) Download Link (Steam Workshop)Download Link (Armaholic) Version: 0.95 Size: 52 KB ADDITIONS: • Added: Option to allow players to use radio while incapacitated• Added: Mouse button inputs now block PushToTalk keybinds • Added: Text advising player to equip a radio, if trying to talk without one ADJUSTMENTS: • Tweaked: "fuzz.sqf" & "fuzz2.sqf" now takes incapacitation into consideration • Tweaked: Replaced name with getPlayerUID in fuzz functions and "out.sqf" FIXES: • Fixed: Code didn't block talking in radio channels without a radio equipped • Fixed: Radio UI would pop-up from channel switch keys, when r_chOn is enabled • Fixed: Issues when multiple players connected with the same name • Fixed: Script error upon being killed, due to invalid argument with "r_out2" • Fixed: Possible script error due to inconsistent disabling of Spectator channel OPTIMIZATIONS: • Optimized: N/A REMOVALS: • Removed: Text pop-up when pressing channel switch keybinds KNOWN BUGS: • High ping players, server, or desync can cause code delays __________________________________________________________________________ Cleaned up a lot of bugs. Everything has been working as intended without issues in small play tests (Up to 9 players). As always, if you find any bugs, issues, or have any suggestions, please forward them to me! Thanks & enjoy! PS: Happy Independence Day! 🗽 4 1 Share this post Link to post Share on other sites
Play3r 147 Posted July 5, 2020 Any chance to get access to your Google Drive. We have to request it true Google Share this post Link to post Share on other sites
phronk 898 Posted July 5, 2020 Thanks, it should now be available to anyone. 1 Share this post Link to post Share on other sites
LSValmont 789 Posted July 31, 2020 It is finally happening!!! https://feedback.bistudio.com/T124140 Get your engines started 😉 Share this post Link to post Share on other sites
phronk 898 Posted August 5, 2020 I'll definitely look into it once it hits main branch! If the command acts like a volume control for specific players, it should be just what the script has needed. Hopefully it is lightweight since I'll likely need to remoteExec the command everytime a player talks to adjust volume based on certain parameters, such as current channel and lifeState. I haven't had any bug reports since the last AFAR update, so the next version will definitely focus on reintroducing distance factors and possibly other aspects like weather, "distortion", and Line-of-sight (LoS). This will likely also come with new bugs but I'll actively fix whatever comes up until it is stable and smooth. Performance will be prioritized over quality, so things like LoS and other features may be removed for optimization purposes. I want to minimize the load the code has on the network. 4 1 Share this post Link to post Share on other sites
LSValmont 789 Posted August 21, 2020 On 8/5/2020 at 5:40 PM, phronk said: I'll definitely look into it once it hits main branch! If the command acts like a volume control for specific players, it should be just what the script has needed. Hopefully it is lightweight since I'll likely need to remoteExec the command everytime a player talks to adjust volume based on certain parameters, such as current channel and lifeState. I haven't had any bug reports since the last AFAR update, so the next version will definitely focus on reintroducing distance factors and possibly other aspects like weather, "distortion", and Line-of-sight (LoS). This will likely also come with new bugs but I'll actively fix whatever comes up until it is stable and smooth. Performance will be prioritized over quality, so things like LoS and other features may be removed for optimization purposes. I want to minimize the load the code has on the network. It is finally happening!!! (It only took 6 years!) https://community.bistudio.com/wiki/setPlayerVoNVolume https://community.bistudio.com/wiki/radioChannelInfo 1 Share this post Link to post Share on other sites
phronk 898 Posted August 22, 2020 To be fair to BI, it only took 3 years since the creation of my feature request ticket. Better late than never, as they say. Will definitely play around with it once it hits Main Branch! As long as it performs well, it should be the last piece to the puzzle to finalizing AFAR. 4 2 Share this post Link to post Share on other sites
phronk 898 Posted September 28, 2020 Word around the street is that the script commands will be available in the next main branch update, possibly in a couple weeks. It gave me some motivation, so I've been fixing minor bugs, optimizing, writing a new radio range distance function, and working on some difficult-to-fix exploits. (Talking or switching channels via keybinds, while in a dialog, doesn't trigger the AFAR eventHandlers) Also, I decided to start improving the radio UI to be a bit more informative and user-friendly. More to come. [ Chat Permission, VOIP Permission, Signal Strength ] Spoiler 2 3 Share this post Link to post Share on other sites
LSValmont 789 Posted September 28, 2020 3 hours ago, phronk said: Word around the street is that the script commands will be available in the next main branch update, possibly in a couple weeks. It gave me some motivation, so I've been fixing minor bugs, optimizing, writing a new radio range distance function, and working on some difficult-to-fix exploits. (Talking or switching channels via keybinds, while in a dialog, doesn't trigger the AFAR eventHandlers) Also, I decided to start improving the radio UI to be a bit more informative and user-friendly. More to come. [ Chat Permission, VOIP Permission, Signal Strength ] Hide contents That is looking HOT! Can't wait for patch 2.0 to bring all these new commands! 1 Share this post Link to post Share on other sites
phronk 898 Posted October 30, 2020 Download Link (Google Drive) Download Link (Steam Workshop)Download Link (Armaholic) Version: 0.96 Size: 52 KB ADDITIONS: • Added: Reintroduced distance factors!• Added: Opening radio UI will fix broken eventHandler variables, if detected • Added: Player is given an "ItemRadio" upon init • Added: Icons to screen on radio representing current channel permissions • Added: Icon to screen on radio representing signal strength • Added: Icon to screen on radio representing battery (Cosmetic) • Added: "PT" and "FM" text to bottom of radio screen (Cosmetic) • Added: Modified sound effect for cycling channels on radio • Added: Upon init, player is notified to raise their VON volume if it's below 50% • Added: Speech volume is set to 100% upon init (Unsure if it even does anything) • Added: Mouse cursor is moved to center of screen when radio interface is opened • Added: Arma Radio's Instruction Manual includes info about radio ranges ADJUSTMENTS: • Changed: Radio noise no longer changes by distance, time of day, or weather • Changed: Repositioned the cycle channels button to the correct knob on radio model • Changed: Font of radio text to "LCD14", instead of "LucidiaConsoleB" • Improved: JIP compatibility • Improved: Arma Radio's Instructions Manual fits briefing window slightly better • Improved: Admin is muted globally, if speaking in Global channel and can't breathe • Improved: AFAR initializes much faster now • Improved: The cycle channel knob is much more responsive • Merged: 'fuzz2.sqf' with 'fuzz.sqf' • Merged: "Next Channel" and "Previous Channel" radio UI buttons into one • Merged: r_mCHName and r_mCHShort into one global variable • Tweaked: Increased volume of all radio effects • Tweaked: Height and width of text in radio UI to fit in the radio screen better • Tweaked: Ear icon in the AFAR Information briefing is now smaller to fit better • Tweaked: Help text pop-up when opening radio is now aligned to the right • Tweaked: Adjusted the order some code is executed in all of the "in" functions FIXES: • Fixed: Old Arma VON bug which would block a specific player from being audible • Fixed: "r_f" global variable is reset more reliably on death now • Fixed: Side channel did not process PushToTalk functions properly • Fixed: Cycling channels via keybinds when chOn is true now works properly • Fixed: Functions would break if default setting for r_incap was changed • Fixed: Parameters weren't always being passed to "out2.sqf" • Fixed: East faction's RTO channel wasn't using custom variables from 'CFG.sqf' • Fixed: Custom channel displays correct text in radio UI, instead of "SUPPORT" • Fixed: Detection of whether player could or couldn't breathe underwater • Fixed: Radio UI and channel switching wasn't fully supported in Zeus • Fixed: Handling of r_incap and r_sideCH variables • Fixed: "Show Chat" option now toggles chat visibility, instead of radio messages • Fixed: Arma Radio's Instruction Manual didn't always initialize for JIP • Fixed: Exiting a vehicle would switch you to Group channel • Fixed: Exploit that allowed players to switch channels while in the Escape menu OPTIMIZATIONS: • Optimized: Collection of players in group for 'G_In.sqf' (31% faster) • Optimized: Collection of leaders for 'C_In.sqf' (10% faster) • Optimized: Check if player is in a vehicle for 'V_In.sqf' (10% faster) • Optimized: Removed some extra channel checking code from the next/prev channel functions • Optimized: Removed excess parenthesis in 'fuzz.sqf' • Optimized: Removed redundant placeholder variable from "Killed" eventHandler • Optimized: Removed redundant font changes in radio interface code • Optimized: Replaced apply with forEach (5% faster) • Optimized: Replaced code for playing more static during rain with simpler code • Optimized: Replaced preprocessFile with loadFile when initializing some scripts • Optimized: Replaced !isServer with didJIP in headless client check • Optimized: Replaced hasInterface&&isNull player with didJIP REMOVALS: • Removed: "Next Channel" button from the radio UI • Removed: "Previous Channel" button from the radio UI • Removed: "Put away radio" button from the radio UI • Removed: 'fuzz2.sqf' • Removed: 'snd.sqf' • Removed: Rain, overcast, and sun interference factors • Removed: All variations of radio noise effects from 'SFX.hpp' (Only 1 is used) • Removed: All comments from scripts, except from 'init.sqf' and 'CFG.sqf' KNOWN BUGS: • Displays other than 46 and 312 will pause AFAR eventHandlers until it exits __________________________________________________________________________ Two months shy of 4 years, my Addon-Free Arma Radio script finally functions as I had originally intended it to! Players can now communicate via radio with friendlies who are within their channel's radio range -- and if they meet that channel's requirements (i.e. other players must be in your group to communicate with you via Group channel). Thanks to @Dedmen for the new setPlayerVONVolume & getPlayerVONVolume commands, this was made possible in Arma update 2.00. As I had anticipated the new commands prior to their release, I focused heavily on fixing bugs, optimizing, and adding a few features. I've tested this on 4 separate missions on dedicated servers with up to 12 players and all tests went well. Everything works! But if you find any bugs or have questions, either post them here or PM me. I've updated the screenshots of AFAR on the first post of this thread, but will get to recreating the video soon since the current one is outdated in every way. Thanks & enjoy! PS: 😈 Happy (Early) Halloween! 😈 4 5 Share this post Link to post Share on other sites
baton1990 30 Posted October 30, 2020 Does anybody know how to prove Arma 3 VON quality on local host server? This script is outstanding but bad quality of vanilla VON force dont use A3 radio system. Thanks. Share this post Link to post Share on other sites
.kju 3244 Posted October 30, 2020 Congratulations phronk 👍 also thanks for your huge dedication to hold onto it for so long and realize your initial vision in the end 1 1 Share this post Link to post Share on other sites
phronk 898 Posted October 30, 2020 @baton1990 You can adjust VONCodecQuality on your server via the Server.cfg as well as the VONCodec. The BI wiki has a page on how to configure your server. The default setting sounds like you're talking through a cardboard box, so I definitely recommend raising it lol. You can also disable VonID (Player names popup when people use VOIP) in your server's difficulty / arma3profile file. [EDIT] Didn't notice you said for a local host, in the case of running it off your own machine, you can adjust the VONID / difficulty settings via your Arma3Profile found in "My Documents>>Arma 3 (Or Arma 3 - Other Profiles, depending where your main profile is)>> (Your Profile)>>(Your profile name).Arma3Profile". I'm not sure if you can adjust the quality on your PC though. There's a few good cheap options for game/virtual servers or dedicated servers out there though. I used to pay $7 per month for ArmaHosts, but I think they've doubled in price since then, now I use a personal dedicated server that our group chipped in to build. You can probably try to host from your machine via the Arma3Server_x64 and place a server.cfg into your Arma 3 directory, but I never tried it. 3 Share this post Link to post Share on other sites
pierremgi 4851 Posted October 31, 2020 Since 2.0 you can get/setPlayerVonVolume 1 Share this post Link to post Share on other sites
baton1990 30 Posted November 2, 2020 Ok, thanks for answers. Share this post Link to post Share on other sites
phronk 898 Posted February 7, 2021 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! 3 2 Share this post Link to post Share on other sites
phronk 898 Posted March 2, 2021 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! 1 2 Share this post Link to post Share on other sites
phronk 898 Posted September 4, 2021 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! 4 2 Share this post Link to post Share on other sites
LSValmont 789 Posted September 4, 2021 21 hours ago, phronk said: 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! That sounds awesome! Thank you so much for this release, I haven't played anything else other than SOG since it was released so I am extremely happy about the revamped support 😉 Share this post Link to post Share on other sites
phronk 898 Posted May 17, 2022 Download Link (Google Drive) Version: 0.99a [OEF TEST VERISON] Size: 120 KB (No change-log for now, since it is still being updated) This is the current test version of AFAR that replaces most display EventHandlers with OnEachFrame StackedEventHandlers; this fixes a number of bugs and has actually improved performance rather than impacted it, at least in my tests, probably because it's 1 StackedEventHandler instead of potentially 8 displayEventHandlers firing everytime you press a key. There's also some quality of life changes/additions to make the script more intuitive. Zeus is still supported but it's only partial, cannot change channels in the Zeus interface yet. I don't have time to find people and schedule tests, nor do I care to do it anymore. Test this if you'd like and report any bugs you find, screenshots or videos are also very helpful. Must be tested with at least 1 other player or more. (The more the better) If no bug reports, enjoy! 2 2 Share this post Link to post Share on other sites
barccy 53 Posted May 17, 2022 15 hours ago, phronk said: I don't have time to find people and schedule tests, nor do I care to do it anymore. Test this if you'd like and report any bugs you find, screenshots or videos are also very helpful. Must be tested with at least 1 other player or more. (The more the better) I'm available a lot of the time and could jump in at a moment's notice if you'd like to be friends on steam or something. Share this post Link to post Share on other sites
Vadym Mazur 5 Posted November 16, 2022 Found some mistake in vOut.sqf private _eh=["KeyDown","if(!r_dn_ && _this#1 in(actionKeys'pushToTalk'+actionKeys'pushToTalkDirect'+actionKeys'pushToTalkGroup'+actionKeys'pushToTalkVehicle'+actionKeys'pushToTalkSide'+actionKeys'pushToTalkCommand'))then{'[]call r_dn}"]; Delete '[] 1 Share this post Link to post Share on other sites
barccy 53 Posted November 21, 2022 On 11/16/2022 at 5:00 AM, Vadym Mazur said: Found some mistake in vOut.sqf private _eh=["KeyDown","if(!r_dn_ && _this#1 in(actionKeys'pushToTalk'+actionKeys'pushToTalkDirect'+actionKeys'pushToTalkGroup'+actionKeys'pushToTalkVehicle'+actionKeys'pushToTalkSide'+actionKeys'pushToTalkCommand'))then{'[]call r_dn}"]; Delete '[] Could you post the corrected line, or specify which to delete? Share this post Link to post Share on other sites
Harzach 2517 Posted November 21, 2022 1 hour ago, barccy said: or specify which to delete? They did: Quote Delete '[] Change the end of the line from this: then{'[]call r_dn}"]; to this: then{call r_dn}"]; So: private _eh=["KeyDown","if(!r_dn_ && _this#1 in(actionKeys'pushToTalk'+actionKeys'pushToTalkDirect'+actionKeys'pushToTalkGroup'+actionKeys'pushToTalkVehicle'+actionKeys'pushToTalkSide'+actionKeys'pushToTalkCommand'))then{call r_dn}"]; 1 Share this post Link to post Share on other sites
Vadym Mazur 5 Posted November 21, 2022 Also dialogs.hpp line 52 w=0.13*safezoneW and line 95 y=0.347*safezoneH+safezoneY add ; in the end 2 Share this post Link to post Share on other sites