enemy_az_po_panice_hovno




Инструкция

 

В начале скрипта надо зарезервировать в оперативной памяти места для используемых в скрипте объектов и переменных:

 

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 - переменная, куда считывается время анимации(мск)

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2022-11-01 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: