Jump to content

Recommended Posts

Please remove the floating radio, its really distracting and breaks immersion unless your hand comes up and holds it!

Share this post


Link to post
Share on other sites

i actually like it.

 

how about a parameter instead to make it optional?

  • Like 2

Share this post


Link to post
Share on other sites

Download Link (Google Drive)
Download Link (Armaholic)
Version: 0.5

 

 

ADDITIONS:
• Added: Simple 2D radio interface (Custom texture is temporary)

• Added: Cycle through previous/next VON channels via nobs on radio interface

• Added: Script setting to toggle 3D radio when talking

• Added: Script setting to toggle player animation when talking

• Added: Blocked usage of VoiceOverNet keybind *WIP*

• Added: Player is notified that he needs a rebreather to speak, if underwater

• Added: Reintroduced the auto-side detection and "r_PS" variable

• Added: Functions check for the player's unit classname and side

• Added: Function to handle radio animation better

• Added: Fuzz function deletes radio noise if player is beyond 1200 meters

• Added: Switching channels via radio menu resets channel permissions (Test)

• Added: Unique local variable to handle element in "Fuzz" function

• Added: More information to AFAR Instructions manual

• Added: BadBenson to credits

• Added: DirtySanchez to credits

• Security: Defined AFAR's functions under CfgRemoteExec in the Description.ext

• Security: AFAR's functions now initialize via comileFinal preprocessFile

 

ADJUSTMENTS:
• Changed: Side channel is disabled by default

• Changed: AFAR has been completely reorganized

• Merged: Vehicle channel permissions reorganized

• Merged: Code which initializes scripts/functions now in its own init script

• Moved: Separated all the configurable settings into the "CFG.sqf"

• Tweaked: Simplified installation of AFAR

• Tweaked: Vehicle chat should only work if you're in a vehicle

• Tweaked: Variables are set in more appropriate areas of code

• Tweaked: Functions use a unique "_nearP" variable

• Tweaked: Player does not grab radio while aiming down sights anymore

• Tweaked: Adjusted some settings in demo mission

 

FIXES:
Fixed: Common instance that caused radio noise to persist until respawn

• Fixed: Talking on radio while in a vehicle caused static bug

• Fixed: "Hush" function no longer deletes 3D radio

• Fixed: "_nearP" variable should be reset more reliably now

• Fixed: Only group leaders can communicate via Command channel

• Fixed: "MPKilled" eventHandler is now set to "Killed"

• Fixed: Demo mission would force player to respawn upon connecting

 

OPTIMIZATIONS:

• Optimized: Replaced private["_var1"] with private _var1

• Optimized: Replaced set command with pushBack

• Optimized: Replaced getPos command with getPosWorld 

• Optimized: createVehicleLocal getPos player changed to createVehicleLocal[0,0,0]

• Optimized: Removed detach command when deleting radio/static

• Optimized: Initialization of KeyUp eventHandlers

• Optimized: "r_WS" variable is no longer a public variable

• Optimized: 3D radio is no longer created while talking in a vehicle

• Optimized: Simplified "eventHandler" to "EH" in comments

• Optimized: Deleted function/variable classification from comments

• Optimized: Demo mission's .sqm is now binarized

 

REMOVALS:

• Replaced: Side channel with Command channel by default (Side may return later)

• Replaced: "r_WS" code/variable moved to AFAR's init

• Removed: initPlayerLocal.sqf is no longer used

• Removed: Useless "debug" object from demo mission

 

 

 

KNOWN BUGS:

  • Script locality may have issues and depend on newest connected player (Unconfirmed)
  • Dead players can talk while spectating/waiting to respawn (A3 Respawn)
  • Reloading right before talking on radio plays animation and deletes new magazine
  • Script error when talking near a wounded squad mate
  • Releasing other keys while holding down PushToTalk key is glitchy

__________________________________________________________________________

AFAR works better than it used to, but I think there may be a locality issue related to my use of the "player" references in the scripts.  It seems like the script likes to make the distances depend on a specific player (Newest connected) and may also effect channel permissions --- I need confirmation on this.

 

