<<<Назад <<< <<<Меню>>> >>> Далее>>>

Команда DROP

Присказка
С помощью команды Drop можно создавать разные эффекты, связанные с дымом, огнём, водой и др. Она создаёт некую огненную или дымовую частицу, которая потом улетает, или падает, или ещё что в зависимости от заданных параметров.

Формат
Drop
[

  1. ShapeName,
  2. AnimationName,
  3. Type,
  4. TimerPeriod,
  5. LifeTime,
  6. Position,
  7. MoveVelocity,
  8. RotationVelocity,
  9. Weight,
  10. Volume,
  11. Rubbing,
  12. Size,
  13. Color,
  14. AnimationPhase,
  15. RandomDirectionPeriod,
  16. RandomDirectionIntensity,
  17. OnTimer,
  18. BeforeDestroy,
  19. Object
]

Описание

:

Глобальные параметры:
Физические параметры:
Render-параметры:
Обратите внимание, что все эти параметры установлены как массивы, чтобы показать их развитие. Т.е., если вы устанавливаете размер [1,2], тогда вначале жизни размер частицы будет 1 и в конце жизни её размер увеличится до 2.
Параметры случайных чисел:

Примерчики

Эту команду используют кондоры или вити-4000/5000/6000... в их скриптах "ядрёный взрыв" или "бочки" (помните такие?). На самом деле ничего здесь сложного нет.
Вот пример. Допустим, нам нужен синий костёр. Ставим костёр, обзываем его, скажем "koster". В ините пишем [] exec "drop.sqs". И создаём файл "drop.sqs". В нём и пишем:

~2
drop ["cl_basic", "", "Billboard", 1, 0.5, getpos koster, [0, 0, (random 10)+2], 1, 1, 1, 2, [0.5,2], [[0,0,1,1]], [0,1], 1, 1, "", "", ""]


Итак,
1 - cl_basic,
2 - пропускаем, ставим "",
3 - пишем "Billboard",
4 - ставим 1,
5 - время жизни, нам хватит 0.5 секунд,
6 - ставим координаты костра (и верно, из него же дымить должно),
7 - направление частиц, здесь мы ставим x=0, y=0, высоту ставим (random 10)+2 (+2 - чтоб снизу не толстело); если бы ветер не дул (rubbing=0), то был бы вертикальный столб с переменной высотой.
8 - частоту ставим 1 Гц,
9 - ставим 1 (меньше 1.275, см. параметр volume). Дым должен улетать в небо,
10 - ну объём ставим 1,
11 - зависимость от окр. среды, т.е. от ветра, для костра это конечно надо, поэтому ставим 2,
12 - размер; у нас написано [0.5,2]; это значит, что у самого низа размер будет 0.5, а вверху уже растолстеет до 2, как и подобает дыму от костра; можно написать и так [0.5, 2, 0.5] тогда получится что-то типа клизмочки и т.д.,
13 - цвет [[0,0,1,1]] - синий; думаю я вам толком объяснил про цвета в команде drop; здесь тоже как с размером можно писать и так: [ [0,0,1,1], [1,0,0,1] ], тогда в начале жизни частица будет синей, а к концу плавно перейдёт в красный цвет, это можно применять для создания огня, снизу оранжевый, а к верху черный (в смысле дым),
14 - давайте поставим [0,1],
15, 16 - поставим по 1. Скрипты нам вызывать не надо, поэтому 17, 18 - "". Объект тоже не нужен - "".
Короче, через 2 сек. после запуска вылетит из костра наша синяя частица. Вроде всё. Ан нет, не всё. Нам же костёр нужен, а не дымок одиночный. Поэтому засунем всё это в цикл:

#loop
drop ["cl_basic", "", "Billboard", 1, 0.5, getpos koster, [0, 0, (random 10)+2], 1, 1, 1, 2, [0.5,2], [[0,0,1,1]], [0,1], 1, 1, "", "", ""]
~0.01
goto "loop"


И тогда у нас костёр задымится синим дымом.

Или вот ещё:

_Target=_this select 0
@(getDammage _Target != 0)
_bumba="Heat73" camCreate getpos _Target
_i=6
#loop
?(_i < 0.1): goto "next"
? ((getpos _Target select 2) < 1): _i=_i-0.03
drop ["cl_fire", "", "Billboard", 1, 0.7, getpos _Target, [sin(random 360)*2,cos(random 360)*2,random _i/2], 1, 1, 3, 2, [_i/5,_i], [[1,1,1,1], [0.5,0.5,0.5,1], [0.1,0.1,0.1,1]], [1,1,1], 0.5, 0.5, "", "", ""]
~0.00001
goto "loop"
#next
exit


Бочку ставите, в ините пишите [this] exec "bochka.sqs". Ну и файл bochka.sqs с этим скритом делаем, запускаем и стреляем по бочке.

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

<<<Назад <<< <<<Меню>>> >>> Далее>>>