Jump to content

Recommended Posts

From the recent update:

Quote

Added: Muzzle event handlers for reloading weapons (reload - start, reloaded - finished)


Could be useful to fix the reload bug with the radio animation you were using (disable animation if player has started reload and re-enable when they finish [or if they die mid-reload]). 
I do think it's useful to have some visual feedback for transmitting, so I hope v1.0 comes quickly 😉.

  • Like 1

Share this post


Link to post
Share on other sites

I was wondering where the hell that muzzle eventHandler was! I saw it on the wiki but spent 2 days looking for it and gave up. Good to know it wasn't even in the game yet.

  • Haha 1

Share this post


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

I was wondering where the hell that muzzle eventHandler was! I saw it on the wiki but spent 2 days looking for it and gave up. Good to know it wasn't even in the game yet.

 

You see, it only takes BI a few years to give you the tools you need to make what you envision... 😅

Share this post


Link to post
Share on other sites
On 4/30/2019 at 4:16 AM, phronk said:

I was wondering where the hell that muzzle eventHandler was!

It's config only. Addon config only. So.. Unless you want to make non-addon-free arma radio, that won't help you.

 

  • Thanks 1

Share this post


Link to post
Share on other sites
7 hours ago, Dedmen said:

It's config only. Addon config only. So.. Unless you want to make non-addon-free arma radio, that won't help you.

 

Would you still be able to call it with CBA's XEH? 
If so, you can 'support' CBA without making it a dependency (Can't remember how, you'd have to look at their documentation).
This would leave the animations available if you had CBA installed but if not they just wouldn't play. 
But that still depends on if it can be called as an extended event handler, and whether phronk would even want to work on that in an Addon-Free radio. 

  • Like 1

Share this post


Link to post
Share on other sites
15 hours ago, PortalGunner said:

Would you still be able to call it with CBA's XEH? 

No

 

Share this post


Link to post
Share on other sites

Download Link (Google Drive)

Download Link (Steam Workshop)
Download Link (Armaholic - OUTDATED)

Version: 0.9

Size: 40 KB

 

 

ADDITIONS:

• Added: r_RTOs variable to 'CFG.sqf': list of RTO units

• Added: '3DLR.sqf' script to handle pop-up radio

• Added: 'opt.sqf' for new options UI

• Added: Adjustable local script settings in radio UI

• Added: 2 more radio noise sound effects pulled from Arma 3 to add variety

• Added: 20 more variations of radio noise for weather/day conditions

• Added: Global variable 'r_noiz' which stores array of radio noise object(s)

• Added: 'titles.hpp' for pop-up radio interface

• Added: 'snd.sqf' to handle rain interference

• Added: 'opt.sqf' to handle client-side in-game options interface

• Added: RscTitles reference required in Description.ext

• Added: Metalman10 [EXP] to credits for helping optimize code initialization

 

ADJUSTMENTS:

• Updated: AFAR Instructions Manual in map briefing

• Updated: readMe.txt

• Changed: Pop-up radio when transmitting is now coded as an interface

• Changed: Radio noise intensity increases based on overcast - WIP

• Changed: Radio noise intensity increases based on rain

• Changed: Radio noise intensity increases based on sunOrMoon

• Changed: Vehicle channel no longer broadcasts radio noise

• Changed: Rewrote how radio noise is handled / deleted

• Changed: Renamed "Support Channel" to "Air Channel"

• Changed: Players with "RTO" trait have access to "Air" channel

• Changed: Players in pilot, copilot, or gunner seat get access to "Air" channel

• Changed: Replaced 'incapacitatedState' command with 'lifeState' command

• Reverted: Players can no longer become an RTO by having 2+ radios

• Tweaked: Replaced useless '_x' param in remoteExec with player name

• Tweaked: Improved compatibility with customized radio channel permissions

• Tweaked: Improved compatibility with disabled Vehicle channel (r_vCH)

• Tweaked: Improved readability of titleText pop-up when opening radio UI

• Tweaked: Capitalized all letters in "GUNNER" string, in 'anim.sqf'

 

FIXES:
• Fixed: Undefined variable "RTO"

• Fixed: Passengers of vehicles without the RTO trait would get Support channel

• Fixed: Player would detect himself when transmitting

• Fixed: Script errors related to enableChannel using bool value, instead of array

• Fixed: Non-default channel permissions weren't taken into consideration

• Fixed: Radio noise can only be deleted by the sender ending transmit

• Fixed: AFAR no longer interferes with hints from mission/mods

