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


Фотография

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


Лучший Ответ Denispetrov123 , 08 December 2021 - 17:46

 

1) 

titleText ["", "BLACK OUT", 2]; // Преобразуется в 
["", "BLACK OUT", 2] remoteExec ["titleText", crew busik]; 

2) 

waitUntil {
    allPlayers findIf { !(_x in busik) } == -1
    ||
    allPlayers findIf { !(_x distance busik <= 100) } == -1
};

Только дайте гарантию, что ваш скрипт запустится всего 1 раз, где-нибудь со стороны сервера.

 Title text не сработало. Смею предположить, что это потому что игроки не являются Экипажем автобуса который, на сколько я понял, и возвращает crew.

В принципе, я могу просто на спауне делать каждому игроку  player assignAsCargo busik;
Хотя и это вероятно не сработает т.к. Игрок так и останется экипажем автобуса, даже если не находится непосредственно в нем.

Возможно есть более логичные способы?

 

 

Пробуй так, это должно работать -

[["", "BLACK OUT", 2]] remoteExec ["titleText", crew busik];
Перейти к сообщению


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

#1 OFFLINE   IPRiCeI

IPRiCeI

    Рядовой

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

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

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

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];


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

 


  • 0

#2 OFFLINE   Denispetrov123

Denispetrov123

    Ефрейтор

  • Пользователи
  • 82 сообщений
  • Откуда:Москва

Отправлено 08 December 2021 - 16:56

1) 

titleText ["", "BLACK OUT", 2]; // Преобразуется в 
["", "BLACK OUT", 2] remoteExec ["titleText", crew busik]; 

2) 

waitUntil {
    allPlayers findIf { !(_x in busik) } == -1
    ||
    allPlayers findIf { !(_x distance busik <= 100) } == -1
};

Только дайте гарантию, что ваш скрипт запустится всего 1 раз, где-нибудь со стороны сервера.


  • 0

#3 OFFLINE   IPRiCeI

IPRiCeI

    Рядовой

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

Отправлено 08 December 2021 - 17:34

1) 

titleText ["", "BLACK OUT", 2]; // Преобразуется в 
["", "BLACK OUT", 2] remoteExec ["titleText", crew busik]; 

2) 

waitUntil {
    allPlayers findIf { !(_x in busik) } == -1
    ||
    allPlayers findIf { !(_x distance busik <= 100) } == -1
};

Только дайте гарантию, что ваш скрипт запустится всего 1 раз, где-нибудь со стороны сервера.

 Title text не сработало. Я предположил, что это потому что игрок, не является Экипажем, который вроде бы и возвращает crew.
Сделал игрока частью экипажа с помощью AssignAsCargo, все равно не сработало.

И я не очень понял что значит запуск со стороны сервера. Если что скрипт активируется через HoldAction.
 


Сообщение отредактировал IPRiCeI: 08 December 2021 - 17:47

  • 0

#4 OFFLINE   Denispetrov123

Denispetrov123

    Ефрейтор

  • Пользователи
  • 82 сообщений
  • Откуда:Москва

Отправлено 08 December 2021 - 17:46   Лучший Ответ

 

1) 

titleText ["", "BLACK OUT", 2]; // Преобразуется в 
["", "BLACK OUT", 2] remoteExec ["titleText", crew busik]; 

2) 

waitUntil {
    allPlayers findIf { !(_x in busik) } == -1
    ||
    allPlayers findIf { !(_x distance busik <= 100) } == -1
};

Только дайте гарантию, что ваш скрипт запустится всего 1 раз, где-нибудь со стороны сервера.

 Title text не сработало. Смею предположить, что это потому что игроки не являются Экипажем автобуса который, на сколько я понял, и возвращает crew.

В принципе, я могу просто на спауне делать каждому игроку  player assignAsCargo busik;
Хотя и это вероятно не сработает т.к. Игрок так и останется экипажем автобуса, даже если не находится непосредственно в нем.

Возможно есть более логичные способы?

 

 

Пробуй так, это должно работать -

[["", "BLACK OUT", 2]] remoteExec ["titleText", crew busik];

  • 0

#5 OFFLINE   Denispetrov123

Denispetrov123

    Ефрейтор

  • Пользователи
  • 82 сообщений
  • Откуда:Москва

Отправлено 08 December 2021 - 17:52

К слову, для теста, можно запустить 2 армы. Достаточно просто в лаунчере 2 раза нажать на кнопку играть


  • 0

#6 OFFLINE   IPRiCeI

IPRiCeI

    Рядовой

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

Отправлено 08 December 2021 - 17:53

 

 

1) 

titleText ["", "BLACK OUT", 2]; // Преобразуется в 
["", "BLACK OUT", 2] remoteExec ["titleText", crew busik]; 

2) 

waitUntil {
    allPlayers findIf { !(_x in busik) } == -1
    ||
    allPlayers findIf { !(_x distance busik <= 100) } == -1
};

Только дайте гарантию, что ваш скрипт запустится всего 1 раз, где-нибудь со стороны сервера.

 Title text не сработало. Смею предположить, что это потому что игроки не являются Экипажем автобуса который, на сколько я понял, и возвращает crew.

В принципе, я могу просто на спауне делать каждому игроку  player assignAsCargo busik;
Хотя и это вероятно не сработает т.к. Игрок так и останется экипажем автобуса, даже если не находится непосредственно в нем.

Возможно есть более логичные способы?

 

 

Пробуй так, это должно работать -

[["", "BLACK OUT", 2]] remoteExec ["titleText", crew busik];

Есть контакт! Спасибо большое за помощь! Надо будет еще проверить как работает waituntl, и всё. Еще раз Спасибо!


К слову, для теста, можно запустить 2 армы. Достаточно просто в лаунчере 2 раза нажать на кнопку играть

Ну, у меня закрылась первая арма)


  • 0




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