Jump to content
Sign in to follow this  
Draper

Air Support Scripts

Recommended Posts

is it possible for anyone to explain how you call , multiple random aircrafts? as i have sumbitted both ah-1z and ah-64d but when i make the call only the same type of aircraft comes.

Share this post


Link to post
Share on other sites

@ weedman

Lawndartleo was working on something to that effect, such that it will randomly choose a vehicle given a list i.e. ( _AsHelo = _array select (floor (random count _array)), _array = [ah1,ah64] )

You can do what I outlined above or wait till the next release as the current version does not support what you want.

Share this post


Link to post
Share on other sites

sorry draper could you be a bit more precise, this line goes where?. I take it somewhere in airSupInit.sqf

Share this post


Link to post
Share on other sites

no the way the airSupInit is, it only runs once to define the aircraft so it has to be in the sendHelo or sendFxd scripts, the createVehicle line will have to be preceded by

_array = [ah1classname,ah64classname];

_AsHelo = _array select (floor (random count _array));

where _AsHelo is the classname for the createVehicle.

How much scripting experience do you have?

Share this post


Link to post
Share on other sites

umm i have quite a lot of scripting experience so should be a problem + modeling/texturing experience. Great bunch of scripts you have got here, you could easily make it the best out there which it probably already is with a few tweaks. :)

Share this post


Link to post
Share on other sites

ok good, I hope that can get you off to good start then. Thanks for the compliment, and if you have any suggestions to improve let me know.

Share this post


Link to post
Share on other sites

well just some thoughts, with the transport helicopter function why dont you add a simple function to transport items via sling/attatch-to if need be. things such as hmmvs,m1,lav,ammo etc, and if possible include dropoff of uav terminal to call real time reconnaissance from a secure location which could be checked by a trigger, if the enemys are in the trigger zone the area will be deemed to hot for dropoff. just a couple of ideas if you need any help im sure i could lend a hand. pm me if need be

Share this post


Link to post
Share on other sites

can't get this script to work...

followed the instructions exactly, the "air support" option is on the action menu, but if i click it, it just says "go back" and the (presumed) options for air support are missing.

Argh!

I can manually call the scripts and the planes come in, but I cant get the action menu to work. I want to limit the players to have 4-5 LGBs.. and I can't do this if there is no way to limit it.

>_<

It worked once when I previewed it subsequent attempts don't work.

After much hair pulling I have realized that when you first save a mission it will work, but only that one time you load it. In order for it to work again, you have to resave the mission, as restarting it won't even fix it. What the hell?

Edited by tyrspawn

Share this post


Link to post
Share on other sites

So if I understand you correctly, when your in single player and you save a mission mid way through, the action menus don't work when you load it up again?

Or are you talking about saving in the mission editor? How you preview a mission and then go back to the editor and then continue where you left off?

And are you sure "lgb" is in the script calling for the player with air support? Because just saying have 5 lgb supports without "lgb" in the calling arguments would give exactly what I think your describing.

Try to explain clearly what goes wrong and what you tried to edit.

Share this post


Link to post
Share on other sites
Just a suggestion/idea:

Would it be possible to have a dialog for calling the support rather than the player saying: a sortie is on the way etc etc. For example:

player: HQ I need attack helo support ASAP

HQ: Roger Alpha, send coordinates

*clicks map*

HQ: coordinates received Alpha, Cobras inbound. ETA 3 minutes

..or something like that. Would seem more realistic/awesome imo. :yay:

And have the option for editing the dialog in the stringtable, so you could change names etc

Just going off my idea from earlier, an possibility would be to use [West,"HQ"] as the source for the sideChat messages, so that the information on air support status would appear to come from "Crossroad"

Share this post


Link to post
Share on other sites
So if I understand you correctly, when your in single player and you save a mission mid way through, the action menus don't work when you load it up again?

Or are you talking about saving in the mission editor? How you preview a mission and then go back to the editor and then continue where you left off?

And are you sure "lgb" is in the script calling for the player with air support? Because just saying have 5 lgb supports without "lgb" in the calling arguments would give exactly what I think your describing.

Try to explain clearly what goes wrong and what you tried to edit.

I am trying to make a multiplayer mission where players can have access of up to 5 times use of LGBs (note: I have not edited the "times" something is available yet)

As far as the editor goes, I think it worked the first time I tried to preview it, but subsequent previews had the following issues.

I followed your instructions exactly and attached this to a test dummy named "testguy":

nul = [testguy,"jadam","lgb","cbuap","cbuat","cbumine","cas","helo","trans"] execVM "airSup\airSupInit.sqf"; this addMagazine "LASERBATTERIES"; this removeWeapon "Binocular"; this addWeapon "LASERDESIGNATOR";

If I export the mission as a multiplayer mission and run it.. it will work for the 1st time (and 1st time only), showing all the different all air support assets in the action menu, that it is run. If I try to restart the mission, even if I exit completely out of arma and come back in and reload it, there will be nothing under "air support" but "go back."