The next version will contain a few fixes, including the above mentioned bug if it is confirmed, as well as content additions and optimizations.  I think the way I want to go about Long Range Radio capability is by simply granting it under certain conditions: Squad leaders, air crews, tank crews, and ship mates.

  • Like 3

Share this post


Link to post
Share on other sites

The script has a severe issue which is blocking my progress from moving forward -- locality is changed when a new client connects/initializes AFAR.  This is an incomplete observation I've made, so I could be slightly mistaken.  The bug is that players' permissions in channels will almost completely depend on a specific player, who seems to usually be the newest connected client.

 

It explains why I've had unsuccessful tests of disabling chat reliably for dead players, players underwater, or players outside of radio range of a friendly player: it's because the scripts/functions are referring to some other player which the scripts are depending on, for whatever reason, and that player is still alive and within radio range of a friendly player.  Because he is alive and in range of a friendly player, he has permission to talk in VOIP channels, thus allowing everyone else to also talk in channels, regardless of their own status (Dead, alive, in or outside of range, underwater, etc.)

 

I've tried initializing the functions in every possible way I am aware of, all methods still lead to this issue.  Naturally, that means the code is fucked.  Most likely the references to "player", instead of "_this select 0" or whatever.  I actually had tried to change the player references in some parts to see if there was any improvements to the locality issue, but to no avail.

 

Long story short, I've come to the conclusion that I am not competent enough to even identify where the issue even begins, let alone how to fix it.  AFAR's next release will most likely be it's last.  I advise everyone using this in their mission to remove it, as it is merely a proof-of-concept.  After working on this script for nearly 8 months, it really sucks that it was a completely wasted effort.  Maybe someone out there can fix it, but as far as I am concerned, the project's progress forward is officially cancelled after version 0.6 is released.

Share this post


Link to post
Share on other sites

Damn, sorry to hear about the dead end. I was really interested in this.

 

Fire

 

Ps, thank you for giving it a shot.

  • Like 2

Share this post


Link to post
Share on other sites

I am very sad to hear that you're going to stop progress on this mod, as I loved using it in it's limited capacity.

 

Could I personally request that you release a version of this mod which just adds the radio in/out sounds as well as the static? That's all I'm looking for in order to add some immersion.

 

I would be more than willing to donate some money to this and future projects should you help me out.

 

Thank you! 

  • Like 1

Share this post


Link to post
Share on other sites

Sure, without the distance checks and complex stuff, it should work fine.  I'll post it in a couple days if I can.

  • Like 3

Share this post


Link to post
Share on other sites
19 hours ago, phronk said:

Sure, without the distance checks and complex stuff, it should work fine.  I'll post it in a couple days if I can.

 

I absolutely loved those basic functions, especially the different tone depending on the channel. I'm sure the community would love to add this to their missions for that little bit of added realism.

Share this post


Link to post
Share on other sites
On 7/4/2017 at 4:19 PM, phronk said:

Sure, without the distance checks and complex stuff, it should work fine.  I'll post it in a couple days if I can.

Any update or time-frame on the project there @phronk ?

Share this post


Link to post
Share on other sites

@phronk Sad to see the project go like this! If you're interested in working on a basic, sound-only version of this script or if anyone would like to help me make it. Please send me a PM!

Share this post


Link to post
Share on other sites

Surely, out of ALL the people who code for Arma, someone can assist.... LARROW comes to the top of my mind. Have you asked BI for help?

 

This is a great script, and solves the issue of having a mod installed. 

 

 

  • Like 2

Share this post


Link to post
Share on other sites

I'm still unable to figure out WHY this client-side script forces all machines to depend on a specific machine with the range/static effects, but I'm sure there's a fix.  Now that I have time and focus, I can investigate it again.  Can't promise it'll be resolved, ever, but I definitely am determined to try everything to get it working right.

Sorry for not writing the simple version of the script yet, shit happened and I couldn't focus on it at the time.  I'll release it soon™.

  • Like 2

