Jump to content
Sign in to follow this  
neokika

Support Radio

Recommended Posts

How can I remove the artillery and transport support? I just want the apache to show up when I call it.

Share this post


Link to post
Share on other sites
How can I remove the artillery and transport support? I just want the apache to show up when I call it.

Dont initialize them.

in init.sqf remove the blocks that you dont need, and keep the ones you do. If you keep all the markers it would be really easy to add/remove other support units later in the mission if you so desired.


[
NEO_coreLogic,
[
	WEST,
	[
                       [
			getMarkerPos "NEO_mkr_cas_00", 
			270,
			"AH64D",
			"Falcon-One",
			0,
			{ Falcon_One = (_this select 0); publicVariable "Falcon_One";}
		],
		[
			getMarkerPos "NEO_mkr_cas_01", 
			270,
			"AH64D",
			"Predator-One",
			0,
			{ Predator_One = (_this select 0); publicVariable "Predator_One";}
               ]
               ]
]
] execVM "scripts\NEO_radio\init.sqf";

should do the trick. Modify as needed.

Share this post


Link to post
Share on other sites
Dont initialize them.

in init.sqf remove the blocks that you dont need


[
NEO_coreLogic,
[
	WEST,
	[
                       [
			getMarkerPos "NEO_mkr_cas_00", 
			270,
			"AH64D",
			"Falcon-One",
			0,
			{ Falcon_One = (_this select 0); publicVariable "Falcon_One";}
		],
		[
			getMarkerPos "NEO_mkr_cas_01", 
			270,
			"AH64D",
			"Predator-One",
			0,
			{ Predator_One = (_this select 0); publicVariable "Predator_One";}
               ]
               ]
]
] execVM "scripts\NEO_radio\init.sqf";

But you still need to leave the array brackets
[
NEO_coreLogic,
[
	WEST,
	[
	],
	[ "CAS HERE"
	],
	[
	]
]
] execVM "scripts\NEO_radio\init.sqf";

So just leave the CAS in, then leave the brackets and commas for trans and arty. You can add support with triggers with (check README)

call NEO_fnc_radioSupportAdd

Also anyone having multiple spawns, don't forget

if (isserver) then 
{ 
};

in the spawn script

Share this post


Link to post
Share on other sites

Excellent! Thanks very much. How do I limit the number of times I can call air support? Sorry for all the questions, I've never been any good at scripting. Also, is there a way to set it so that you can only call for support once contact has been made.

Share this post


Link to post
Share on other sites

Thanks Placid, I didn't realize that, and looking at it now I've facepalmed.

On page 5 NEO says limiting support is not possible with the current setup. one would need to play with the scripts a bit... maybe make a counter for player, and when their number of calls are up, remove the action and eventhandler?

Now I am in no way an 'arma scripter', I know enough to be dangerous and occasionally crash my game as soon as I hit 'preview'.... However, if I were going to attempt this, I would probably start with how to create a variable that can be accessed from the different scripts. I have no experience with variable scopes, or ones made specifically for multiplayer or anything... so I'm just going to go with vague programming pseudo code / project goal type layout here.

Use a variable to hold a counter for each player. I wouldn't be the person to ask what the best way to do this is.

Retrieve this variable when the player attempts to make a support call.

radio_action.sqf would be a good place to stop them, before the createDialog (Sorry, you cannot call support at this time) You would essentially wrap createDialog inside of an if conditional. if they can make the call, let em. if not, dont.

Another option would be to remove the eventhandler / removeaction from the player once the counter is up, and add it later if so desired.

Add 1 to the count after the player successfully gives an asset an instruction. functions\ui\cas\fn_casConfirmButton.sqf ? looks like this would be a good place to add a counter. It's executed when the unit calls support. One could theoretically do it ALL in here, and a conditional would exist close to the bottom to either A) have the player call for support as it is now, or B) inform the player they cannot request support at this time.

That's just a place to start, and probably how I would start working on that feature. I've only been playing Arma2 for about 2 months now, and with work and kids I haven't had time to do much anyways... so I can't say this is the best method, or if it would even work... but that's what programming / scripting is all about. It can be done. and it can probably be done fairly easily by someone more experienced with the workings of arma scripting... but if I were looking to implement this feature into this script package, that's where I would begin.

Edit : I'm going to give it a go. I dunno if it'll work, but its worth a shot...

Oh look at that. it worked.

I cannot guarantee it works on multiplayer, YMMV.

NEO_radio\init.sqf


player addAction (NEO_radioLogic getVariable "NEO_radioPlayerActionArray");
player addEventHandler ["Respawn", { (_this select 0) addAction (NEO_radioLogic getVariable "NEO_radioPlayerActionArray") }];
[color="#B22222"]	player setVariable ["cascalls", 3];[/color]
player createDiarySubject ["About", "About"];