The only way around this... AFAIK is to resave the mission (in the editor), it will then work for 1 time only. And what I mean by 1 time is... you can call in tons of different air support, but as soon as you exit/restart, the air support menu becomes blank.

My hope is that it will be usable so that certain players will be able to use the air support menu.. use LGB 5 times, then it will go away.

init:

//loads briefing
execVM "briefing.sqf";
//spawns in building troops + HQ cosmetics
[] execVM "spawndudes.sqf";

//air support
ASfirstrun = true;

//artillery stuff
HW_Arti_CannonNumber = 5;			// Number cannons
HW_number_artilleryshells_per_hour = 50;	// Number rounds per hour
[] execVM "bon_artillery\bon_arti_init.sqf";

There is an invisible helipad named "ASpad" on my mission.

I have not edited airSupInit.sqf at all yet.

---------- Post added at 11:42 PM ---------- Previous post was at 10:45 PM ----------

Finally figured it out. Contrary to the instructions, you CANNOT place the action on the init line of a unit - it must be in the init.sqf.

Edited by tyrspawn

Share this post


Link to post
Share on other sites

That seems truly bizarre to me, if you restart the mission, it should completely restart and run the init.sqf and init lines of the placed objects and things. You shouldn't have to save it every time you play. My feeling is that this a JIP issue then, the air support works the first time but coming back in it goes away because the init lines of the player is not run after a JIP, where as the init.sqf is?

I'm glad you figured it out, sorry I couldn't help much on this.

@AnimalMother Thats how I would plan to do it right now I got some military guys working on a realistic dialog for an air strike so stay tuned.

Share this post


Link to post
Share on other sites

What is the proper way to use this on a dedicated server mission?

I wanted to assign the script to a bunch of different personnel... it seemed to be causing a crash.

//air support

ASfirstrun = true;

nul = [sL1,"lgb"] execVM "airSup\airSupInit.sqf";

nul = [sL2,"lgb"] execVM "airSup\airSupInit.sqf";

nul = [CO,"lgb"] execVM "airSup\airSupInit.sqf";

nul = [RTO,"lgb"] execVM "airSup\airSupInit.sqf";

nul = [FTL1,"lgb"] execVM "airSup\airSupInit.sqf";

nul = [FTL2,"lgb"] execVM "airSup\airSupInit.sqf";

if(true)exitWith{};

Share this post


Link to post
Share on other sites

I don't see anything wrong with what you did there in the calling of it. What exactly do you mean by crashing it.

You might try...

if (player == SL1) then {nul = [sL1,"lgb"] execVM "airSup\airSupInit.sqf"};

... for each unit. If it may be a locality issue. But I got it to work just doing what your doing.

Share this post


Link to post
Share on other sites

Hi Draper,

I'm back. Busy week and didn't get the chance to stop by earlier.

In any case, I successfully wrote a script that dynamically creates several markers and waypoints between ASpad and a selected target.

What I found was that I can now place ASpad all the way to the upper left corner of the map (yes, that far) and I can get a chopper to go all the way to the bottom right of the Chernarus island (not the whole map).

So here's the bizarre finding. If I place ASpad way South on the map the chopper does fly straight UNTIL it reaches latitude 150. Then the chopper just tops and hovers. It's like if there is an invisible barrier right there!

If I place ASpad just a bit north (e.g., latitude 145) then the chopper can go anywhere I want, even all the way up to the upper left corner of the map!

But to achieve this there must be around 6 waypoints between ASpad and the target, otherwise the chopper (again for no reason) stops moving and hovers.

I don't know if this will be useful to you, but for the missions I'm planning this info is key to know where to place ASpad on the map assuring that airplanes and choppers can reach target destination.

Feel free to drop me a PM to follow up on this off line if you're interested.

Thanks again for such a great script Draper!

Best, Splicer.

Edited by Splicer
Made mistake on island name

Share this post


Link to post
Share on other sites
The stringtable.xml can be read with just notepad. The .csv won't have some of the updated strings for some of the new options in v1.2.

You could just remove the " localize "STR_STRING" " stuff and add in text if you only want it for a particualr language.

This is something I wana do... but I am not sertin of the part that I have to remove.

like in this one, how much shal i remove to only have it in english so i can remove the string.xml afterwords

if(jadam or lgb or cbuap or cbuat or cas or cbumine) then {as1 = _man addAction [localize "STR_MENUFXD","airSup\callFixed.sqf",[], 40, false, false, "", "_target == player"];};
if(helo or trans) then {as2 = _man addAction [localize "STR_MENUHEL","airSup\callHelo.sqf",[], 30, false, false, "", "_target == player"];};
as4 = _man addAction [localize "STR_MENUEXT","airSup\exitMenu.sqf",[], 10, false, false, "", "_target == player"];

Anf thanx for this lovely script. it is just perfect.

Share this post


Link to post
Share on other sites

@Splicer, thanks for trying that out, I'll probably do some more work on it this weekend, so PM or email the script as you have it now and I'll look it over

