Инструкция
В начале скрипта надо зарезервировать в оперативной памяти места для используемых в скрипте объектов и переменных:
dim_act 3
dim_frm 4
dim_flt 5
значит что в вашем скрипте м.б. максимум 3 актора(с номерами 0,1,2), 4 фрейма (с номерами 0,1,2,3) и 5 переменных (flt[0]... flt[4]).
Каждому нужному номеру актора\фрейма задаются объекты. Для этого есть спец.командыfindactor и findframe, например:
findactor 0,"Tommy"
findframe 0,"Tommy"
Деление на акторы и фреймы условно. Просто часть команд работает с акторами, другая - с фреймами объектов(есть и смешанные). Актор - более узкоспециализированная ипостась объекта, чем фрейм. Актор работает как правило с данными из дефинишена(типа) объекта; фрейм - с объектом лишь как с моделью.
Многие команды допускают писать на месте номера актора\фрейма "-1"(иногда "100"), - это значит что имеется в виду сам объект(скрипт или чел). Или на месте лейбла стоит "-1", - это означает просто переход на след.строку.
Для назначения значения переменной, используется команда let, например:
let flt[ 0 ]= 10
let flt[ 1 ]= 30
Алфавитный список скриптов:
Другое
{ down
}
Если { down была выполнена, после возвращения из эвента управление передастся на следом идущую (или первую в файле?) }, точнее после неё.
{ up
}
Если { up был выполнен, после возвращения из эвента, управление передастся под этот { up.
<|>???
A
act_setstate xx, active|inactive|off
cменить состояние актору xx. Не работает с машинами.
xx - номер актора
active - актор действует
inactive - актор не действует(отключается дефинишен)
off - удаление актора?
actor_adddorici xx //taxi_pas
???
xx - номер актора
|
actor_delete xx
удалить актор хх
xx - номер актора
actor_duplicate xx, yy, zz // есть в mise07Bchuligani
cоздать копию актора xx и присвоить ему номер yy. Печально, но дефинишен чела(характеристики+скрипт) не копируется, а копируется только номер типа, и чел получается трусом. Также, похоже что скрипт-объекты не копируются. Команда идеальна лишь для машин.
xx - номер актора.
yy - новый номер актора.
zz -?? (0\1) пишите 0, иначе объект получится без дефинишена.
actor_setdir xx, yy
задать направление актора передом к фрэйму yy
xx - номер актора.
yy - фрэйм для направления
actor_setplacement xx, yy
переместить актор xx во фрэйм уу
Прим.: если Томми в стойке с кулаками сетплейснуть, он не может руки сам опустить.
xx - номер актора
yy - номер фрэйма
actor_setpos xx, yy //есть в mise17mesto
переместить актор xx во фрейм yy (здесь не берется ротация фрейма).
xx - актор
yy - фрейм
Actorlightnesson x,y
команда плавно меняет яркость акторов на значение Y, когда те попадают в баундинг бокс актора X
actorupdateplacement xx // есть в mise18pristav
обновить место актора (полезно при вращении фрейма объекта)
xx - актор
airplane_isdestroyed xx, yy
если хвашистский самолёт xx уничтожен, тогда flt[yy] будет равно 1
если он пока летает, тогда оно равно 0
xx - номер актора
yy - считываемая переменная
airplane_start xx, yy, zz
запустить самолёт или другую летающую хренотень под номером xx
в навигационную точки yy со скоростью zz.
Сначала самолет перемещается в нав.точку, и следом - по маршруту.
хх - актор летающего аппарата
yy - особая навигационная точка (не путать с номером фрэйма)
|
zz - скорость?(км\час)
airplane_start2 xx
запустить самолет. Также нужны спец.навиг.точки из check.bin-а. Во фрирайде игра виснет.
хх - актор самолета
airplaneshowdamage xx, yy
показывать повреждения самолета хх(Миссия 16)
хх - номер актора
yy =1, тогда показывать
yy =0, нихрена не показывать
autosavegame nnnn,mm
Автосохранение ID номер (в каждой миссии присваивается свой номер для последующего сохранения)
nnnn - номер сохранения(он же и id текст-строки в text_db, которая определяет текст в лоад-меню)
mm -?
autosavegamefull nnnn,mm
Автосохранение ID номер (в каждой миссии присваивается свой номер для последующего сохранения)
nnnn - номер сохранения(он же и id текст-строки в text_db, которая определяет текст в лоад-меню)
mm -?
B
beep //есть в mise14parnik
?
[BREAK]
???
bridge_shutdown xx, yy
мостовая команда
xx - актор моста
yy - значение
1 – разрешить работу моста
0 – запретить работу моста(схлопывается)
C
Call
Звонок?
callsubroutine "имя инит-скрипта"
обращение к инит-скрипту?
???запустить подпрограмму
название подпрограммы?
camera_getfov xx
найти тек. угол обзора камеры
xx - считываемая переменная
camera_lock xx
заблокировать камеру во фрейме хх
Прим: камера будет заблокирована пока не будет команды camera_unlock
xx - номер фрэйма
camera_setfov xx
задать угол обзора камеры
xx - угол (в градусах, м.б. flt)
camera_setrange [xx,] yy //в dif20x.chg //dif12a2.chg -???
изменить расстояние видимости
xx – мин расстояние в метрах?
|
yy – макс расстояние в метрах
camera_setswing xx, yy, zz
эффект живой камеры(движения)
?
Camera_unlock
pазблокировать камеру
car_breakmotor xx, yy
cделать чтобы у машины хх сдох мотор(когда кончился бензин к примеру). При попытке завести – неудачное срабатывание(при этом фары успевают моргнуть).
xx - актор машины
yy - значение
0 - отпустить с миром
1 - пофиксить движок
car_calm xx
это чтобы машина, которую только что переместили, достала колёсами до земли.
xx - актор машины
car_disable_uo xx, yy, zz //есть в mise02Ataxi
блокирование посадки в машину хх (отключается значек действия на двери). Частный случай car_enableus. По-умолчанию неблокировано.
Прим.: если во время блока томми сидит в тачке - блок снимается автоматом.
xx - актор машины
yy - номер сиденья (0 = водила, 1 = переднее сиденье, 2 = заднее левое, 3 = заднее правое)
zz - значение (0 = блок., 1 = неблок.)
car_enableus xx, yy
возможно ль юзанье машины хх. Имеется в виду посадка в авто(выйти можно в любом случае). По- умолчанию - возможно.
xx - актор машины
yy - Значение
0 = Выкл.
1 = Вкл.
car_explosion xx
взрыв тачки
xx - актор машины
car_forcestop nn
резкая остановка с выключением движка. Встроенный car_repair(нахера хз, сабаки)
nn - актор машины
car_getactlevel (xx,yy)
Должно находить тек.левел форсажа тачки
xx - актор машины
yy - счит. flt
car_getmaxlevels (xx,yy)
Должно находить имеющееся кол-во форсаж-левелов тачки
xx - актор машины
yy - счит. flt
car_getseatcount xx, yy
находит количество свободных мест в тачке
xx - актор авто
yy - считываемая переменная количества свободных мест (0...4)
car_getspeccoll хх
найти спецкузов спец.грузовика(не совсем понятно - зачем)
xx - актор грузовика
car_getspeed xx, yy
найти скорость авто хх
xx - актор авто
yy - считываемая переменная (в км\час)
car_invisible xx, yy
сделать машину неосязяемой(откл. ей клиппинг)
xx - актор авто
yy - значение
0 = есть столкновения
1 = нет столкновений
car_inwater xx,yy
проверяет, утонул ли проклятый драндулет
xx - актор авто
yy - значение (1 - утоп, сволочь; 0 - живой, гад)
car_lock xx, yy
заблокировать движок авто. Если в данный момент тачка движется, то это сработает при первой же остановке.
xx - актор авто
yy - значение (0\1)
car_lock_all xx, yy
то же, но в случае движения тачки она останавливается мгновенно, и нельзя выйти из нее.
xx - актор авто
yy - значение (0\1)
car_muststeal xx, yy
устанавливает, должен ли ты вскрывать замок тачки или просто можешь сразу открыть дверь и сесть.
xx - актор авто
yy - значение (0\1)
0 - сел и поехал
1 - придётся взламывать
car_remove_driver xx
освободить машину от выполнения команды типа enemy_car_moveto и enemy_car_escape.
Прим.: Этак команда не вытаскивает из авто водилу, а просто отменяет команду тачки;
команда должна писаться в не в том скрипте, в котором ее отменяемое действие!(в общем случае, можно писать ее, наверное, и в данном скрипте, но в спец.евенте)
xx - актор машины
car_repair xx
починка авто xx. При этом авто становится на колеса, если была в ином положении.
xx - актор авто
car_setactlevel xx,yy
xx - актор машины
yy - назначаемый левел
переключает форсаж-левелы тачки(если левела не находит то ниче не делает?). Левел1(дефолт-настройки) имеет номер 0.
car_setaxis xx \\есть в экстриме, mise06mesto
???аксисы вроде и так работают если есть
xx - актор авто
car_setdestroymotor xx, yy
сломать мотор у авто хх. Появляется дым из мотора?
Задний ход работает нормально; при жатии газа вперед периодически блокируются ведущие колеса(как при исп. ручника), сбрасываются обороты движка.
xx - актор авто
yy - значение
0 == Починить движок
1 == Разбить движок
car_setdooropen xx, yy, zz
открыть дверь уу у авто хх на zz процентов
xx - актор авто
yy - номер двери (0,1,2,3)
zz - проценты (0...100, жаль flt не подставить)
car_setprojector ww,xx,yy,zz //есть в 02normancela
задать свойства прожектора машины
ww - актор авто
xx,yy,zz - параметры (15,15,15). Что-то типа размеров по осям(в метрах?).
car_setspeccoll xx, yy
активировать спецкузов спец.грузовика xx
xx - актор спец.грузовика
yy - значение (1=Вкл., 0= Выкл.)
car_setspeed xx, yy
назначить скорость авто хх. Команда "импульсная", т.е. тачка сделает рывок
xx - актор авто
yy - назначаемая скорость в км/ч
car_switchshowenergy xx, yy
разрешить отображение здоровья машины в машинном индикаторе здоровья (см. cardamagevisible)
xx - актор машины
yy -?(1,2,3) 3 - не работает
car_unbreakable xx,yy
сделать из тачки танк (двигатель не повреждается)
xx - актор авто
yy - значение
1 == Вкл.
0== Выкл.
cardamagevisible xx
при посадке в машины показывается индикатор авто-здоровья.
Прим.: это только активация индикатора. Чтоб здоровье отображалось - см. car_switchshowenergy
xx - значение (1=Вкл., 0= Выкл.)
carlight_indic_l xx,yy
включить левый поворотник на авто хх
хх - актор авто
yy - значение (1=Вкл., 0= Выкл.)
carlight_indic_off хх, yy
выключить....поворотники [повортники гасит, мигалки и стопари - нет]
хх - актор авто
уу - значение (1=Выкл., 0=???)
carlight_indic_r xx,yy
включить правый поворотник на авто хх
хх - актор авто
yy - значение (1=Вкл., 0= Выкл.)
carlight_light xx,yy
включить аварийку(мигалки) на авто хх. Не активирует саунд ментовок, зараза.
хх - актор авто
yy - значение (1=Вкл., 0= Выкл.)
carlight_main xx,yy //есть в mise16mesto
включить фары. Работает токо в ночной миссии (или в паре с gamenightmission)
хх - актор авто
уу - Значение (1=Вкл., 0= Выкл., 2=включить еще и тексы освещения дороги)
carlight_main 0,2???
Cartridge_invalidate
??это для денди
change_mission "ssss", "tttt", nn
закончить миссию и перейти к следующей с именем ssss.
ssss - имя миссии(имя папки)
tttt - имя фрейма в ней для позиционирования томми при загрузке
nn -? (-1, 40) стартскорость авты
character_pop xx
найти сохраненные данные о характеристиках чела xx (и загузить их)
xx - актор чела
character_push xx
сохранить данные о характеристиках чела xx (сохранение идет по имени объекта)
xx - актор чела
citycaching_tick \\есть в екстриме, mise15mesto
???
Citymusic_off
выключить музон в городе (в каждом районе свой музон)
Прим.: при исп. команды stream_play музон етот сам отрубается
Citymusic_on
включить музон в городе (в каждом районе свой музон)
Cleardifferences
удалить все объекты, загруженные командой loaddifferences
coll_testline xx, yy, zz, ww, nn //есть в mise18mesto
coll_testline - проверка пересечения луча с коллизией.
пускаем луч, получаем:
- столкнулся ли луч с чем? да/нет
- позиция ближайшей коллизии на пути луча (двери тоже считаются, у нпс только какой-то небольшой примитив в области таза)
- нормаль коллизии в этом месте. можно хоть скриптовые дырки от пуль делать
coll_testline xx, yy, zz, ww, uu
xx = результат - есть ли коллизия
yy = вектор начала луча
zz = ненормализованное направление луча (rayOrigin - rayDest) типа "стреляем" в направлении точки 2 но не перелетаем дальше
ww = результат (вектор) - позиция первого столкновения луча с коллизией
uu = результат (вектор) - нормаль первого столкновения луча с коллизией
commandblock nn
между строками commandblock 1 и commandblock 0 команды имеют приоритет выполнения(т.е. выполняются быстрее чем обычно).
Недопустимо иметь commandblock 1 перед командами, ждущими своего завершения(как правило, - команды следования авто\чела), а также перед саунд-командами(например, stream_play), плейанимациями, вейтами и пр.
compareactors xx, yy, zz
сравнивает два актора; и если они это один и тот же объект, то возвращает единичку. Сравнение ведется по имени объекта(примечательно, что траффик-машины имеют собственные(правда, неизвестные нам) имена).
xx - актор1
yy - актор2
zz - считываемая переменная (1= true, 0= false)
compareframes xx, yy, zz
сравнивает два фрэйма и если они - это один и тот же фрэйм, то возвращает единичку. Cравнение ведется так же по именам объектов.
xx - фрэйм1
yy - фрэйм2
zz - считываемая переменная (1= true, 0= false)
compareownerwith xx, yy, zz // есть в mise19mesto
сравнить текущую тачку томми с тачкой xx, если это одно и то же - переход в лейбл yy, иначе - в zz
xx - номер актора тачки для сравнения
yy - труйный лейбл
zz - фальсевский лейбл
compareownerwithex ww, xx, yy, zz
проверить, сидит ли чел ww в тачке xx или нет.
Если актор ww в машине хх мы можем перенестись в другой Label zz если значение true
или мы переходим в другой Label zz при значении false
ww - актор проверяемого чела
xx - актор авто
yy ==Label в который переходим при значении true(выполнено)
zz == Label в который переходим при значении false(невыполнено)
console_addtext nnnn
Добавляет белый текст nnnn в консоли
nnnn == ID текста
create_physicalobject ww, xx, yy, zz
создать физический обьект (клиппинг для фрейма по типу коробки). Данный клиппинг не взаимодействует с движущимися авто. На объекте(на его полигонах) остаются дырки от пуль.
Прим.: если фрейм находится над местным клиппингом, то объект падает на него. Если он частично находится под клиппингом, но лок.ось объекта всеж находится над ним, то он выталкивается на поверхность(если yy при этом указать большим, то объект улетит в небо хехе). Замечательная команда для определения коорд.Y местной клипп-поверхности. Максимум может клиповаться 30 фреймов зараз, иначе пойдет перезапись и клипинг первых фреймов пропадет. При этом фреймы отресторят свое положение
ww - номер фрэйма объекта
xx - будет ли отталкивание от местного клиппинга(1,0)
yy - клиппинговый push-factor (сила отталкивания), если указать "-1", то объект упадет на клиппинг ровно
zz - задаваемая масса
createweaponfromframe ww, xx, yy, zz
создать оружие хх во фрэйме ww.
кароче креатвеапон создаёт юзалку в указанном фрейме
када берем ствол тот фрем исчезает, и в руках появляется оружие указанное в команде
хотя хуй знает.. в одном фрейме можно создать сразу многа оружий(может фрейм сетонится).
Скорее всего команда создает во фрейме юзабельное оружие и сетонит искомый фрейм.
ww - фрэйм в котором появится оружие
xx - номер оружия смотрим в Оружейном листе
yy - патронов в магазине
zz - патронов всего
ctrl_read xx, yy
смотрит, нажал ли игрок кнопку yy. Если да - то значение переменной xx равно 1, иначе - 0.
xx - переменная куда записывается значение
yy - название кнопки см. командный лист
ctrl_readex xx,yy
то же?
xx - переменная куда записывается значение
yy - название кнопки см. командный лист
D
[DAN_DEBUG]
???дебуггинг данов?
Dan_internal_1
активация секрета1(стрельба по мостбудке)
Dan_internal_2
активация секрета2(кр.тачка под мостом) или наоборот короче.
Debug_getframeinfo
???вывести(на экран чехпроги) инфу о фрейме
[DEBUG_ME]
???активация дебуг-режима
[DEBUG_STOP]
???завершение дебуг-режима
debug_text "ssss"
проверочная команда, выводящая текст в спец.окно проги разрабов.
destroy_physicalobject xx
уничтожить физический объект (отключить его клиппинг как физ.объекта)
xx -фрейм объекта
Detector_createdyncoll
создать фрейму скрипта(если он висит на модел_объекте) взаимодействие с пулями(остаются и дырки от пуль)
Detector_erasedyncoll
ну и убрать взаимодействие с пулями
detector_inrange xx, yy
xx - возврат количества челов, которые одновременно находятся в зоне действия детектора(причем челы должны быть не c 0, 1 и 128 бехавиором)
Работает только в скрипт_акторах(тип 05)
xx - считываемая переменная
yy - расстояние от детектора
---
24AE 1E00 0000 01 00 0000 0001 0000 0000 - BSV
24AE 1E00 0000 01 01 0000 0001 0000 0000 - DC||ED
Я не знаю что это за параметр, но при 00 inrange не работает. Проверено. 100%.
detector_issignal xx, yy, zz
проверяет, какой сигнал имеет скрипт xx. Если "1" - переход в лейбл yy; "0" - переход в лейбл zz
По-умолчанию сигналы всех скриптов = 0
Прим.: работает только с объектами 5 типа (scripts)
xx -актор скрипта, сигнал которого проверяем
yy == label to jump to if condition is true
zz == label to jump to if condition is false
detector_setsignal xx, yy
назначить сигнал скрипту xx
xx - актор скрипта
yy - назначаемое значение (0\1)
Detector_waitforhit
ожидание физического воздействия на фрейм данного скрипта
detector_waitforuse [nnnnnn][,mm] //есть в mise11vezeni
ожидание воздействия кликом (прав.мышка) на фрейм данного скрипта
nnnnnn - id текста, который появляется при юзании детектора
mm - номер flt? (1)
dialog_begin xx, yy
направляет камеру на два актора xx и yy(из-за плеча чела xx?)
dialog_camswitch xx, yy
переключает камеру с актора xx на актор yy
Dialog_end
возвращает камеру на место
dim_act nn
dim_frm nn
dim_flt nn
резервирование в памяти мест для акторов, фрэймов и переменных соотв.
например, dim_act 1 означает что в вашем скрипте может использоваться актор с номером 0 только.
disablecoll s xx
уничтожить триклезовский клиппинг (работает только с клипами с матрицами(роткуб\рестангла)).
xx - фрейм объекта
door_enableus xx, yy
назначить доступность двери (активна\нет). Типа будет ли появляться индикатор действия. Не мешает работе скрипта(см. door_open).
xx - актор двери
yy - значение (1 - юзабельная, 0 - неюзабельная)
door_getstate xx, yy
найти текущее состояние двери
xx - актор двери
yy - считываемое значение(0,1,2,3)
0-открыта
1-закрыта
2-открывается
3-закрывается
Прим.: На основе 2 и 3 можно написать скрипт, считывающий время откр\закр двери(а прямой команды нету).
И если угол открытия считать константой(пи/2), то следом можно рассчитать и дефинишеновские скоростя(а то прямой команды так же нету).
door_lock xx, yy
заблокировать дверь xx. Этот же параметр есть в дефинишене.
xx - актор дверки
yy - значение (1 - блокировать, 0 - разблокировать)
Прим.: если дверь залочена, то ее не сможет сдвинуть даже скрипт(см. door_open).
Проверочных команд нет, но можно проверить через door_getstate (были ли состояния 2 или 3 в ожидаемый момент)
door_open xx, yy
открыть дверь
xx - актор двери
yy - значение (1 - открыть, 0 - закрыть)
Прим.: если дверь заблокирована, то сработает саунд3. если дверь уже в данном состоянии, то команда не срабатывает.
door_setopenpose xx, yy
открыть дверь хх на уу процентов
xx - актор дверки
yy - значение (0...100)
E
Прим.: команды типа "enemy_... "работают только в скрипт-объектах, имеющих 27 тип (enemy-definition)!
Исключения: enemy_forcescript, enemy_(un)block...(а также где есть номер актора; м.б. есть и еще).
emitparticle xx,yy[,zz] //есть в mise04motorest
создаёт эффект (взрыв, дым, деньги, какашки)
хх - фрэйм в котором надо эффект
уу - номер эффекта, смотреть tables/EFFECTS.txt (правда там по-чешски, но вы же чешский знаете)
zz - номер эффекта в скрипте(для команды stopparticle). Тип данных – переменная(!)
enablemap nn
Включить возможность юзать карту.
0 == Выкл
1 == Вкл
End
стоп-скрипт
endofmission xx, nnnnn[,"mmmmm"] //есть в mise04krajina
закончить миссию и написать текст (пример ВЫНАРУШИЛИ ЗАКОН)
xx - спецметка: если = 1, то игра завершается с переходом на титры разработчиков; так что ставьте 0:)
nnnnn - id текстовой строки
mmmmm - еще текст?
enemy_action_backlook yy
Рендомно крутится на месте. Команда сама не завершается.
yy -? (время мск?)
enemy_action_fire xx[,yy]
атакует нехорошего человека хх пока не убъет(ся). Если бехавиор1 не позволяет,то стрелять не будет.
xx - актор для нападения
yy - предельное расстояние стрельбы
enemy_action_follow xx, yy[, zz, ww(1, 4)]
следовать за актором xx. Команда сама не завершается, отменяйте enemy_forcescript-ом.
xx - актор
yy - расстояние, на которое хозяин скрипта будет подходить к тому, за кем он следует(м.б. переменной?)
zz + ww == Дополнительные команды
CLOSE ==???Конец
TARGET ==???Цель
NONEXT == Безвыходная ситуация?
NOLINK== Актор не садится в авто
RETURN== Повторить действие команды??
CROUCH == садиться на корточки, если xx сядет
Enemy_action_jump
??? Прыгающий гангстер?
enemy_action_phonecall xx
Враг бежит звонить по телефону(мент вызывает подмогу по автомату, при этом появляется красная надпись "предупреждение всем постам").Если будка далеко, то через некоторое время(или дистанцию пробега?) команда отменяется.
xx - номер будки(непонятно откуда берется; 12 - будка на пристани), м.б. flt(?)
enemy_action_runaway xx, yy [,zz]
чел убегает от актора xx на расстояние не менее yy. Команда сама не завершается.
xx == страшный дядька
yy == дистанция убегания
zz == дополнительный параметр (Return)
enemy_action_runcloserto xx[, yy, zz])
подбежать к актору xx на расстояние yy метров. Получается аналог следования за актором. Команда сама не завершается.
enemy_action_sidelook xx, yy
повернуть голову на актор xx и пялиться на него yy милисекунд, после чего команда завершает действие. Если xx стоит позади то чел не может на него посмотреть и просто ждет завершения команды.
xx - актор для лупа
yy - время пяления
enemy_action_stepaway xx[,yy]
отойти на пару метров от актора xx и завершить действие.
Enemy_action_strafe
???типа смещаться влево-вправо? Два-три параметра.
Enemy_actionsclear
отменяет текущее действие носителя скрипта, например, чтобы он прекратил преследовать того, кто давно уехал (непонятно в чем разница от enemy_forcescript, кроме того что данная команда м.б. использована искл. в енеми-типе(может, она отменяет только команды типа enemy_action_...); частенько можно видеть обе команды рядом).
Enemy_arrest_player
чтоб енеми побежал арестовывать Томми, причём если полиция начнёт стрелять, он тоже в стороне не останется; свистит в свисток, выкидывает томми из тачек; начинает стрелять в ответ. Похоже это команда именно для ментов. Включаются наручники(во фрирайде они мигают, - экзешн.мен.скрипт пытается их отключить, очевидно фильтруя значение get_pm_numpredators).
Команда не пропускает управление дальше, пока не завершит свое действие.
Макс.дистанция шоб чел начал бежать - метров 100(150?),иначе он ждет; при расстоянии в 200 метров чел прекращает преследование и стоит дрочит, наручники гасятся экзешн.мен.скриптом (тупенько сделано, т.к. команда при этом так и не завершается...
Хм, иногда получаются невоспроизводимые результаты, похоже все несколько сложнее; самое непонятное, что чел иногда умудряется звонить в ближ.тел.будку(м.б. это происки экзешн.мент. скрипта(чел также у меня имел модель pol01.i3d), но в любом случае, команда enemy_action_phonecall не может работает не в его скрипте,хм2).......
enemy_az_po_panice_hovno
назначить какое-то поведение енеми. Неужто обосраться со страху?)
Enemy_blastfire
позволяет стрелять дуплетом из лупары
Enemy_block
Интересная команда. Блокирует действия всех активных челов в неком радиусе от томми(метров 200). Челы при этом остаются в конечной точке своих текущих анимаций.
В случае с активными ментами: наезд на мента не выводит его из данного состояния(хотя он отпрыгивает), а вот стрельба по нему - да(вероятно срабатывает спец.евент hit_from_player в его скрипте). Команда не отменяет следование авто(если в момент блока менты преследуют томми на машине; но сами менты блокируются).
Команду можно писать в любом скрипте. Отмена - enemy_unblock.
enemy_block_checkpoint nn //есть в mise03morello
заблокировать енеми, который имеет неосторожность оказаться в навиг.точке nn?? Отмена - enemy_unblock, вероятно.
nn - навиг.точка? (20)
enemy_box_goto xx[,yy]
подойти к грёбаной коробочке номер xx
yy == как близко подойти
Enemy_box_put
положить коробочку, (которая в руках ессно)
enemy_box_take xx
взять коробочку xx
Enemy_brainwash
запрет челу паниковать
enemy_car_escape tt, uu, vv, ww, xx, yy, zz
машина tt убегает во фрэйм vv. Управление дальше передается только после завершения работы команды (достижения машиной заданного фрейма). Вследствие этого данную команду нельзя использовать между commandblock. Чтоб отменить ее выполнение см. car_remove_driver.
tt - актор авто
uu - актор чела, от которого убегает (м.б. самим водилой)
vv - фрэйм в который едет авто
ww -? Вроде че делать, когда авто натыкается на препятствие (-1, NONSTOP) - имя лейбла?
xx - минимальная скорость движения
yy - максимальная скорость движения
zz - ускорение (оптимальное 0.5-0.7)
enemy_car_hunt xx, yy, zz[,nn,mm]
машина xx следует за актором yy. Команда выполнятся сразу (не ожидая окончания своего выполнения) и передает управление дальше. Меняет цвет авто на красный на радаре.
Машина следует за обновляевым фреймом актора. В момент, когда актор стоит и машина доезжает до него, команда завершает свое действие.
xx - актор авто
yy - актор того, за кем следовать
zz - другие опции
sledovani - мирно следовать (стоит по умолчанию)
bokovka - обгоняет и прижимает к обочине
robertek - таранит в жопу
zpet ni krok - становится спереди
enemy_car_moveto xx, yy[, zz]
cледование машины в заданный фрейм. Управление дальше передается только после завершения работы команды(достижения машиной заданного фрейма; похоже что тачка останавливается в паре метров от фрейма, если конечно скорость невелика,.. это удобно если в качестве фрейма - чел(она его не раздавит лол)).
Данную команду нельзя использовать между commandblock. Чтоб отменить ее выполнение см. car_remove_driver.
Прим.: это команда для машины, а не для чела, но тем не менее ее писать надо в скрипте чела, который сидит в этой тачке(можно и не на месте водилы). Если команда находится у водилы, то имеет смысл вписать в него event death и car_remove_driver, чтоб тачка останавливалась если он умрет.
xx - актор авто
yy - фрэйм, в который стремится авто
zz - другие опции
natvrdo ==едет до первого препятствия и останавливается
stopvzad==Обьезжает препятствия
vzad == Едет задом (Вот экстремал)
stop==Едет по правилам пока не доедет
enemy_changeanim "ssss.i3d", "tttt.i3d"
заменить анимацию ssss на tttt. Для замены дефолт.анимаций, например, ходьбы и пр.
ssss - исходная анимация (название)
tttt - новая анимация (название)
enemy_enter_door (xx, yy)
Враг входит в дверь (вот и смерть пришла)
(xx – актор двери)
Но лучше использовать enemy_move_to_frame, типа он и так через дверь пройдёт.
Enemy_exit_railway
выйти енеми из метро/трамвая
enemy_followplayer yes|no
следовать за Томми
enemy_forcescript nn
отменяет все текущие действия чела(по аналогии с car_remove_driver). Примечательно(и правильно), что команда имеет номер актора енеми, что позволяет использовать ее не только в его скрипте.
nn - актор енеми
enemy_gethostilestate xx, yy
смотрит, что делает челобучек нумер xx и записывает номер действия в flt[yy]
xx - номер актора
yy - значение flt[yy] см. Статический лист
enemy_getstate xx, yy
не понятно, чем отличается от enemy_gethostilestate
xx - актор чела
yy - значение flt[yy] см. Статический лист
enemy_group_add xx, yy[, zz]
добавляет чела xx в группу yy. Номер группы - переменная(!). Нахождение чела в группе заставляет его реагировать на воздействия Томми на любого ее члена. Но то КАК он будет реагировать зависит от его скрипта, а прежде всего от его собственных характеристик.
xx - номер группы
yy - добавляемый актор
zz -? (0.6, RECEIVE, CAST, (UNLOCK?))
enemy_group_addcar xx,yy[,zz]
добавить машину yy к группе xx
xx - номер группы
yy - актор авто
enemy_group_chcipni_hajzel xx, yy //есть в mise12mesto
установить какое-то поведение группе(.._.._вырубить_козла:))?
xx - номер группы
yy - актор бедного Томми
enemy_group_del хх[,yy]
удалить группу xx
хх - номер группы
enemy_group_new nn
создать группу
nn - номер новой группы (распознается как переменная). При использовании группы сначала вот создайте ее.
enemy_ignore_corpse //есть в mise15mesto
енеми игнорирует трупы?
enemy_kickdriver xx
чел подойдёт к машине, где сидит гражданин xx и вежливо вышвырнет его к чёртовой матери из машины прямо в грязь...вот так.
enemy_lockstate nnnn[,(0.0, 0, 1, 2, 3, 5, 10, 15, 20, 40...)] //mise13restaurace
назначает определённое поведение челу (навсегда, в отличие от enemy_setstate?)
nnnn - поведение, см. Статистический лист (писать буквами!!)
enemy_look nn
уставится с глупым видом на актор nn
nn - актор
enemy_lookto nn
енеми смотрит на навиг.точку nn
nn - навиг. точка (не фрейм!)
enemy_move xx[, yy]
енеми идёт в особую навигационную точку на карте (не путать с фрэймом опять же!)
xx - номер точки (м.б. переменной!)
yy - доп. параметр:
run ==Враг бежит (Беги Лола беги)
(walk == Враг идет (устал))
enemy_move_to_car xx, yy[, zz]
враг идёт к тачке, но пока не садится.
Команда не пропускает управление дальше пока не завершится. Если авто движется со скоростью>20км\час, то чел останавливается и ждет.
xx - актор авто
yy - номер дверцы, к которой подойти
0 == Водила
1 == Передний пассажир
2 == Задняя левая
3 == Задняя правая
zz - доп. параметр:
run - Бежит к авту
enemy_move_to_frame xx,yy[, zz]
враг идет во фрэйм.
Команда не пропускает управление дальше пока не завершится.
xx - фрэйм куда идет враг
yy - дистанция от фрейма, на которую к нему подходит енеми
zz - доп. параметр:
run - бежит
enemy_naprdelivaute yes/no
разрешение челу перемещаться по салону авто при перестрелке (по умолчанию отключено?)
enemy_narohysevyser // есть в mise19banka, mise17vezeni
ожидающая команда? чел ожидает появления Томми?
enemy_naserse nn[, mm]
враг реагирует на внешний раздражитель, только если до раздражителя не более nn метров
nn - имеется виду не расстояние, а номер актора или фрейма который раздражает, бесит. Например, актор Поли из миссии 09-04
[mm] - как раз и есть расстояние до раздражителя
enemy_nevyhazuj //есть в mise16letiste
???запрет выхода из текущего сектора?
enemy_playanim "ssss"[, nn, 1(или LOOP или single(SIMPLE))] //есть в mise11vezeni
Анимация врага "ssss"
ssss - название анимации.i3d
nn - переменная, куда считывается время анимации(мск)