Advertisement
Guest User

Untitled

a guest
Apr 23rd, 2017
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQF 6.19 KB | None | 0 0
  1. span class="re5"> arma3
  2. map_markers with random vars
  3.  
  4. NeoX
  5. ---
  6.  
  7. _randvar={_arr=["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"];_rand="";for "_i" from 1 to 15 do{_rand=_rand+(_arr select(random((count _arr)-1)));};_rand};_randvar3=(call _randvar);_randvar2=(call _randvar);_randvar1=(call _randvar);_randvar0=(call _randvar);
  8.  
  9. call compile ('
  10. player addAction["<'+ _randvar0 +'="
  11.    "1.15"
  12.    ">Map Markers", {
  13.        '+ _randvar1 +' = [];
  14.        '+ _randvar2 +' = [];
  15.        if (isnil "'+ _randvar3 +'") then {
  16.            '+ _randvar3 +' = 0;
  17.        };
  18.        if ('+ _randvar3 +' == 0) then {
  19.            '+ _randvar3 +' = 1;
  20.            hint "Player Markers \n ON";
  21.        } else {
  22.            '+ _randvar3 +' = 0;
  23.            hint "Player Markers \n OFF";
  24.        };
  25.        while {
  26.            '+ _randvar3 +' == 1
  27.        }
  28.        do {
  29.            {
  30.                if ((vehicle _x isKindOf "LandVehicle") || (vehicle _x isKindOf "Air") || (vehicle _x isKindOf "Ship")) then {
  31.                    if (count(crew vehicle _x) > 0) then {
  32.                        {
  33.                            if (!(_x in '+ _randvar1 +') and(alive _x) and(getPlayerUID _x != "")) then {
  34.                                private["_pos", "_kvlnm0", "_kvlnm1"];
  35.                                _kvlnm1 = vehicle _x;
  36.                                _pos = visiblePosition _x;
  37.                                _kvlnm0 = createMarkerLocal[format["CRW%1%2", _pos select 0, _pos select 1], [(_pos select 0) + 00, _pos select 1, 0]];
  38.                                _kvlnm2 = (gettext(configFile >> '+"'"+'CfgVehicles'+"'"+' >> (typeof vehicle _x) >> '+"'"+'displayName'+"'"+'));
  39.                                _kvlnm0 setMarkerTextLocal format['+"'"+'%1---%2---%3m'+"'"+', name _x, _kvlnm2, round(_x distanceplayer)];
  40.                                _kvlnm0 setMarkerTypeLocal "mil_dot";
  41.                                if ((side _x == sideplayer) and(side _x != resistance)) then {
  42.                                    _kvlnm0 setMarkerColorLocal "ColorBlue";
  43.                                } else {
  44.                                    _kvlnm0 setMarkerColorLocal "ColorRed";
  45.                                };
  46.                                _kvlnm0 setMarkerSizeLocal[1, 1];
  47.                                '+ _randvar1 +' set[count '+ _randvar1 +', _x];
  48.                                [_x, _kvlnm0, _kvlnm1] spawn {
  49.                                    private["_kvlnm3", "_kvlnm4", "_kvlnm5"];
  50.                                    _kvlnm3 = _this select 0;
  51.                                    _kvlnm4 = _this select 1;
  52.                                    while {
  53.                                        ('+ _randvar3 +' == 1) and(alive _kvlnm3) and(vehicle _kvlnm3 != _kvlnm3) and(getPlayerUID _kvlnm3 != "")
  54.                                    }
  55.                                    do {
  56.                                        _kvlnm5 = ((crew vehicle _kvlnm3) find _kvlnm3);
  57.                                        _kvlnm4 setMarkerPosLocal([(visiblePosition _kvlnm3 select 0) + 00, (visiblePosition _kvlnm3 select 1) - (25 + _kvlnm5 * 20), 0]);
  58.                                        sleep 0.01;
  59.                                    };
  60.                                    deleteMarkerLocal _kvlnm4;
  61.                                    if (_kvlnm3 in '+ _randvar1 +') then {
  62.                                        '+ _randvar1 +' set[('+ _randvar1 +' find _kvlnm3), -1];
  63.                                        '+ _randvar1 +' = '+ _randvar1 +' - [-1];
  64.                                    };
  65.                                    true;
  66.                                };
  67.                            };
  68.                        }
  69.                        forEach crew vehicle _x;
  70.                    };
  71.                } else {
  72.                    if (!(_x in '+ _randvar2 +') and(vehicle _x == _x) and(getPlayerUID _x != "")) then {
  73.                        private["_pos", "_kvlnm0"];
  74.                        _pos = visiblePosition _x;
  75.                        _kvlnm0 = createMarkerLocal[format["PLR%1%2", _pos select 0, _pos select 1], [(_pos select 0) + 00, _pos select 1, 0]];
  76.                        _kvlnm0 setMarkerTypeLocal "mil_dot";
  77.                        _kvlnm0 setMarkerSizeLocal[1, 1];
  78.                        if ((side _x == sideplayer) and(side _x != resistance)) then {
  79.                            _kvlnm0 setMarkerColorLocal "ColorWhite";
  80.                        } else {
  81.                            _kvlnm0 setMarkerColorLocal "ColorRed";
  82.                        };
  83.                        _kvlnm0 setMarkerTextLocal format["%1---%2", name _x, round(_x distanceplayer)];
  84.                        if (_x == player) then {
  85.                            _kvlnm0 setMarkerColorLocal "ColorGreen";
  86.                        };
  87.                        '+ _randvar2 +' set[count '+ _randvar2 +', _x];
  88.                        [_x, _kvlnm0] spawn {
  89.                            private["_kvlnm3", "_kvlnm4"];
  90.                            _kvlnm3 = _this select 0;
  91.                            _kvlnm4 = _this select 1;
  92.                            while {
  93.                                ('+ _randvar3 +' == 1) and(alive _kvlnm3) and(vehicle _kvlnm3 == _kvlnm3) and(getPlayerUID _kvlnm3 != "")
  94.                            }
  95.                            do {
  96.                                _kvlnm4 setMarkerPosLocal([visiblePosition _kvlnm3 select 0, visiblePosition _kvlnm3 select 1, 0]);
  97.                                sleep 0.01;
  98.                            };
  99.                            deleteMarkerLocal _kvlnm4;
  100.                            if (_kvlnm3 in '+ _randvar2 +') then {
  101.                                '+ _randvar2 +' set[('+ _randvar2 +' find _kvlnm3), -1];
  102.                                '+ _randvar2 +' = '+ _randvar2 +' - [-1];
  103.                            };
  104.                            true;
  105.                        };
  106.                    };
  107.                };
  108.            }
  109.            forEach playableUnits;
  110.            sleep 0.3;
  111.        }; {
  112.            _kvlnm0 = str _x;
  113.            deleteMarkerLocal _kvlnm0;
  114.        }
  115.        forEach playableUnits;
  116.    }];
  117.  
  118. ');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement