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


Фотография

крик раненого


Лучший Ответ Cooler58 , 24 October 2018 - 22:51

Друзья! Спасибо, всё действительно получилось! Итак: в условие триггера:(p1 getVariable ["ACE_isUnconscious", false]) and {(time - (thisTrigger getVariable ["time", time - 120])) >= 120}; в активацию: krik remoteExec ["playSound",-2]; p1 say3D "krik"; thisTrigger setVariable ["time", time]; Понятно, что р1 заменяется во втором триггере на р2, в третьем на р3 и т.д.

Перейти к сообщению


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

#21 OFFLINE   Cooler58

Cooler58

    Мл.сержант

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

Отправлено 21 October 2018 - 02:50

Очередной эксперимент принес свои плоды. Я сделал 10 триггеров и в каждом вместо слова player вставил р1, р2, р3 и так талее до р10. Видимо playSound krik; player say3D "krik" на player  не срабатывает, а запрашивает конкретную переменную, принадлежащую конкретному игроку.                 В результате я стал слышать крики раненых товарищей. Осталось только сделать чтобы они друг друга слышали. Т.е. проще говоря на клиентской стороне звук не слышен. Может дело в триггере в постановке галочки на "сервер" (это ниже "повторяемый")?


  • 0

#22 OFFLINE   moroz89

moroz89

    Мл.сержант

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

Отправлено 21 October 2018 - 09:37

Очередной эксперимент принес свои плоды. Я сделал 10 триггеров и в каждом вместо слова player вставил р1, р2, р3 и так талее до р10. Видимо playSound krik; player say3D "krik" на player не срабатывает, а запрашивает конкретную переменную, принадлежащую конкретному игроку. В результате я стал слышать крики раненых товарищей. Осталось только сделать чтобы они друг друга слышали. Т.е. проще говоря на клиентской стороне звук не слышен. Может дело в триггере в постановке галочки на "сервер" (это ниже "повторяемый")?

Вам уже 2 раза писали, что нужно тспользовать remoteExec.
krik remoteExec ["playSound",-2];
  • 0

#23 OFFLINE   Schatten

Schatten

    Лейтенант

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

Отправлено 21 October 2018 - 12:52

Может дело в триггере в постановке галочки на "сервер" (это ниже "повторяемый")?

Верно, в этом случае выражения триггера будут проверяться/выполняться только на сервере, где, естественно, player не определена. А если триггер не делать "серверным", то достаточно ОДНОГО триггера.


  • 0

#24 OFFLINE   Cooler58

Cooler58

    Мл.сержант

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

Отправлено 24 October 2018 - 22:51   Лучший Ответ

Друзья! Спасибо, всё действительно получилось! Итак: в условие триггера:(p1 getVariable ["ACE_isUnconscious", false]) and {(time - (thisTrigger getVariable ["time", time - 120])) >= 120}; в активацию: krik remoteExec ["playSound",-2]; p1 say3D "krik"; thisTrigger setVariable ["time", time]; Понятно, что р1 заменяется во втором триггере на р2, в третьем на р3 и т.д.


  • 0

#25 OFFLINE   moroz89

moroz89

    Мл.сержант

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

Отправлено 24 October 2018 - 23:00

Друзья! Спасибо, всё действительно получилось! Итак: в условие триггера:(p1 getVariable ["ACE_isUnconscious", false]) and {(time - (thisTrigger getVariable ["time", time - 120])) >= 120}; в активацию: krik remoteExec ["playSound",-2]; p1 say3D "krik"; thisTrigger setVariable ["time", time]; Понятно, что р1 заменяется во втором триггере на р2, в третьем на р3 и т.д.

Это хорошо, что все получилось. Но универсальности 0. Что делать если игроков 10? А если 30? Нужна универсальность. Но это уже придирки. Если Вас все устраивает, то приятной игры )
  • 0

#26 OFFLINE   Cooler58

Cooler58

    Мл.сержант

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

Отправлено 25 October 2018 - 00:28

да у меня компьютер не потянет 30 игроков, да и нет их, потому что

https://arma3.ru/for...nomyshlennikov/


 

Друзья! Спасибо, всё действительно получилось! Итак: в условие триггера:(p1 getVariable ["ACE_isUnconscious", false]) and {(time - (thisTrigger getVariable ["time", time - 120])) >= 120}; в активацию: krik remoteExec ["playSound",-2]; p1 say3D "krik"; thisTrigger setVariable ["time", time]; Понятно, что р1 заменяется во втором триггере на р2, в третьем на р3 и т.д.

Это хорошо, что все получилось. Но универсальности 0. Что делать если игроков 10? А если 30? Нужна универсальность. Но это уже придирки. Если Вас все устраивает, то приятной игры )

 

Да у меня компьютер не потянет 30 игроков, да и нет их, потому что https://arma3.ru/for...nomyshlennikov/


  • 0

#27 OFFLINE   Triada

Triada

    Рядовой

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

Отправлено 06 January 2019 - 21:02

триггер повторяемый, тип - нет, активация - нет,

 

в условии триггера:
(player getVariable ["ACE_isUnconscious", false]) and {(time - (thisTrigger getVariable ["time", time - 500])) >= 120}
 
при активации триггера:
[player,"krik"] remoteExec ["say3D"]; thisTrigger setVariable ["time", time];
 

галочку "Только сервер" снять!

 

в description.ext добавить:

class CfgSounds
{
sounds[] = {};
class krik
    {
        name = "krik";
        sound[] = {"\sound\krik.ogg",db + 5.0, 1.0};
        titles[] = {};
    };
};

 

достаточно одной "таблетки" - то есть триггера)


Сообщение отредактировал Triada: 06 January 2019 - 21:50

  • 0




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