Jump to content
Sign in to follow this  
madbull

[R3F] Artillery and Logistic: Manual artillery and advanced logistic (mission script)

Recommended Posts

@madbull

Thank you. I'll be watching emails for thread updates.

(of course, I won't remove your signs from dialogs, it is your script)

Share this post


Link to post
Share on other sites

Sorry if the question has been asked before, but any chance of having the AI teammates do the actual firing?

Great work!

Share this post


Link to post
Share on other sites

@CaptainBravo :

Yes, it was asked many times before.

In the first message, you can read in the TODO list :

Level of priority #3 :

- add the capabilities to send fire orders to AI

Share this post


Link to post
Share on other sites

> "Is this mod compatible with ACE2?"

Yes it's compatible. I personnaly tried.

In a future version, the ACE2 objects will also be handled (e.g. ammo crates, vehicles, ...).

But you can already add easily yourself some objects in the configuration.

Share this post


Link to post
Share on other sites

Can I create an artillery command quarter by a script (in the game) ?

I guess, I need to place a «Satellite Phone» and execute a script, which is written in Step 5 of the installaton manual?

my_new_satellite_phone_object = "SatPhone" createVehicle (_some_positon);

nul = [my_new_satellite_phone_object] execVM "R3F_ARTY_AND_LOG\create_arty_quarter.sqf";

?

---------- Post added at 04:32 ---------- Previous post was at 04:16 ----------

I have followed all the steps of installation.

After I create SatPhone by a script, i run the script (as above, with my sat. phone object as a parameter), a tent with stuff is created, but I cannot use the sat. phone on the table.

.rpt has following text:

String STR_R3F_LOG_action_charger_deplace not found

String STR_R3F_LOG_action_charger_selection not found

String STR_R3F_LOG_action_contenu_vehicule not found

String STR_R3F_LOG_action_remorquer_deplace not found

String STR_R3F_LOG_action_remorquer_selection not found

String STR_R3F_LOG_action_selectionner_objet_charge not found

String STR_R3F_LOG_action_charger_deplace not found

String STR_R3F_LOG_action_charger_selection not found

String STR_R3F_LOG_action_contenu_vehicule not found

String STR_R3F_LOG_action_selectionner_objet_charge not found

String STR_R3F_LOG_action_remorquer_deplace not found

String STR_R3F_LOG_action_remorquer_selection not found

String STR_R3F_LOG_action_remorquer_deplace not found

String STR_R3F_LOG_action_remorquer_selection not found

String STR_R3F_LOG_action_charger_deplace not found

String STR_R3F_LOG_action_charger_selection not found

String STR_R3F_LOG_action_contenu_vehicule not found

String STR_R3F_LOG_action_selectionner_objet_charge not found

String STR_R3F_LOG_action_charger_deplace not found

String STR_R3F_LOG_action_charger_selection not found

String STR_R3F_LOG_action_contenu_vehicule not found

String STR_R3F_LOG_action_remorquer_deplace not found

String STR_R3F_LOG_action_remorquer_selection not found

String STR_R3F_LOG_action_selectionner_objet_charge not found

String STR_R3F_LOG_action_selectionner_objet_charge not found

String STR_R3F_LOG_action_remorquer_deplace not found

String STR_R3F_LOG_action_remorquer_selection not found

String STR_R3F_LOG_action_charger_deplace not found

String STR_R3F_LOG_action_charger_selection not found

String STR_R3F_LOG_action_contenu_vehicule not found

String STR_R3F_LOG_action_remorquer_deplace not found

String STR_R3F_LOG_action_remorquer_selection not found

String STR_R3F_LOG_action_charger_deplace not found

String STR_R3F_LOG_action_charger_selection not found

String STR_R3F_LOG_action_contenu_vehicule not found

String STR_R3F_LOG_action_selectionner_objet_charge not found

String STR_R3F_LOG_action_selectionner_objet_charge not found

String STR_R3F_LOG_action_remorquer_deplace not found

String STR_R3F_LOG_action_remorquer_selection not found

String STR_R3F_LOG_action_charger_deplace not found

String STR_R3F_LOG_action_charger_selection not found

String STR_R3F_LOG_action_contenu_vehicule not found

String STR_R3F_LOG_action_charger_deplace not found

String STR_R3F_LOG_action_charger_selection not found

String STR_R3F_LOG_action_contenu_vehicule not found

String STR_R3F_LOG_action_selectionner_objet_charge not found

String STR_R3F_LOG_action_selectionner_objet_charge not found

String STR_R3F_LOG_action_charger_deplace not found

String STR_R3F_LOG_action_charger_selection not found

String STR_R3F_LOG_action_contenu_vehicule not found

String STR_R3F_LOG_action_charger_deplace not found

String STR_R3F_LOG_action_charger_selection not found

String STR_R3F_LOG_action_contenu_vehicule not found

String STR_R3F_LOG_action_selectionner_objet_charge not found

String STR_R3F_LOG_action_remorquer_deplace not found

String STR_R3F_LOG_action_remorquer_selection not found

String STR_R3F_LOG_action_selectionner_objet_charge not found

String STR_R3F_LOG_action_charger_deplace not found

String STR_R3F_LOG_action_charger_selection not found

String STR_R3F_LOG_action_contenu_vehicule not found

String STR_R3F_LOG_action_selectionner_objet_charge not found

String STR_R3F_LOG_action_selectionner_objet_charge not found

String STR_R3F_LOG_action_selectionner_objet_charge not found

String STR_R3F_LOG_action_remorquer_deplace not found

String STR_R3F_LOG_action_remorquer_selection not found

String STR_R3F_LOG_action_charger_deplace not found

String STR_R3F_LOG_action_charger_selection not found

String STR_R3F_LOG_action_contenu_vehicule not found

String STR_R3F_LOG_action_selectionner_objet_charge not found

String STR_R3F_LOG_action_selectionner_objet_charge not found

String STR_R3F_LOG_action_charger_deplace not found

String STR_R3F_LOG_action_charger_selection not found

String STR_R3F_LOG_action_contenu_vehicule not found

String STR_R3F_LOG_action_remorquer_deplace not found

String STR_R3F_LOG_action_remorquer_selection not found

String STR_R3F_LOG_action_selectionner_objet_charge not found

String STR_R3F_LOG_action_selectionner_objet_charge not found

String STR_R3F_LOG_action_selectionner_objet_charge not found

String STR_R3F_LOG_action_selectionner_objet_charge not found

String STR_R3F_LOG_action_remorquer_deplace not found

String STR_R3F_LOG_action_remorquer_selection not found

String STR_R3F_LOG_action_charger_deplace not found

String STR_R3F_LOG_action_charger_selection not found

String STR_R3F_LOG_action_contenu_vehicule not found

String STR_R3F_LOG_action_deplacer_objet not found

String STR_R3F_LOG_action_charger_deplace not found

String STR_R3F_LOG_action_selectionner_objet_charge not found

String STR_R3F_ARTY_action_ouvrir_dlg_SM not found

String STR_R3F_ARTY_action_demonter_poste not found

String STR_R3F_LOG_action_deplacer_objet not found

String STR_R3F_LOG_action_charger_deplace not found

String STR_R3F_LOG_action_selectionner_objet_charge not found

String STR_R3F_LOG_action_deplacer_objet not found

String STR_R3F_LOG_action_charger_deplace not found

String STR_R3F_LOG_action_selectionner_objet_charge not found

String STR_R3F_LOG_action_deplacer_objet not found

String STR_R3F_LOG_action_charger_deplace not found

String STR_R3F_LOG_action_selectionner_objet_charge not found

String STR_R3F_LOG_action_deplacer_objet not found

String STR_R3F_LOG_action_charger_deplace not found

String STR_R3F_LOG_action_selectionner_objet_charge not found

String STR_R3F_LOG_action_charger_deplace not found

String STR_R3F_LOG_action_charger_selection not found

String STR_R3F_LOG_action_contenu_vehicule not found

String STR_R3F_LOG_action_deplacer_objet not found

String STR_R3F_LOG_action_charger_deplace not found

String STR_R3F_LOG_action_selectionner_objet_charge not found

String STR_R3F_LOG_action_selectionner_objet_charge not found

String STR_R3F_LOG_action_selectionner_objet_charge not found

String STR_R3F_LOG_action_selectionner_objet_charge not found

String STR_R3F_LOG_action_remorquer_deplace not found

String STR_R3F_LOG_action_remorquer_selection not found

String STR_R3F_LOG_action_charger_deplace not found

String STR_R3F_LOG_action_charger_selection not found

String STR_R3F_LOG_action_contenu_vehicule not found

Edited by McArcher

Share this post


Link to post
Share on other sites

@McArcher :

Exactly. You can do as you said.

You can also create any other objects (vehicles, ammo crates, mortars, ...) by script. They will be automatically handled. Simply execute the createVehicle scripting command. No need to do something else. We do our best to make it simpliest as possible.

About your errors in the RPT : this is due to a wrong installation of the stringtable.csv. Check the step 3.

I copy/paste the new version of the explaination of this step 3 (not yet released) :

Step 3. You have to add to the file "stringtable.csv" of the mission the following content :

----

LANGUAGE, English, French

#include "R3F_ARTY_AND_LOG\stringtable.csv"

----

If you don't have a file named "stringtable.csv" in the main directory of your mission, create one.

If you already have a file named "stringtable.csv" :

- Add only the line starting with "#include".

- Check if the list of the languages used is well "English, French". If it is not the case, you can edit the three following files to match the different columns :

- R3F_ARTY_AND_LOG\stringtable.csv

- R3F_ARTY_AND_LOG\R3F_ARTY\stringtable.csv

- R3F_ARTY_AND_LOG\R3F_LOG\stringtable.csv

By example, if your list of languages is "English, German, French", you must insert a new column between the English and the French translations for each line of the "R3F_revive\stringtable.csv" file :

Line before : STR_R3F_xxx, “enligh transâ€, “french transâ€

Line after : STR_R3F_xxx, “enligh transâ€, “german transâ€, “french transâ€

Share this post


Link to post
Share on other sites

I don't clearly understand following text:

By example, if your list of languages is "English, German, French"

What languages do you mean? Game's language?

My game is russian version, but I didn't have any stringtable.csv in my mission's root folder. I don't even know what this file is (sorry, I'm just a beginner in Arma2 scripting), so I created it as it was said in step 3, but it doesn't help.

What should I do? I don't understand, sorry....

---------- Post added at 16:17 ---------- Previous post was at 16:16 ----------

Does this mean that your script works only on English and French versions of Arma2 ?

Share this post


Link to post
Share on other sites

> "What languages do you mean? Game's language?"

Thoses listed in the first line of the stringtable :

LANGUAGE, English, French

The languages list is English and French. This is the default language list for the R3F arty & log system.

Your game is in Russian. There is no russian translation (unless you make it yourself). So the game will take the english translation as default : that's not a technical problem.

It should work.

Are you sure that you have a stringtable.csv file in the root directory with this content :

LANGUAGE, English, French

#include "R3F_ARTY_AND_LOG\stringtable.csv"

Check the file extension (e.g. not stringtable.csv.txt)

Share this post


Link to post
Share on other sites
LANGUAGE, English, French

#include "R3F_ARTY_AND_LOG\stringtable.csv"

is in stringtable.csv, which is in the root folder of my mission. 100% sure.

---------- Post added at 17:24 ---------- Previous post was at 17:22 ----------

I also have a stringtable.xml in the root, don't remeber where is it from, maybe from Multiplayer Framework 2. maybe it conflicts with stringtable.csv ?

---------- Post added at 17:41 ---------- Previous post was at 17:24 ----------

seems like deleting stringtable.xml helped!

I have a question... why are messages in your script are given into globalChat? everyone will see tonns of messages if someone does something... groupChat would be better maybe, i think.

plz, add into installation instruction a warning about stringtable.xml !

I wish you good luck in your work, and hope you will complete 5-th level in a to-do list (GRAD/MLRS) soon :)

Edited by McArcher

Share this post


Link to post
Share on other sites

A good thing that you finally succeed.

> "plz, add into installation instruction a warning about stringtable.xml !"

It'll be done. I was (and am currently) not aware about the stringtable.xml.

> "why [...] globalChat?"

Because if you haven't a radio item in your package, you don't receive a groupChat message or any other chat command (expect globalChat).

And some default "soldier slot" haven't a radio item.

> "everyone will see tonns of messages"

The groupChat command has effect only on the local machine. It's not broadcasted.

Edited by madbull

Share this post


Link to post
Share on other sites

one small advice: logistic is an adjective, but logistics is a noun :)

Share this post


Link to post
Share on other sites

Okay, I am having the same exact problem with stringtable.xml in the F2 mission template. Is there a way to convert the .csv format into something xml friendly? or something that will allow both? I can send my mission if that would help.

I am loving this script very much by the way!

Hope this issue gets resolved soon!

Share this post


Link to post
Share on other sites

i would like to suggest three things that may improve the mod:

1) in real life the operator sometime wants the shells to fall on the target on specific timming, like one shell every 15 sec. in this case it's nothing special, just add a timer to the gun computer that counts the seconds backward until the next round needs to be fired.

2)something cosmetic, today when i send the gunner a fire mission with 10 rounds it says 10 fire missions. that's not true, one fire mission can have multiple rounds. the difference in fire missions is usually the type of shell (HE, smoke...), target, and charge (that propel the shell).

3)i would like to have the opetion to operate the artillery computer from the outside/inside of an APC (for exemple), so the artillery computer option will be enable when i'am next to or inside an APC.

