Jump to content
Sign in to follow this  
oldbear

How to use MSO to set up Keypoints

Recommended Posts

I have been aware that keypoints were a needed feature for mission making.

And get most of my knowledge from Commander1985 How to: Keypoints thread and the other part from ArmA 2 Island Creation & Configuration by cctoide.

To set up the keypoints you need first to retrieve a "forgotten" part for Visitor3 : KPTypes.dat.

You can get it from excellent Bushlurker site : http://www.bushlurker.com/

Follow : Resources & Tutorials >Tools & Utilities.

After having get it, throw it in your Visitor3 directory.

Then you can get the "Keypoints" option working in Visitor3.

As far as knowledge went before yesterday, you will have from this step to define all keypoints by hand , one by one. It can takes many days on a large map ... yes I know, I have done it on Tropica and Vostok.

But, as I was following the chat on the Skype map-makers channel yesterday, I have get a new way to build up keypoints.

you don't need to do anything. MSO does it for you.

in Fact MSO can even output in .cpp format all the keypoints that are created.

...

go to core\functions\server\fn_createLocations.sqf set _output = true; on line 14 and it will provide you an .hpp output in the.rpt

// Will scan island and create all keypoints where possible

// Relies on towns having been set on terrain

// Will create CityCenters, Strategic, StrongPointArea, FlatArea, FlatAreaCity, FlatAreaCitySmall, BorderCrossing

It seems it works, I have open the mission on Tigeria and get a huge list in the .rpt. I have still many questions before I can use it in Tigeria.cpp, I hope we can share in this thread some enlightments.

Edited by Old Bear

Share this post


Link to post
Share on other sites

My main question about the file I get is about how to sort what is "real .rpt" and what's keypoint generation from fn_createLocations.sqf.

Because when I look at the created file, here an extract :

"class TUP_FlatAreaCity_custom_4442"

"{"

" name="

" position[]={3818.61,5168.57}"

" type=FlatAreaCity"

" radiusA=25"

" radiusB=25"

"}"

"class TUP_NameVillage_custom_8624"

"{"

" name=Bon Coin"

" position[]={3840.39,5119.78}"

" type=NameVillage"

" radiusA=100"

" radiusB=100"

"}"

"class BIS_loc_custom_0"

"{"

" name=BIS_loc_custom_0"

" position[]={10534.4,9764.38}"

" type=<null>"

" neighbors={["BIS_loc_custom_0"]}"

It looks a bit like what I get using the keypoint option in Visitor3, but it's quite different in fact . Here an extract from Tigeria.hpp :

class Bon_Coin

{

name="Le Bon Coin";

position[]={3840.39,5119.78};

type="NameVillage";

radiusA=100;

radiusB=100;

};

And I don't know what to do with BIS_loc_custom_*

Edited by Old Bear

Share this post


Link to post
Share on other sites

Old bear,

I'll try to put together a basic mission that ppl can use straight out of the box, rather than having to use MSO.

The .hpp data in the rpt should be there. You may have to cut paste and edit a bit.

I'll post something today.

Cheers

Tup

Share this post


Link to post
Share on other sites

Thanks ... because I think the .rpt file can't be used as it is and must be heavily edited first :(

Share this post


Link to post
Share on other sites

RIGHT GUYS!

I have made this super simple for you now. I have created a mission that automatically creates and outputs locations to the RPT.

Requirements:

1. World centerposition has be set to the center of the map (in your config.cpp)

2. Grid is setup so that 0,0 is bottom left of map

3. You have placed NameVillage, NameCity, NameLocal, NameCityCapital

All you have to do is:

1. change the mission folder name to reflect your island (i.e. change createlocations.yourisland to createlocations.tup_qom)

2. open mission.sqm and search/replace "yourisland" to, for example, "tup_qom"

3. Go into the editor, load the mission createlocations, hit preview, check the map - make sure the locations look about right.

4. Open up your arma2oa.rpt, you will see all the locations listed in hpp format. simply cut and paste it all into a text file, remove the quotation marks and then cut and paste into your names.hpp.

Note that you cannot import this data into visitor and names.hpp gets overwritten when you export world. So, the build process is, export world, then cut and paste your data into names.hpp.

Hope that makes sense.

Mission is here - http://www.2shared.com/file/AK6Tmg2I/createlocationsyourisland.html

Enjoy!

Edited by Tupolov

Share this post


Link to post
Share on other sites

Thx Tupolov,

now i dont have to spend lots of hours with placing keypoints;)

Share this post


Link to post
Share on other sites

The thing seems to work :cool:

Some location based on City or Village names as set on the map are a bit out of place, so I need to move them in the right place.

I must add there is a typo in the .sqm, giving me an error at 1st try. We have :

init="nul = [] execvm ""fn_createlocation.sqf""";

We must have :

init="nul = [] execvm ""fn_createlocations.sqf""";

Many thanks Tupo

Share this post


Link to post
Share on other sites

Well, after many attempts, I think that I will release my map as it is without any keypoint, I will do it later once I have fully mastered how to build them or ... once I have set them by hand.

In using the script, I am loosing some locations, there are visible on the map but not found on the .rpt, so either I have done something wrong either there a non working functionality in the script.

Nevertheless, It quite a nice attempt to ease map-making in what is one of its most "no-fun" stage. Hope we will have some enhancement on this tool, thanks again Tupo. :cool:

Edit : I will try a release with Keypoints based upon Tupo's mission script, and I will add later some enhancements ..

Edit 2 : Tupo's mission script skip names of LocalArea points ...

Edited by Old Bear

Share this post


Link to post
Share on other sites

Chaps,

Make sure you merge the data with your current names.hpp, otherwise you will lose locations you defined in visitor. Do tHis after you have exported your world.

Let me know what the issue is old bear and I'll correct.

Regards,

Tup

Share this post


Link to post
Share on other sites

And for me it only works when i place the Function manager.

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  

×