Share this post


Link to post
Share on other sites

Hi Phonk, 

 

You have a great product, and it fixes a major hole in arma. Realistic radio communications WITHOUT the need of a mod. 

 

There's no "I" in team, mister. J/K. LOL!. 

 

And there's a whole team of programmers and coders who can help. Wish I could help you, but I am hardware guy, not a software guy. I chase the 0 and 1 down the paths. 

  • Like 2

Share this post


Link to post
Share on other sites
On 9/2/2017 at 11:01 PM, phronk said:

I'm still unable to figure out WHY this client-side script forces all machines to depend on a specific machine with the range/static effects, but I'm sure there's a fix.  Now that I have time and focus, I can investigate it again.  Can't promise it'll be resolved, ever, but I definitely am determined to try everything to get it working right.

Sorry for not writing the simple version of the script yet, shit happened and I couldn't focus on it at the time.  I'll release it soon™.

So happy you're still around @phronk. That simple version would be a LIFESAVER! If you need any help please let me know!

Share this post


Link to post
Share on other sites

goodnewseveryone.png
Special thanks to sc for fixing the "locality issue", which turned out to actually be a bug caused from my array of nearby players. (nearestObjects does not sort elements from nearest to farthest)

sc wrote a function to sort each of the elements in the array from nearest to farthest and select the nearest of them all.

 

I'm working on fixing a couple more bugs and I'd really like to optimize the code further.  If tests go well, there may be an imminent release by this coming weekend!  My focus is mostly on the main version of AFAR, but I promise I'll get a simple version released alongside it, if I don't release it earlier than that.

  • Like 7

Share this post


Link to post
Share on other sites

Amazing News! Man if this gets released, its going to be a game changer for most pub servers!

  • Like 1

Share this post


Link to post
Share on other sites
On ‎05‎/‎09‎/‎2017 at 1:09 PM, phronk said:

Special thanks to sc for fixing the "locality issue", which turned out to actually be a bug caused from my array of nearby players. (nearestObjects does not sort elements from nearest to farthest)

Well at least my quick test showed that sorting worked with nearestObjects, so you might have accidentally used nearObjects.
https://community.bistudio.com/wiki/nearestObjects
https://community.bistudio.com/wiki/nearObjects

 

But as I believe your only trying to check distances between players I'd use allPlayers or nearEntities with your sorting/distance check function.

https://community.bistudio.com/wiki/allPlayers

https://community.bistudio.com/wiki/nearEntities

  • Like 1

Share this post


Link to post
Share on other sites

I use allPlayers, I've tried nearObjects, nearestObjects, and nearEntities in previous versions and it gets complicated and slow with the need to check all sorts of extra classnames and other complexities.

Share this post


Link to post
Share on other sites

Download Link (Google Drive)

Download Link (Steam Workshop)

Download Link (Armaholic)

Version: 0.6

 

 

ADDITIONS:
• Added: Long-range radio interface
• Added: Support Channel for each side (WEST, EAST, INDEPENDENT)
• Added: Locality check at beginning of script initialization
• Added: New "Fuzz2" function which handles long-range radio static
• Added: Function which completely blocks VoiceOverNet keybind/input
• Added: Function to handle proper enabling of radio channels
• Added: sc to credits

 

ADJUSTMENTS:
• Updated: Arma Radio's Instructions Manual briefing

• Tweaked: MPKilled/MPRespawn eventHandlers are no longer MP eventHandlers

• Tweaked: MPKilled/MPRespawn eventHandlers now refer to _PLR instead of player

• Tweaked: Increased volume of radio squelch noises

• Tweaked: Radio interface is no longer moveable

• Tweaked: Radio interface shows long-range radio, if player is a:

  1. Squad Leader
  2. Pilot (Copilot not yet supported)
  3. Gunner
  4. Commander

FIXES:
Fixed: Persistent static bug
Fixed: "Locality" bug