NEO_radio\functions\ui\cas\fn_casConfirmButton.sqf

_coord = _pos call BIS_fnc_posToGrid;

[color="#B22222"]
_casVariable = player getVariable "cascalls";
if (_casVariable > 0) then {[/color]
//New Task
[color="#B22222"]_casVariable = _casVariable - 1;
player setVariable ["cascalls", _casVariable];
[/color]
_veh setVariable ["NEO_radioCasNewTask", [_task, _pos, _radius, _flyInHeight], true];
[player, format ["%1, this is %2. We need imediate CAS at position. Over.", _callsign, _callSignPlayer, _coord select 0, _coord select 1], "side"] call NEO_fnc_messageBroadcast;

//Interface
[lbCurSel 655565] call NEO_fnc_radioRefreshUi;
[color="#B22222"]}
else 
{
hint "Sorry. you're SOL";
}[/color]

Since the UI stays open after each call, I would recommend closing it after pressing confirm. This would allow you to block it from opening again in another script.

closeDialog 0; in the success block instead of the call to NEO_fnc_radioRefreshUI

then you can make your radio_action look like this:

NEO_radio\radio_action.sqf

//Action Variable
uinamespace setVariable ["NEO_radioCurrentAction", (_this select 3)];
[color="#B22222"]_casVariable = player getVariable "cascalls";
if (_casVariable > 0) then {[/color]
//Open Interface
createDialog "NEO_resourceRadio";
[color="#B22222"]}
else 
{
_sidemsg = text format["%1, support is not available at this time", name player];
format["%1",_sidemsg] call XfHQChat;
}[/color]

as you can see from the XfHQChat call, I used Domination as a testing bed for this. Create your message as you see fit.

In regards to calling support when contact is made... hmm. for this, you may consider removing the addaction and addeventhandler from NEO_radio\init.sqf and instead creating a TRIGGER: detected by Opfor, on activation, add the action (and eventhandler if desired) That should do.

Edited by johnofwax

Share this post


Link to post
Share on other sites

Hey neokika, I absolutely love this little package, it's perfect for missions with a smaller playercount where you can't afford to have player pilots! I love the smoke marking for transport helos, it's great.

I was wondering, is it possible to have it converted to Arma 3? I've had a go at it myself, but I've hit a wall where I am getting no errors, but the action doesn't appear in my scroll menu.

Thanks for your time!

Share this post


Link to post
Share on other sites

Yep, I tried it too, seems the only problem is the GIU. I hope it gets converted to Arma 3, it's an awesome script. But, right now im just am not interested in A3.

Share this post


Link to post
Share on other sites

It's a very usefull script! Good work! :)

But is it possible to make the "Support Radio" and the "Talk to Pilot" action available for only one Unit?

Greetings,

Edited by SethSky
Grammar correction

Share this post


Link to post
Share on other sites

Hello,

i only want to use the "land" button for "talk with pilot" and the "pickup" button for the "Support Radio". So that there is no "land" in "Support Radio" and no "pickup" in "talk with pilot". Any ideas ?

Share this post


Link to post
Share on other sites

Hi

I am trying to use Support Radio with an Unsung mission I am creating. I am having two problems that I am hoping you guys might know the answer to:

1. The Unsung M119 Arty does not work. They spawn OK, but there are no fire options when you open the Support Radio. Is there anyway of making it work?

2. I have managed to get remove transports and respawn them, but I can't do it for CAS. I am trying the following. Does anyone know what I am doing wrong?

remove:

[WEST,"cas","Tiger-One"] call NEO_fnc_radioSupportRemove;

respawn:

[WEST, "cas", [getMarkerPos "NEO_mkr_cas_01", 270,"CSJ_UH1Gun","Tiger-One",0,{(_this select 0) addEventHandler["Killed", { execVM "respawn_tiger_one.sqf"}];}]] call NEO_fnc_radioSupportAdd;

Share this post


Link to post
Share on other sites

I am thinking that this is fairly easy to do, I simply lack the coding know how.

I am hoping to add Support Radio as an action for any player that gets in a specific vehicle - much like the Mando scripts where the support options were available if the player was in the LAV.

My current Neo Support Radio scripts provides support radio to the player who has a GPS, standard radio and any one of the Opfor Radio Backpacks (I didn't bother removing the small radio requirement). It's working flawlessly as is, but I would like to make the further change as mentioned above. The relevant part of "init_server.sqf" that outlines requirements looks like the following ;

[nil, _veh, "per", rAddAction, "Support Radio", "scripts\NEO_radio\radio_action.sqf", "radio", -1, false, true, "",

"

_this in _target

&&

_this hasWeapon ""itemradio""

&&

_this hasWeapon ""itemGps""

&&

(

_this hasweapon ""ACE_P168_RD90""

||

_this hasweapon ""ACE_P159_RD99""

||

_this hasweapon ""ACE_P159_RD90""

||

_this hasweapon ""ACE_P159_RD54""

)

"] call RE;

In this particular case the vehicle classname where I would like to add Support Radio as an action for any player therein, is "BRDM2IMPHQcomm". Any thoughts on how to do this?

Thanks.

Share this post


Link to post
Share on other sites

anybody ready to try to convert this to A3 ? i loved this script and would love to see it in A3 as well

Share this post


Link to post
Share on other sites
anybody ready to try to convert this to A3 ? i loved this script and would love to see it in A3 as well

The ALIVE guys ported it to A3 for their mission framework. I finally got the mass respawns to stop working. For example, I use a waituntil instead of a while loop to check if the helo or driver is dead. This also removes the entire chopper crew including the pilot. I also made the crew unkillable for my own sakes, but that can be easily removed.

				{
			   _chopper = _this select 0;
			   _choppercrew = group _chopper;
			   {_x addEventHandler ["HandleDamage", {false}];} forEach units group _chopper;
			   waitUntil {sleep 30; !alive (driver _chopper) || !canMove _chopper || !alive _chopper};
			   { deleteVehicle _x; } forEach units _choppercrew;
			  [] execVM "scripts\NEO_radio\respawns\respawn_eagle_one.sqf"; 
			} 

Share this post


Link to post
Share on other sites
The ALIVE guys ported it to A3 for their mission framework.

thanks for pointing me to ALIVE now i got my support radio back :)

Share this post


Link to post
Share on other sites

Hello,

i play Patrol Ops 2 ACE but the support radio doesnt run. I tried everything about your manual but i can´t finished it.

Can somebody help me to integrate the support radio in Patrol Ops 2?

Thanks.

Share this post


Link to post
Share on other sites

#include "scripts\NEO_radio\hpp\main.hpp"
class RscTitles 
{    										
	#include "scripts\NEO_radio\hpp\titles.hpp"
};

is in my description.ext

[
NEO_coreLogic,
[
	WEST,
	[
		[
			getMarkerPos "NEO_mkr_transport_00", 
			270, 
			"UH60M_EP1", 
			"Eagle-One", 
			["pickup", "land"], 
			{}
		],
		[
			getMarkerPos "NEO_mkr_transport_01", 
			270, 
			"UH60M_EP1", 
			"Eagle-Two", 
			["pickup", "land", "land (eng off)", "move", "circle"], 
			{}
		],
		[
			getMarkerPos "NEO_mkr_transport_02", 
			270, 
			"MH6J_EP1", 
			"Eagle-Three", 
			["pickup", "land", "land (eng off)", "move", "circle"], 
			{}
		]
		,
		[
			getMarkerPos "NEO_mkr_transport_03", 
			270, 
			"CH_47F_EP1", 
			"Eagle-Four", 
			["pickup", "land", "land (eng off)", "move", "circle"], 
			{}
		]
	],
	[
		[
			getMarkerPos "NEO_mkr_cas_00", 
			270,
			"AH64D",
			"Falcon-One",
			0,
			{}
		],
		[
			getMarkerPos "NEO_mkr_cas_01", 
			270,
			"A10_US_EP1",
			"Predator-One",
			0,
			{}
		]
	],
	[
		[
			getMarkerPos "NEO_mkr_arty_00",
			"MLRS",
			"MLRS FATMAN",
			2,
			[["HE", 30]],
			{}
		],
		[
			getMarkerPos "NEO_mkr_arty_01",
			"M119_US_EP1",
			"M119 FREAK-ONE",
			4,
			[["HE", 30], ["WP", 20], ["ILLUM", 2], ["SADARM", 5], ["LASER", 10], ["SMOKE", 50]],
			{}
		],
		[
			getMarkerPos "NEO_mkr_arty_02",
			"M119_US_EP1",
			"M119 FREAK-TWO",
			4,
			[["LASER", 2], ["SMOKE", 10]],
			{}
		]
	]
]
] execVM "scripts\NEO_radio\init.sqf";

is in my init.sqf

i placed a functions module on the map and named it "NEO_coreLogic".

am i doing something wrong here.

Share this post


Link to post
Share on other sites

have you looked at the demo mission? does it work? whats different?

or post your mission, this is a great script, sorry you havent gotten it to run , im sure its something simple

Share this post


Link to post
Share on other sites

Cheers to ALIVE devs for porting this into Arma 3, I just saw it.

Awesome stuff! Really like the new interface!

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
Sign in to follow this  

×