Триггер - минное поле
|
|
DrSl1m
|
Пятница, 20.02.2015, 16:31
|
|
Помню, что где-то видел подобное, но уже пару часов не могу добиться необходимого эффекта.
Есть триггер, необходимо, чтобы любой игрок указанной стороны (допустим west) при входе в него погибал от взрыва. Т.е. аналог команды setDamage, только смерть должна наступать от взрыва, который должен произойти на месте входа в триггер. Причем, триггер должен срабатывать на наземные цели (включая технику), но не на воздушные. На другую сторону триггер срабатывать не должен, чтобы они могли беспрепятственно пересекать и находиться в этом триггере.
Колдовал с командой "тип снаряда" createVehicle (position player); в activation, но этих условий маловато, да и мина не 100% срабатывает, можно пробежать и она появится не взорвавшись. Можно поставить типом снаряда - миномётный, но мне кажется радиус поражения уж больно большой.
Сообщение отредактировал DrSl1m - Пятница, 20.02.2015, 17:05
|
|
Автор темы
|
|
|
|
|
Zealot
|
Пятница, 20.02.2015, 22:06
|
|
Цитата DrSl1m ( ) Колдовал с командой "тип снаряда" createVehicle (position player); в activation, но этих условий маловато, да и мина не 100% срабатывает, можно пробежать и она появится не взорвавшись. Можно поставить типом снаряда - миномётный, но мне кажется радиус поражения уж больно большой. Ну в принципе так и нужно, только создавать не снаряд а сразу взрыв (найти подходящий тип взрыва), и одновременно со взрывом делать (vehicle player) setDamage 1;, высоту проверять с помощью (getPos vehicle player) select 2
|
|
|
|
DrSl1m
|
Суббота, 21.02.2015, 12:44
|
|
Как-то странно получается. Есть триггер: Условие: this Актив: if (((getPos player) select 2) < 8) then { ["M_Titan_AT" createVehicle (position player)];};
Срабатывает даже если я не в триггере. Если меняю условие "this" на "player in thislist", то взрыв только при касании земли ногами, а техника катается спокойно и вертолёт садится.
Пробовал прописать в условие определение вертикальной позиции и нахождение игрока в триггере, а в актив взрыв - аналогичная проблема.
Допускаю, что совершаю очевидную ошибку, но, видимо, уже мозг плохо работает ночью.
Добавлено (21.02.2015, 12:44) --------------------------------------------- Результата удалось достичь следующим триггером:
Condition: Код thislist; found = false; {if (getPosATL _x select 2 < 8.0) then {found = true;};} forEach thisList; found; Activation: Код mine = "M_Titan_AT" createVehicle (position player); Какие-то проблемы связаны с использованием getPos, поэтому использовал getPosATL.
Сообщение отредактировал DrSl1m - Суббота, 21.02.2015, 12:44
|
|
Автор темы
|
|
|
|
|
Zealot
|
Суббота, 21.02.2015, 13:04
|
|
По-моему все проще должно быть. В условиях триггераКод (vehicle player in thislist) && {(getpos (vehicle player) ) select 2 > 8} , в активации Код (vehicle player) setdamage 1; "M_Titan_AT" createVehicle (position (vehicle player));
|
|
|
|
DrSl1m
|
Суббота, 21.02.2015, 13:11
|
|
Тогда он почему-то не видит игрока в триггере, пока тот не покинет технику. Сейчас попробую твой вариант потестить, хотя меня этот триггер уже достал
Сообщение отредактировал DrSl1m - Суббота, 21.02.2015, 13:22
|
|
Автор темы
|
|
|
|
|
Zealot
|
Суббота, 21.02.2015, 13:24
|
|
Цитата DrSl1m ( ) Тогда он почему-то не видит игрока в триггере, пока тот не покинет технику. Код (vehicle player in thislist) && {(getpos (vehicle player) ) select 2 < 8} конечно меньше, а не больше и у триггера должна быть активация на любой юнит
|
|
|
|
DrSl1m
|
Суббота, 21.02.2015, 13:42
|
|
Цитата Zealot ( ) и у триггера должна быть активация на любой юнит Цитата DrSl1m ( ) На другую сторону триггер срабатывать не должен, чтобы они могли беспрепятственно пересекать и находиться в этом триггере. Вся суть в том, чтобы триггер работал только на одну сторону, значит еще и playerSide == west (к примеру) добавить придется в условиеДобавлено (21.02.2015, 13:42) --------------------------------------------- Сработало при следующем виде:
Cond: Код (playerSide == west) && (vehicle player in thislist) && {(getpos (vehicle player) ) select 2 < 8} Activ: Код mine = "M_Titan_AT" createVehicle (position (vehicle player)); (vehicle player) setdamage 1; Активация на любой юнит.
Сообщение отредактировал DrSl1m - Суббота, 21.02.2015, 13:30
|
|
Автор темы
|
|
|
|
|
Zealot
|
Суббота, 21.02.2015, 13:52
|
|
Цитата DrSl1m ( ) Вся суть в том, чтобы триггер работал только на одну сторону Ну вообще это нетипично для минного поля, когда оно работает только на одну из сторон. В случае если должно работать только на одну сторону лучше наверно мой скрипт запретной зоны использовать.
|
|
|
|
DrSl1m
|
Суббота, 21.02.2015, 14:05
|
|
Цитата Zealot ( ) Ну вообще это нетипично для минного поля, когда оно работает только на одну из сторон. Это можно обосновать условиями. Например: сторона установившая минное поле знает расположение мин, поэтому не попадает на них.
В любом случае, я наконец-то закончил, чему очень рад. Спасибо за помощь!
|
|
Автор темы
|
|
|
|
|
inwel
|
Суббота, 21.02.2015, 15:19
|
|
Может сделать настоящее минное поле? И одной из сторон дать миноискатели.
|
|
|
|