Перейти к содержимому


Фотография

Применение скрипта на конкретной\отдельной группе игроков.


  • Авторизуйтесь для ответа в теме
В теме одно сообщение

#1 OFFLINE   IPRiCeI

IPRiCeI

    Рядовой

  • Пользователи
  • 12 сообщений

Отправлено 08 December 2021 - 15:37

Я делаю антуражный фаст-тревел в МП миссии с помощью автобуса. И мне нужно что бы:

1: titletext [.......];    срабатывала только у тех игроков, которые находятся внутри автобуса.

2: waituntil {....} срабатывал только когда игроки либо сидят в автобусе, либо находятся на дистанции 100 метров.
То есть сесть в автобус могут и не все, но игроки не должны видеть как автобус исчезает, а значит должны находиться достаточно далеко от него и\или не иметь прямой видимости на него.



С первым пунктом я вообще без понятия.
Со вторым, я вроде бы что то выдал похожее в скрипте, но вообще не уверен что оно сработает как надо, а проверить не с кем. В одиночке вроде работает, но я же не могу быть в двух местах одновременно.

 

 

{if ((_x distance busik) < 10) then { _x moveInCargo busik;};} forEach allPlayers;

 
{waituntil {(_x in busik) or ((_x distance busik) > 100)}} forEach allPlayers;
sleep 5;
 
titleText ["", "BLACK OUT", 2]; 
sleep 3;
 
busik attachTo [busspawn, [0,0,1]];
detach busik;
busik domove (busstop getpos [10, 60]);
 
sleep 3; 
titleText ["", "BLACK IN", 2];


З.Ы. Уж простите за оформление. Впервые пользуюсь форумами. Да и в мультиплеер армы это, пусть и не робкие, но первые шаги. Поэтому чем понятнее и проще мне разжевать тем больше моя благодарность.

Прикрепленные файлы

  • Прикрепленный файл  busstop.sqf   360байт   2 Количество загрузок:

  • 0

#2 OFFLINE   Schatten

Schatten

    Капитан

  • Пользователи
  • 1780 сообщений
  • Откуда:Тбилиси, Грузия

Отправлено 09 January 2022 - 13:36

IPRiCeI,

_checkEmptyPositions = {
    (["Commander", "Driver", "Gunner", "Cargo"] findIf { (_this emptyPositions _x) > 0 }) >= 0
};

waitUntil {
    sleep 1;

    {
        if ((_x distance busik) < 10) then {
            _x moveInAny busik;
        };
    } forEach allPlayers;

    !(busik call _checkEmptyPositions) and { (allPlayers findIf { (_x distance busik) < 100 }) < 0 }
};

sleep 5;

["", "BLACK OUT"] remoteExec ["titleText", (crew busik) select { alive _x }];

...

Запускать на сервере.


  • 1




Яндекс.Метрика