• Fixed: Channel(s) would vanish if no other players available to receive message

• Fixed: Persistent static bug, related to talking on radio while incapacitated

• Fixed: If player spawns without a radio, player would hot-mic

 

OPTIMIZATIONS:

• Optimized: Pop-up radio no longer uses attachTo

• Optimized: Radio noise no longer uses attachTo

• Optimized: Removed conditional checks in 'useRadio.sqf'

• Optimized: Removed distance checks

• Optimized: Removed alive checks

• Optimized: Removed array sorting code

• Optimized: Removed vehicle type check

• Optimized: Removed damage player check in "Put" and "Take" eventHandlers

• Optimized: Removed '_rtoSeat' variable

• Optimized: Removed '_PLR' variable from some eventHandlers

• Optimized: Renamed '_nearP' to '_p'

• Optimized: 'V_In' checks for players in your vehicle only

• Optimized: Removed redundant resetting of local/private variables

• Optimized: Removed redundant 'r_PS' variable

• Optimized: Removed redundant player isKindOf r_PS checks

• Optimized: Removed redundant player condition checks in r_fuzz and r_fuzz2

• Optimized: Removed redundant "ItemRadio" and RTO trait check in 'out' functions

• Optimized: Removed duplicate in and out eventHandlers for Support channel

• Optimized: Vehicle horn check no longer uses BIS_fnc_inString

• Optimized: Code no longer looks for attachedObjects

• Optimized: Code checking for RTO seat simplified into light-weight variable

• Optimized: Improved group leader check in the Command channel functions

• Optimized: Improved civilian vehicle check in the Support channel functions

• Optimized: Improved efficiency of generating players array variables

• Optimized: Improved efficiency of getInMan / getOutMan eventHandlers

• Optimized: Improved efficiency of all in and out functions

• Optimized: Replaced spawned/attached radio object with a 3D interface

• Optimized: Replaced (leader(group(vehicle _x))==_x) with (leader group _x==_x)

• Optimized: Replaced side player with playerSide

• Optimized: Replaced if(then);if(then);if(then); to a switch

• Optimized: Replaced 'r_S' with playerSide - (Test)

• Optimized: Replaced 'r_PS with playerSide - (Test)

• Optimized: Replaced == with isEqualTo in some cases

• Optimized: Replaced select with # in some cases

• Optimized: Replaced ""code"" with 'code' for strings in eventHandlers

• Optimized: Replaced player with r_p missionNamespace variable - (Test)

• Optimized: Renamed '_rtoSeat' to 'seat'

• Optimized: Renamed 'r_Hush' to 'r_out'

• Optimized: Renamed 'Hush.sqf' to 'out.sqf'

• Optimized: Deleted lots of "unneeded" whitespaces 🤓

• Optimized: Filesize reduced from 104 KB to 40 KB

 

REMOVALS:

• Removed: Radio range requirement (Until BI adds a local mute command)

• Removed: Radio range settings from the 'CFG.sqf'

• Removed: Short range "walkie talkie" model

• Removed: All "Transmitting..." type hintSilent commands in functions

• Removed: 'S_In1.sqf' and 'S_Out1.sqf'

• Removed: 'fuzz3.sqf'

• Removed: Redundant 'r_WS' global variable

• Removed: Redundant 'AFAR_Text' class from 'defines.hpp'

• Removed: Unused controls/styles from the 'defines.hpp'

• Removed: Check if playersNumber playerSide<2 in all functions

• Removed: MissionEventHandler which deleted the attached radio noise

• Removed: Unfinished placeholder Zeus compatibility code

 

 

 

KNOWN BUGS:

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

• Not Zeus compatible

• Talking on radio while reloading plays animation and deletes new magazine

• Major issues occur if player's original group is deleted (Dynamic Groups)
• Pressing any key while holding PTT resets PTT EH

__________________________________________________________________________


Due to popular demand, I've removed the radio range requirements from AFAR. I've also done a lot of rewriting for better efficiency, optimization, and modularity. The radio interface also now includes a new "Options" menu, which allows you to locally adjust cosmetic settings (Radio animation, pop-up radio, AI voices on radio, hide chat). Please be advised that I was unable to test this with more than 1 other person, so if you discover any bugs, report them here and I'll do what I can to fix it.

 

(Will redo the YouTube video and screenshots eventually)

 

Thanks and enjoy!

  • Like 2
  • Thanks 3

Share this post


Link to post
Share on other sites

OMG it is finally here!!!

 

Thank you so much phronk!!!

 

Downloading now!

Share this post


