Jump to content

Recommended Posts

@Blackheart_Six I also agree that the Support channel should be limited to roles.  I'd basically just need to include a configurable variable containing an array of unit classnames ("B_recon_JTAC_F") for the script to check for Support access.  The problem is that if the mission uses modded units that aren't, by default, in the array of unit classnames for AFAR, the mission maker will need to add the modded unit classnames himself to the array. 

 

I've been trying to design / write the script to be as Plug & Play as I can make it, which I still have to work on.  If I write the code to only work with roles (Array of classnames) instead of checking for seats, that'd make my code a lot simpler to write.  If I go with that approach, I'll include CUP Units and RHSUS/RF units compatibility automatically in the array, but all other mods would need unit classnames added by the mission maker if he wanted to include those himself.

Share this post


Link to post
Share on other sites

Yea, (queue the old adage), it's a double edge sword, or your damned if you do, damned if you don't.  :-))))). 

 

Let me say up front, I am a firm believer, FORM follows FUNCTION, so I think, and IMHO, start with basic function.

 

What was the mission statement of the script to begin with? 

 

Post #1: 

DESCRIPTION:

This is a script which enhances the in-game VOIP by adding radio effects when communicating with other players, while factoring distance between the sender/receiver of the transmissions.  No mods or third-party programs required.  Setup is easy!

 

Have you achieved the stated goal? If you haven't done that yet, then I would concentrate on that statement, and make it bullet proof as you can. Get to Version 1.0 first.

 

Forget about adding unit mod compatibility, support channel, zeus compatibility, etc etc etc, until you achieve the mission statement.  Tune out the detractions,  feature requests, and nay sayers, concentrate on that.  

 

Then add in the FORM. Different radio model (my request), additional channels, Zeus, blah blah blah.....

 

As a mentor of mine use to say......"Just my advice, use it,  or don't. Pick up it and stick in your pocket, or leave it on the floor, either way its free, don't cost a dime.  

 

 

 

 

Share this post


Link to post
Share on other sites

I'd say I have achieved the goal of the script, as far as what is stated in the quoted description.  That's why I'm expanding the script.  I'd like AFAR to be a modular script that works for both addon-free missions and missions which use them.  It should be a flexible system and can be installed easily without much effort by the installer (Mission maker).  Getting AFAR to work seamlessly with default Arma systems/features (Dynamic Groups, End Game respawn templates, Zeus, etc.) is mainly what I've been trying to accomplish first.

 

It's also something I'd like public servers, other than my own, to utilize in their missions.  Other servers run differently than mine.  To accommodate for the differences, adding compatibility, additional features, and more options overall help make it more of a reliable script in a broader way.  It'll never be as in-depth or cool as ACRE2 or TFAR, but I think it will come close when it's officially done -- at least for something that doesn't require any setup for new players.

 

I'm all over the place with Support channel.  Two radios is exploitable, so I lost the love for that idea.  I'll most likely rewrite it to take unit classnames (Roles) into consideration, instead of two radios.

Share this post


Link to post
Share on other sites

Download Link (Google Drive)

Download Link (Steam Workshop)
Download Link (Armaholic)

Version: 0.8

Size: 104 KB

 

 

ADDITIONS:

• Added: New "Spectator channel" (Only works with Spectator respawn template)

• Added: New "Take" eventHandler: calls r_allOn function upon picking up radio

• Added: New "r_RTO" function: handles Support channel adding/removing

• Added: New "Fuzz3" function: handles Support channel's radio noise

• Added: New "S_In1" function: Support channel's "in" function for vehicles

• Added: Player's channel is set to Direct upon respawn

• Added: Player's channel is set to Direct when talking in a channel he shouldn't

• Added: Blackheart_Six credited for helping test AFAR

• Added: PRYMSUSPEC credited for helping test AFAR

 

ADJUSTMENTS:

• Updated: Arma Radio's Instructions Manual briefing information

• Changed: "Fuzz2" function now handles Command channel's radio noise

• Changed: Squad leaders no longer have forced access to Support channel

• Changed: Support Channel is available to anyone with the "RTO" unitTrait

• Changed: Rewrote some of the "getIn" and "getOut" eventHandler code

• Changed: Gunners aren't auto-granted access to Support channel

• Changed: Boat crews aren't auto-granted access to Support channel

• Changed: Vehicles with horns aren't auto-granted access to Support channel