@Ringhejm

if(jadam or lgb or cbuap or cbuat or cas or cbumine) then {as1 = _man addAction ["Call Fixed Wing","airSup\callFixed.sqf",[], 40, false, false, "", "_target == player"];};

if(helo or trans) then {as2 = _man addAction ["Call Helos","airSup\callHelo.sqf",[], 30, false, false, "", "_target == player"];};

as4 = _man addAction ["Exit menu","airSup\exitMenu.sqf",[], 10, false, false, "", "_target == player"];

I edited the strings so they go without the localize command, compare this with yours and thats what you'll need to do to edit it.

Share this post


Link to post
Share on other sites

Hi Draper, very good script !

But is it possible to set the target for the airstrike with the Laser Designator and not with a Mapclick ?

Share this post


Link to post
Share on other sites
Hi Draper, very good script !

But is it possible to set the target for the airstrike with the Laser Designator and not with a Mapclick ?

Yes indeed. I thought it did it but guess I was wrong.

Edited by Manzilla

Share this post


Link to post
Share on other sites

Well you can do laser guided bombs but as for getting a general target location from a laser, it doesn't do that.

It is feasible, however. I believe to use a laser target, you would have to do an object search around the player for a laser dot classname, and then get the position from it. I would be hesitant to implement it though because if 2 players were using lasers to target, simultaneously, they could target the same thing twice as it would find whatever laser dot is closest, so you could have clashing scripts. Or if one person was using the LGB option while someone called in a CBU for example.

But, I remember having seen scripts where you could mark a location from your binoculars (and an LD based on where your looking through a scope would do the same I think). Yet, I don't know how they did it or how to go about doing that.

Share this post


Link to post
Share on other sites

I got asked about MP respawn and thought I would post for all of you to see an example of what I use. I'll probably put this in a future update as well.

Replace this...

as0 = _man addAction [localize "STR_MENUASM","airSup\addMenu.sqf",[], 5, false, false, "", "_target == player"];

with this...

[_man] execVM "airSup\MPrespwn.sqf"

in the airSupInit.sqf

then make a new MPrespwn.sqf that has the following...

_man = _this select 0;

if(alive _man) then {

as0 = _man addAction [localize "STR_MENUASM","airSup\addMenu.sqf",[], 5, false, false, "", "_target == player"];

};

waitUntil{!alive player};

waitUntil{alive player};

if(true)exitWith{[player] execVM "airSup\MPrespwn.sqf"};

Share this post


Link to post
Share on other sites

Hey, now I had waited long for you to lay out a scrip on how responder on the MP game:) :yay: I tried the script but only see Air Suporte, and no choice on the menu? only axit menu. And what is [_man] is the name of the AI as m1? Or is it something that I have not done correctly? I made MPrespwn.sqf and replaced in airSupInit.sqf [_man] execVM "airSup \ MPrespwn.sqf" over the old.

And what about Init.sqf

ASfirstrun = true;

nul = [m1, "jadam", "LGB", "cbuap", "cbuat", "cbumine", "cas", "helo", "trans"] execVM "airSup \ airSupInit.sqf";

if (true) exit With ();

Should I change something there and bring up the options on the menu? :j:

Share this post


Link to post
Share on other sites

If your not getting the options to call stuff in then its probably somewhere in the airSupinit.sqf, you shouldn't do anything to the init.sqf that I see.

_man will be m1 essentially but you should leave it as _man. Try working from a fresh copy of the scripts and just do precisely what is outlined.

Share this post


Link to post
Share on other sites

Hey, it worked really well! THANKS .. :yay: But now I wonder why none of the other scripts, CODES does not work ..? UPSMOIN do not, see here?

In the init.sqf

#include "R3F_ARTY_AND_LOG\init.sqf"

nul = [m1,"jadam","lgb","cbuap","cbuat","helo"] execVM "airSup\airSupInit.sqf";

if(true)exitWith{};

//begin init.sqf

// JIP fix - why does ArmA execute init.sqf for JIP players, if 'player' is not sync'd yet

if ((!isServer) && (player != player)) then

{

waitUntil {player == player};

};

if (isServer) then

{

//Init UPSMON scritp

call compile preprocessFileLineNumbers "scripts\Init_UPSMON.sqf";

};

setviewdistance 1600;

//Process statements stored using setVehicleInit

processInitCommands;

//Finish world initialization before mission is launched.

finishMissionInit;

if(true) exitWith {};

And if I want to have multiple groups, it should look like this:

nul = [m1,"jadam","lgb","cbuap","cbuat","helo"] execVM "airSup\airSupInit.sqf";

nul = [m2,"jadam","lgb","cbuap","cbuat","helo"] execVM "airSup\airSupInit.sqf";

if(true)exitWith{};

:j:

Share this post


Link to post
Share on other sites

if(true)exitWith{};

that line kills the script, so there should be only one at the very end. Just delete the one after the airSupInit is run and it should work.

for multiple players, yes you have it right.

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  

×