• Fixed: Array of players nearby is now sorted from nearest to farthest
• Fixed: All channels disabled/enabled upon death/respawn
• Fixed: All channels properly disable if player talks while unable to breathe
• Fixed: Radio/static is now deleted properly, when entering/exiting a vehicle
• Fixed: Radio squelch when talking without a radio
• Fixed: Instance where keyUp/keyDown eventHandlers weren't reset properly

 

OPTIMIZATIONS:

• Optimized: AFAR no longer uses a custom texture (70kb) for interface

• Optimized: Players outside of radio range are now disregarded in the Fuzz.sqf
• Optimized: _this variable is used instead of [player], in eventHandlers
• Optimized: getInMan / getOutMan eventHandlers
• Optimized: Channels are now collectively disabled, using count
• Optimized: Replaced [array]+[array], with [array]append[array] in Hush.sqf
• Optimized: Replaced MPKilled MPeventHandler with Killed eventHandler
• Optimized: Replaced MPRespawn MPeventHandler with Respawn eventHandler
• Optimized: Removed surfaceIsWater check
• Optimized: Removed several redundant getPos commands
• Optimized: Removed redundant argument from several calls/execVM's
• Optimized: Removed comments from a few scripts

 

REMOVALS:

• Replaced: Radio interface's custom texture with an in-game model
• Replaced: Side Channel with Support Channel
• Replaced: [player] variable with _this, in eventHandlers
• Removed: Redundant [player] argument for init scripts
• Removed: AFAR mission lobby parameters
• Removed: paramsArray references in code for easier implementation
• Removed: Channel check at beginning of Fuzz.sqf
• Removed: Global Channel
• Removed: enableChannel 6
• Removed: ^v^v^v^v^v^ broken signal from Long-Range "Fuzz2" function
• Removed: VoiceOverNet inputAction keyDown/Up eventHandlers
• Removed: "VONin" and "VONout" functions
• Removed: fadeSpeech command from scripts

 

 

 

KNOWN BUGS:

  • Mouse button inputs are not supported
  • Spectators can talk on any channel (A3 Respawn)
  • Reloading right before talking on radio plays animation and deletes new magazine
  • Script error when talking near a wounded squad mate
  • Releasing other keys while holding down PushToTalk key is glitchy

__________________________________________________________________________

    This update introduces some critical bug fixes, huge optimizations, and feature additions such as a new custom Support Channel which has replaced Side Channel.  The lite version may take a few days longer to release.  If you discover any issues not listed on the Known Bugs list, please notify me about the problems you're having.

 

    One of my goals for the next version will be to fix the Spectator bug and possibly include mouse button support, for those who use Left, Right, or Middle mouse button as your in-game PushToTalk keybind; please use a keyboard keybind for the time being.  Additionally, you'll be able to easily configure the maximum radio ranges for both the short-range radio (Group Channel) and long-range radio (Command & Support Channel).  It is also possible I will include terrain/powerlines interference.  As always, many other fixes, optimizations, and feature additions will likely also make it into the next version, 0.7.

 

Enjoy!

  • Like 3

Share this post


Link to post
Share on other sites

Thank you so damn much! Can't wait for the 'LITE' version to release!

Once the persistent static bug is fixed without a doubt, I will likely use the full version!

Share this post


Link to post
Share on other sites

[Development Update]

There's been a decent amount of progress made with version 0.7 and I feel confident that the script will be ready for an update somewhere between late September to mid October.  I'm mostly focused on fixing minor bugs and adding small features.
 

I may have to do away with the idea of making the script compatible with mouse button inputs, at least for now.  It's conflicting with the keyboard input eventHandlers and is causing problems.  Personally, I don't use my mouse buttons for talking in VOIP.  Do you guys use any mouse-button keybinds for talking in VOIP in Arma 3?  Would it be absolutely necessary for mouse-button input support to be included in AFAR for you/your friends to use?  In a perfect world, I'd love my script to be as modular and accessible as possible, but unfortunately it seems that endeavor opens the script up to more possible conflicts and higher rate of glitch occurrences.

 

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

×