Jump to content
Rydygier

[SP] Pilgrimage

Recommended Posts

Yeah, some maps simply aren't that good for Pilgrimage because of such things. Of course the less vehicles, the more difficult to extract the body. 

 

As for exact mechanism in context of piling up wrecks, it was already explained in details twice in this thread, last time like few pages ago, frankly I have nothing to add here. In general, empty vehicles should be scattered across the whole map from the very beginning.

 

Technically should be possible to prevent spawn, if default position is chosen (frankly, I thought, such safeswitch is on place already, maybe doesn't work), but if you're saying, it happens even for few vehicles, there's a big risk, there may be no empty vehicles at all. Alternatively, code may just scatter vehicles randomly, ignoring, if position is safe or whatever. This way you'll encounter many wrecks and there's still no warranty, so at least one will be safely spawned though. Pilgrimage simply assumes lots of free space to spawn its stuff. Perhaps inventing some alternative way of body extraction would be in order, but that means some serious creative scripitng. Or consider different map. If not, at least you may try to mess with safe position parameters to make search more tolerant, but anyway free space is unavoidably required. 

 

To help in more substancial way, I would need to run your port through regular debugging and just try to alter the scripts myself, incuding testing, figure out something different to make whole thing working on the maps like this, but that is more, that I can afford now, sorry.

 

These two blufors - the only other BLUFOR, I remember, are rare AC allied groups (not the case) and two recruitable POWs at strongholds, former Phil's companions. Maybe that's the case, that would be my guess. 

Share this post


Link to post
Share on other sites
Quote

As for exact mechanism in context of piling up wrecks, it was already explained in details twice in this thread, last time like few pages ago,

Doh, too much in a hurry thanks

Share this post


Link to post
Share on other sites

re: COOP Cambodia

 

changing default backpacks breaks the mission start spawn location. Instead of spawning on a listed location, I spawn where the characters are originally placed in the Editor.

This seems to be the section that affects it:

 

        {
        _unit = _x;

        if (RYD_JR_NoItems) then
            {
            removeAllAssignedItems _unit;
            };

        //removeBackpack _unit;
        
        [[_unit],"RYD_JR_MP_removeBackpack",true,false,true] call BIS_fnc_MP;
        
        removeHeadgear _unit;
            
        if not (RYD_JR_BetterGear) then
            {
            removeVest _unit;
            };

        removeUniform _unit;

        if not (RYD_JR_Naked) then
            {
            //_unit addBackpack "B_OutdoorPack_blu";
            
            [[_unit,"b_outdoorpack_blu"],"RYD_JR_MP_addBackpack",true,false,true] call BIS_fnc_MP;
            diag_log format ["who0: %1 backpack: %2",_unit,backpack _unit];
            waitUntil
                {            
                ((toLower (backpack _unit)) isEqualTo "b_outdoorpack_blu")
                };
            
            _uni = _uniforms select (floor (random (count _uniforms)));
            _unit addUniform _uni
            };

 

So if I change the default BP's  "b_outdoorpack_blu" to "UNS_USMC_R2" , proper spawn lo longer works. Here is the inherits portion,

 

/*for "_i" from 0 to ((count _vehClass) - 1) do
    {
    _class = _vehClass select _i;
    
    if (isClass _class) then
        {
        _class = configName _class;
        _inherits = inheritsFrom (_vehClass >> _class);
        
        if (isClass _inherits) then
            {
            _inherits = configName _inherits;

            if (_inherits in ["UNS_Alice_5","UNS_USMC_R1","UNS_ARMY_MED","UNS_USMC_R2","UNS_TROP_R3","UNS_NVA_RTO","UNS_NVA_RPG","UNS_NVA_RC"]) then
                {        
                _scope = getNumber (_vehClass >> _class >> "Scope");
                if (_scope == 2) then
                    {
                    RYD_JR_AllBackpacks pushBack _class
                    }
                }
            }
        }
    };*/

 

Not sure if the array has anything to do with this or if "UNS_USMC_R2" has to be in a particular order.

Other than this problem, COOP works great with all of the edits in Cambodia.

 

 

Share this post


Link to post
Share on other sites

First, a typo or syntax error at some place could be the cause. Also here:

 

           waitUntil
                {            
                ((toLower (backpack _unit)) isEqualTo "b_outdoorpack_blu")
                };

 

code awaits, till unit will equip chosen backpack, so here class has to be changed, but the class of this backpack has to be also all lower case ("UNS_USMC_R2" -> "uns_usmc_r2") to end this waiting. That much I can tell. Second piece of the code is /*inactive*/ and thus does nothing and changes there makes no difference. 

  • Like 1

Share this post


Link to post
Share on other sites

CAPS  and lower case is something new. Something to learn about for another day. Everything works good !

 

Share this post


Link to post
Share on other sites

To explain better: case is important, when it comes to comparison of "two" "strings" (comparing via isEqualTo command), as this comparison is case sensitive ("this" is not equal to "thiS"). toLower command changes current unit's backpack class (a string) to all lower case, therefore the class, you're comparing with it also has to be all lower case to get any hope for positive match. It is done this way to avoid troubles in a case, if for any reason some sign in the class name will be changed from lower to upper case or vice versa (eg by the author updating his mod, from which we took the class name), which would influence the comparison. Same could be achieved via toUpper command, but then, simmetrically, all upper case would be required. What's important is to unify cases of all signs in the strings before case sensitive comparison, where cases of at least one of the strings aren't certain and difference in cases shouldn't affect the comparison result. 

Share this post


Link to post
Share on other sites

Need a bit of clarification.

1) I was doing a cross check of files, (in this case the JRInit.sqf) and I noticed a difference. The strange thing is the lines in question are in my final version of my mod. So I opened your latest version, 1_95_wip1_Altis just to use as a concrete reference. The area of discussion in below the progressloadingscreen 0.4 Here is 1_95_wip1_Altis' lines...

 

progressLoadingScreen 0.4;

    {
    for "_i" from 1 to _x do
        {
        _isGood = false;
        _spawnPos = [];
        _ct = 1;
        
        while {not (_isGood)} do
            {
            _pos = [(_mapC select 0) - _rds + (random (2 * _rds)),(_mapC select 1) - _rds + (random (2 * _rds))];
            
            if not (surfaceIsWater _pos) then
                {
                _pos set [2,0];
                _nR = _pos nearRoads 200;
                
                if not ((count _nR) < 1) then
                    {
                    _roadS = _nR select (floor (random (count _nR)));
                    _spawnPos = [(getPosATL _roadS),8,50,15,0,2,0] call BIS_fnc_findSafePos;
                    _spawnPos set [2,0];
                    

                    if ((_mapDefPos distance _spawnPos) > 1) then
                        {
                        if not (isOnRoad _spawnPos) then
                            {
                            _isGood = true

                            }
                        }
                    }
                };

 

then here are the lines in my "final port version". Just to be sure, I did not write these lines because,....well,...I wouldn't have a clue how to.:eh:

 

progressLoadingScreen 0.4;

_takenEVpositions = [];

    {
    for "_i" from 1 to _x do
        {
        _isGood = false;
        _spawnPos = [];
        _ct = 1;
        
        while {not (_isGood)} do
            {
            _pos = [(_mapC select 0) - _rds + (random (2 * _rds)),(_mapC select 1) - _rds + (random (2 * _rds))];
            
            if not (surfaceIsWater _pos) then
                {
                _pos set [2,0];
                _nR = _pos nearRoads 200;
                
                if not ((count _nR) < 1) then
                    {
                    _roadS = _nR select (floor (random (count _nR)));
                    _spawnPos = [(getPosATL _roadS),8,50,15,0,2,0] call BIS_fnc_findSafePos;
                    _spawnPos set [2,0];
                    

                    if (((_mapDefPos distance _spawnPos) > 1) and {(({((_x distance _spawnPos) < 10)} count _takenEVpositions) < 1)}) then
                        {
                        if not (isOnRoad _spawnPos) then
                            {
                            _isGood = true;
                            _takenEVpositions pushBack _spawnPos

                            }
                        }
                    }
                };

 

 

Very odd. Everything seems to work okay,..well at least on short tests. Time is short.

Second issue.

After running a few short tests, I decided to actually play a mission in SP. Come to find out, the blacklist feature we put in doesn't work. This was actually the initial reason for my side by side note comparison session. Your edited lines that you helped me with are all still true in the progressloading screen areas that you worked on. If this ends up not working, could I get around this and resort to lumping everything under the DLCBlackList?,....in one loooooong continuous list?

 

Thanks.

 

Share this post


Link to post
Share on other sites

On the blacklisting problem, I recently came across configSourceMod that tells you which mod an asset is from. Here is an example for the F/A-18 addon:

_mod = configSourceMod (configFile >> "CfgMagazines" >> "PylonRack_Missile_JS_F18_AIM9X_x1"); 
systemChat str (modParams [_mod, ["name"]]);

Basically you would check for the classes mod and exclude/include those that are wanted for the mission variant. There's some additional research to be done to find the superclass(es) so you get the configFile path right for the queried class.

 

Cheers,
TeTeT

Share this post


Link to post
Share on other sites

                    if (((_mapDefPos distance _spawnPos) > 1) and {(({((_x distance _spawnPos) < 10)} count _takenEVpositions) < 1)}) then
                        {
                        if not (isOnRoad _spawnPos) then
                            {
                            _isGood = true;
                            _takenEVpositions pushBack _spawnPos

                            }

 

That's version with additional safe code, that should make sure, we wouldn't spawn empty vehicle too close to another already spawned empty vehicle. I might write this especially for you, when we was discussing this issue earlier, I guess. 

 

Quote

 Come to find out, the blacklist feature we put in doesn't work. 

 

Well, idea is rather good and solid, some error might be made though. For such issues a session of debugging tests with some diag_logs usually helps (it's very routine thing in fact). But I've no free mind to perform such debugging for you now. An example of debugging code modification to check (in RPT) which classes was excluded:

 

					diag_log format ["if to exclude: %1",[(toLower _class),((toLower _class) in _myWeaponBlackList)]];
					if ((toLower _class) in _myWeaponBlackList) exitWith {diag_log format ["excluded weapon: %1",_class]}; 
					diag_log format ["accepted weapon: %1",_class];

To be placed, where if ((toLower _class) in _myWeaponBlackList) exitWith {}; line was. Similar way for debugging magazines and empty vehicles. Then run this code (start the mission) and after loading is complete and mission started, check RPT logs. 

No, adding blacklisted stuff into DLCrestrcited will not work. Test for DLC presence works differently (different condition).

 

But first tell me, what exactly mean, it doesn't work? In what way? What happens, that shouldn't? What this should do, is to prevent from spawning blacklisted weapons, magazines, items in the loot boxes and to prevent spawning blacklisted empty vehicles. 

 

Quote

On the blacklisting problem, I recently came across configSourceMod that tells you which mod an asset is from. 

 

Thanks, that's helpful indeed, good to know. 

Share this post


Link to post
Share on other sites
Quote

But first tell me, what exactly mean, it doesn't work? In what way? What happens, that shouldn't? What this should do, is to prevent from spawning blacklisted weapons, magazines, items in the loot boxes and to prevent spawning blacklisted empty vehicles. 

 

   After I killed 4 enemy, I found a MK200 weapon he was carrying. Then a few hundred meters further I spotted a Stryder.

 

Quote

and to prevent spawning blacklisted empty vehicles.

 

   In the quote you mention "empty" vehicles. Is this somehow different than spawning "occupied vehicles"? If so, that brings me to another conclusion during my debugging vs testing.

 

Debugging = Previewing in Editor

...I never saw default Arma assets spawn into the mission, particularly when I was trying to prevent the vehicle pile-up/exploding problem. I think most of these vehicles might have been empty but not sure.

 

Testing = Actual game play

...now I see default weapons/vehicles (mixed in with the proper Unsung assets).

 

 

Share this post


Link to post
Share on other sites
Quote

After I killed 4 enemy, I found a MK200 weapon he was carrying. 

 

We talked about that - blacklisting, we do, affects ONLY content of the loot boxes and empty vehicles. It does nothing as for AI spawns or their loadouts (that's why we talked about necessity of blacklisting for groups pool by their faction - link below). As long code spawns vanilla groups, they'll carry vanilla equipment by default. Same for manned vehicles:

 

Quote

Is this somehow different than spawning "occupied vehicles"? 

 

Yes. Two completely different things in my script. Blacklist affects only spawning of empty vehicles. To affect spawned groups/manned vehicles you need to blacklist pools of groups config paths by their faction

 

 

 

 

Share this post


Link to post
Share on other sites

Ryd, question.

 

Based on your post HERE I set this up but get an error. It makes me wonder if [] call RYD_AllCross still works.

All_Cross.jpg

 

 

Here's how I did it. No mods only the required map for Cambodia. (prei_khmaoch_luong)

Within init.sqf line 1 >>> [] call RYD_AllCross;

Within RYD_AllCross.sqf

Spoiler

RYD_AllCross =
    {
    startloadingscreen ["Pilgrimage","RscDisplayLoadCustom"];
    
    _mapSize = getNumber (configFile >> "CfgWorlds" >> worldName >> "mapSize");//use actual map edge length in meters for A2 and earlier maps instead (eg. _mapSize = 15360; for Chernarus)
    _rds = _mapSize/2;
    _mapC = [_rds,_rds];

    diag_log format ["mapS: %1",_mapC];

    _nR = _mapC nearRoads (_rds * 1.42);

    _nC = nearestLocations [_mapC, ["NameCityCapital","NameCity","NameVillage"],_rds * 1.42];

    _crossr = [];
    _cnt = count _nR;
    diag_log format ["cntNR: %1",_cnt];

        {
        _con = count (roadsConnectedTo _x);
        if (_con > 2) then
            {
            _pos = getPosATL _x;
            _pos resize 2;
            _tooClose = false;
            
                {
                if (_pos in _x) exitWith {_tooClose = true};
                if ((_pos distance _x) < 500) exitWith {_tooClose = true};
                _nBuilding = nearestBuilding _pos;
                if ((_pos distance _nBuilding) < 50) exitWith {_tooClose = true};
                }
            foreach _nC;
            
            if not (_tooClose) then
                {
                _pos set [2,0];
                _crossr set [(count _crossr),_pos]
                }
            };
            
        progressLoadingScreen ((_foreachIndex + 1)/_cnt)
        }
    foreach _nR;

        {
        _i = "cMark_" + (str _x);
        _i = createMarker [_i,_x];
        _i setMarkerColor "colorOrange";
        _i setMarkerShape "ICON";
        _i setMarkerType "mil_box";
        _i setMarkerSize [0.6,0.6];

        diag_log format ["%1",_x]
        }
    foreach _crossr;

    diag_log format ["amount: %1",count _crossr];
    
    endLoadingScreen;
    
    hint format ["done: %1",_cnt];
    };

 

Plus within the same mission folder was of course mission.sqm (Contained only a player and was the Cambodia map).

Should I run this as a singleplayer mission outside the editor or within the editor?

Lower part of rpt running outside the editor.

Spoiler

9:28:13 File GUI.hpp, line 398: '/RscPIO/controls/CPDens_Frame.text': Missing ';' at the end of line
 9:28:13 Item should be already created
 9:28:14 Item should be already created
 9:28:14 Item should be already created
 9:28:19 Starting mission:
 9:28:19  Mission file: Cambodia_ALLCROSS (__cur_sp)
 9:28:19  Mission world: prei_khmaoch_luong
 9:28:19  Mission directory: missions\__cur_sp.prei_khmaoch_luong\
 9:28:20 No more slot to add connection at 017983 (1715.6,1431.9)
 9:28:20 No more slot to add connection at 021016 (2173.5,4747.4)
 9:28:20 No more slot to add connection at 024984 (2401.4,1567.2)
 9:28:20 No more slot to add connection at 024014 (2400.2,4544.2)
 9:28:20 No more slot to add connection at 029012 (2975.0,4292.9)
 9:28:20 No more slot to add connection at 032988 (3242.3,1929.1)
 9:28:20 No more slot to add connection at 046996 (4608.3,2687.1)
 9:28:21 Strange convex component10 in a3\vegetation_f_exp\tree\t_cocos_tall_f.p3d:geometryView
 9:28:21 a3\structures_f_exp\civilian\garages\garageshelter_01_ruins_f.p3d: house, config class missing
 9:28:21 Strange convex component10 in a3\vegetation_f_exp\tree\t_cocos_small_f.p3d:geometryView
 9:28:21 Bad simulation fire, type Land_Campfire_F (class=house), a3\structures_f\civ\camping\campfire_f.p3d
 9:28:21 Bad simulation fire, type Land_FirePlace_F (class=house), a3\structures_f\civ\camping\fireplace_f.p3d
 9:28:21 Bad simulation fire, type Land_Campfire_F (class=house), a3\structures_f\civ\camping\campfire_f.p3d
 9:28:21 Bad simulation fire, type Land_FirePlace_F (class=house), a3\structures_f\civ\camping\fireplace_f.p3d
 9:28:21 Error in expression <sp.prei_khmaoch_luong\init.sqf"
[] call RYD_AllCross;>
 9:28:21   Error position: <RYD_AllCross;>
 9:28:21   Error Undefined variable in expression: ryd_allcross
 9:28:21 File missions\__cur_sp.prei_khmaoch_luong\init.sqf, line 1
 9:28:21 No speaker given for
 9:28:24 c:\w\stable\futura\lib\ui\uimap.cpp DisplayGetReady::Destroy:NOT IMPLEMENTED - briefing!
 9:28:25 Bad simulation fire, type Land_FirePlace_F (class=house), a3\structures_f\civ\camping\fireplace_f.p3d
 9:28:25 Bad simulation fire, type Land_FirePlace_F (class=house), a3\structures_f\civ\camping\fireplace_f.p3d
 9:28:25 Bad simulation fire, type Land_FirePlace_F (class=house), a3\structures_f\civ\camping\fireplace_f.p3d
 9:28:25 Loading movesType CfgMovesBird
 9:28:25 Creating action map cache
 9:28:25 Loading movesType CfgMovesButterfly
 9:28:25 Creating action map cache
 9:28:42 File GUI.hpp, line 398: '/RscPIO/controls/CPDens_Frame.text': Missing ';' at the end of line
 9:28:42 Item should be already created
 9:28:42 Item should be already created

 

 

Lower part of rpt running inside the editor"

Spoiler

9:28:13 File GUI.hpp, line 398: '/RscPIO/controls/CPDens_Frame.text': Missing ';' at the end of line
 9:28:13 Item should be already created
 9:28:14 Item should be already created
 9:28:14 Item should be already created
 9:28:19 Starting mission:
 9:28:19  Mission file: Cambodia_ALLCROSS (__cur_sp)
 9:28:19  Mission world: prei_khmaoch_luong
 9:28:19  Mission directory: missions\__cur_sp.prei_khmaoch_luong\
 9:28:20 No more slot to add connection at 017983 (1715.6,1431.9)
 9:28:20 No more slot to add connection at 021016 (2173.5,4747.4)
 9:28:20 No more slot to add connection at 024984 (2401.4,1567.2)
 9:28:20 No more slot to add connection at 024014 (2400.2,4544.2)
 9:28:20 No more slot to add connection at 029012 (2975.0,4292.9)
 9:28:20 No more slot to add connection at 032988 (3242.3,1929.1)
 9:28:20 No more slot to add connection at 046996 (4608.3,2687.1)
 9:28:21 Strange convex component10 in a3\vegetation_f_exp\tree\t_cocos_tall_f.p3d:geometryView
 9:28:21 a3\structures_f_exp\civilian\garages\garageshelter_01_ruins_f.p3d: house, config class missing
 9:28:21 Strange convex component10 in a3\vegetation_f_exp\tree\t_cocos_small_f.p3d:geometryView
 9:28:21 Bad simulation fire, type Land_Campfire_F (class=house), a3\structures_f\civ\camping\campfire_f.p3d
 9:28:21 Bad simulation fire, type Land_FirePlace_F (class=house), a3\structures_f\civ\camping\fireplace_f.p3d
 9:28:21 Bad simulation fire, type Land_Campfire_F (class=house), a3\structures_f\civ\camping\campfire_f.p3d
 9:28:21 Bad simulation fire, type Land_FirePlace_F (class=house), a3\structures_f\civ\camping\fireplace_f.p3d
 9:28:21 Error in expression <sp.prei_khmaoch_luong\init.sqf"
[] call RYD_AllCross;>
 9:28:21   Error position: <RYD_AllCross;>
 9:28:21   Error Undefined variable in expression: ryd_allcross
 9:28:21 File missions\__cur_sp.prei_khmaoch_luong\init.sqf, line 1
 9:28:21 No speaker given for
 9:28:24 c:\w\stable\futura\lib\ui\uimap.cpp DisplayGetReady::Destroy:NOT IMPLEMENTED - briefing!
 9:28:25 Bad simulation fire, type Land_FirePlace_F (class=house), a3\structures_f\civ\camping\fireplace_f.p3d
 9:28:25 Bad simulation fire, type Land_FirePlace_F (class=house), a3\structures_f\civ\camping\fireplace_f.p3d
 9:28:25 Bad simulation fire, type Land_FirePlace_F (class=house), a3\structures_f\civ\camping\fireplace_f.p3d
 9:28:25 Loading movesType CfgMovesBird
 9:28:25 Creating action map cache
 9:28:25 Loading movesType CfgMovesButterfly
 9:28:25 Creating action map cache
 9:28:42 File GUI.hpp, line 398: '/RscPIO/controls/CPDens_Frame.text': Missing ';' at the end of line
 9:28:42 Item should be already created
 9:28:42 Item should be already created
 9:34:56 Bad simulation fire, type Land_Campfire_F (class=house), a3\structures_f\civ\camping\campfire_f.p3d
 9:34:56 a3\structures_f_exp\cultural\cemeteries\mausoleum_01_ruins_f.p3d: house, config class missing
 9:34:56 Bad simulation fire, type Land_Campfire_F (class=house), a3\structures_f\civ\camping\campfire_f.p3d
 9:34:56 No speaker given for
 9:35:03 No speaker given for
 9:35:12 Starting mission:
 9:35:12  Mission file: Cambodia_ALLCROSS
 9:35:12  Mission world: prei_khmaoch_luong
 9:35:12  Mission directory: C:\Users\Marc\Documents\Arma 3 - Other Profiles\Major_Stiffy\missions\Cambodia_ALLCROSS.prei_khmaoch_luong\
 9:35:13 Error in expression <SS.prei_khmaoch_luong\init.sqf"
[] call RYD_AllCross;>
 9:35:13   Error position: <RYD_AllCross;>
 9:35:13   Error Undefined variable in expression: ryd_allcross
 9:35:13 File C:\Users\Marc\Documents\Arma 3 - Other Profiles\Major_Stiffy\missions\Cambodia_ALLCROSS.prei_khmaoch_luong\init.sqf, line 1
 9:35:13 No speaker given for
 9:35:51 No speaker given for
 9:35:54 Wrong color format
 9:35:59 SimulWeather - Cloud Renderer - noise texture file is not specified!
 9:35:59 Deinitialized shape [Class: "C_Soldier_VR_F"; Shape: "a3\characters_f_bootcamp\common\vr_soldier_f.p3d";]
 9:35:59 Deinitialized shape [Class: "Underwear_F"; Shape: "a3\characters_f\common\basicbody.p3d";]
 9:35:59 Deinitialized shape [Class: "B_Soldier_A_F"; Shape: "a3\characters_f\blufor\b_soldier_01.p3d";]
 9:35:59 Deinitialized shape [Class: "B_Soldier_F"; Shape: "a3\characters_f\blufor\b_soldier_01.p3d";]
 9:35:59 c:\w\stable\futura\lib\network\networkserver.cpp ClearNetServer:NOT IMPLEMENTED - briefing!
 9:36:00 Extensions:

 

Any input appreciated. Note  9:28:21 Error in expression <sp.prei_khmaoch_luong\init.sqf"
[] call RYD_AllCross;>

Share this post


Link to post
Share on other sites
Quote

Within RYD_AllCross.sqf

 

That's the problem. You have to paste all, what you have in this file directly into init.sqf, before the line: [] call RYD_AllCross;

 

RYD_AllCross is in fact a global variable. Before you can use it, you have to define it with some value (a code, function in this case). If you put RYD_AllCross  = etc. into separate sqf file, it isn't read, thus variable is not defined, thus your error. The only* automatically executed sqf is init.sqf. If you want to execute other sqf files, you need to do this from inside init.sqf (or from another sqf file ran from init.sqf etc.). So either paste all the stuff into init.sqf either run the other sqf file from init.sqf for example like this:

 

call compile preprocessFile "RYD_AllCross.sqf";

 

and below call the function. 

 

* it's more complex, but let's assume that to keep things simple.  

Share this post


Link to post
Share on other sites
3 hours ago, Rydygier said:

You have to paste all, what you have in this file directly into init.sqf, before the line: [] call RYD_AllCross;

 

Well dam. Did this and it worked. Guess my reading skills need improved.

 

So all those orange little squares on the map are acceptable checkpoints?

Also within the rpt shows a lot of coords and at the end says "amount: 119"

Spoiler

13:50:04 "cntNR: 16868"
13:50:04 "[193.508,507.582,0]"
13:50:04 "[1004.01,3397.42,0]"
13:50:04 "[1274.45,2012.71,0]"
13:50:04 "[1263.97,2028.69,0]"
13:50:04 "[1300.67,1973.22,0]"
13:50:04 "[1297.52,2544.52,0]"
13:50:04 "[1363.85,1871.83,0]"
13:50:04 "[1460.81,1716.3,0]"
13:50:04 "[1444.57,1756.26,0]"
13:50:04 "[1544.76,5074.85,0]"
13:50:04 "[1585.91,940.061,0]"
13:50:04 "[1626.06,1179.47,0]"
13:50:04 "[1631.52,1499.09,0]"
13:50:04 "[1640.47,1375.43,0]"
13:50:04 "[1685.02,1400.32,0]"
13:50:04 "[1693.54,1406.02,0]"
13:50:04 "[1714.03,1438.27,0]"
13:50:04 "[1711.92,1417.09,0]"
13:50:04 "[1713.39,1409.76,0]"
13:50:04 "[1852.58,5522.44,0]"
13:50:04 "[1846.92,5533.98,0]"
13:50:04 "[1851.22,5529.99,0]"
13:50:04 "[1842.67,5538.76,0]"
13:50:04 "[1840.37,5543.69,0]"
13:50:04 "[1840.64,5542.9,0]"
13:50:04 "[1884.97,5471.71,0]"
13:50:04 "[1884.34,5480.1,0]"
13:50:04 "[1875.22,5507.14,0]"
13:50:04 "[1913.48,5287.02,0]"
13:50:04 "[1904.36,5356.62,0]"
13:50:04 "[1893.99,5434.71,0]"
13:50:04 "[1895.35,5444.67,0]"
13:50:04 "[1896.08,5452.42,0]"
13:50:04 "[1891.96,7239.78,0]"
13:50:04 "[1910.8,7323.87,0]"
13:50:04 "[1947.55,5181.88,0]"
13:50:04 "[1947.24,5194.25,0]"
13:50:04 "[1972.71,5135.65,0]"
13:50:04 "[1967.89,5143.41,0]"
13:50:04 "[1953.86,7292.07,0]"
13:50:04 "[2010.33,2435.19,0]"
13:50:04 "[2012.86,5073.7,0]"
13:50:04 "[2004.57,5092.26,0]"
13:50:04 "[1997.87,5108.92,0]"
13:50:04 "[1993.78,5116.68,0]"
13:50:04 "[1997.92,7253.36,0]"
13:50:04 "[2002.62,7248.46,0]"
13:50:04 "[2000.49,7250.78,0]"
13:50:04 "[2041.47,5020.24,0]"
13:50:04 "[2028.58,5047.18,0]"
13:50:04 "[2021.97,5057.87,0]"
13:50:04 "[2079.42,4920.24,0]"
13:50:04 "[2078.68,4940.79,0]"
13:50:04 "[2058.35,4965,0]"
13:50:04 "[2049.65,4979.26,0]"
13:50:04 "[2107.51,4860.5,0]"
13:50:04 "[2099.12,4891.52,0]"
13:50:04 "[2103.84,4872.55,0]"
13:50:04 "[2130.88,4835.65,0]"
13:50:04 "[2130.39,8047.52,0]"
13:50:04 "[2168.83,4757.98,0]"
13:50:04 "[2172.6,4751.17,0]"
13:50:04 "[2149.96,4804.94,0]"
13:50:04 "[2201.88,7602.03,0]"
13:50:04 "[2238.22,4664.16,0]"
13:50:04 "[2217.89,4690.26,0]"
13:50:04 "[2261.4,7694.56,0]"
13:50:04 "[2329.01,2809.08,0]"
13:50:04 "[2328.58,4613.43,0]"
13:50:04 "[2355.73,4602.74,0]"
13:50:04 "[2349.33,4605.25,0]"
13:50:04 "[2386.65,4572.03,0]"
13:50:04 "[2399.33,4546.87,0]"
13:50:04 "[2379,4578.31,0]"
13:50:04 "[2412.65,4533.45,0]"
13:50:04 "[2424.8,4515.74,0]"
13:50:04 "[2445.35,4511.23,0]"
13:50:04 "[2494.8,1237.85,0]"
13:50:04 "[2494.72,4502.63,0]"
13:50:04 "[2502.93,1205.35,0]"
13:50:04 "[2512.98,1214.02,0]"
13:50:04 "[2576.69,4487.64,0]"
13:50:04 "[2601.52,3906.57,0]"
13:50:04 "[2803.53,4411.86,0]"
13:50:04 "[2836.44,4389.85,0]"
13:50:04 "[2845.87,4384.81,0]"
13:50:04 "[2827.84,4395.4,0]"
13:50:04 "[3573.39,549.163,0]"
13:50:04 "[3583.54,3106.12,0]"
13:50:04 "[3645.58,3508.51,0]"
13:50:04 "[3644.25,3514.6,0]"
13:50:04 "[3887.02,1802.5,0]"
13:50:04 "[3914.55,1851.09,0]"
13:50:04 "[4121.09,7608.52,0]"
13:50:04 "[4120.46,7747.1,0]"
13:50:04 "[4328.93,2737.98,0]"
13:50:04 "[4432.35,2716,0]"
13:50:04 "[4439.68,2710.39,0]"
13:50:04 "[4566.8,1377.64,0]"
13:50:04 "[4695.74,1645.34,0]"
13:50:04 "[4773.43,1652.67,0]"
13:50:04 "[5190.7,4648.6,0]"
13:50:04 "[5306.25,6758,0]"
13:50:04 "[5318.88,6758.93,0]"
13:50:04 "[5578.38,4843.96,0]"
13:50:04 "[5594.21,4849.29,0]"
13:50:04 "[6194.7,4095.81,0]"
13:50:04 "[6219.62,4087.96,0]"
13:50:04 "[6222.13,4080.67,0]"
13:50:04 "[6220.59,4110.75,0]"
13:50:04 "[6362.69,2844.42,0]"
13:50:04 "[6413.31,2238.66,0]"
13:50:04 "[6470.22,2211.86,0]"
13:50:04 "[6490.72,2264,0]"
13:50:04 "[6563.85,2736.56,0]"
13:50:04 "[6880.41,2581.29,0]"
13:50:04 "[6912.87,2590.56,0]"
13:50:04 "[6991.65,2549.19,0]"
13:50:04 "[7010.65,2543.42,0]"
13:50:04 "amount: 119"
13:50:21 c:\w\stable\futura\lib\ui\uimap.cpp DisplayGetReady::Destroy:NOT IMPLEMENTED - briefing!
13:50:21 File GUI.hpp, line 398: '/RscPIO/controls/CPDens_Frame.text': Missing ';' at the end of line
13:50:22 Item should be already created
13:50:22 Item should be already created
13:50:22 Item should be already created
13:50:29 Starting mission:
13:50:29  Mission file: Cambodia_ALLCROSS (__cur_sp)
13:50:29  Mission world: prei_khmaoch_luong
13:50:29  Mission directory: missions\__cur_sp.prei_khmaoch_luong\
13:50:31 "mapS: [4096,4096]"
13:50:31 No speaker given for
13:50:31 "cntNR: 16868"
13:50:31 "[193.508,507.582,0]"
13:50:31 "[1004.01,3397.42,0]"
13:50:31 "[1274.45,2012.71,0]"
13:50:31 "[1263.97,2028.69,0]"
13:50:31 "[1300.67,1973.22,0]"
13:50:31 "[1297.52,2544.52,0]"
13:50:31 "[1363.85,1871.83,0]"
13:50:31 "[1460.81,1716.3,0]"
13:50:31 "[1444.57,1756.26,0]"
13:50:31 "[1544.76,5074.85,0]"
13:50:31 "[1585.91,940.061,0]"
13:50:31 "[1626.06,1179.47,0]"
13:50:31 "[1631.52,1499.09,0]"
13:50:31 "[1640.47,1375.43,0]"
13:50:31 "[1685.02,1400.32,0]"
13:50:31 "[1693.54,1406.02,0]"
13:50:31 "[1714.03,1438.27,0]"
13:50:31 "[1711.92,1417.09,0]"
13:50:31 "[1713.39,1409.76,0]"
13:50:31 "[1852.58,5522.44,0]"
13:50:31 "[1846.92,5533.98,0]"
13:50:31 "[1851.22,5529.99,0]"
13:50:31 "[1842.67,5538.76,0]"
13:50:31 "[1840.37,5543.69,0]"
13:50:31 "[1840.64,5542.9,0]"
13:50:31 "[1884.97,5471.71,0]"
13:50:31 "[1884.34,5480.1,0]"
13:50:31 "[1875.22,5507.14,0]"
13:50:31 "[1913.48,5287.02,0]"
13:50:31 "[1904.36,5356.62,0]"
13:50:31 "[1893.99,5434.71,0]"
13:50:31 "[1895.35,5444.67,0]"
13:50:31 "[1896.08,5452.42,0]"
13:50:31 "[1891.96,7239.78,0]"
13:50:31 "[1910.8,7323.87,0]"
13:50:31 "[1947.55,5181.88,0]"
13:50:31 "[1947.24,5194.25,0]"
13:50:31 "[1972.71,5135.65,0]"
13:50:31 "[1967.89,5143.41,0]"
13:50:31 "[1953.86,7292.07,0]"
13:50:31 "[2010.33,2435.19,0]"
13:50:31 "[2012.86,5073.7,0]"
13:50:31 "[2004.57,5092.26,0]"
13:50:31 "[1997.87,5108.92,0]"
13:50:31 "[1993.78,5116.68,0]"
13:50:31 "[1997.92,7253.36,0]"
13:50:31 "[2002.62,7248.46,0]"
13:50:31 "[2000.49,7250.78,0]"
13:50:31 "[2041.47,5020.24,0]"
13:50:31 "[2028.58,5047.18,0]"
13:50:31 "[2021.97,5057.87,0]"
13:50:31 "[2079.42,4920.24,0]"
13:50:31 "[2078.68,4940.79,0]"
13:50:31 "[2058.35,4965,0]"
13:50:31 "[2049.65,4979.26,0]"
13:50:31 "[2107.51,4860.5,0]"
13:50:31 "[2099.12,4891.52,0]"
13:50:31 "[2103.84,4872.55,0]"
13:50:31 "[2130.88,4835.65,0]"
13:50:31 "[2130.39,8047.52,0]"
13:50:31 "[2168.83,4757.98,0]"
13:50:31 "[2172.6,4751.17,0]"
13:50:31 "[2149.96,4804.94,0]"
13:50:31 "[2201.88,7602.03,0]"
13:50:31 "[2238.22,4664.16,0]"
13:50:31 "[2217.89,4690.26,0]"
13:50:31 "[2261.4,7694.56,0]"
13:50:31 "[2329.01,2809.08,0]"
13:50:31 "[2328.58,4613.43,0]"
13:50:31 "[2355.73,4602.74,0]"
13:50:31 "[2349.33,4605.25,0]"
13:50:31 "[2386.65,4572.03,0]"
13:50:31 "[2399.33,4546.87,0]"
13:50:31 "[2379,4578.31,0]"
13:50:31 "[2412.65,4533.45,0]"
13:50:31 "[2424.8,4515.74,0]"
13:50:31 "[2445.35,4511.23,0]"
13:50:31 "[2494.8,1237.85,0]"
13:50:31 "[2494.72,4502.63,0]"
13:50:31 "[2502.93,1205.35,0]"
13:50:31 "[2512.98,1214.02,0]"
13:50:31 "[2576.69,4487.64,0]"
13:50:31 "[2601.52,3906.57,0]"
13:50:31 "[2803.53,4411.86,0]"
13:50:31 "[2836.44,4389.85,0]"
13:50:31 "[2845.87,4384.81,0]"
13:50:31 "[2827.84,4395.4,0]"
13:50:31 "[3573.39,549.163,0]"
13:50:31 "[3583.54,3106.12,0]"
13:50:31 "[3645.58,3508.51,0]"
13:50:31 "[3644.25,3514.6,0]"
13:50:31 "[3887.02,1802.5,0]"
13:50:31 "[3914.55,1851.09,0]"
13:50:31 "[4121.09,7608.52,0]"
13:50:31 "[4120.46,7747.1,0]"
13:50:31 "[4328.93,2737.98,0]"
13:50:31 "[4432.35,2716,0]"
13:50:31 "[4439.68,2710.39,0]"
13:50:31 "[4566.8,1377.64,0]"
13:50:31 "[4695.74,1645.34,0]"
13:50:31 "[4773.43,1652.67,0]"
13:50:31 "[5190.7,4648.6,0]"
13:50:31 "[5306.25,6758,0]"
13:50:31 "[5318.88,6758.93,0]"
13:50:31 "[5578.38,4843.96,0]"
13:50:31 "[5594.21,4849.29,0]"
13:50:31 "[6194.7,4095.81,0]"
13:50:31 "[6219.62,4087.96,0]"
13:50:31 "[6222.13,4080.67,0]"
13:50:31 "[6220.59,4110.75,0]"
13:50:31 "[6362.69,2844.42,0]"
13:50:31 "[6413.31,2238.66,0]"
13:50:31 "[6470.22,2211.86,0]"
13:50:31 "[6490.72,2264,0]"
13:50:31 "[6563.85,2736.56,0]"
13:50:31 "[6880.41,2581.29,0]"
13:50:31 "[6912.87,2590.56,0]"
13:50:31 "[6991.65,2549.19,0]"
13:50:31 "[7010.65,2543.42,0]"
13:50:31 "amount: 119"

map.jpg

You ARE the man.

Share this post


Link to post
Share on other sites

Reread your other post and it answers my question.

 

Quote

To find checkpoint coords for some map I'm using exclusively a script, that returns me every "probably suitable" (as for enough free space around) crossroads "out of towns" for given map

 

Share this post


Link to post
Share on other sites

Personally for official versions I just used as is this list of coords from RPT without any further checking, but do as you wish. Oh, and don't worry about very dense groups of positions, JRInit code should automatically pick only some of them and ignore rest keeping some minimal reasonable distance between possible checkpoints. 

  • Like 1

Share this post


Link to post
Share on other sites

Hey there.

I realy love this scenario, it is just (almost) prefect. I play the steam-workshop variant with 1.94 at end or so. (So not the outdatet one.)

Just a simple question: would it be possible to add ambient music, when out of comabt. Like the music in the setting menu at the beginning bevore the game. Its jsut to silent for me and that music would fit prefectly to the "pilgrimage" playstyle I find.

By the way: If someone would like to play in coop with me, feel free to hit me up, as I am searching for a partner to group up with!

Sincirly, a big fan called syrasia ;)

PS: I realy logged my self the first time in just for this!

  • Like 1

Share this post


Link to post
Share on other sites

Hey. But there's music also out of combat. Just not constant (which I would consider tiresome). Pilgrimage using music tracks' config divides them into three groups: safe/calm, stealth and combat/action. Safe music is played, when Alex doesn't know about any enemy presence and vice versa. Stealth - when Alex see some enemy, but wasn't spotted by anyone. Combat - when Alex was spotted by the enemy. 

 

 As for time intervals between tracks, it is calculated this way:

 

			_waiting = 300 + (random 450) + (random 450) + (random 450) + (random 450);
			if (((RYD_JR_inStealth) and ((random 100) > 50)) or ((RYD_JR_inCombat) and ((random 100) > 25))) then
				{
				_waiting = _waiting/3
				};

 

(Mainloop.sqf) So for calm period it may be from 300 up to 2100 seconds (5-35 minutes) while most probable/often are values around 1200 seconds (20 minutes). For stealth situations there's 50% chance to make this interval 3 times shorter, and 75% chance for the same when in combat (but since this is recalculated every cycle - 10-15 seconds - in fact chance for music in dense situation is higher). Frankly I find this pretty optimal proportions to my taste. 

Share this post


Link to post
Share on other sites
10 hours ago, syrasia said:

Hey there.

I realy love this scenario, it is just (almost) prefect. I play the steam-workshop variant with 1.94 at end or so. (So not the outdatet one.)

Just a simple question: would it be possible to add ambient music, when out of comabt. Like the music in the setting menu at the beginning bevore the game. Its jsut to silent for me and that music would fit prefectly to the "pilgrimage" playstyle I find.

By the way: If someone would like to play in coop with me, feel free to hit me up, as I am searching for a partner to group up with!

Sincirly, a big fan called syrasia ;)

PS: I realy logged my self the first time in just for this!

 

If you want ambient sounds, animals etc. this mod is awesome.

 

Share this post


Link to post
Share on other sites
6 hours ago, Rydygier said:

 As for time intervals between tracks, it is calculated this way:

 


			_waiting = 300 + (random 450) + (random 450) + (random 450) + (random 450);
			if (((RYD_JR_inStealth) and ((random 100) > 50)) or ((RYD_JR_inCombat) and ((random 100) > 25))) then
				{
				_waiting = _waiting/3
				};

 

(Mainloop.sqf) So for calm period it may be from 300 up to 2100 seconds (5-35 minutes) while most probable/often are values around 1200 seconds (20 minutes). For stealth situations there's 50% chance to make this interval 3 times shorter, and 75% chance for the same when in combat (but since this is recalculated every cycle - 10-15 seconds - in fact chance for music in dense situation is higher). Frankly I find this pretty optimal proportions to my taste. 

Well everyone has his one taste (like u already mentioned in a way in the description of the mod/scenario) and my taste is for constant music.

If I just change the first part to _waiting = 0; would then the music play all the time? And can or should I remove the complete if statment, as it only changes the _waiting again?

Thanks for the help!

Welp, I will try this now. xD

Edit: Oh, and in what file do I find this? I will try to locate it, but well, I may fail here.

Edit2: Found it, will try it!

Edit3: Works like a charm. Thank you for your help. BEST SP SCENARIO NOW! :)

Share this post


Link to post
Share on other sites

Yes, if I'm not mistaken, _waiting = 0; should make music playing constantly (up to 15 seconds gaps perhaps), but test it. if-then statetement may be then removed indeed. 

Share this post


Link to post
Share on other sites

Cp Setup

Since we have such limited space I made a few changes,...

 

- I changed the "Camo_Net" to "Land_Barb_Gate".

- reduced the number of objects in the CPStuff to only a 3 to 6 items, (haven't totally decided yet)

- testing this in Altis since we always have good space to work with for editing x,y, and rotation values. Everything looks good,...

 

3 questions

1) I am looking through RYD_JRfnc and trying to "guess" which line(s) to edit so that the "Land_Barb_Gate" lands directly on the road.

2) again, since space is limited how can I stop  "createveh"  so that no armed vehicles are spawned here?

3) I would like the "Land_Barb_Gate" land so that it always faces parallel with the road. Can that be    setdir;   just like the  "Land_BagFence_Round_01"   ?

 

This is the last thing I want to try to remedy,....honest! :dummy:

Share this post


Link to post
Share on other sites

All inside RYD_JR_CPSetup function:

 

1) _veh = createVehicle [_camo, _pos, [], 0, "NONE"];

 

change _pos to _mPos. _mPos is ATL position of crossroad segment. Note, all the rest of the elements  except static weapons are placed in reference to this camo net (_veh). 

 

_veh = createVehicle [_camo, _pos, [], 0, "NONE"];

 

Since it will land on the crossroad segment, result may be less or more weird, so alternatively you may try:

 

_veh = createVehicle [_camo, (getPosATL _nextR), [], 0, "NONE"];

 

or

 

_veh = createVehicle [_camo, (getPosATL _clR), [], 0, "NONE"];

 

both will place the camo net not on the crossroad, but on the some of neighbouring road segments connected with the crossroad segement.

 

BTW note, whatever object you would place on the road, it may be (or not) perceived by driving AI as an obstacle blocking the way. Even theoretically open gate.  

 

2)

 

			else
				{
				if (_foreachIndex == ((count RYD_JR_CPStuff) - 1)) then
					{
					_posS = _center modelToWorld (_x select 1);
					//_fe = (count (_posS isFlatEmpty [1,0,0.1,1,0,false,_center])) > 0;
					_fe = not (isOnRoad _posS);
					
					if (_fe) then

 

Change 

 

if (_fe) then

 

into: 

 

if (false) then

 

3) Code for placement statics along the orad is pretty complex and long. No quick way to use it here. 

 

Perhaps instead check this line:

 

_dir = (abs ([getPosATL _clR,getPosATL _nextR,0] call RYD_JR_AngTowards)) + 90;

 

this defines direction for camo net by taking direction between two road segments connected with crossroad segment + 90 degrees. 

 

Or just try instead:

 

_dir = getDir _clR;

 

or:

 

_dir = getDir _nextR;

 

Depending, on which segment, clR or _nextR, you placed gate object in 1). 

Share this post


Link to post
Share on other sites

Ryd or porters, suggestion in case/when you update this fine mission, there's a lot of these:

_stuff = _allStuff select (floor (random (count _allStuff)));

that can be rewritten like this:

_stuff = selectRandom _allStuff;

to squeeze in a bit of extra performance ;)

 

Thanks

  • Like 1

Share this post


Link to post
Share on other sites

Not that I'm looking a fix but I find this weird whenever a client is LOS on stomper. A yellow ball.

Yellow_ball.jpg

 

Edited by major-stiffy
This is coop only

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

×