Jump to content
Sign in to follow this  
commander1985

How to: Keypoints

Recommended Posts

Hi everyone,



this is a small Tutorial to get you all started with Keypoints and make your Island MSO-Compatible and beyond.

Since im not very good in this kind of stuff i try to make it short and step per step.

Make sure your kptypes.dat is Up-to-Date and that you have one.

If you dont have this file, create it by simple making a new Textfile.

In this File write the following:

BorderCrossing

VegetationBroadleaf

VegetationFir

VegetationPalm

VegetationVineyard

NameMarine

NameCityCapital

NameCity

NameVillage

NameLocal

RockArea

ViewPoint

FlatArea

FlatAreaCity

StrongpointArea

FlatAreaCitySmall

CityCenter

Hill

Name

Mount

Airport

Strategic

Save the file and change the Extension to .dat , make sure you put this file in your Visitor3 folder.

Fire up Visitor3 and your Island.

Click on your Objects-Panel and choose Key points.

Now simply double click on your Map to create a new point, a new window should open here.

Lets take a look at some of the options there. Most of them are pretty selfexplaining.

Class name : Make sure you write something meaningful in if it is something

importent like a CityCenter , watch out that you have no classname twice and never ever use spaces there!

Radius A/B : Size of the Marker, also tells the Game from what distance you can read stuff on the Map ingame.

Type : Look at the Picture below how they look (you will only see markers here that actually get displayed)

keypoints3.jpg

The last four Keypoints should not get names ;) They dont need them anyway.

Display Text: This is what gets displayed in your Ingame Map, you can use spaces here.

Properties : This one is importent for the CityCenter Marker.

Now lets go a bit deeper into the rabbithole ;)

You might wonder if the Markers like Vegetation-xy or Hill are useful or just eyecandy. Well infact they are both.

A mission maker can decide for example to create an ambush at the proximity of those markers if you get close enough to them.

This makes the mission more dynamic again. And it also applies for all other markers even those you don't see on the map so please use them.

Explanation of Important Markers:

- FlatArea for setting up large camps (MHQ Spawnpoint at the start of a Warfare/CTI Mission)

- FlatAreaCity for bunkers (Spawnpoints in Warfare/CTI Missions)

- StrongpointArea for MG Nests or Roadblocks (Strongpoints for Respawn in Warfare/CTI)

- FlatAreaCitySmall for UAV terminals/Field Hospitals, etc.

- CityCenter to enable Ambient Civilians, Ambient Traffic, and Ambient Vehicles (if properties are defined)

The first five should be somewhat clear with the explanation, however here you can see a nice little picture of how they are set up in a town in chernarus. Note how the neighbors get marked in grey lines. They are connected with other CityCenters you wont see on that picture.

Also note that there is only 1 FlatAreaCity in the Town for the Mainbunker (in CTI the one you cap the town with).

You can also see some FlatAreaCitySmall Markers around the Town with StrongpointArea's in the proximty, these would be Medictents (FlatAreaCitySmall) in a Warfare and Strongpoints where you can respawn (StrongpointArea).

chernavil.jpg

Now we need to focus a bit on the Citycenter.

The CityCenter marker is enough do get cars spawned, but not civilians or cartraffic around the Island.

This is done by the properties. We have to define what kind of civilians we like to spawn here and what its neighbors are.

demography[] = {"CIV",0.5,"CIV_RU",0.5};

This definition tells the game what kind of civs you want in that city.

The example above would be a town with 50% russians and 50% cherna-civs

ALICE creates CIVs and CIV_RU if the demography is blank. ALICE2 creates BIS_TK_CIV if left blank.

Civilian Classes:

CIV = Chernarussis

CIV_RU = Russians

BIS_TK_CIV = Takistanis

neighbors[] = {"citycenter1","citycenter2"};

This tells the game what the cities in the neighborhood are, make sure you write in the classname of the other citycenter and not the cityname.