thanks,

seansharlos.

Share this post


Link to post
Share on other sites

About the stringtable.xml :

This tool permits to convert CSV to XML : http://rte.jonasscholz.de/blog/2009/08/25/csvtoxml

But it needs some manual operations :

Rename the package ID to "Missions"

Rename the container ID to an empty string ("")

Replace all name="..." properties by ID="..."

About the next release :

I had not enough time this week-end. It probably be released in few days.

@McArcher :

> "one small advice: logistic is an adjective, but logistics is a noun"

Thx for advice. According to google translation, both are correct. But "logistics" is surely better. That a detail. Too late to change the software's name.

@seansharlos :

> "in real life [...] one shell every 15 sec"

Of course. But you have teamspeak and chat to say all additionnal informations. The fire order system just give the angles and the ammo.

We can't implement a heavy system to indicate fire synchronization :

- it will be too hard to use for the most of users

- it will never do all kind of things we want

- it's hard to implement

> "one fire mission can have multiple rounds"

Of course too. But if's writen "fire order" and not "fire mission". If you have a better translation, let me know.

> "artillery computer from the outside/inside of an APC"

You already can. I said in a post to execute this scripting command in the init line of your vehicle/object/unit :

this addAction [("<t color=""#dddd00"">" + (localize "STR_R3F_ARTY_action_ouvrir_dlg_SM") + "</t>"), "R3F_ARTY_AND_LOG\R3F_ARTY\poste_commandement\ouvrir_dlg_saisie_mission.sqf", nil, 6, true, true, "", "vehicle player != player"];

Remove the "vehicle player != player" if you want to access it from outside.

This tips will be included in the documentation of the next version.

Share this post


Link to post
Share on other sites

