00067. Использование турелей
Last updated
Last updated
Использование турелей|Мы продолжаем изучать скриптинг, и сегодня речь пойдет о турелях, а точнее о режиме турели.|wmysterio|wmysterio||||Что это значит? Думаю в оригинальной игре вам предоставлялись шансы пострелять как бы с места пассажира: по-центру появляется прицел и можем стрелять. Например: в миссии Зеро нам нужно было сбивать самолётики миниганом. Мы не могли сдвинуться с места, но могли вращать оружие и стрелять. Такой режим принято называть режимом турели ( от слова turret ). Вот как выглядит этот режим:
Знакомо, правда? Давайте рассмотрим опкоды для работы с турелью:
Данные опкоды позволяют использовать турель на машине.
Здесь: $PLAYER_ACTOR - хэндл актёра $CAR - хэндл машины, к которой будет прицеплен режим -0.2 0.5 0.0 - определяется позиция, с которой можно будет вести обстрел. Эти координаты берутся относительно автомобиля. Мы поговорим об этом ниже position 0 - выбирается позиция. Я точно не знаю что именно имеется ввиду под словом "позиция", поэтому используйте число указанное в опкодах shooting_angle_limit 0.0 - определяется лимит поворота на определённый угол with_weapon 0 - указывается номер оружия, с которого будет вестись обстрел shooting_angle 110.0 70.0 - Указывается лимит углов поворота. Первое число - поворот по горизонтали. Если поставить 360.0, то можно стрелять вокруг всей тачки. Второе число - поворот по вертикали ( вверх/вниз ). Советую так оставить число 70.0, так как если поставить число больше игра может вылететь. Советую вам использовать опкод 06A7, с ним у меня проблем не возникало, а вот с другим были проблемы с номером оружия
Так же есть возможность прицепить режим турели к объекту:
Здесь: $PLAYER_ACTOR - хендл актёра $OBJECT - хендл созданного объекта -0.2 0.5 0.0 - определяется позиция, с которой можно будет вести обстрел. Эти координаты берутся относительно объекта, на котором будет турель 360.0 - угловой лимит по горизонтали 38 - номер оружия, с которого будет обстрел
Что бы выйти с режима турели используется опкод:
Увы, я не нашел опкода, который позволит ходить с турелью. Если я что нибудь разнюхаю, выложу сюда. Если игрока поставить в режим турели, то он не будет передвигаться, а будет следовать за автомобилем или объектом.
Давайте рассмотрим координаты относительно объекта ( оффсеты ) "offset_from_object 0.0 0.0 0.0". Допустим в нас есть объект-звезда. Так и или иначе в неё есть перед ( место, куда "смотрит" объект ). Назовём это место "перёд объекта". Естественно у объекта есть центр. Это будет точка. На рисунке она обозначена красным цветом.
Эта точка имеет координаты 0.0 0.0 0.0. Если мы будем увеличивать только первое число, то оффсет переместится в сторону "перёд объекта":
Если мы будем уменьшать значение и уйдем в минус, то оффсет передвинется в противоположную сторону, то есть, как бы это интересно не звучало, в з"ад объекта" )))
Редактирование первого числа позволяет сдвигать оффсет по желтой линии на рисунке. По зелёной линии мы сможем смещать оффсет влево ( второе число положительное ) или вправо ( второе число отрицательное ) от объекта:
Третье число указывает высоту смещения от объекта. Если оно положительное, то оффсет сместится вверх. Если отрицательное - сместится вниз. Для примера, оффсет "5.0 -5.0 0.0" будет в этой точке:
Самое главное, что координаты ведутся относительно объекта, то есть нам ничего другого вычислять не надо. Объект может быть где угодно и под любыми углами - за нас всё уже сделано! :)
Что касается оффсета автомобиля, то там есть отличия:
Первое число - движение влево ( отрицательное число ) / вправо( положительное число );
Второе число - движение назад ( отрицательное число ) / вперед ( положительное число );
Третье число - движение вниз ( отрицательное число ) / вверх ( положительное число );
Как по мне, то такой вариант намного лучше, чем с объектами. Почему разработчики сделали для каждого класса свои оффсеты - не берусь предположить :) С оффсетами вроде разобрались. Переходим к скриптингу. Давайте напишем скрипт, что бы нажатии кнопки T`, СЖ помещался в режим турели и он мог стрелять с минигана. Для разнообразия сделаем, что бы СЖ оказался возле какого то транспорта:
Вот скрин:
Выбираем нужную тачку и нажимаем T, помещаемся в неё и начинаем палить во всё подряд! Нажимаем ещё раз <kbd>T
, и выходим с режима турели. Интересный вышел скриптик, который можно и в миссию запихнуть ;)
Что касается других актёров, то их тоже можно ставить в режим турели. Они просто будут стоять на месте и стрелять ( нужно заставить их убить кого то опкодом "05E2" ).
Одно я точно не знаю - нужна ли загрузка нужной модели или нет, но на всякий случаи загружайте ;)|1868|1|0|92582055png
600375
400250``\|15433893
png473
486399
410\|63004922`png`473`486`399`410
|44693461png
473486
399410``\|69616219
png473
486399
410\|25373552`png`473`486`399`410
|19110219png
473486
399410``\|50413679
png600
375400
250``||ispolzovanie_turelej|1499697357
влево ( второе число положительное ) 0.0 2.0 0.0 | вправо ( второе число отрицательное ) 0.0 -2.0 0.0 |
---|---|