Модератор форума: GUNNER161, Panikaha |
Форум РЕДАКТОР - ArmA 3 Вопрос - ответ ядовитый газ (применение с помощью скрипта) |
ядовитый газ |
› Среда
› 12.02.2014
› 17:16
› Сообщение #
прошу помочь !? требуется пример
коротко и по сути : использование заряда гп - или подобного - при выстреле на месте падения шоба в радиусе ~ 25 метров все плавно дохли , время действия типо газа 2 минуты. или пока дым не кончится --- снаряды и по мелочи я смогу изменить сам ,,, --- сообшите в личку пожалуйста,, Огромное спасибо , Вам ребята ,,,,,, Сообщение отредактировал sanyokbig - Среда, 12.02.2014, 23:01
|
› Среда
› 12.02.2014
› 19:21
› Сообщение #
Стрелку надо добавить обработчик на "Выстрел"
если название снаряда есть в списке то запустится файл id = Стрелок addEventHandler ["Fired", { if ((_this select 4) in ["наз","вания","снаря","дов"]) then {(_this select 6) execVM "file.sqf"} }]; файл перехванывает снаряд контролирует его положение до взрыва. _bm = _this; _ps = []; WaitUntil { if (isNull _bm) then {true} else {_ps = getPos _bm; false} }; снаряд исчез, координаты места в _ps убиваем всех людей в радиусе 30м _ms = _ps nearEntities ["Man", 30]; { _x setDamage 1 } forEach _ms; |
› Среда
› 12.02.2014
› 19:33
› Сообщение #
|
› Среда
› 12.02.2014
› 20:28
› Сообщение #
Дополню насчет
_tm = Time + 120; while {_tm > Time} do { sleep 1; _ms = _ps nearEntities ["Man", 30]; { _x setDamage 1 } forEach _ms; }; Чтобы постепенно дохли, можно растянуть процесс:) Делим единицу дэмеджа на 120 частей.. получаем 0,0083, для полной гарантии округляем до 0,01 Тогда вместо _x setDamage 1 будет _x setDamage (getDammage _x +0.01) А вообще задумка интересная Сообщение отредактировал andrucio - Среда, 12.02.2014, 21:44
|
› Среда
› 12.02.2014
› 21:06
› Сообщение #
заранее извеняюсь,
я умею только немножко изменять готовый пример , так по мелочи не более,, -- надо не привязывая к игроку- любой взял боеприпас кинул и враг дохнет - поэтому я взал за основу дымный снаряд,, можно просить конкретный пример такого рода : и не привязано к стрелку ! 1 -стреляю гп-желтый куда упал там все дохнут но если можно то плавно- постепенно 2 -кидаю дым желтый с тем же результатом ---- я толко сумею сменять снаряды и время и может есть какой способ сделать наиболее просто и примитивно максимум,, спасибо за отклик,, что слон написал попробую сам сделать |
› Среда
› 12.02.2014
› 21:16
› Сообщение #
без привязки к стрелку , можно контролировать небольшую зону на появление в ней снаряда. но всю карту этим накрывать не стоит.
пример, триггер с таким условием сработает если в его зоне появится указанный снаряд {typeOf _x = "название_снаряда"} count thisList > 0 |
› Среда
› 12.02.2014
› 22:40
› Сообщение #
сам сижу думаю как вообще и с каким снарядом реализовать,, и как в арме проги работают,,
- 1-л юбой снаряд в арме при взрыве имеет свою личную зону поражения - правильно ? заданно разработчиками ? вроде 2- для пробы - взять гранату и лишить звука и эфекта взрыва(видео) , кинуть в ботов - они сдохнут ? 3- сделать так шоб дохли медленно реально пока такое ? Добавлено (12.02.2014, 22:40) |
› Среда
› 12.02.2014
› 23:20
› Сообщение #
1 - имеется велечина наносимых повреждений.
2 - неполучится 3 - это просто скриптом нанесение 100% повреждения объект setDamage 1 - (0 - 0%, 1 - 100%) медленно наносить повреждения по 0.01 каждые 0.1 сек. for "_a" from 1 to 0 step -0.01 do { Unit setDamage _a; sleep 0.1; }; пока ищи подход, чем основательней продумаеш, тем меньше придётся переделывать. реализовать помогу. |
› Среда
› 12.02.2014
› 23:45
› Сообщение #
пока что я точно понял главное : суть - есть в принципе боты на карте и дымовуха, оказавшись ближе 30 метров все должны медленно сдохнуть, причем сдохнуть даже покинув зону воздействия.
и Вы знаете, весь парадокс в том что вроде бы : простенькая тема на слух, а за что зацепится ? Поставить триггер на всю карту и прописать шоб все дохли ближе 15 метров от дымовой после ее активации ? дохнуть должны ведь все и свои, и чужие. |
› Среда
› 12.02.2014
› 23:45
› Сообщение #
ZanoZa_RU, держи пример, но на игрока.
Если имеешь в виду МП, то это надо запускать у каждого клиента (имхо). Если СП.. можно хоть всем ботам прописать, но гиморно, понятно. После броска или выстрела через 5 сек (в принципе достаточно для долета до цели, если не будет больших рикошетов) начинает действовать. Радиус 10м.. это ближе к области дыма Slon, убрал waituntil, потому как смерть начинается после того, как граната исчезнет (примерно сек через 20-30, вместе с дымом, что неэффектно). Пытался прикрутить speed.. if (speed _bm < 10) then.... но что-то там неладное.. скорость только в момент броска выцепил, 60-80. Хотя.. дохнут они все равно неинтересно, практически мгновенно (подопытный помер при дамадже 0.92 ), так что можно и так оставить Прикрепления:
22.Takistan.rar
(1.6 Kb)
Сообщение отредактировал andrucio - Среда, 12.02.2014, 23:48
|
› Четверг
› 13.02.2014
› 00:03
› Сообщение #
да в мультик !
спс, посмотрим для начала. это тоже верно, я щас замерил бросок и выстрел, величину времени полета 5сек можно и нужно применить, если поможет допустим (после броска дыма или выстрела гп-дыма )через 5 сек активация чего то, и все дохнут в радиусе. замечу сдохнуть должны даже покинув радиус, если так нельзя тогда придется радиус большой делать. |
› Четверг
› 13.02.2014
› 00:22
› Сообщение #
Тогда нужно создавать массив юнитов в зоне и в процессе дымления добавлять в него новых членов, буде такие появятся:)
что-то типа _tm = Time + 40; _ms=[]; while {_tm > Time} do { {if ((_x in [(position _bm) nearEntities ["Man",10]]) and ( !(_x in _ms))) then {_ms set [count _ms, _x]};} foreach AllUnits; sleep 0.2; }; и через 30-40 сек (это примерное время дымления) всех завалить по способу Слона. for "_a" from 1 to 0 step -0.01 do { {_x setDamage _a} foreach _ms; sleep 0.1; }; еще спустя 7-10 сек все умрут, даже убежавшие Сообщение отредактировал andrucio - Четверг, 13.02.2014, 00:32
|
› Четверг
› 13.02.2014
› 01:26
› Сообщение #
по вопросу дохлости : понятно что сделать реальные корчи оно и не надо, можно наверно просто в 2 этапа (рывками) - сначала ранены на такой процент который их положит, а чуть позже полная хана.
этого реализьма с головой хватит. Добавлено (13.02.2014, 01:17) Добавлено (13.02.2014, 01:26) |
› Четверг
› 13.02.2014
› 02:58
› Сообщение #
вот нашол - спасибо товарищу sanyokbig, третью версию я не нашел,,
как можно усовершенствовать ? если надо ? Добавлено (13.02.2014, 02:58) Прикрепления:
PoisonBomb_v2.D.rar
(1.4 Kb)
|
› Пятница
› 14.02.2014
› 00:23
› Сообщение #
То, что ты хотел - кидать гранаты с желтым дымом. Вот и кидай в толпу.. в ящике, что перед тобой, еще чуток лежит. Там же желтые выстрелы для подствола.. лень было игроку прописывать.
можно наверно просто в 2 этапа (рывками) - сначала ранены на такой процент который их положит, а чуть позже полная хана Нужно отслеживать эти 0.9 (или меньше, при разных шагах dammage) у каждого "помеченного" и запускать ему анимацию. Только при этом нужно переместить его в другой массив, который продолжает раздавать dammage. (Иначе анимация каждый раз будет запускаться) Либо просто оставить их помирать (вне массива).. что в итоге должно случиться. Но скорее всего анимация запустится одновременно у всех.. с десяток юнитов одновременно будут дрыгать ножками.. это блин будет кордебалет какой-то.. У sanyokbig юниты дохнут сразу же. Сообщение отредактировал andrucio - Суббота, 15.02.2014, 00:15
|
| |||
Чат сайта |