Savlos is the term for how many rounds from each gun. The script would be nice if instead of splitting up the total rounds by all the guns selected, that it was more in line with a standard call for fire request. In the fire request the FO (forward observe) will specific number of guns (which for your script would just be by how many people/guns you select, and then they request the number of rounds (salvos) which are fired from EACH gun.

Also could you set it so that when the round is fired a messaged is displayed to the person at the FDC (computer) of shot over (which can then be replayed to the FO) and a "Splash Over 10 seconds before estimated impact. Normally the FO would reply with Shot Out, and Splash Out (if they see the splash, lol).

Also as sean was saying the interval would be nice. A FO can call for a interval or sustained fire. Inval would be number of rounds fired within a specific time. As in 6 salvos, interval 30, fire for effect. This would be 1 salvo fired every 30 seconds.

You could also call for sustained fire which is number of rounds fired over a specific time. 6 salvos, sustained fire 30, fire for effect. This will would result in 1 salvo fired every 5 seconds. Hopefully that makes sense. Would be nice if the FDC can also include a check box for Danger Close information to the guns which would be if friendly units are within about 500 or 750 meters and would give the cardinal direction and distance from the target grid to friendly position(s). This is more advanced stuff and may be more used during navel gun fire though, so I am not sure how important it would be to have this stuff in here.

Also here is a good reference for you MadBull. This is the army FM6-30 on some of this.

http://www.globalsecurity.org/military/library/policy/army/fm/6-30/f630_5.htm

Edited by Alderman

Share this post


Link to post
Share on other sites

Hi

I just became aware of this post.

Very interesting what is written here is all, Download now ... ,

and thx for your work.:cool:

Share this post


Link to post
Share on other sites

I think it is fine the way it is. If a person wants to implement the proper FDC and FO communications (according to which ever army they want) then they can. My buddy acts as the FDC I communicate with him over Teamspeak and he inputs the information. The guys operating the gun calls shot and splash based on the round flight time.

I dont know why there would need to be an in game way of doing this, its all spoken on a radio. Sure there are methods to call fire via text on FBCB2 or other similar systems. But if you wanted to do that you might as well implement all the other features of that equipment. I would think anybody looking for that should write a separate script.

Share this post


Link to post
Share on other sites
About the stringtable.xml :

This tool permits to convert CSV to XML : http://rte.jonasscholz.de/blog/2009/08/25/csvtoxml

But it needs some manual operations :

Rename the package ID to "Missions"

Rename the container ID to an empty string ("")

Replace all name="..." properties by ID="..."

Thank you for the rapid response... I appreciate it VERY much!

The .csv-.xml program didn't work out on my machine for some reason, so I have to do the entire thing manually. Only problem I am stuck on is that I am not sure what to rename the name and properties ID's. This is probably the most important step, and I am stuck as to what to do. If it is at all possible to send me your converted stringtables.xml file, that would probably save me an entire night of struggle.

Also, what do we do about the includes in the stringtable.csv file? Can you just add them to the .xml file?

I discovered a method of including other xml files... does the following look appropriate for ArmA 2 related xml files? I think there might be a better way of going about this.

<includes xmlns:xi="http://www.w3.org/2001/XInclude">
   <title></title>
       <xi:include href="R3F_ARTY_AND_LOG\stringtable.xml"/>
</includes>

If the above method works, then we will need to convert all .csv files into .xml and add the includes using the code above.

----------UPDATE----------

For all who are using F2 mission template framework, I made a temporary fix for the stringtable.xml issues:

Basically, it is easier to convert the stringtable.xml (F2's stringtable file) to a stringtable.csv (the format Artillery and Logistics uses) then it is the other way around.

The following link is the fix that will make the F2 framework and R3f's Artillery and Logistics mod compatible together.

http://www.filefront.com/15482079/stringtableFix.rar

(Just replace the original stringtable.csv with this one, and delete stringtable.xml)

(I only did English and French Languages)

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

Edited by VirusLIVED
FIXED DOWNLOAD LINK

Share this post


Link to post
Share on other sites

Some of us are having problems intergrating this in our missions(MP domination) and I've noticed others having the same problem here as well...would it be possible to get this pre-installed into a domination mission.The reason is that its kinda hard to know what is going wrong as its a pretty elaborate set of scripting.Thanks in advanced if this could be done.

Share this post


Link to post
Share on other sites

@Alderman [3rd MD] (and seansharlos and all) :

Thanks for your suggestions and advices.

Okay guys : you're "fan" of artillery and realism. I'm "fan" too.

The [R3F] Artillery software has three goals :

- to permit to compute a fire solution, possibly with adjustments and dispersion

- to permit to read the azimuth/elevation of the artillery piece

- to transmit and display "fire order" which basically consist of the azimuth/elevation

With these "generic" tools, you're able to do any artillery usage as you want. With any artillery piece, any specific army procedure, etc... All other features can be done by voice/chat (or own dedicated tool, if you really need one).

It's quite intuitive/simple to use for everyone. You can use it simple or do a high level uage.

> "when the round is fired a messaged is displayed to the person at the FDC"

Do you have a kind of chat message in real life ? No. You see that the round was fired. Or the gunners says to you. => So use Teamspeak/chat/your eyes/hears.

> "A FO can call for a interval or sustained fire"

Exactly the same comment as above.

> "the number of rounds (salvos) which are fired from EACH gun"

I'm not sure to understand exactly. But you can already order a specific number of rounds for each gun. Select gunner one by one, type the number of rounds, and submit the personnal order.

Yes it's be possible to add many features. But I really think that it's not a good idea. Light, simple, efficient and generic : what else ? :p

Slugs is absolutely right in his message.

Thanks again too all for your interest and suggestions ;)

@VirusLIVED :

> "The .csv-.xml program didn't work out on my machine for some reason"

I also encountered some crashes of the converter program. You need to delete all empty lines in the CSV and it should work fine.

> "what do we do about the includes in the stringtable.csv file?"

I'm was looking for too. (BTW Thanks to BIS to published no documentation about stringtable.xml... :mad:).

I discovered that ArmA 2 read all the stringtable.xml files in any directory of the mission. It seems that "include" is useless. But I had a problem of "persistance" about stringtable.xml data (that's too weird. I can't explain it quickly).

Thanks for your effort to release your stringtableFix.rar. But I think there is something wrong in the download. Is it the good stringtable.csv in the archive (i.e. from the good directory) ?

The next release will be XML and CSV compatible.

@343rdBadger :

I note your request (you're not the first one to ask me that). At the moment that's not the priority. There is some important modifications to do before release a Dom' version. And I will discuss with Xeno about what he think about that.

Share this post


Link to post
Share on other sites

> "how do I know the island size? "

Quoting myself :

To those speaking about the island height configuration :

Open the island in the ArmA 2 mission editor. Insert an object on the left-top corner of the island (coordinate 000 000). Save the mission. Open the mission.sqm in a notepad. Read the third value of the "position" property of the objet. I get for example : position[]={0.033755802,-30,20480.023}; So the height of the island is 20480 (after rounding the value due to the imprecision of positionning the object in the editor).

I'll be explained in the next version documentation.

Share this post


Link to post
Share on other sites

I agree with you on the voice comms and such. The calculation and being able to send the elevation and tangent is the information we are in need of having. Looking forward to the change for direction to target from the FO.

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  

×