Link to post
Share on other sites

Great it's here!
A couple questions: Is the FALSE/FALSE default config for the vehicle channel intended? And is the "enableTeamSwitch true;" in init.sqf required? 
Some great improvements in this version! Will be testing it myself shortly. I think the thing I would like to see next would be Zeus compatibility. 

Share this post


Link to post
Share on other sites

The enableTeamswitch code was just for testing teamSwitching, it is not required. The False,False in Vehicle Channel was disabled unintentionally, the script should work fine with any combination of TRUE or FALSE permissions. If you'd like to set them to TRUE,TRUE or TRUE,FALSE or FALSE,TRUE, those are okay.

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites

Download Link (Google Drive)

Download Link (Steam Workshop)
Download Link (Armaholic - OUTDATED)

Version: 0.91

Size: 41 KB

 

 

ADDITIONS:

• Added: Reload eventHandler; workaround to fix the AFAR reload bug

• Added: EventHandler which blocks NextChannel/PrevChannel keybinds

• Added: Setting in 'CFG.sqf' which can block nextChannel/prevChannel keybinds

• Added: 'out2.sqf' : Disables current channel before setting to another channel

• Added: Code exits if speaking in Global, Side, or Spectator channel

 

ADJUSTMENTS:

• Tweaked: Enabled radio animation by default

• Tweaked: Comments in 'AFAR\f\init.sqf'

• Tweaked: Functions are initialized within a forEach, instead of count

 

FIXES:
• Fixed: Transmitting while reloading played radio animation & deleted magazine

• Fixed: Pressing any key while transmitting would re-squelch radio

• Fixed: 'r_p' variable wasn't properly reset after respawning

• Fixed: Script errors & persistent static related to 's_in.sqf'

• Fixed: Script error related to non-existent Spectator channel on init

• Fixed: Spectator Channel wouldn't properly reset after respawning

• Fixed: Direct Channel wouldn't properly reset after respawning

• Fixed: Air Channel wouldn't properly reset after respawning

• Fixed: Vehicle channel didn't have a squelch "in" sound

• Fixed: Vehicle channel is no longer disabled by default in 'CFG.sqf'

• Fixed: Wrong custom channel variables referenced

• Fixed: Missing fragmented bracket in 'anim.sqf'

• Fixed: Typo in 'g_in.sqf'

 

OPTIMIZATIONS:

• Optimized: Replaced keyDown/keyUp eventHandlers with 2 to handle all channels

• Optimized: disableSerialization command added to 'opt.sqf'

• Optimized: Removed some unneeded semicolons in short code blocks

• Optimized: Air Channel references in 'prevCH.sqf' and 'nextCH.sqf'

• Optimized: Removed unnecessary '_useState' variable/check in code init

• Optimized: Removed redundant locality declaration for function global variables

• Optimized: Incorporated more of the 'r_p' player variable throughout the scripts

• Optimized: Air Channel only checks if pushToTalk keybind is being pressed

• Optimized: _ch6, _ch7, _ch8 referenced in 'nextCH.sqf' switch structure

• Optimized: Removed currentChannel check from each radio in/out function

• Optimized: Removed redundant disableSerialization command from '3DLR.sqf'

• Optimized: Removed redundant waitUntil code in called functions

 

REMOVALS:

• Replaced: inputAction command with actionKeys

• Removed: KeyDown/KeyUp eventHandlers for each individual channel

• Removed: Support for the "PushToTalkSide" keybinding

• Removed: 0 and 1 from 'r_CH' in 'CFG.sqf'

• Removed: Unused 'r_s' variable

• Removed: CfgRemoteExec code from 'description.ext' to avoid confusion

 

 

 

KNOWN BUGS:

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

• Not Zeus compatible

• Major issues occur if player's original group is deleted (Dynamic Groups)

__________________________________________________________________________


Sorry for the very broken 0.9 release, I wasn't able to thoroughly test it with another player. I received a lot of bug reports and fixed just about all of them in this update, including a few that've infested the script since I started the project. There may still be a couple other bugs, but as far as I am aware, it should be stable and bug-free for the most part, aside from the 3 listed above. If you discover any bugs or issues, please let me know.

 

Thanks and enjoy!

  • Like 4
  • Thanks 3

Share this post


Link to post
Share on other sites

Happy Independence Day!

 

Download Link (Google Drive)

Download Link (Steam Workshop)
Download Link (Armaholic - OUTDATED)

Version: 0.92

Size: 41 KB

 

 

ADDITIONS:

