Jump to content
Sign in to follow this  
Bon

Advanced Artillery Request System

Recommended Posts

Ok got the option finally. But the shells never actually hit. do i need to put artillery units on that map?

No you don't need to put any artillery units on the map. Take a look at the usage manual and watch the demonstration videos carefully, I assume you just don't use it correctly ;)

Most people (even myself) often forget to press "confirm" to apply settings to marked cannons.

-----------------------------------------------------------------

Total editing noob here :o

What exactly do you do with:

Now, you might probably have a CfgSounds class

defined already, then only copy the line

#include “bon_artillery\Description.extâ€

INTO your CfgSounds class.

I wouln't even know where to find 'CfgSounds class' ,let alone define it?

The rest of the install explanations in the manual, I can find where I need to put them, however it feels asthough I'm missing a couple of obvious steps.

If your own mission has no file named description.ext (not case-sensitive), just don't care about it, and use the one from the archive.

If you have one already, search in it for a structure like

class cfgSounds
{
    some stuff
};

That defines custom sounds for the mission.

If there is no such structure, just use the one from the archive's Description.ext. If there is such structure already, only copy the line

#include “bon_artillery\Description.extâ€

into it, so that it becomes something like

class cfgSounds
{
    #include “bon_artillery\Description.extâ€
    some stuff
};

All in all its very simple:

If there is a file in the archive that is already there in your mission folder, merge both the contents.

If not, just use the one from the archive.

Share this post


Link to post
Share on other sites

thanks again for the great script Bon, just released a mission that uses this, but I had a question:

In post #10 I display my description.ext which when I applied Revive towards the mission, there is now a conflict with the cfgSounds from the art.

Anyway to have these run together or know what the problem might be?

http://forums.bistudio.com/showthread.php?t=98099

Share this post


Link to post
Share on other sites

I got it working fully. but then i re-tried my mission again and it no longer works as soon as i exported it to multiplayer.

---------- Post added at 02:56 PM ---------- Previous post was at 02:22 PM ----------

After doing testing i found out that the artillery is only working on the bis units. not units i have downloaded as addons. Anyway to fix this?

Share this post


Link to post
Share on other sites

@bittle

You can go into the bon_arti_init.sqf and inside it there is a header called Restrictions.

There you can specify specific units or weapons required to call in the arty.

Here's what it looks like: (in my case it's limited to the East side with an Ace Rangefinder)

/****************************** RESTRICTIONS ******************************************************************/

//### Specify classes artillery should be restricted to, or leave the array empty
_arti_cond_classes = [];

//### Specify sides artillery should be restricted to (either WEST, EAST, GUER, CIVILIAN), or leave the array empty
_arti_cond_sides = [[b]EAST[/b]];

//### Specify weapons player must have to call in artillery, or leave the array empty
_arti_cond_weapons = ["[b]ACE_Rangefinder_OD[/b]"];

//### define own conditions by replacing the 'true', ( e.g. _arti_cond_other = "!alive tank1 && !alive tank2"; )
_arti_cond_other = "true";