• Changed: AFAR animation is disabled by default, in the CFG.sqf

• Tweaked: Reduced max AI alert radius around talking player to 9m, down from 15m

• Tweaked: If player talks with 0 players on his side, channel is set to Direct

• Tweaked: Support Channel is now labeled "Support channel" (Lower-case "C")

• Tweaked: Added "r_" prefix to some functions for consistent naming conventions

 

FIXES:
• Fixed: "Fuzz2" function wasn't working

• Fixed: Radio interface buttons were misplaced if interface size wasn't "Small"

• Fixed: Spectators could talk in all channels (A3 Respawn Template)

• Fixed: Script wasn't TeamSwitch compatible

• Fixed: Static Weapon gunners were getting access to Support channel

• Fixed: "Put" eventHandler was calling "allOn" function, when killed

• Fixed: Channels would disable when player moved a radio, while one was assigned

• Fixed: Cycling channels in radio interface didn't work correctly, if not a group leader

• Fixed: Array of players now only collects players within radio range

• Fixed: A couple if()then{ structures were setup incorrectly, causing errors

• Fixed: Fragmented brackets were misplaced at end of "vOut" function

• Fixed: Renamed RscText and RscButton to avoid mod/script conflicts

 

OPTIMIZATIONS:

• Optimized: "Fuzz2" function has a few less if()then{ structures in it

• Optimized: Removed redudnant check if player distance > 0

• Optimized: Removed redundant "case(_x distance > maxRange):do{};"

• Optimized: Removed redundant Support channel activation in AFAR "init.sqf"

• Optimized: Removed redundant argument when calling "allOn" function

• Optimized: Removed redundant argument when calling "allOff" function

• Optimized: Removed redundant called sort function in "out" functions

• Optimized: Removed redundant "_d1" variable, in "out" functions

• Optimized: Removed redundant "_c" variable from "out" functions

• Optimized: Removed redundant "_this" variable, in displayEventHandlers

• Optimized: Removed redundant "RscPicture" from "defines.hpp"

• Optimized: Renamed "blockVON.sqf", to "noVON.sqf"

• Optimized: Renamed "seeAFAR", to "r_3DR"

• Optimized: Renamed "anAFAR", to "r_Anm"

• Optimized: Cleaned up some unneeded placeholder comments

 

REMOVALS:

• Replaced: "S_In" with "S_In0": Support channel's "in" function for infantry

• Replaced: "r_sortD" function with BIS_fnc_sortBy

• Removed: Squad leader requirement from Support channel

• Removed: Randomization from enemy AI alert radius, when player is talking

• Removed: CH6,CH7,CH8 variables from r_CH variable, in the CFG.sqf

 

 

 

KNOWN BUGS:

• Mouse buttons not supported (LMB, MMB, and RMB)

• Not Zeus compatible

• Talking on radio while reloading plays animation and deletes new magazine (Radio animation feature is disabled by default to avoid this bug)

__________________________________________________________________________


It has been exactly 5 years since I first joined the Arma series community!  What better time to release an update?!  This is a huge update introducing absolutely necessary fixes, changes in design, and more.  Please read the ReadMe.txt for more information!!!

 

Thanks and enjoy!

  • Like 2

Share this post


Link to post
Share on other sites

Nice changelog @phronk! You mentioned you replaced your own sort function with the BIS function. Is the command sort the equivalent of the BIS function (BIS_fnc_sort) or? If so, it might be better/faster to use the command, unless I mistaken and it is something completely different. Anyway, good job! Keep the releases and updates coming. :)

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

Share this post


Link to post
Share on other sites

I tried sort, but it didn't sort the distances correctly, I don't know why.  Also, the function I'm using is BIS_fnc_sortBy.  But yes, if sort did work it would definitely be faster.  On my end, it'd sort alphabetically, but numerically for whatever reason.  I'll try messing with it again, maybe it was an error on my part.

  • Like 1

Share this post


Link to post
Share on other sites

In order to run this in a mission on a dedicated server do I need to do anything different? Maybe with init_server.sqf? Or should it just work with the the init line in the instructions?

Share this post


Link to post
Share on other sites

I set mine up like the demo mission. I haven't tested this version yet.  

 

The only issue comes if you have a mission calling the same class from a different file. Just be aware of that. The editor will let you know. 

Share this post


Link to post
Share on other sites

Hi Phronk, 

 

I am getting this error at the start of mission. I looked at the positions in the demo mission. No variable name "RTO". Am I missing something? I have been able to test online yet. 

 

17:08:50 Error in expression <("ItemRadio"in assignedItems _PLR&&_PLR getUnitTrait"RTO")exitWith{
switch(side >
17:08:50   Error position: <getUnitTrait"RTO")exitWith{
switch(side >
17:08:50   Error Foreign error: Unknown enum value: "RTO"
17:08:50 File C:\Users\Blackheart_Six\Documents\Arma 3\mpmissions\Insurgency.Altis\AFAR\f\RTO.sqf, line 3

Share this post


Link to post
Share on other sites

Hi Phronk.

 

I am getting this error when running this mod

 

Error in expression <("PhronCuteness isEqualTo 1) then {ShutdownCutnessoverload = true};

Error position: PhronkTooCute

 

 

How can I fix this? I really like this mod but this makes it difficult to play - while this error is popping up I only see "Phronk is cute" over my screen.

 

Fix this please.

Share this post


Link to post
Share on other sites

@Blackheart_Six Thanks, I didn't catch that error.  It'll be fixed in the next version. (EDIT: This is an Arma Bug from the newest released arma update, they fixed it in the upcoming Arma update)

 

@genesis92x I will NEVER fix that error!

  • Haha 1

Share this post


Link to post
Share on other sites

im not sure if this would ever be possible but I would love to know if one could create something like this using nothing but the debug console. If it was in fact possible that would mean you could jump in as admin on a public zues server and have actual working radios that don't suck (at the moment im trying to create a script that allows zues to hear command channel in order to have better communications).

Share this post


Link to post
Share on other sites

Just an update on the script -- I've removed it from Steam Workshop; the script is completely pointless and 95% of the people trying to use it cannot follow the instructions anyway. I will add it to Steam Workshop again if Bohemia Interactive adds the script command I requested over a year ago. Until then, the script is easily exploited in missions with more than 2 players. You can still download it via Google Drive if you really want to use it.

  • Sad 2

Share this post


Link to post
Share on other sites

It's sad to see that Phronk, your idea with AFAR is brilliant. In fact, any idea that can simplify and facilitate something is a high-value idea even more when we talk about the complexity of the Arma 3 for a new user, for example. Do it, do it, install it here, install it there... That sucks!

It is sad that Bohemia did not think of such a system, what a waste!


I like TFAR and ACRE but if your script came out as a functional mod I would certainly replace them mainly because Team Speak is dying slowly not innovating and becoming obsolete as Discord grows and other communication platforms are emerging. It is the era of simple and efficient! It's sad to see that most of them do not support 3D positional audio yet.


I used your script a long time ago and it worked very well for my needs and I believe that people can not use it correctly is because many of them do not have the patience to configure certain things etc.

Perhaps turning AFAR into a mod is the key to reducing this problem with users.


And I hope bohemia hears you 

  • Like 1

Share this post


Link to post
Share on other sites

@AngusDLX Sorry for the late reply, I didn't see the post until now (4 months later lol).

If BI ever adds the local mute/unmute commands to the game, I'll be able to finish this project and even make an addon alternative. Until then, it isn't worth using in your mission(s) due to it breaking with more (or less) than 2 players in the mission. I'm sure they'll add it -- it's on their in-house To Do List -- especially since they announced they'll be supporting Arma 3 for a couple more years, so who knows. I'll also be able to rewrite some of the code to improve optimization and make it easier to implement.

 

Here's to hoping! :drinking2:

  • Thanks 2

Share this post


Link to post
Share on other sites
On 11/29/2018 at 4:40 AM, phronk said:

@AngusDLX Sorry for the late reply, I didn't see the post until now (4 months later lol).

If BI ever adds the local mute/unmute commands to the game, I'll be able to finish this project and even make an addon alternative. Until then, it isn't worth using in your mission(s) due to it breaking with more (or less) than 2 players in the mission. I'm sure they'll add it -- it's on their in-house To Do List -- especially since they announced they'll be supporting Arma 3 for a couple more years, so who knows. I'll also be able to rewrite some of the code to improve optimization and make it easier to implement.

 

Here's to hoping! :drinking2:

 

I guess the Arma Devs finally implemented what you wanted!

 

Audio

Added: say3D command extension to exclude speech category sounds from the filtering.

 

https://dev.arma3.com/post/spotrep-00085

 

You can now finish this script!

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites

So tried using this and just makes a radio pop up.

 

is it supposed to make your voice sound like it’s coming through a radio ?

  • Like 1

Share this post


Link to post
Share on other sites

 

On 3/8/2019 at 2:38 PM, LSValmont said:

 

I guess the Arma Devs finally implemented what you wanted!

(...)

You can now finish this script!

I sincerely hope phronk will do this. This script was always my favorite, TeamSpeak sucks and for just having some fun on a dedicated server with some friends, it was ideal. This being said: What is this exploit hat supposedly is possible with more than 2 players? I read this in a YouTube comment, on armaholic and here as well, but nobody ever gets into details. Is it really a problem?

I haven't tried to use the script for a while. But I could imagine that even with exploitation possible, in a secure community (a.k.a. I know the guys personally and we are on the server to have fun with our milsim RPG, not breaking the server) it should be no problem, right?

  • Like 1

Share this post


Link to post
Share on other sites

Let this comment be a vote for continuing this project 👍
 

On 3/27/2019 at 5:35 AM, strongground said:

What is this exploit hat supposedly is possible with more than 2 players? I read this in a YouTube comment, on armaholic and here as well, but nobody ever gets into details. Is it really a problem?

I haven't tried to use the script for a while. But I could imagine that even with exploitation possible, in a secure community (a.k.a. I know the guys personally and we are on the server to have fun with our milsim RPG, not breaking the server) it should be no problem, right?


Phronk explains what the exploit is here. If it's true that BIS has added something that allows player muting, then the exploit can be fixed. 
 

On 3/9/2019 at 4:12 AM, CHICKENLICKEN said:

So tried using this and just makes a radio pop up.

 

is it supposed to make your voice sound like it’s coming through a radio ?


Uh.. did you read the features list? And no there isn't supposed to be any radio distortion effect. 

  • Like 2

Share this post


Link to post
Share on other sites

BI still hasn't added any commands to locally mute/unmute players -- it's still on their To Do List to be reviewed/approved but it has also been there for like 2 years. They may still add it, but so far no commands or functionality has been added to do what is necessary to fix the exploit and make the script viable. Until then, the project is indefinitely on hold.

Share this post


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

BI still hasn't added any commands to locally mute/unmute players -- it's still on their To Do List to be reviewed/approved but it has also been there for like 2 years. They may still add it, but so far no commands or functionality has been added to do what is necessary to fix the exploit and make the script viable. Until then, the project is indefinitely on hold.

 

I've never played A3 online, so may not understand the whole issue, but I've always been interested in this script because I recall from running an A2 server how addon-free functionality is pure gold. Correct me if I'm wrong but as I understand this;

 

Quote

Did you mean you heard 2 people talking in a channel you were in, but can't talk in because it was disabled due to range? This is kind of an Arma VON "exploit" I can't really negate unless they add the mute feature I requested BI to add.  Adding static when out of range may reintroduce the persistent static bug.

 

The only thing this prevents you from adding is a maximum range (beyond which players cannot communicate at all)? If so, is that really such a problem? Consider that without this script a public server (with random players not in TS) is only going to have vanilla VON for which there's no maximum range either. But separation by such distances is likely to be a relatively small subset of actual use cases and it seems to me that this script suite is still an unalloyed good just by virtue of adding squelch and range-based static. If there's no way to effectively cap range then I think just settle for maximum static at and beyond that range and allow players to transmit at any range given they're going to be able to listen to those conversations - ideally with lots of noise.

 

In short I'd encourage you to continue development because (as far as I can see) there's a lot of utility here even without being able to implement a maximum range.

Share this post


Link to post
Share on other sites

Even tho the project is on hold, is it still functioning?

If not, then ignore the spoiler below. But if it does work then I could need some help. (See spoiler)

 

Spoiler

I'm trying to bring the script into Liberation but keep getting the "member already defined" error.

There are no other cfgSounds being called in the description.ext 
Cyi6iXJ.png

 

Share this post


Link to post
Share on other sites
On 3/9/2019 at 12:08 AM, LSValmont said:

Audio

Added: say3D command extension to exclude speech category sounds from the filtering.

 

https://dev.arma3.com/post/spotrep-00085

I'm not sure that's actually relevant to the script.

From wiki:

Quote

isSpeech: Boolean - play as speech through radio channel, fadeSpeech applies. If true, filters are not applied to it (i.e. house or vehicle interior one). Available since 1.91.145286

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

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

×