• Added: "PlayerViewChanged" missionEventHandler for unit switch compatibility

 

ADJUSTMENTS:

• Tweaked: Increased squelch volume from +7 db to +10 db

• Tweaked: Radio squelch-out sound is played, if radio static present

• Tweaked: 'r_CH' is defined in the AFAR init, instead of 'CFG.sqf'

 

FIXES:

• Fixed: 'c_out.sqf' was adding radio noise, instead of squelching out

• Fixed: 'c_out.sqf' was referring to _x in remoteExec'd code, instead of 'r_p'

• Fixed: 'c_out.sqf' had an undefined '_p' variable in an "else" scope

• Fixed: Persistent radio static if forced into Direct channel while transmitting

• Fixed: Persistent radio static if killed while transmitting

• Fixed: Corrected a code syntax in 'g_in.sqf'

• Fixed: Spectator & Air channel didn't properly reset upon death/respawn (Again)

• Fixed: Pop-up radio is hidden when player releases talk key in Direct channel

• Fixed: Undefined variable 'ch9' script error, if Spectator respawn template not used

 

OPTIMIZATIONS:

• Optimized: Shortened script name of 'useRadio.sqf' to 'ui.sqf'

• Optimized: Removed displayEventHandler's global variable 'r_myRadio'

• Optimized: Removed displayEventHandler's global variable 'blockVON'

 

REMOVALS:

• Removed: Some comments from 'AFAR\f\init.sqf'

 

 

 

KNOWN BUGS:

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

• Not Zeus compatible

__________________________________________________________________________


This small update hotfixes major issues related to the Command channel and a couple other bugs. I've also added a tiny piece of code which should make AFAR compatible with unit switching. I'm unable to test my scripts with other players because I've moved into an area that has horrible internet coverage, so if you find any bugs let me know and I'll try to work on a quick fix.

 

Thanks and enjoy!

  • Thanks 5

Share this post


Link to post
Share on other sites

Thanks for the update Phronk! 

Hope you can work on Zeus compatibility soon!
And unrelated but - would it be possible to have the Air Channel name be a variable in CFG.sqf?

Glad you continue to improve this script!

Share this post


Link to post
Share on other sites

I may look into how I can add Zeus compatibility but adding it in an efficient/optimized way is always a high priority for me. It's a low priority because I'm still adding other features and fixing bugs, but I thought of some interesting ways to auto-include it and auto-disable Zeus compatibility (basically auto-detect Zeus module).

 

As far as including the Air channel in the CFG.sqf, its permissions value is currently sCH (Support Channel). Side and Global do not have variables because I keep them disabled. Unless you want to be able to change the actual name of Air Channel?

Share this post


Link to post
Share on other sites
On 7/7/2019 at 1:43 PM, phronk said:

As far as including the Air channel in the CFG.sqf, its permissions value is currently sCH (Support Channel). Side and Global do not have variables because I keep them disabled. Unless you want to be able to change the actual name of Air Channel?

I did mean the actual name of the channel. Only because I personally prefer "Support Channel" instead of "Air Channel", so having that as something quickly changeable would be great.

No need to rush on Zeus compat if you have other priorities though!

Share this post


Link to post
Share on other sites

Should only take a few minutes to add that, I'll include it in the next update. Also started coding Zeus compatibility but it may not be included in the next update -- will need a lot of testing and probably rewrite it a couple times until it's efficient. Received more requests to include Side and Global channel support but I completely refuse to include support for the Global channel at all; if you're a logged-in admin, you get access to it automatically and I cannot disable it for the admin. Side channel likely won't be supported either, but someone proposed an idea to make it optional for certain roles (Such as in vehicles, leaders, RTO, etc.) which I might consider.

  • Like 2

Share this post


Link to post
Share on other sites

The only reason we ever use global is when we need to talk to our Zeus while he is in-interface. If Zeus compatibility becomes reality then I doubt we'd ever need to use that channel. 
I think an option for side chat would be good, especially for smaller groups that can make use of direct team-to-team communication without using a middleman. But I certainly wouldn't say I'd prioritize adding it. 

Share this post


Link to post
Share on other sites
On 7/7/2019 at 12:13 AM, phronk said:

I may look into how I can add Zeus compatibility but adding it in an efficient/optimized way is always a high priority for me. It's a low priority because I'm still adding other features and fixing bugs, but I thought of some interesting ways to auto-include it and auto-disable Zeus compatibility (basically auto-detect Zeus module).

 