/**********

Share this post


Link to post
Share on other sites
thanks again for the great script Bon, just released a mission that uses this, but I had a question:

In post #10 I display my description.ext which when I applied Revive towards the mission, there is now a conflict with the cfgSounds from the art.

Anyway to have these run together or know what the problem might be?

http://forums.bistudio.com/showthread.php?t=98099

If you mean the Norrin Revive Script, I just dowloaded it and checked it out, it defines its sounds in revive_sqf\dialogs\config.cpp.

Simplest way would be to copy the #include "bon_artillery\cfgSounds.sqf" into it, so that it will look like

class CfgSounds
{
       [color="Blue"]#include "bon_artillery\cfgSounds.sqf"[/color]
sounds[] = 
{
	Brian_Im_hit, Brian_Im_bleeding,Brian_Medic,Brian_Bastards,Brian_Shit_Man_down,Brian_Oh_no,
	Brian_Fuck,Brian_Fuck_it,Brian_Shit,Brian_Need_help,Brian_A_little_help_here
};

class Brian_Im_hit
{
	name="Brian_Im_hit";
	sound[]={"revive_sqf\sound\UNIV_v05.ogg",0.05,1.0};
	titles[]={};
};
       ....
};

Afterwards completely delete the cfgSounds section in the Description.ext.

I recommend something else:

Delete the line class CfgSounds and the sectionclosing curly bracket from the revive_sqf\dialogs\config.cpp:

[color="Red"]class CfgSounds   //DELETE THIS LINE
{    // AND THIS BRACE[/color]
sounds[] = 
{
	Brian_Im_hit, Brian_Im_bleeding,Brian_Medic,Brian_Bastards,Brian_Shit_Man_down,Brian_Oh_no,
	Brian_Fuck,Brian_Fuck_it,Brian_Shit,Brian_Need_help,Brian_A_little_help_here
};

class Brian_Im_hit
{
	name="Brian_Im_hit";
	sound[]={"revive_sqf\sound\UNIV_v05.ogg",0.05,1.0};
	titles[]={};
};
       ....
[color="Red"]}; // DELETE THIS BRACE[/color]

Afterwards edit the cfgSounds section in the Description.ext:

class CfgSounds {
#include "bon_artillery\cfgSounds.sqf"
       [color="Blue"]#include "revive_sqf\dialogs\config.cpp"[/color]
};

Firstly its a thing of taste, but this way you keep the Description.ext as a common interface/place for definitions and you get less scattered code - its much easier now to add further sounds from, lets say, other scripts, as you don't have to keep in mind where in the Norrin Revive System the sounds are defined.

Share this post


Link to post
Share on other sites

thanks for the amazing explanation, really appreciate it.

Share this post


Link to post
Share on other sites

Hiho,

1st of all, a phantastic Arti Script !!! Using only this for Coop`s and all works fine for me.

But now we use Gl 4 and we have a big Problem.

If i have the "recrute friendly Soldiers" Option = true (default) and i rerute a Soldier, i have no longer a Arti Menu :(.

I "pinned" my Arti at Radio Operators and Hummers but no more Arti after recruiting at both Positions. :(

Maybe someone has a Idea or a Solution ???

1st Part solved, dont know where was a Error.

-------------------------------------------------

other Question: is it possible to use

_arti_cond_other = "({_x hasWeapon 'Radio'} count units group player) > 0";
with a Distance option to class "radio" ??

Someone can help please ?!

Greetings Thunder

Edited by [J4F]Thunder666

Share this post


Link to post
Share on other sites

Great script but I have a probelem.

When the script is running on a host server, all functions ,especially laser targeting, work fine.

But when on a dedicated server, only laser targeting didn't work at all.

I searched your .sqf files for the word "isDedicated" and found it at bon_arti_init.sqf so I disabled the line with //.

Again,I executed it on the dedicated server, but the result is the same that the other features worked fine but the laser one didn't.

I used your mission as a test. I am sure the mission settings are fine ( of course it's your mission and i didn't edit any.)

Could you please fix this for dedicated server?

Share this post


Link to post
Share on other sites
When the script is running on a host server, all functions ,especially laser targeting, work fine.

But when on a dedicated server, only laser targeting didn't work at all.

Aye P.Denton, thanks for your reply mate.

It was in fact a trivial error, in short: the function used to detect a players lasertarget was not precompiled on the dedicated server machine.

##############################################

Changelog v1.2:

FIXED: Artillery does not work for a player being set to captive before.

FIXED: Laserdesignation does not work on a dedicated server environment.

CHANGED: Replaced some setVehicleInit commands by publicVariable, to decrease synchronization traffic with JIP players.

Updated Downloadlink: http://chernarus-force.net/index.php?site=files&file=1

Share this post


Link to post
Share on other sites
Aye P.Denton, thanks for your reply mate.

It was in fact a trivial error, in short: the function used to detect a players lasertarget was not precompiled on the dedicated server machine.

I checked it on my dedicated server and confirmed it worked normaly.

Thx for your quick update,Bon!

Share this post


Link to post
Share on other sites

can this work on VTS ? anyone can help add this to VTS?

Share this post


Link to post
Share on other sites

I know you finished this up a while ago,

We integrated it and it works flawlessly, very nice scripting!

We played TFor the other day, he uses your arty system, but has managed to make the arty reload times longer than is present in the standard system, not the number of rounds per hour, but when you call a fire mission and the cannon goes red, this red period lasts a lot longer for any number of rounds. The question is, is there a parameter that can be edited so that i could include this lengthier period of time into our missions, I don't really want to try to copy across TFor's scripts as he also relies on the player placing arty cannons etc, whereas I want the imaginary ones in the original scripts. I will continue to endeavour at finding the difference in code between the TFor version and the standard. Any help much appreciated, thanks!

Edited by greasy_trigger

Share this post


Link to post
Share on other sites

Hi greasy_trigger,

its no parameter and actually not trivial to find.

In the bon_arti_fire.sqf there is, somewhere at the end of the script, the line

sleep (30 * _nrshells);

That's what you are searching for. It means it takes 30 seconds for each shell ordered by a cannon until the cannon becomes available again. Replace the 30 by any higher value you want, in tfor it is 60 seconds.

hf.

I know you finished this up a while ago,

We integrated it and it works flawlessly, very nice scripting!

We played TFor the other day, he uses your arty system, but has managed to make the arty reload times longer than is present in the standard system, not the number of rounds per hour, but when you call a fire mission and the cannon goes red, this red period lasts a lot longer for any number of rounds. The question is, is there a parameter that can be edited so that i could include this lengthier period of time into our missions, I don't really want to try to copy across TFor's scripts as he also relies on the player placing arty cannons etc, whereas I want the imaginary ones in the original scripts. I will continue to endeavour at finding the difference in code between the TFor version and the standard. Any help much appreciated, thanks!

Share this post


Link to post
Share on other sites

Cheers man! Didn't expect a reply so quickly. Real sorry to bother you man!

We integrated it and it works flawlessly, offline :(

The problem is, when on our dedicated sever, we get the dialogue to come up, but the number of arty rounds left is <null>. You can do the whole call in sequence and the messages pop up with crossroad etc, but nothing comes in. We can't quite make heads or tales of it because offline everything is the same but number of rounds is 50 (what we want). We do have the game logic sever thing set up, this is required for other scripts and they are working as per usual. It isn't to do with what we just changed as noticed it occured before we altered it.

Thanks again, and sorry ...

Edited by greasy_trigger

Share this post


Link to post
Share on other sites

Yea also having the same problem. Would changing the Rounds per hour to 0 help? Would love this on our version of domination...

Cancel that got it working must of been something i did wrong in the description file.

Edited by OrdeaL
Working now

Share this post


Link to post
Share on other sites

Thanx Bon for fantastic script :bounce3:

I created page here : Artillery, so it will be available with next release.

As you know from PM, I implemented automatic approximate direction (bon_artillery\dialog\apply_pos.sqf).

//by Bon_Inf*
#include "definitions.sqf"
disableSerialization;

ctrlSetText [bON_ARTY_XRAYEDIT, format["%1",round (getPos player select 0)]];
ctrlSetText [bON_ARTY_YANKEEEDIT, format["%1",round (getPos player select 1)]];

_angle = 0; _dir = 0; _diff = 361;
while {_angle < 360} do 
{
  if (((abs((getDir player) - _angle)) < 5) and ((abs((getDir player) - _angle)) < _diff)) then {_dir = _angle; _diff = (abs((getDir player) - _angle));};
  _angle = _angle + 5;
};

ctrlSetText [bON_ARTY_DIRECTION, format["%1",_dir]];

if(true) exitWith{};

It works like a charm, speeding a little bit splash site selection.

Reasons?

  1. it is sometimes hard to read numbers on compass
  2. I really cannot think while playing am I facing 248 degree direction and is it maybe north ;)

I have time to focus on correcting direction and/or using arrow buttons.

Share this post


Link to post
Share on other sites

Bon, any way to add non HE rounds and other rounds? for example DCPIM, SADARM?

Have fiddled with sadarm rounds from the cfgammo but never get a true sadarm seeking air burst or dcipm cluster burst.

// element: [displayname,config type-entry]

HW_arti_types = [["105mm HE","ARTY_Sh_105_HE"],["85mm HE","Sh_85_HE"],["DPICM","Sh_85_AP"],["SADARM","Sh_105_SADARM"],["Smoke (White)","Smokeshell"],["Smoke (Red)","SmokeshellRed"],["Smoke (Green)","SmokeshellGreen"],["Smoke (Blue)","SmokeshellBlue"],["Smoke (Purple)","SmokeshellPurple"],["Smoke (Yellow)","SmokeshellYellow"],["Smoke (Orange)","SmokeshellOrange"],["Flare (White)","F_40mm_White"],["Flare (Green)","F_40mm_Green"],["Flare (Yellow)","F_40mm_Yellow"],["Flare (Red)","F_40mm_Red"]];

Edited by Winch3st3r

Share this post


Link to post
Share on other sites

A great script.

Would be even greater if there was a possibility to limit the amount of overall shells/hour for each shell type.

Or, to have an unlimited amount of SMOKE/ILLUM available, while keeping the powerful ones like DPICM/HE/SADARM limited.

--

Ok, seems that making an unlimited amount of SMOKE/ILLUM is quite an easy case, one should just edit bon_arti_fire.sqf and right after

_shellsleft = Server getVariable format["Arti_%1_shellsleft",_side];

add something like

switch (_artitype) do
{
  case "SmokeShell":
   {
    Server setVariable [format["Arti_%1_shellsleft",_side],_shellsleft - 0, bon_arti_global];
    };
  default
   {
    Server setVariable [format["Arti_%1_shellsleft",_side],_shellsleft - _nrshells, bon_arti_global];
    };
...

+ in bon_arti_setup gotta disable check for number of shells left - to avoid the check altogether in case SMOKE/ILLUM rounds are used

Edited by 1nsider
answering own question

Share this post


Link to post
Share on other sites

Hey Bon Great Script. im just having one problem. im trying to integrate the description and init and ive seem to have gotten all the error messages to go away but now my only problem is that i can get the call artillery in menu to show. alot of my problems what been in the destription trying to get class cfgsounds to work and this is what i have in there atm..

#include "bon_recruit_units\dialog\common.hpp"

#include "bon_recruit_units\dialog\recruitment.hpp"

#include "bon_artillery\dialog\Artillery.hpp"

#include "RscClass.hpp"

#include "Dialog.hpp"

class RscTitles

{

#include "RscTitles.hpp"

#include "DAPMAN\RscTitles.hpp"

};

class CfgSounds

{

#include "DAPMAN\CfgSounds.hpp"

#include "bon_artillery\cfgSounds.sqf"

class DAP_SHOT_WHISTLE

{

name = "Whistle";

sound[] = {\Sounds\Effects\WHISTLE.ogg, 0.5, 1.0};

titles[] = {};

};

class TAKBIR

{

name = "Takbir";

sound[] = {\Sounds\Screams\TAKBIR.ogg, db-10.5, 1.0};

titles[] = {};

};

};

Share this post


Link to post
Share on other sites

can u pleeeeeease rework this Script for Arma 3 ?!! Please ;)

greetings

P.S. what is the Size of the Background Pictire ?

Edited by [J4F] Thunder666

Share this post


Link to post
Share on other sites

with the new BIS Functions the Scripts are broken and it is no longer useable in A3 :( . This is the best and easy to use Arti Support for Arma(Multiplayer) i have ever seen. So where are you ? :). Please port it to A3.

greetings

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  

×