In this example the game will send cars from this citycenter position to the citycenters with the classnames citycenter1 and 2.

Now if everything fits your needs go save the .wrp of your island.

Take a look in your Island Folder, a new "yourisland".hpp should have been created with all the marker information in it. Check if all looks fine.

You can now copy its content in your config.cpp under your classnames entry, or you can simply include your .hpp file in the config.cpp

with this command: #include "yourisland.hpp"

To get an idea of how certain markers are used i would advice you to take a look at Wolffy,au's crB_LocationObjectsDemo which you can download here:

http://creobellum.org/node/184

At this point you should be able to do most markers yourself. Feel free to use them as much as you can/like.

The more Markers you have the more dynamic missions can be that make use of them.

I hope this tutorial helps you a bit and that you take your time to improve your maps with it. It's worth it.

Special Thanks to Wolffy.au who helped alot with figureing this all out.

Edited by Commander1985
Update

Share this post


Link to post
Share on other sites

Great job Commander! Exactly what we've needed for a while now.

Share this post


Link to post
Share on other sites

Great work Commander - something that's need explaining for a long time!

Share this post


Link to post
Share on other sites

Just the "how to" I need to finish Vostok.

Hope it will be useful for missions-makers, not only for MSO ...

Next needed tutorial will be the "how to" use keypoints in Mission design :cool:.

Thanks Commander ;)

Share this post


Link to post
Share on other sites

Very cool! Thanks for taking the time to do that. I'll see if I can't add this to my list of "must do" things on my next map :)

Share this post


Link to post
Share on other sites

I am still having a problem with "Names".

I have made various attempts to update the names showing on the in-game map without success.

On Vostok [yes, still WIP] I have a name I am unable to size down. It seems that the size of the name shown on the map in-game is more related to number of characters than to the size given in the properties areas.

vostokmap160311.jpg

Uploaded with ImageShack.us

You can see that the NameVillage -set as 50/50 on properties- "Zvezda Tracking Station" is one of the most visible name, in fact it's bigger than the nearby "Vostok" a CityName -set as 300/300-.

Do you have some idea about "how to" downsize the name on the in-game map ?

Share this post


Link to post
Share on other sites

look for 'class CfgLocationTypes'... (the basic fleshing out of this class is in the bin\config and then additionally enhanced by the ui\config) 'tween it, 'class Names', the .dat and any scripting system you create to support it plus the 'standard' BIS 'locations' you can create a whole raft of functionality.

Just to be clear... along with the afore mentioned 'location types' you can create all your own ones as well... ofcourse you'll need to create a supporting set of scripting functionality to make use of any additional 'types' you may create.

Share this post


Link to post
Share on other sites

Well ... thanks for looking after my problem, but as I am quite unable to build up a script, even if I can understand and use some basic features, I will not try to deal alone on such areas ...

I have build -a kind of miracle- a full functional environment to build the map I like, I will try not destroy this fragile assemblage:pray:

What I am looking for are informations about the "how to" make the thing works, for I know I am not able to explain and deal with the "why" it works ... or not.

Share this post


Link to post
Share on other sites

Hi Old Bear...

I haven't run across this problem myself as yet... Have you tried classing it as just a "name", which is supposed to be the smallest one of all?

Might help a bit if "name" is done in an overall smaller font...

A tracking station's more of a "place with a name" than a "village" anyway I guess, but there's nothing to stop you putting a citycenter marker up there as well if you want civilian activity in the area...

B

Edited by Bushlurker

Share this post


Link to post
Share on other sites

Just got to say really good guide made all my named areas and towns on map show as well really easy cheers for this guide

Share this post


Link to post
Share on other sites

Hi Bushlurker ^^