As far as including the Air channel in the CFG.sqf, its permissions value is currently sCH (Support Channel). Side and Global do not have variables because I keep them disabled. Unless you want to be able to change the actual name of Air Channel?

 

How about making it configurable (toggle able) but disabled by default? Mission makers can enable it at their own missions' immersion expense. There are scenarios where global might be useful for some missions (alien telepathic communications anyone?). 😅

Share this post


Link to post
Share on other sites

I have no plans on supporting Global channel ever. The logged-in admin is the only one who has the channel (Cant disable, it's an Arma thing) and is outside the scope of AFAR. Optional Side channel support is now added to my To Do List; someone mentioned it'd help with map drawing.

  • Like 3

Share this post


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

I have no plans on supporting Global channel ever. The logged-in admin is the only one who has the channel (Cant disable, it's an Arma thing) and is outside the scope of AFAR. Optional Side channel support is now added to my To Do List; someone mentioned it'd help with map drawing.

 

I can see your tin hat protects your forum avatar from global channel communication so it is truly in line with your AFAR policies! Nice!

 

Anyways, thank you for your continue work on this!

  • Haha 1

Share this post


Link to post
Share on other sites

I think you're missing "AFAR\ui\titles.hpp" and possibly the "AFAR\ui\defines.hpp", make sure you have RscTitles defined in the Description.ext like the installation instructions show (Unless you get an error that RscTitles is already defined or any errors like that).

Share this post


Link to post
Share on other sites

Download Link (Google Drive)

Download Link (Steam Workshop)
Download Link (Armaholic)

Version: 0.93

Size: 44 KB

 

 

ADDITIONS:

• Added: Zeus Compatibility

• Added: 'r_sCHName' global variable to 'CFG.sqf'

• Added: 'r_sCHShort' global variable to 'CFG.sqf'

 

ADJUSTMENTS:

• Updated: AFAR Instructions Manual in map briefing

• Updated: readMe.txt

• Changed: Air channel checks for radio backpack, instead of variable/ItemRadio

• Changed: r_RTO variable simply adds RTO backpack to player unit on connect

• Tweaked: Scripts check for "ItemRadio" or RTO backback equipped

• Tweaked: ArmA Radio briefing is visible in map briefing prior to mission start

• Tweaked: ArmA Radio briefing also uses custom name for "Air Channel" if set

• Tweaked: Air channel's name can be changed via 'r_sCHName' in 'CFG.sqf'

• Tweaked: Air channel's text by player name can be changed via 'r_sCHName' in 'CFG.sqf'

 

FIXES:
• Fixed: Code only executed for channel you had selected, ignoring keybinds

• Fixed: Missing ; and } in 'anim.sqf' (Radio Animation)

• Fixed: Command channel sender didn't hear his radio squelch in

• Fixed: Undefined variable 'ch9' script error, if Spectator template not used

• Fixed: Script error in AFAR "Put" and "Take" eventHandlers

• Fixed: Serialization script error on script init

• Fixed: Channels stay off until respawn if you talk underwater without rebreather

• Fixed: Typo in ArmA Radio briefing

 

OPTIMIZATIONS:

• Optimized: Replaced execVM with 'compileFinal(preprocessFile"")'

• Optimized: Replaced '_dik' with _this in 'noCHS.sqf'

• Optimized: 'noCHS.sqf'

• Optimized: VON blocker code is called only when pressing the VON keybind

• Optimized: Removed redundant code from VON blocker code

• Optimized: Removed a redundant alive check in 'g_out.sqf'

• Optimized: Removed some redundant publicVariables

• Optimized: Removed redundant player==player check in script init

 

REMOVALS:

• Removed: "RTO" unitTrait variable

• Removed: Removed global/publicVariables "ch#Name"

• Removed: Unused placeholder code for terrain interference

• Removed: 'noVON.sqf'

 

 

 

KNOWN BUGS:

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

__________________________________________________________________________


Finally included Zeus compatibility and several fixes. You can now change "Air Channel" to whatever you want, as well as "(AIR)" text next to player's name when they talk in that channel. An important new change to note is that the RTO is no longer a unitTrait; if the player has a radio backpack from the Contact DLC equipped, they are basically an RTO with access to the "Air Channel" (Or whatever you may've renamed it to). I've tested it here and there with my group and another group has tested it, so far no issues reported. If you find a bug, report it to me.

 


Thanks & enjoy!

  • Like 4

Share this post


Link to post
Share on other sites

My sidechat don't work when i activate this script. Either can't write nor can't speak. Any solution to this? Beside that this script is awesome and i really like it

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

×