Jump to content

McArcher

Member
  • Content Count

    421
  • Joined

  • Last visited

  • Medals

Posts posted by McArcher


  1. I'm trying on test mission now.

    How can I convert a string of my object to real object? compile doesn't help.

    this code,

    waitUntil {time>2};
    _obj =  "MASH" createVehicle (position US_player_1);
    _s = format ["%1", _obj];
    diag_log format ["_s=%1", _obj];
    sleep 4;
    call compile format [" %1 setPos (position player);", _s];

    gives an error:

    Error in expression <173a8800# 17513: mash.p3d setPos (position >
     Error position: <a8800# 17513: mash.p3d setPos (position >
     Error Пропущено ;
    Error in expression <173a8800# 17513: mash.p3d setPos (position >
     Error position: <a8800# 17513: mash.p3d setPos (position >
     Error Пропущено ;
    

    ---------- Post added at 23:09 ---------- Previous post was at 23:06 ----------

    conversion from string to object is main reason for errors...

    ---------- Post added at 23:10 ---------- Previous post was at 23:09 ----------

    You probably need to name your factory.

    How can I name Object, created by a script? This variable must be sent to server...

    ---------- Post added at 23:11 ---------- Previous post was at 23:10 ----------

    (%1) instead of %1 gives error about missing ).

    ---------- Post added at 23:13 ---------- Previous post was at 23:11 ----------

    [%1] instead of %1 gives error about missing ].

    (just like in that our script)

    ---------- Post added at 23:26 ---------- Previous post was at 23:13 ----------

    You probably need to name your factory.

    you meant this one - http://community.bistudio.com/wiki/setVehicleVarName - ?

    even if I name my object as MySuperObject in client's script, what should I do with it? Make it public and then use in server's script and then delete it?

    Or just make a TemporaryObject, that will be seen to server, but will contain different Objects for calling them in functions? What should I do with it after usage?

    ---------- Post added at 23:34 ---------- Previous post was at 23:26 ----------

    enableSaving [false, false];
    waitUntil {time>2};
    _obj =  "MASH" createVehicle (position US_player_1);
    _varName = "TemporaryObject";
    _obj setVehicleVarName _varName;
    sleep 4;
    call compile format ["%1=_obj; %1 setPos (position player); publicVariable ""%1"";", _varName];

    this works, but will I be able to send my TemporaryObject to server's function?

    ---------- Post added at 23:52 ---------- Previous post was at 23:34 ----------

    after modifying:

    _varName = "TemporaryObject";

    _obj setVehicleVarName _varName;

    call compile format ["%1=_obj; publicVariable ""%1"";", _varName];

    _s = format [" [""nul = [%1, %2] execVM """"mca_assemblyLine_LFRU.sqf""""; ""] execVM ""RoS.sqf""; ", _varName, _caller];

    diag_log _s;/////////////////

    call compile _s;

    .rpt contains diag_log outputs only! no errors!

    " ["nul = [TemporaryObject, RU_player_1] execVM ""mca_assemblyLine_LFRU.sqf""; "] execVM "RoS.sqf"; "

    "_init=nul = [TemporaryObject, RU_player_1] execVM "mca_assemblyLine_LFRU.sqf"; "

    "_obj=TemporaryObject, _caller=RU_player_1"

    well, I am not sure yet, if it is progress, but absence of mistakes makes me at least smile ))

    will be thinking it over....

    ---------- Post added at 23:55 ---------- Previous post was at 23:52 ----------

    well, parameters are given to my server's script, and the script works as it should!

    only one moment left... conflicts, if some other script uses this TemporaryObject at the same time...

    ---------- Post added at 23:59 ---------- Previous post was at 23:55 ----------

    I wonder what will happen when my server's script gets this TemporaryObject, puts it into his _obj. Can I delete TemporaryObject now?

    ---------- Post added at 00:00 ---------- Previous post was at 23:59 ----------

    // mca_assemblyLine_LFRU.sqf
    // version 1.0
    
    private ["_obj", "_queue", "_newQueue", "_l", "_i", "_product", "_caller", "_nearestGens", "_report", "_nGen", "_nVeh", "_prodTime", "_vehName", "_vehPrice", "_angle", "_newVeh", "_init"];
    
    _obj = _this select 0; // LF, Ð·Ð°ÐºÐ°Ð·Ð°Ð²ÑˆÐ°Ñ Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð´Ñтво
    _caller = _this select 1;
    diag_log format ["_obj=%1, _caller=%2", _obj, _caller ]; //dbg//
    //.........tonns of code here

    ---------- Post added at 00:18 ---------- Previous post was at 00:00 ----------

    hooray! I've made it! This is final version of how to call server's script execution from client's script and give it an object as a parameter! (%1).

    //init.sqf
    
    if (not isServer) then
    {
    enableSaving [false, false];
    waitUntil {time>2};
    private ["_obj", "_s", "_varName", "_caller"];
    _obj =  "MASH" createVehicle (position US_player_1);
    _caller = US_player_1; //for example
    _varName = "TemporaryObject";
    _obj setVehicleVarName _varName;
    call compile format ["%1=_obj; publicVariable ""%1"";", _varName];
    _s = format ["                                  [""nul = [%1, %2] execVM """"test.sqf""""; ""] execVM ""RoS.sqf"";                                   ", _varName, _caller];
    diag_log _s;/////////////////
    call compile _s;
    };
    

    // test.sqf
    
    if (isServer) then
    {
    
    private ["_obj", "_caller"];
    _obj = _this select 0;
    //changing TemporaryObject
    TemporaryObject = "Skoda" createVehicle [((position US_player_1) select 0) + 5, ((position US_player_1) select 1) + 5];
    publicVariable "TemporaryObject";
    _caller = _this select 1;
    sleep 10;
    // _obj must be moved, not new TemporaryObject (Skoda) ??
    _obj setPos (position _caller);
    
    };

    It creates MASH, then a Skoda and in 10 seconds moves MASH, and Skoda stands where it stood! That means that I can destroy TemporaryObject after I do

    _obj = _this select 0;

    at test.sqf start! no conflicts must be!!! omg!!!! :D:yay:

    // RoS.sqf  // This script runs scripts on server! Great thanks to Murklor for this masterpiece! He saved my life and I'm back to Arma2's scripting !
    
    _init = _this select 0;
    _cone = createVehicle ["RoadCone",[0,0,0], [], 0, "FLY"];
    _cone setVehicleInit _init; processInitCommands;
    deleteVehicle _cone;


  2. Variables seem to be shown correctly (some text about my light_factory and my RU_player_1), but why don't they work?.... Named? Player unit is named in editor, warfare building has been created by a script and is standing on the ground....

    something with the way to run all this maybe (syntax)?

    ---------- Post added at 22:06 ---------- Previous post was at 22:05 ----------

    and... how can we put a formatted string as a parameter???

    ---------- Post added at 22:07 ---------- Previous post was at 22:06 ----------

    maybe it should be compiled ? or compiled in receiving script?

    ---------- Post added at 22:07 ---------- Previous post was at 22:07 ----------

    something like

    call compile format [" [ nul = [%1, %2] execVM 'mca_assemblyLine_LFRU.sqf'] ] execVM ""RoS.sqf""; ", _obj, _caller];
    ?

    ---------- Post added at 22:10 ---------- Previous post was at 22:07 ----------

    but it gives

    Error in expression < [ nul = [145cd400# 1055828: wf_factory_light_e>

    Error position: <= [145cd400# 1055828: wf_factory_light_e>

    Error Пропущено ]

    Error in expression < [ nul = [145cd400# 1055828: wf_factory_light_e>

    Error position: <= [145cd400# 1055828: wf_factory_light_e>

    Error Пропущено ]

    ---------- Post added at 22:20 ---------- Previous post was at 22:10 ----------

    ah, it's the string for setVehicleInit, then string is ok...


  3. using formatting to strings it says following both on client and server:

    Error in expression <nul = [18140000# 1056663: wf_factory_light_east.p3d,RU_>

    Error position: <# 1056663: wf_factory_light_east.p3d,RU_>

    Error Пропущено ]

    Error in expression <nul = [18140000# 1056663: wf_factory_light_east.p3d,RU_>

    Error position: <# 1056663: wf_factory_light_east.p3d,RU_>

    Error Пропущено ]

    ---------- Post added at 20:56 ---------- Previous post was at 20:52 ----------

    maybe it wants %1 to be [%1] ??


  4. i tried setVehicleInit and it didn't run on server. unfortunately, your example doesn't run on server too :( only on clients.

    ---------- Post added at 19:40 ---------- Previous post was at 19:36 ----------

    or maybe I did a mistake.... I'll retest it.

    ---------- Post added at 19:46 ---------- Previous post was at 19:40 ----------

    //sendall.sqf
    _init = _this select 0;
    _cone = createVehicle ["RoadCone",[0,0,0], [], 0, "FLY"];
    _cone setVehicleInit _init; processInitCommands;
    deleteVehicle _cone;

    If you do ["nul = [] execVM 'serveronly.sqf'"] execVM "sendall.sqf"; and then have the "serveronly.sqf" script do a if (isServer) in the beginning, it should only run on the server.

    I might have stuff wrong, but as you can see its fairly few lines so if something is wrong you can probably fix it yourself ;)

    You can use it to sideChat on all clients too.

    WORKS !!! :yay: AH! I don't even know how to say thank you to you! It works! You have saved my life! :D :yay:


  5. Goal is to run a script once on server, when a client tells it to?

    init.sqf

    if (isserver) then { execvm "ros1.sqf" };
    

    ros1.sqf

    waituntil {!isnil "runscript"};
    //do whatever
    

    to tell it to run it, from trigger/script/waypoint or whatever

    runscript = true; publicvariable "runscript";
    

    ok, thanx, but, what if I what to run my own code, and this code is not the same every next time? this metod will fail I guess.

    Goal is to run a script not once, but ANY script and ANY code ANY time :))))

    ---------- Post added at 19:20 ---------- Previous post was at 18:57 ----------

    how can I say something in server's script?

    players' units cannot be used, and

    [West,"HQ"] SideChat "Hi there";
    also doesn't work. No choice again? :) lol, I "love"this game more everyday ;D omg....

    ---------- Post added at 19:22 ---------- Previous post was at 19:20 ----------

    maybe I'll add a civilian grandmother somewhere at the end of the world and she will say someting for us? lol............:smileflower:


  6. //init.sqf
    start_var = 0;
    
    waitUntil{start_var==1};
    if (isServer && start_var == 1) then {
                null0 = []execVM "ros1.sqf";
    };
    
    if (not isServer) then
    {
    waitUntil {time>2};
    start_var = 1;
    publicVariable "start_var";
    };

    // ros1.sqf
    
    if (isServer) then 
    {
    p1 globalChat "Starting RoS...";
    };

    doesn't show my text...

    server's .rpt:

    2010/01/04, 17:26:58 Server: Update of object 2:10 arrived from nonowner

    i think it gets stuck in waitUntil loop. I'll rewrite it...but....well....I'll write something soon.

    ---------- Post added at 18:37 ---------- Previous post was at 18:31 ----------

    //init.sqf
    
    start_var = 0;
    publicVariable "start_var";
    
    if (isServer) then
    {
    waitUntil{start_var==1};
    null0 = []execVM "ros1.sqf";
    };
    
    if (not isServer) then
    {
    waitUntil {time>2};
    start_var = 1;
    publicVariable "start_var";
    };

    // ros1.sqf
    
    p1 globalChat "pre-Starting RoS...";
    
    if (isServer) then 
    {
    p1 globalChat "Starting RoS...";
    };

    2010/01/04, 17:34:44 Server: Update of object 2:10 arrived from nonowner

    this also doesn't work.

    ---------- Post added at 18:41 ---------- Previous post was at 18:37 ----------

    but, even if it worked there are number of problems this construction makes:

    1. it needs to do "endless" waitUntil loop not in main code! it will get stuck there and no further code will be run. So it needs to be separated in...maybe.. spawn (asyncroniously run), and maybe sleep should be added with check, instead of waitUntil. SUCH CONSTRUCTION LEAD TO HUGE LAGS!

    2. I need to run many (!) scripts on server, so I should make several loops for each script??? bullshit... it will make such lags, that no server will be playable. endless loops will "eat" all the CPU time! even with spawn command :(

    ---------- Post added at 18:48 ---------- Previous post was at 18:41 ----------

    // ros1.sqf
    
    p1 globalChat "pre-Starting RoS...";
    
    if (isServer) then 
    {
    "MASH" createVehicle (position p1);
    };

    this works. (dunno why globalChat command doesnt work)


  7. then , this should work?

    // init.sqf
    
    enableSaving [false, false];
    mcti_RoS = FALSE; // Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑка комманд на Ñерваке
    publicVariable "mcti_RoS";
    "mcti_RoS" addPublicVariableEventHandler {[1,2,3] execVM "ros1.sqf";};
    
    if (not isServer) then
    {
    waitUntil {time>1};
    p1 globalChat "Get Ready..."; // p1 is the name of player (in editor)
    mcti_RoS = TRUE;
    publicVariable "mcti_RoS";
    };

    // ros1.sqf
    
    waitUntil {time>2};
    //p1 globalChat format["%1,%2,%3", _this select 0, _this select 1, _this select 2];
    
    if (isServer) then  //corrected ;)
    {
    //////////////////////////////////////////////////////////////////////////////////////////
    // очищаем Ñерверную команду                                   //
    "mcti_RoS" addPublicVariableEventHandler {};          //
    mcti_RoS = FALSE;                                                       //
    publicVariable "mcti_RoS";                                            //
    /////////////////////////////////////////////////////////////////////////////////////////
    p1 globalChat "Starting RoS...";
    };

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

    (addPublicVariableEventHandler is added in Server's and Client's "area")

    ---------- Post added at 18:20 ---------- Previous post was at 18:17 ----------

    it doesn't write "Starting RoS..." either...


  8. goliath86, yes someting with that commented line, but it worked for vehicle Init...

    and... still..... "Starting Ros" not written by sever - i.e. the script is NOT executed on server....but I need to execute a script on server by call from client... how can I do this?

    ---------- Post added at 18:01 ---------- Previous post was at 18:00 ----------

    I think I cannot do it on this f**ked OFP engine....its damn too old to make such things.... or am I wrong?


  9. omg....))))

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

    thanx))

    ---------- Post added at 17:23 ---------- Previous post was at 17:20 ----------

    I corrected mistake, but still no text visible from that script...

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

    server's .rpt:

    2010/01/04, 16:21:04 Server: Update of object 2:9 arrived from nonowner

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

    what is wrong now? :)

    ---------- Post added at 17:47 ---------- Previous post was at 17:27 ----------

    I decided to make it another way... created special object in editor, named is s1 and wrote following:

    // init.sqf
    
    enableSaving [false, false];
    
    waitUntil {time>1};
    
    if (not isServer) then
    {
    waitUntil {time>2};
    p1 globalChat "Get Ready..."; // p1 is the name of player (in editor)
    s1 setVehicleInit " [1,2,3] execVM ""ros1.sqf""; ";
    processInitCommands;
    };

    // ros1.sqf
    
    waitUntil {time>3};
    p1 globalChat format["%1,%2,%3", _this select 0, _this select 1, _this select 2];
    
    if (isServer) then
    {
    clearVehicleInit s1;
    p1 globalChat "Starting RoS...";
    };

    it says Get ready, then 1,2,3, but no server's "Starting RoS...".

    So... the question is, HOW CAN I MAKE SCRIPT RUN ON SERVER (CALL FROM CLIENT) ???

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

    My aim is: to run a script on server from client (call server's script from a client's PC)


  10. My aim is: to run a script on server from client (call server's script from a client's PC)

    I set the eventhandler for a variable, change variable, but script doesn't run. Why? Just a simple mission to test:

    // init.sqf
    
    enableSaving [false, false];
    mcti_RoS = FALSE; // Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑка комманд на Ñерваке
    publicVariable "mcti_RoS";
    
    if (not isServer) then
    {
    waitUntil {time>1};
    p1 globalChat "Get Ready..."; // p1 is the name of player (in editor)
    "mcti_RoS" addPublicVariableEventHandler {[1,2,3] execVM "ros1.sqf";};
    mcti_RoS = TRUE;
    publicVariable "mcti_RoS";
    };

    // ros1.sqf
    
    waitUntil {time>2};
    p1 globalChat format["%1,%2,%3", _this select 0, _this select 1, _this select 2];
    
    [b]if[/b] (isServer) then  //corrected ;)
    {
    //////////////////////////////////////////////////////////////////////////////////////////
    // очищаем Ñерверную команду                                   //
    "mcti_RoS" addPublicVariableEventHandler {};          //
    mcti_RoS = FALSE;                                                       //
    publicVariable "mcti_RoS";                                            //
    /////////////////////////////////////////////////////////////////////////////////////////
    p1 globalChat "Starting RoS...";
    };

    ---------- Post added at 17:12 ---------- Previous post was at 17:11 ----------

    tested on dedi server, see only "Get Ready..." and no line from script... .rpt at client is empty, no errors in server's .rpt also.


  11. crates (and the inventory of vehicles) are the biggest pain in Arma2 since OFP, where there was no JIP... I have made a simple system, that stores inventories of my crates in arrays, and JIP players init crates from this arrays. This works, but the drawback is that JIP players always see init's inventory of crates, even if someone has taken something out of this. (To make them show real contents, I need function to getWeaponCargo and so on, which are not present in Arma...)

    Minoza, I think (but not sure) those crates are created dynamically ingame.

    btw, when we'll have (if we will have) the functions to get contents of crates, I'll be able to change that arrays and JIPes players will see syncronized crates (I hope).

    ---------- Post added at 15:51 ---------- Previous post was at 15:21 ----------

    I have just tried not to use arrays, to use simple setVehicleInit for crates, but it seems to work only for non-JIP-players. (added sideChat to check that it is executed). Here ( http://community.bistudio.com/wiki/setVehicleInit ) is said:

    The statement will be sent to clients connecting after the command has been executed. Note that the statement will be executed automatically by JIP clients before Init.sqs or its SQF counterpart has been executed.

    so... why it doesn't work even if I add processInitCommands into client's script at start for JIP ???


  12. I have a question about MAP control. On wiki there's only one example (even with 2 errors with missing [] after arrays in code) and No other word how to use it. And there's also an error about colorOutside (or something like that). (They must have a very good sence of humor and think, we can guess other thing about map control from air???)

    1. How to make it working?

    2. How to change zoom and current map center position by a script?

    ---------- Post added at 03:16 ---------- Previous post was at 02:54 ----------

    have found something. this makes map working. but question number 2 is still not solved...

    class RscMapControl 
    { 
    access = 0; 
    idc = -1; 
    type = CT_MAP_MAIN; 
    style = ST_PICTURE; 
    x = 0.10; y = 0.10; w = 0.80; h = 0.60; 
    colorBackground[] = {1.00, 1.00, 1.00, 1.00}; 
    colorText[] = {0.00, 0.00, 0.00, 1.00}; 
    colorSea[] = {0.56, 0.80, 0.98, 0.50}; 
    colorForest[] = {0.60, 0.80, 0.20, 0.50}; 
    colorRocks[] = {0.50, 0.50, 0.50, 0.50}; 
    colorCountlines[] = {0.65, 0.45, 0.27, 0.50}; 
    colorMainCountlines[] = {0.65, 0.45, 0.27, 1.00}; 
    colorCountlinesWater[] = {0.00, 0.53, 1.00, 0.50}; 
    colorMainCountlinesWater[] = {0.00, 0.53, 1.00, 1.00}; 
    colorForestBorder[] = {0.40, 0.80, 0.00, 1.00}; 
    colorRocksBorder[] = {0.50, 0.50, 0.50, 1.00}; 
    colorPowerLines[] = {0.00, 0.00, 0.00, 1.00}; 
    colorNames[] = {0.00, 0.00, 0.00, 1.00}; 
    colorInactive[] = {1.00, 1.00, 1.00, 0.50}; 
    colorLevels[] = {0.00, 0.00, 0.00, 1.00}; 
    font = "TahomaB"; sizeEx = 0.040000; 
    fontLabel = "TahomaB"; sizeExLabel = 0.02; 
    fontGrid = "TahomaB"; sizeExGrid = 0.02; 
    fontUnits = "TahomaB"; sizeExUnits = 0.02; 
    fontNames = "TahomaB"; sizeExNames = 0.02; 
    fontInfo = "TahomaB"; sizeExInfo = 0.02; 
    fontLevel = "TahomaB"; sizeExLevel = 0.02; 
    stickX[] = {0.20, {"Gamma", 1.00, 1.50} }; 
    stickY[] = {0.20, {"Gamma", 1.00, 1.50} }; 
    ptsPerSquareSea = 6; 
    ptsPerSquareTxt = 8; 
    ptsPerSquareCLn = 8; 
    ptsPerSquareExp = 8; 
    ptsPerSquareCost = 8; 
    ptsPerSquareFor = "4.0f"; 
    ptsPerSquareForEdge = "10.0f"; 
    ptsPerSquareRoad = 2; 
    ptsPerSquareObj = 10; 
    text = "\ca\ui\data\map_background2_co.paa"; 
    showCountourInterval=2; 
    scaleDefault = 0.1; 
    onMouseButtonClick = ""; 
    onMouseButtonDblClick = ""; 
    
    colorOutside[] = {0,0,0,1 };
    colorRailWay[] = {0.800000,0.200000,0,1 };
    maxSatelliteAlpha = 1.0;
    alphaFadeStartScale = 0.150000;
    alphaFadeEndScale = 0.290000;
    
    class ActiveMarker 
    { 
    	color[] = {0.30, 0.10, 0.90, 1.00}; 
    	size = 50; 
    }; 
    
    class Task  {
    	icon = "\ca\ui\data\ui_taskstate_current_CA.paa";
    	iconCreated = "\ca\ui\data\ui_taskstate_new_CA.paa";
    	iconCanceled = "#(argb,8,8,3)color(0,0,0,0)";
    	iconDone = "\ca\ui\data\ui_taskstate_done_CA.paa";
    	iconFailed = "\ca\ui\data\ui_taskstate_failed_CA.paa";
    	color[] = {0.863000,0.584000,0.000000,1 };
    	colorCreated[] = {0.950000,0.950000,0.950000,1 };
    	colorCanceled[] = {0.606000,0.606000,0.606000,1 };
    	colorDone[] = {0.424000,0.651000,0.247000,1 };
    	colorFailed[] = {0.706000,0.074500,0.019600,1 };
    	size = 27;
    	importance = 1;
    	coefMin = 1;
    	coefMax = 1;
    };
    
    class CustomMark  {
    	icon = "\ca\ui\data\map_waypoint_ca.paa";
    	color[] = {0.647100,0.670600,0.623500,1.000000 };
    	size = 18;
    	importance = 1;
    	coefMin = 1;
    	coefMax = 1;
    };
    
    class Bunker { icon = "\ca\ui\data\map_bunker_ca.paa"; color[] = {0.00, 0.35, 0.70, 1.00}; size = 14; importance = "1.5 * 14 * 0.05"; coefMin = 0.25; coefMax = 4.00; }; 
    class Bush { icon = "\ca\ui\data\map_bush_ca.paa"; color[] = {0.55, 0.64, 0.43, 1.00}; size = 14; importance = "0.2 * 14 * 0.05"; coefMin = 0.25; coefMax = 4.00; }; 
    class BusStop { icon = "\ca\ui\data\map_busstop_ca.paa"; color[] = {0.00, 0.00, 1.00, 1.00}; size = 10; importance = "1 * 10 * 0.05"; coefMin = 0.25; coefMax = 4.00; }; 
    class Command { icon = "#(argb,8,8,3)color(1,1,1,1)"; color[] = {0.00, 0.00, 0.00, 1.00}; size = 18; importance = 1.00; coefMin = 1.00; coefMax = 1.00; }; 
    class Cross { icon = "\ca\ui\data\map_cross_ca.paa"; color[] = {0.00, 0.35, 0.70, 1.00}; size = 16; importance = "0.7 * 16 * 0.05"; coefMin = 0.25; coefMax = 4.00; }; 
    class Fortress { icon = "\ca\ui\data\map_bunker_ca.paa"; color[] = {0.00, 0.35, 0.70, 1.00}; size = 16; importance = "2 * 16 * 0.05"; coefMin = 0.25; coefMax = 4.00; }; 
    class Fuelstation { icon = "\ca\ui\data\map_fuelstation_ca.paa"; color[] = {1.00, 0.35, 0.35, 1.00}; size = 16; importance = "2 * 16 * 0.05"; coefMin = 0.75; coefMax = 4.00; }; 
    class Fountain { icon = "\ca\ui\data\map_fountain_ca.paa"; color[] = {0.00, 0.35, 0.70, 1.00}; size = 12; importance = "1 * 12 * 0.05"; coefMin = 0.25; coefMax = 4.00; }; 
    class Hospital { icon = "\ca\ui\data\map_hospital_ca.paa"; color[] = {0.78, 0.00, 0.05, 1.00}; size = 16; importance = "2 * 16 * 0.05"; coefMin = 0.50; coefMax = 4; }; 
    class Chapel { icon = "\ca\ui\data\map_chapel_ca.paa"; color[] = {0.00, 0.35, 0.70, 1.00}; size = 16; importance = "1 * 16 * 0.05"; coefMin = 0.90; coefMax = 4.00; }; 
    class Church { icon = "\ca\ui\data\map_church_ca.paa"; color[] = {0.00, 0.35, 0.70, 1.00}; size = 16; importance = "2 * 16 * 0.05"; coefMin = 0.90; coefMax = 4.00; }; 
    class Lighthouse { icon = "\ca\ui\data\map_lighthouse_ca.paa"; color[] = {0.78, 0.00, 0.05, 1.00}; size = 20; importance = "3 * 16 * 0.05"; coefMin = 0.90; coefMax = 4.00; }; 
    class Quay { icon = "\ca\ui\data\map_quay_ca.paa"; color[] = {0.00, 0.35, 0.70, 1.00}; size = 16; importance = "2 * 16 * 0.05"; coefMin = 0.50; coefMax = 4.00; }; 
    class Rock { icon = "\ca\ui\data\map_rock_ca.paa"; color[] = {0.35, 0.35, 0.35, 1.00}; size = 12; importance = "0.5 * 12 * 0.05"; coefMin = 0.25; coefMax = 4.00; }; 
    class Ruin { icon = "\ca\ui\data\map_ruin_ca.paa"; color[] = {0.78, 0.00, 0.05, 1.00}; size = 16; importance = "1.2 * 16 * 0.05"; coefMin = 1.00; coefMax = 4.00; }; 
    class Stack { icon = "\ca\ui\data\map_stack_ca.paa"; color[] = {0.00, 0.35, 0.70, 1.00}; size = 20; importance = "2 * 16 * 0.05"; coefMin = 0.90; coefMax = 4.00; }; 
    class Tree { icon = "\ca\ui\data\map_tree_ca.paa"; color[] = {0.55, 0.64, 0.43, 1.00}; size = 12; importance = "0.9 * 16 * 0.05"; coefMin = 0.25; coefMax = 4.00; }; 
    class SmallTree { icon = "\ca\ui\data\map_smalltree_ca.paa"; color[] = {0.55, 0.64, 0.43, 1.00}; size = 12; importance = "0.6 * 12 * 0.05"; coefMin = 0.25; coefMax = 4.00; }; 
    class Tourism { icon = "\ca\ui\data\map_tourism_ca.paa"; color[] = {0.78, 0.00, 0.05, 1.00}; size = 16; importance = "1 * 16 * 0.05"; coefMin = 0.70; coefMax = 4.00; }; 
    class Transmitter { icon = "\ca\ui\data\map_transmitter_ca.paa"; color[] = {0.00, 0.35, 0.70, 1.00}; size = 20; importance = "2 * 16 * 0.05"; coefMin = 0.90; coefMax = 4.00; }; 
    class ViewTower { icon = "\ca\ui\data\map_viewtower_ca.paa"; color[] = {0.00, 0.35, 0.70, 1.00}; size = 16; importance = "2.5 * 16 * 0.05"; coefMin = 0.50; coefMax = 4.00; }; 
    class Watertower { icon = "\ca\ui\data\map_watertower_ca.paa"; color[] = {0.00, 0.35, 0.70, 1.00}; size = 32; importance = "1.2 * 16 * 0.05"; coefMin = 0.90; coefMax = 4.00; }; 
    class Waypoint { icon = "\ca\ui\data\map_waypoint_ca.paa"; color[] = {0.00, 0.00, 0.00, 1.00}; size = 24; importance = 1.00; coefMin = 1.00; coefMax = 1.00; }; 
    class WaypointCompleted { icon = "\ca\ui\data\map_waypoint_completed_ca.paa"; color[] = {0.00, 0.00, 0.00, 1.00}; size = 24; importance = 1.00; coefMin = 1.00; coefMax = 1.00; }; 
    }; 

×