In fact you are right, I had messed up with the Keypoints Type :(

And each time I had reloaded Names from Vostok saved version, I had again added my errors ... a bit too tired I had been shortsighted. :eek:

Sorry guys and thanks all !

Edited by Old Bear

Share this post


Link to post
Share on other sites

I hope nobody minds that I wake this thread up, felt like it was better than starting a new one. I'm having some trouble with ambient civilians in my map. I can get them to work, but they pretty much just stand around inside the houses, haven't seen them walking around outside at all, or even moving, also, sometimes they seem to spawn inside walls aswell. Am I doing something wrong here? or is this just how they behave?

(I placed CityCentre-keypoints at the centre of the town, giving them BIS_TK_CIV as the demographic, haven't got any other FlatAreas or such things defined though, are more things needed in order for the civvies to move around and act like they live in a town and not in the wild west when the bandits come to town?)

Edited by McNools

Share this post


Link to post
Share on other sites
I hope nobody minds that I wake this thread up, felt like it was better than starting a new one. I'm having some trouble with ambient civilians in my map. I can get them to work, but they pretty much just stand around inside the houses, haven't seen them walking around outside at all, or even moving, also, sometimes they seem to spawn inside walls aswell. Am I doing something wrong here? or is this just how they behave?

(I placed CityCentre-keypoints at the centre of the town, giving them BIS_TK_CIV as the demographic, haven't got any other FlatAreas or such things defined though, are more things needed in order for the civvies to move around and act like they live in a town and not in the wild west when the bandits come to town?)

Did you define the towns neighbors? Maybe that is needed.

I just checked mine and it works. I have the civilian types set up, the neighbors, and all the things needed for warfare. So that should be all you need.

Edited by Jakerod

Share this post


Link to post
Share on other sites
Did you define the towns neighbors? Maybe that is needed.

Yup! I did, at least I think I did it right.

these are the properties for one of the villages (village01):

{"kedhcentre","village02","village03","village04","village05","village06"};

Or should I only define the villages that are closest? The map is pretty small, so all the villages aren't that far from each other. And there are roads between them aswell,

Share this post


Link to post
Share on other sites
Yup! I did, at least I think I did it right.

these are the properties for one of the villages (village01):

Or should I only define the villages that are closest? The map is pretty small, so all the villages aren't that far from each other. And there are roads between them aswell,

When I did it I only did ones where you wouldn't have to pass through another town to get to it. Are you using the Ambient Civilian Module or the Ambient Civilian Module (Expansion) ? I used the first one and mine seemed to work decently. There was an old woman walking around town and some people who got in cars and drove to other places. You are packing the .hpp file with the location data in it with the map right?

Share this post


Link to post
Share on other sites

Ah, I only tried the Expansion-Module, will try it with the regular one and see how it goes! and yes, the .hpp is in there. :)

Edit: With the Ambient Civilian Module (not the expansion one) it seems civilians aren't spawned at all, and with the Expansion one they are spawned but just stand around in houses. I saw a couple of them try to leave a house in a mountain village though, just walking in circles, probably due to the placement of the building, but I have a village on very flat ground too, where they just stand around, not even trying to leave, hm. :/

Edited by McNools

Share this post


Link to post
Share on other sites

If you're using OA buildings and it's OA/Takistan civilians you want then you don't need a "demography=" line at all, but you DO need to use the Ambient Civilians (Expansion) module...

Also - the "neighbors" parameter should refer to other local "CityCenter" keypoints - not to the Village "name" keypoints...

Here's an example lifted directly from Takistan...

First, you have the "Name" keypoint - this puts the name of the village on the map...

   class city_ChakChak
  {
   name = "$STR_EP1_LOCATION_CHAKCHAK"; // just use a normal text "name" here - BIS use a "stringtable"
   position[] = {4375.92,754.72};
   type = "NameCity";
   speech[] = {"ChakChak"}; //ignore this parameter too
   radiusA = 200.0;
   radiusB = 200.0;
   angle = 0.0;
  }; 

So far, so good....

Then you have a matching "CityCenter" keypoint...

class ACityC_ChakChak
  {
   name = "";
   position[] = {4387.4,688.03};
   type = "CityCenter";
   neighbors[] = {"ACityC_Sakhee","ACityC_Kakaru","ACityC_Huzrutimam"};
   radiusA = 100.0;
   radiusB = 100.0;
   angle = 0.0;
  };

Notice how there's no "demography" line at all... plus that "neighbors" parameter refers to the nearest few CityCenters...

The Ambient Civilian module works with A2 houses and will spawn whatever civilians "Faction Name" you specify in the "demography" line.

It requires a "demography" line and won't work with OA/Takistan buildings

The Ambient Civilian (Expansion) module works with OA/Takistan houses and will spawn OA/Takistan civilians by default (no "demography" line), or whatever civilians you specify (with a "demography" line)... It won't work with Arma 2 houses (I think)....

Both modules need the "neighbors" parameter to refer to the next closest "CityCenter" keypoints...

... once you're all set up and ready to test in-game, add...

this setvariable ["debug",true]

...to the Init Line of your chosen Ambient Civs module - place a "player" on the map and hit "preview"... Once in game, go to Map View and you should see markers for the CityCenters and the "Neighbors" connections, plus all "active" houses and Civs...

B

Edited by Bushlurker

Share this post


Link to post
Share on other sites

EDIT: Ah! This is a day of much joy! the civvies now walk around etc. after the latest patch, so I guess the problem wasn't the map. :) Haven't tested enough to see if they drive around too, but hopefully they do!

I did indeed use the CityCenter keypoints and not the names, but I will have a look at the rest of that and try it out, thanks man! especially for the debug-variable, it will probably be very very helpful!

Edit: Looking at the debug, I can't see any problems, there are markers between the towns etc. Does the town centre need to be on a road or something like that? Anyway, the civilians still walk around inside the houses, but don't ever go outside from what I can see. Could it be because of the altitude of the map? the lowest point of the map is about 2000 metres above sea-level, could it be that? or is that irrelevant?

Oh, and what about the radious of the citycentre, should it cover the entire town and some of it's outskirts or something like that, or should it just be a small area in the middle of the town?

Edit: Okay, something is very strange. I was playing using ambient civilians (expansion) and ambient civilian vehicles, playing as civilian (the euroman2 model or something like that), when I was driving around I saw a civilian car hovering about 2 metres above ground, and the person inside it was also the euroman2-model. Honestly, it was pretty creepy. I'm guessing something is very wrong when this happens? Perhaps there's something wrong with the roads? My binarize log-file looks like this, note the part about roads, could it be related?

Found p:\mcn\mcn_hazarkot\data\Layers\textures.lst, inserting textures not linked by .p3d-s...

Cannot register unknown string STR_STATE_HEALSOLDIER

Cannot register unknown string STR_STATE_FIRST_AID

Cannot register unknown string STR_UI_RADARRANGE

Cannot register unknown string STR_ACTION_LAUNCHCM

Cannot register unknown string STR_ACTION_NEXTCM

Cannot register unknown string STR_USRACT_ACTION_CONTEXT

Cannot register unknown string STR_USRACT_OPTICS_MODE

Cannot register unknown string STR_USRACT_ZEROING_UP

Cannot register unknown string STR_USRACT_ZEROING_DOWN

Cannot register unknown string STR_USRACT_NETWORK_DS_INTERFACE

Cannot register unknown string STR_USRACT_BULD_TERRAIN_RAISE_10CM

Cannot register unknown string STR_USRACT_BULD_TERRAIN_LOWER_10CM

Cannot register unknown string STR_USRACT_BULD_TERRAIN_RAISE_50CM

Cannot register unknown string STR_USRACT_BULD_TERRAIN_LOWER_50CM

Cannot register unknown string STR_INPUT_DEVICE_FREETRACK_0

Cannot register unknown string STR_INPUT_DEVICE_FREETRACK_1

Cannot register unknown string STR_INPUT_DEVICE_FREETRACK_2

Cannot register unknown string STR_INPUT_DEVICE_FREETRACK_3

Cannot register unknown string STR_INPUT_DEVICE_FREETRACK_4

Cannot register unknown string STR_INPUT_DEVICE_FREETRACK_5

Cannot register unknown string STR_INPUT_DEVICE_FREETRACK_6

Cannot register unknown string STR_INPUT_DEVICE_FREETRACK_7

Cannot register unknown string STR_INPUT_DEVICE_FREETRACK_8

Cannot register unknown string STR_INPUT_DEVICE_FREETRACK_9

Cannot register unknown string STR_INPUT_DEVICE_FREETRACK_10

Cannot register unknown string STR_INPUT_DEVICE_FREETRACK_11

Cannot register unknown string STR_DISP_LEFT

Cannot register unknown string STR_DIFF_CAMERA_SHAKE

Cannot register unknown string STR_FREETRACK

Cannot register unknown string STR_ADDON_ACTIONS_INSTALL_CORE

Cannot register unknown string STR_ADDON_ACTIONS_INSTALL_MOD

Cannot register unknown string STR_ADDON_ACTIONS_PLAY_MISSION

Cannot register unknown string STR_ADDON_ACTIONS_TRY_ENTITY

Cannot register unknown string STR_ADDON_ACTIONS_TRY_WEAPON

Cannot register unknown string STR_MSG_ADDON_NOT_FOUND

Cannot register unknown string STR_MSG_ADDON_CANNOT_OPEN

Cannot register unknown string STR_MSG_ADDON_UNKNOWN_PRODUCT

Cannot register unknown string STR_INCOMPATIBLE_LOAD_GAME_ATTEMPT

Warning: CfgVehicles missing in PreloadConfig - may slow down vehicle creation

Warning: CfgAmmo missing in PreloadConfig - may slow down vehicle creation

Warning: CfgNonAIVehicles missing in PreloadConfig - may slow down vehicle creation

No entry 'H:\Nedladdat\arma2mods\OFFICIAL TOOLS\BinMake\Binarize\bin\config.cpp/CfgSurfaces/Roadway.rough'.

'/' is not a value

No entry 'H:\Nedladdat\arma2mods\OFFICIAL TOOLS\BinMake\Binarize\bin\config.cpp/CfgSurfaces/Roadway.dust'.

'/' is not a value

No entry 'H:\Nedladdat\arma2mods\OFFICIAL TOOLS\BinMake\Binarize\bin\config.cpp/CfgSurfaces/Roadway.soundEnviron'.

'/' is not a value

No entry 'H:\Nedladdat\arma2mods\OFFICIAL TOOLS\BinMake\Binarize\bin\config.cpp/CfgSurfaces/Roadway.impact'.

'/' is not a value

No entry 'H:\Nedladdat\arma2mods\OFFICIAL TOOLS\BinMake\Binarize\bin\config.cpp/CfgSurfaces/Roadway.isWater'.

'/' is not a value

No entry 'H:\Nedladdat\arma2mods\OFFICIAL TOOLS\BinMake\Binarize\bin\config.cpp/CfgSurfaces/Roadway.files'.

'/' is not a value

No entry 'H:\Nedladdat\arma2mods\OFFICIAL TOOLS\BinMake\Binarize\bin\config.cpp/CfgSurfaces/RoadDirt_EP1.impact'.

'/' is not a value

No entry 'H:\Nedladdat\arma2mods\OFFICIAL TOOLS\BinMake\Binarize\bin\config.cpp/CfgSurfaces/RoadDirt_EP1.isWater'.

'/' is not a value

Creating texture headers file...

266 texture headers saved to file "P:\BIN_TEMP\mcn\mcn_hazarkot\texHeaders.bin"

w:\C_branch\Poseidon\Arrowhead\El\FileServer\fileServer.cpp(2513) : Assertion failed 'req->RefCounter()==1'

Edited by McNools

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  

×