Перейти к содержимому


Фотография
* * * * * 3 Голосов

Категория:GTA 2


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 27

#1 Esparo

Esparo

    Участник

  • Пользователи
  • PipPip
  • 12 сообщений
  • Пол:Мужчина
  • Город:Москва

Отправлено 19 January 2012 - 13:23

Это тема для обсуждения статьи: Категория:GTA 2


Итак..Я рад хотя бы тому, что вы читаете этот текст, а любопытство взяло верх. Так научимся делать карты на GTA2 со своим сюжетом!

Стоит заранее учесть, что делать мы карту будем не на массовую аудиторию, а на таргет груп. На тех самых непоколебимых людей, которые еще помнят что же такое драйв gta2. Мэппинг в этой области не так популярен, нежели на попсовые игры, начиная хотя бы с того, что нигде нету описания - а как собстно мэпить то? Конечно я попадался на пару левых статеек, но они были настолько левые, что сделать что-либо по инструкциям, данным там, было практически невозможно. По скриптам не было найдено вообще ничего.

Я попытаюсь(!) научить вас что-нибудь сделать, имея в наличии мозги, прямые руки, GTA2 и пару редакторов. Очень неплохо если вы знакомы с программированием. Начнем с общего устройства файловой системы GTA2. Все что нас интересует - находится в папке GTA2\data. Можно увидеть следующее:

nyc.gci - Описание характеристик и свойств автомобилей.
wil.sty - Графика, тайлы и текстуры Downtown. (1 город)
ste.sty - Графика, тайлы и текстуры Resinditial. (2 город)
bil.sty - Графика, тайлы и текстуры Industrial. (3 город)
test1.seq - Указания для игры, какую карту, style, скрипт использовать для того или иного района.
*.gmp - Карта. Просто карта. 256x256.
*.src - Скрипт, так сказать программа, по которой карта работает. В нем описывается место старта игрока, все объекты, миссии, свойства района, банды и т.д.
*.mmp - Файл типа test1.seq, только с описанием для мультиплеерной игры. Один файл = Одна строка в выборе карты при игре MP.
*.gxt - Тексты игры. Все. Много свободного места, которе мы будем использовать в своих целях.

Что-же нам в общем то нужно сделать, сотворить, построить? Для своей новой игры нам необходимо: создать свой name.gmp, написать и скомпилировать скрипт name.src, прописать в test1.seq свои файлы. При необходимости в текстах - добавить их в r.gxt, а для мультиплеерной игры - создать еще и name.mmp. Легко? Вполне;)
Вся информация взята с сайта http://www.gtamp.com
Прикрепленный файл  1231755718_presentation.gif   36.71К   7 загрузок


Редактор карт
При первом запуске редактор попросит выбрать файл с тайлами (такими квадратными текстурами). Как я уже говорил, есть три файла со стилями, которые мы можем использовать для наших карт: wil.sty, ste.sty, bil.sty. Давайте выберем wil.sty, краски первого района. Справа появится панелька с тайлами…О Боже! Там ничего нет? Не расстраивайтесь, стоит только нажать на любой из тайлов, как он мигом обрисуется…вся проблема с их отражением в списке кроется скорей всего в самой винде. Ааа…панельки ВООЩЕ нету?.. - View\Tile Selector или Ctrl+T. Постарайтесь обращаться с редактором очень бережно, только тогда он будет вежлив с вами. Например, не включайте галку «Mark Unused Tiles», под списком тайлов, без открытого файла - за каждым необоснованным движением редактор вас посылает найух. Будьте внимательны. Под этой загадочной галкой, смысл которой пока не раскрыт, несмотря на ее лэйбл, расположилось увеличенное изображение тайла и возможные с ним действия, в точности поворот на 90 градусов, отражение слева направо или сверху вниз. Именно таким как он здесь изображен – он наносится на поверхность наших кубиков ...ах, о кубиках. Давайте о кубиках попозже – сейчас главнее зайти в настройки. Если по центру редактора серое поле пикселей – пора бы уже File\New. Это откроет доступ к секретному уровню Tools\Settings.

Startup
Map – Три варианта открытия карты при запуске редактора: открывать последнюю закрытую, открывать новую, и не открывать вовсе.
Autosave – через сколько минут карта сохраняется автоматически в отдельный файл.
Buckups – макс. кол-во бэкапов, хотя на практике выходит во много раз больше...
Background – цвет фона вне самой карты.
Style File – файл стиля (у нас GTA2\data\wil.sty).
Maps Directory – желательно поставить GTA2\data.

Default Tiles
Настраиваются тайлы, применяемые к поверхностям по умолчанию. Т.е. например создали вы дом! Чтобы его было видно – его нужно покрасить текстурами. Вот этими дефолтными текстурами и красятся поверхности при их рождении на карте, для дальнейшей перекраски. Давайте поставим что-нибудь поприличней..
Wall – 412
Roof – 7
Road – 282
Pavement – 64
Field – 841
Water – 608
Light – 624

Default Collisions
Здесь можно выставить у тайлов дефолтные свойства проходимости. По умолчанию все тайлы стоят Wall+Bullet, что означает «Не пройти и не прострелить» - свойство всех стен. У заборов же, можно поставить "Wall”, что добавит возможность стрелять сквозь них. А у фонарных столбов вовсе «None», иначе при езде можно врезаться во весь тайл, а не только в сам столб…такова сущность GTA2, в отличие, кстати, от первой GTA=).

С настройками разобрались – жмем Ок. Для начала работы включим необходимые панельки – View\Block и View\Mode Tools.

Управление камерой и инструментом выделения.
Зажмите правую кнопку мыши в области карты и повертите картинку по осям – почувствуйте камеру. Перемещая мышь с зажатыми правой кнопкой и Shift можно приближать и отдалять камеру. Перемещение камеры осуществляется стрелками на клавиатуре или с помощью комбинации Ctrl+Правая кнопка мыши.
Выделять блоки можно левой кнопкой мыши, а так же комбинациями:
Ctrl+Arrow/Q/A – перемещение выделения.
Shift+Arrow/Q/A – плюс один строй блоков.
Ctrl+Shift+Arrow/Q/A – минус один строй.
Alt+Arrow/Q/A – вырезать и двигать.

Первые шаги
Давайте попробуем создать островок с один зданием и дорогой вокруг. При открытии новой карты, вся поверхность состоит из двух слоев: самого нижнего – воды – и Pavement над ней. Pavement говорит о том, что по этой поверхности ходят пешеходы. Так же есть еще три типа поверхности: Air, Road, Field. На языке редактора, это виды блоков..на практике – виды поверхности сверху блока:) Air – просто воздух, Road – автодорога, Field – поверхность без пешеходов, по которой можно ходить. Выделите блоки 3x2x2, как показано на рисунке:
Прикрепленный файл  mapeditor_1.jpg   43.77К   5 загрузок



Это будет наш дом. Нажмем на кнопочку с нарисованным домиком, она расположена на панельке сверху - Block Bar. Эта кнопка красит блоки дефолтными текстурами, которые мы установили в Default Tiles. Сверху Roof, а по бокам – Wall. Чтобы ходя по крыше нельзя было под нее провалиться как сквозь воздух, поменяем тип верхних блоков на Field. Если вы еще не включили правую панель Block Info – пора это сделать! View\Block Info или Ctrl+B. Сверху вниз на ней расположены:

- Мини-карта
- Форма разреза блока, если таковая имеется.
- Разложение на тайлы
- Тип блока
- Направления движения авто по поверхности блока
- Свойства выбранной выше грани блока

Поменяйте тип верхнего слоя блоков на Field. Текстура осталась та же, т.к. красятся дефолтными тайлами только пустые грани. Кстати, при выборе типа Air, стирается вообще все тайлы, использовать как резинку. Нажмите '2' и увидите карту в окраске соответствующей типу поверхности. Серый – Pavement, Зеленый – Field, Синий – нижний слой воды, Черный – Road, Желтый – Flat-поверхность, частично прозрачный тайл типа фонаря, забора, вывески и т.п., Коричневый – либо стена, либо покрашенная Air-поверхность, сквозь которую вы провалитесь. Удостоверьтесь в том, что вся крыша зеленая.. Чтобы переключиться в обычный режим – '1’. Существуют еще два режима – ‘3’ и '4'. Полезность третьего весьма сомнительна, четвертый режим же показывает карту покрашенную в дефолтные тайлы - полезность тоже весьма не велика… Итак, перейдем в стандартный режим '1'. Пора наш домик покрасить…Карандашик сверху или 'D' включит интструмент нанесения тайлов. Выбираем тайл справа и наносим на поверхность нашего будущего дома)) Вот что у меня получилось.

Прикрепленный файл  mapeditor_2.jpg   46.64К   9 загрузок


Вполне симпатично:) Далее по плану дорога вокруг дома. Меняем поверхность блоков на тип Road. Примерно так должен выглядеть результат:

Прикрепленный файл  mapeditor_3.jpg   77.75К   5 загрузок


Покрасим.

Прикрепленный файл  mapeditor_4.jpg   42.3К   7 загрузок


Теперь зададим движение транспорту. Перейдем во второй режим. Зеленые и красные стрелочки обозначают направление движения транспорта от блока к блоку. Направление весьма не правильное, править естественно ручками. Например на поворотах машины просто съезжают с дороги…


Прикрепленный файл  mapeditor_5.jpg   54.73К   2 загрузок

Изменять направление можно в правой панельке - 'Arrows'. Green означает как нужно ездить, а Red как ни в коем случае нельзя. Исправьте все недочеты с направлениями дороги. Правильный вариант:

jpg]Прикрепленный файл  mapeditor_6.jpg   56.98К   3 загрузок


Хорошо, дороги делать мы научились. Теперь сделаем собственно из этого всего остров. Превратите территорию вокруг в Air, чтобы осталась только вода и закрасьте образовавшиеся пустые бока, как на рисунке.

Прикрепленный файл  mapeditor_7.jpg   51.83К   4 загрузок


Теперь займемся ограждениями! Покрасть боковые поверхности тайлом заборчика, как показано на рисунке:

Прикрепленный файл  mapeditor_8.jpg   46.29К   4 загрузок


Далее выбираем у блоков покрашенный боковой тайл и в свойствах ставим Flat! О чудо – наши черные квадратики стали заборчиками!=) Далее в списке тайлов кликаем правой кнопкой по забору и ставим ‘Wall', для того чтобы можно было стрелять сквозь него.

Прикрепленный файл  mapeditor_9.jpg   53.1К   4 загрузок



Расскажу только про Slope. Slope – это изменение формы блока, по типу спусков, труб и других форм. Зайдите в Slope на правой панельке, там на картинках все наглядно показано, в центре кол-во цифр – это кол-во блоков для спуска/подъема. Например можете сделать трубы на наш дом, или же изменить крышу…а может сделать спуск в воду?

Прикрепленный файл  mapeditor_10.jpg   62.01К   9 загрузок


Создайте зону рестарта, открыв редактор зон в меню Edit \ Zones \ Edit.


Прикрепленный файл  mapeditor_11.gif   10.09К   6 загрузок


Размер зоны должен быть 1x1, в этой локации игрок будет появляться после смерти. Локация рестарта просто необходима для старта карты! Некоторые зоны, под Windows XP и старше, вешают редактор с ошибкой. Будьте бдительны:) Если все-же очень очень нужна какая-нибудь зона, например автобусная остановка, воспользуйтесь прораммой ZoneEditor;)

Последним шагом мы сохраним нашу карту в сжатом формате, понятном для игры - File \ Save Compressed.

Остальные мелкие детали редактора отдаю вам на самостоятельное рассмотрение.
Информация с http://www.gta2info.3dn.ru

Сообщение отредактировал Esparo: 20 January 2012 - 14:37


#2 Sweet

Sweet

    Активный участник

  • Пользователи
  • PipPipPip
  • 418 сообщений
  • Пол:Мужчина
  • Город:Нижний Новгород


Отправлено 19 January 2012 - 14:32

круто!

#3 SILENT_Pavel

SILENT_Pavel

    Активный участник

  • Пользователи
  • PipPipPip
  • 937 сообщений


Отправлено 19 January 2012 - 16:31

Esparo
А есть возможность как-то опустить камеру? Я знаю что это извращение, но уж хочется глянуть как это будет выглядеть.

#4 Esparo

Esparo

    Участник

  • Пользователи
  • PipPip
  • 12 сообщений
  • Пол:Мужчина
  • Город:Москва

Отправлено 19 January 2012 - 20:16

SILENT_Pavel В самой игре незнаю как это сделать, просто даже как то и не думал об этом :) .

#5 Esparo

Esparo

    Участник

  • Пользователи
  • PipPip
  • 12 сообщений
  • Пол:Мужчина
  • Город:Москва

Отправлено 19 January 2012 - 20:28

Основы написания скриптов
В этой небольшой статье я расскажу, как же запустить нашу малюсенькую карту. Предупреждаю, нужны прямые руки и желательны хотя бы самые малые знания в программировании. Для написания скриптов достаточно блокнота, но для компиляции извольте скачать программу miss.exe, официальный компилятор от разработчиков.
Разберем минимум, необходимый для старта. Откройте блокнот и введите в нем следующие строки:

PLAYER_PED player = ( 250.0 , 4.0 , 2.0 ) 25 0
LEVELSTART
SET_DEATHARREST_STATE ( player , ON )
LEVELEND

В первой строке формата
PLAYER_PED playername = ( float X , float Y , float Z ) remap rotation
мы задаем начальные координаты игрока, где:
playername – имя нашего персонажа для дальнейшего использования в скрипте.
X, Y, Z – координаты старта (координаты можно получить в строке состояния редактора, наведя на нужный блок).
remap – номер скина персонажа, все номера скинов есть в справочнике.
rotation – поворот персонажа, измеряется в градусах (0 – юг, 180 - север).

LEVELSTART
Запускает уровень. Все что написано до этой команды – лишь описания и одежда актеров. Считать все что выше – как в программировании – описания переменных.

SET_DEATHARREST_STATE ( player , ON )
Команда, которая выполняется сразу после старта, включает возможность ареста и убийства главного героя, чтобы было не так сладко:)

LEVELEND
Заключающая строка скрипта.

Итак, сохраним данный четырех строчный скрипт под именем mymap.mis. Откройте его программой miss.exe, скомпилируйте – Run\Run Parser. Полученный на выходе scr файл кидаем в папку gta2\data, туда же нашу gmp-карту. Удостоверьтесь в правильности указанных вами в скрипте стартовых координат, а то окажитесь где-нибудь в воде:) Для старта нашу карту необходимо прописать в test1.seq, так что придется скачать seq file. Не поленитесь вeрнуться сюда, как только проверите работоспособность карты и скриптов:) Удачи.

Изображение

:здесь по замыслу автора вы читаете раздел Seq файл:

Теперь мы знаем что к чему и как проверять свою карту, продолжим изучение скриптов. Оружие. Оружие на карте можно разместить тремя способами. Генератором оружия, который обновляет исчезнувший предмет, просто объектом одноразового подбора, и банально дать оружие игроку командой

GIVE_WEAPON ( charname , weapon_type , amount of ammo )
Где charname – кому дать, в данном случае нашему главному герою, имя которого ранее описано в PLAYER_PED, weapon_type – типа оружия, в данном случае базука (весь список можно найти в справочнике), amount of ammo – количество (99 - максимальное).
Sample: GIVE_WEAPON ( player , rocket_launcher , 99 )

Генератор объектов описывается как переменная и создается во время игры, либо до LEVELSTART полностью:

GENERATOR name = ( float X , float Y , float Z ) rotation object-type mindelay maxdelay ammo
Где name – имя нашего генератора, xyz – координаты, rotation – поворот, mindelay-maxdelay – минимальное и максимальное время регенерации (в тысячных секунды), ammo – кол-во выдаваемого наркотика.
Sample: GENERATOR generator_shutgun = ( 217.0 , 48.0 , 2.0 ) 0 collect_06 1300 1300 30

НО! Генератор надо включить, т.к. по умолчанию он выключен:(
SWITCH_GENERATOR ( generator_shutgun , ON )
Вот теперь все:) Полный список объектов можно получить в справочнике.

Так же можно просто положить на дорогу оружие, описав до старта
OBJ_DATA name
И создав объект после старта
name = CREATE_OBJ ( float X , float Y , float Z ) rotation model value END

Но можно еще проще – создать сразу, до старта:
OBJ_DATA name = ( float X , float Y , float Z ) rotation model value

Кстати, таким же макаром с помощью OBJ_DATA создаются и авто-мастерские;) Только вместо model ставится car_shop, а в value тип мастерской, например oilslick_shop.

Авто. Авто можно поставить на обочину двумя способами.

PARKED_CAR_DATA car_1 = ( 247.5 , 2.5 , 2.0 ) 34 90 spider //описывать до старта

или обычным нам способом, как с объектами

CAR_DATA car1
LEVELSTART
car1 = CREATE_CAR (87.9, 118.3, 2.0) 7 180 spider END

или

CAR_DATA name = ( float X , float Y , float Z ) remap rotation model

Где remap – цвет, а с остальным все и так понятно. Весь список авто и красок можно найти в справочнике. Так же авто можно дать сигнализацию. Перед этим авто должно обязательно создано!

GIVE_CAR_ALARM ( carname )

Радио. Максимум можно расположить на карте 4 радиостанции. Описывать до старта.

RADIO_STATION name = radio_type ( x , y )

Список радио можно найти в справочнике. Если кто-то знает зачем указывать координаты радио – обязательно сообщите:) Для меня это остается загадкой.

Количество необходимых для прохождения карты очков можно установить следующим образом:

DECLARE_FINISH_SCORE ( кол-во очков )

Описывается после старта, как команда.

Все эти скрипты являются основными, с этими знаниями можно только и делать что обычные мясные карты:) Но даже зная эти основы, вы никогда не напишите никакого сюжета. Для более подробного изучения следует обратиться к официальному руководству(лежит вместе с miss.exe), где есть полные описания всех команд в игре, а так же изучить примеры разборов.

Seq File

GTA2\Data\test1.seq - это файл, содержащий информацию, какие карты запускать при выборе того или иного района в singleplayer. Максимум - 3 района + 9 бонус карт. Т.е. можно в игру загрузить сразу и Dullswill, и Mini с ботом, и еще что-нибудь, например оставить стандартный район. Примерно это будет выглядеть так (без бонус карт):

MainOrBonus = MAIN //Выбираем будет это район или его бонус
GMPFile = Dullswill.gmp //Имя карты
STYFile = wil.sty //Имя файла с тайлами
SCRFile = Dullswill.scr //Имя файла скриптов
Description = City 1 Map //Номер района
MainOrBonus = MAIN
GMPFile = Mini_M.gmp
STYFile = wil.sty
SCRFile = Mini.scr
Description = City 2 Map

MainOrBonus = MAIN
GMPFile = bil.gmp
STYFile = bil.sty
SCRFile = bil.scr
Description = City 3 Map

С таким test1.seq, в игре первым районом будет Dullswill, вторым Mini с ботом, третьим стандартный, а бонус карт не будет.

Справочник
Справочник содержит расшифровку и списки индетификаторов.


Оружие для персонажей

PISTOL
MACHINE_GUN
ROCKET_LAUNCHER
ELECTRO_GUN
MOLOTOV
SHOTGUN
ELECTRO_BATON
SILENCED_MACHINE_GUN
FLAME_THROWER
DUAL_PISTOL
GRENADE
MICROWAVE


Оружие для авто

CAR_BOMB
CAR_MACHINE_GUN
CAR_OIL
CAR_FLAMETHROWER
CAR_MINE
WATER_CANNON
TANK_GUN
JEEP_GUN


Авто

ALFA
ALLARD
AMDB4
APC
BANKVAN
BMW
BOXCAR
BOXTRUCK
BUG
BUG2
BUICK
BURNT1
BURNT2
BUS
COPCAR
DART
EDSEL
EDSELFBI
F250
FIAT
FIRETRUK
GRAHAM
GTRUCK
GT24640
GT90
GUNJEEP
HOTDOG
ICECREAM
ISETLIMO
ISETTA
JEEP
JEFFREY
LIMO
LIMO2
MEDICAR
MERC
MESSER
MIURA
MONSTER
MORGAN
MORRIS
PICKUP
RTYPE
SKYLINE
SPIDER
SPRITE
STINGRAY
STRATOS
STRATOSB
STRIPETB
STYPE
STYPECAB
SWATVAN
T2000GT
TANK
TANKER
TAXI
TBIRD
TOWTRUCK
TRAIN
TRAINCAB
TRAINFB
TRANCEAM
TRUKCAB1
TRUKCAB2
TRUKCONT
TRUKTRNS
TVVAN
VAN
VESPA
VTYPE
WBTWIN
XK120
ZCX5


Цвета авто

0 AlpBlue
1 Black
2 Black3
3 Blue
4 BlueGrey
5 BrGreen
6 BriteRed
7 Brown
8 Browner
9 BSilver
10 BYellow
11 Cream
12 Cyan
13 DBeige
14 DBlue
15 DeepBlue
16 DGreen
17 DRed
18 Drust
19 Gold
20 Green
21 Grey
22 LBrown
23 Olive
24 Orange
25 PaleBlue
26 PinkRed
27 Purple
28 Red
29 Rust
30 Silver
31 Skyblue
32 Turquoiz
33 White
34 Whiter
35 Yellow
36 zzgbank


Объекты

COLLECT_00 // питолет
COLLECT_01 // автомат
COLLECT_02 // базука
COLLECT_03 // електрошок
COLLECT_04 // коктель молотова
COLLECT_05 // гранаты
COLLECT_06 // дробовик
COLLECT_08 // огнемет
COLLECT_09 // автомат с глушителем
COLLECT_10 // двойной пистолет
COLLECT_15 // авто - бомба
COLLECT_16 // авто - масло
COLLECT_17 // авто - мины
COLLECT_18 // авто - автомат
COLLECT_19 // авто - пушка танка
COLLECT_20 // авто - водяная пушка
COLLECT_21 // авто - огренная пушка
COLLECT_22 // авто - пулемет
COLLECT_23 // авто - мгновенная бомба
COLLECT_28 // множитель
COLLECT_29 // жизнь
COLLECT_30 // здоровье
COLLECT_31 // броня
COLLECT_32 // ключ из тюрьмы
COLLECT_33 // взятка
COLLECT_34 // неуязвимость
COLLECT_35 // двойной урон
COLLECT_36 // двойная скорость перезарядки
COLLECT_37 // электроудар
COLLECT_38 // уважение
COLLECT_39 // невидимость
COLLECT_40 // банда (только мльтиплеер)


Мастерские

CAR_SHOP
BOMB_SHOP
MINES_SHOP
OILSLICK_SHOP
MACHINEGUN_SHOP


Скин персонажа

0 Blue Police
1 Green Police
2 Red Police
3 Yellow Police
4 Khaki Police
5 Red head Redneck
6 Blond head Redneck
7 Yellow Scientist
8 Zaibatsu remap
9 Kristna remap
10 Russian remap
11 Loony remap
12 Elvis remap
13 Yakuza remap
14 Fireman remap
15 Green Shorts Ped
16 Medic Remap
17 Mugger Remap
18 Blue Dumy remap
19 Light Blue Dummy remap
20 T-Shirt and shorts dummy remap
21 short sleeved shirt and trousers dummy remap
22 prison uniform
23 Hulk1 ( normal )
24 Hulk2 ( green )
25 player ped
26 naked dummy
27-52 assorted dummy remaps


Радиостанции

STATION_ZAIBATSU
STATION_YAKUZA
STATION_LOONIE
STATION_REDNECK
STATION_KRISHNA
STATION_RUSSIAN
STATION_SCIENTIST
STATION_INDUSTRIAL
STATION_RESIDENTIAL
STATION_DOWNTOWN

Пример разбора.

При создании уровня нужно разложить его на несколько логически законечнных отрывков. Начало действия - действие - завершение действия. Начало: копы бегут к двери и открывают ее, напарник персонажа бьет одного из них, после чего начинается погром. Игрок убивает остальных копов и освобождает Марселлоса. Уоллеса, надо полагать. Итак, самым первым действием будет простое - копы бегут к двери. Началом этого скрипта служит сам старт игры. Персонажам дается характеристика определяющая их отношение к игроку и его напарнику, а так же задание - двигаться в некую точку. По прибытии в пункт назначения - опасная близость к напарнику героя - этот отрывок заканчивается и начинается следующий.
//устанавливаем "банду"
SET_GANG_INFO (prisonersgang , 22 , ELECTRO_BATON , ELECTRO_BATON , ELECTRO_BATON , 0, 0.0 , 0.0 , 0.0 , 0, bug , 0 )

//устанавливаем уровень разыскиваемости
DECLARE_POLICELEVEL (4)

//устанавливаем зоны
MAP_ZONE prisoners1 = ( 0 , 0 , 0 , 0 , 250 , 0 , 0 , 0 , 1000 , 0 , 0)

//координаты игрока
PLAYER_PED player = (98.0 , 96.0 , 2.0) 22 0

//счетчики для внутриигровых событий
SAVED_COUNTER getaway=1
COUNTER world=1
COUNTER coppers=1

//объекты, броня
OBJ_DATA armor1

//стрелки
ARROW_DATA arrow1
ARROW_DATA arrow2

//звуки
SOUND dooropen
SOUND alarm1
SOUND alarm2
SOUND alarm3
SOUND alarm4
SOUND haha

//персонажи
CHAR_DATA cop1
CHAR_DATA cop2
CHAR_DATA cop3
CHAR_DATA cop4
CHAR_DATA cop5
CHAR_DATA cop6
CHAR_DATA cop7
CHAR_DATA cop8
CHAR_DATA cop9
CHAR_DATA cop10
CHAR_DATA cop11
CHAR_DATA cop12
CHAR_DATA cop13
CHAR_DATA cop14
CHAR_DATA tower1
CHAR_DATA tower2
CHAR_DATA tower3
CHAR_DATA tower4
CHAR_DATA tower5
CHAR_DATA tower6
CHAR_DATA tower7
CHAR_DATA tower8
CHAR_DATA tower9
CHAR_DATA tower10
CHAR_DATA tower11
CHAR_DATA friend1
CHAR_DATA friend2
CHAR_DATA marsellos
CHAR_DATA guard1
CHAR_DATA guard2
CHAR_DATA guard3
CHAR_DATA guard4

//тачки
CAR_DATA car1
CAR_DATA car2
CAR_DATA car3
CAR_DATA car4
CAR_DATA car5
CAR_DATA car6
CAR_DATA truck1
CAR_DATA truck2
CAR_DATA swatcar1
CHAR_DATA guardcar1
CHAR_DATA guardcar2
CHAR_DATA guardcar3
CHAR_DATA guardcar4

//начало
LEVELSTART

//уровень освещенности по дефолту
SET_AMBIENT_LEVEL (0.2, 0)

//расставляем персонажей и прописываем их ВНЕШНИЙ ВИД
marsellos = CREATE_CHAR (87.0, 103.0, 2.0) 22 0 criminal END
friend2 = CREATE_CHAR (98.0, 100.0, 2.0) 22 180 criminal END
friend1 = CREATE_CHAR (97.3, 96.1, 2.0) 22 180 dummy END
cop1 = CREATE_CHAR (92.5, 115.5, 2.0) 0 180 dummy END
cop2= CREATE_CHAR (93.5, 115.5, 2.0) 0 180 police END
cop14= CREATE_CHAR (93.5, 114.5, 2.0) 0 180 police END
cop3= CREATE_CHAR (100.5, 98.5, 2.0) 0 225 police END
cop4= CREATE_CHAR (94.5, 98.5, 2.0) 0 120 police END
cop5= CREATE_CHAR (91.5, 116.5, 2.0) 0 180 police END
cop6= CREATE_CHAR (93.5, 116.5, 2.0) 0 180 police END
cop7= CREATE_CHAR (83.5, 104.5, 2.0) 0 90 police END
cop8= CREATE_CHAR (83.5, 105.5, 2.0) 0 90 police END
cop9= CREATE_CHAR (81.3, 111.5, 2.0) 3 180 swat END
tower1 = CREATE_CHAR (76.5, 120.5, 7.0) 0 180 police END
tower2 = CREATE_CHAR (88.5, 122.5, 7.0) 0 180 police END
tower3 = CREATE_CHAR (76.5, 106.5, 7.0) 0 90 police END
tower4 = CREATE_CHAR (88.5, 132.5, 7.0) 0 270 police END
tower5 = CREATE_CHAR (96.5, 132.5, 7.0) 0 270 police END
tower6 = CREATE_CHAR (96.5, 127.5, 7.0) 0 225 police END
tower7 = CREATE_CHAR (106.5, 121.5, 7.0) 0 225 police END
tower8 = CREATE_CHAR (107.5, 108.5, 7.0) 0 270 police END
tower9 = CREATE_CHAR (104.5, 91.5, 7.0) 0 0 police END
tower10 = CREATE_CHAR (92.5, 91.5, 7.0) 0 0 police END
tower11 = CREATE_CHAR (77.5, 91.5, 7.0) 0 45 police END
cop10= CREATE_CHAR (83.0, 120.0, 2.0) 3 0 swat END
cop11= CREATE_CHAR (83.0, 120.5, 2.0) 3 0 swat END
//cop12= CREATE_CHAR (83.0, 121.5, 2.0) 3 0 swat END
//cop13= CREATE_CHAR (83.0, 119.5, 2.0) 3 0 swat END
guard1= CREATE_CHAR (89.8, 135.2, 2.0) 3 270 swat END

//расставляем тачки и прописываем их тип
car1 = CREATE_CAR (87.9, 118.3, 2.0) 0 180 copcar END
car2 = CREATE_CAR (86.9, 118.3, 2.0) 7 180 edsel END
car3 = CREATE_CAR (85.9, 118.3, 2.0) 3 180 spider END
car4 = CREATE_CAR (84.9, 118.3, 2.0) 0 180 morris END
car5 = CREATE_CAR (83.9, 118.3, 2.0) 30 180 fiat END
car6 = CREATE_CAR (103.9, 111.3, 2.0) 0 180 copcar END
car6 = CREATE_CAR (104.9, 111.3, 2.0) 12 180 limo END
truck1 = CREATE_CAR (129.5, 92.5, 2.0) 7 95 jeep END
guardcar1 = CREATE_CAR (91.4, 135.3, 2.0) 0 0 SWATVAN END
guardcar2 = CREATE_CAR (91.4, 136.7, 2.0) 0 180 SWATVAN END
guardcar3 = CREATE_CAR (94.5, 122.7, 2.0) 0 188 SWATVAN END
guardcar4 = CREATE_CAR (94.5, 124.2, 2.0) 0 188 SWATVAN END
swatcar1 = CREATE_CAR (85.5, 121.5, 2.0) 0 210 SWATVAN END

//раздаем оружие
GIVE_WEAPON (cop1 , shotgun)
GIVE_WEAPON (cop3 , pistol)
GIVE_WEAPON (cop4 , pistol)
GIVE_WEAPON (cop5 , pistol)
GIVE_WEAPON (cop6 , pistol)
GIVE_WEAPON (cop7 , pistol)
GIVE_WEAPON (cop8 , pistol)
GIVE_WEAPON (cop9 , machine_gun)
GIVE_WEAPON (cop10 , machine_gun)
GIVE_WEAPON (cop11 , machine_gun)
//GIVE_WEAPON (cop12 , machine_gun)
GIVE_WEAPON (cop14 , pistol)
GIVE_WEAPON (tower1 , molotov)
GIVE_WEAPON (tower2 , molotov)
GIVE_WEAPON (tower3 , molotov)
GIVE_WEAPON (tower4 , molotov)
GIVE_WEAPON (tower5 , molotov)
GIVE_WEAPON (tower6 , molotov)
GIVE_WEAPON (tower7 , molotov)
GIVE_WEAPON (tower8 , molotov)
GIVE_WEAPON (tower9 , molotov)
GIVE_WEAPON (tower10 , molotov)
GIVE_WEAPON (tower11 , molotov)
GIVE_WEAPON (guard1 , rocket_launcher)

//ставим броню
armor1 = CREATE_OBJ ( 82.0 , 105.0, 2.0 ) 0 COLLECT_31 END

//расставляем персонажам реакцию на выстрелы
SET_CHAR_THREAT_REACTION ( cop1 , NO_REACTION )
SET_CHAR_THREAT_REACTION ( cop2 , REACT_AS_NORMAL )
SET_CHAR_THREAT_REACTION ( cop3 , REACT_AS_NORMAL )
SET_CHAR_THREAT_REACTION ( cop4 , REACT_AS_NORMAL )
SET_CHAR_THREAT_REACTION ( cop5 , REACT_AS_NORMAL )
SET_CHAR_THREAT_REACTION ( cop6 , REACT_AS_NORMAL )
SET_CHAR_THREAT_REACTION ( cop7 , REACT_AS_NORMAL )
SET_CHAR_THREAT_REACTION ( cop8 , REACT_AS_NORMAL )
SET_CHAR_THREAT_REACTION ( cop9 , REACT_AS_NORMAL )
SET_CHAR_THREAT_REACTION ( cop14 , REACT_AS_NORMAL )
SET_CHAR_THREAT_REACTION ( friend1 , NO_REACTION )
SET_CHAR_THREAT_REACTION ( friend2 , NO_REACTION )
SET_CHAR_THREAT_REACTION ( marsellos , NO_REACTION )
SET_CHAR_THREAT_REACTION ( tower1 , REACT_AS_NORMAL )
SET_CHAR_THREAT_REACTION ( tower2 , REACT_AS_NORMAL )
SET_CHAR_THREAT_REACTION ( tower3 , REACT_AS_NORMAL )
SET_CHAR_THREAT_REACTION ( tower4 , REACT_AS_NORMAL )
SET_CHAR_THREAT_REACTION ( tower5 , REACT_AS_NORMAL )
SET_CHAR_THREAT_REACTION ( tower6 , REACT_AS_NORMAL )
SET_CHAR_THREAT_REACTION ( tower7 , REACT_AS_NORMAL )
SET_CHAR_THREAT_REACTION ( tower8 , REACT_AS_NORMAL )
SET_CHAR_THREAT_REACTION ( tower9 , REACT_AS_NORMAL )
SET_CHAR_THREAT_REACTION ( tower10 , REACT_AS_NORMAL )
SET_CHAR_THREAT_REACTION ( tower11 , REACT_AS_NORMAL )
SET_CHAR_THREAT_REACTION ( guard1 , REACT_AS_NORMAL )

//СУТЬ СКРИПТА. Показать игроку сообщения и заставить 3 полицейских
//идти в конкретную зону.
//скрипт: (до тех пор пока счетчик гетавай=1, покажи мессагу из r.gxt
//под номером 1019 и сообщение 1020, потом дай задание трем персонажам
//"идти в нужную зону", и если персонаж коп2 придет в нужную зону,
//переведи счетчик гетавай в положение 2)
WHILE (getaway=1)
DISPLAY_MESSAGE (1019)
DISPLAY_BRIEF (1020)
SET_CHAR_OBJECTIVE (cop1, GOTO_AREA_ON_FOOT, 97.5, 98.1, 2.0)
SET_CHAR_OBJECTIVE (cop2, GOTO_AREA_ON_FOOT, 97.5, 97.5, 2.0)
SET_CHAR_OBJECTIVE (cop14, GOTO_AREA_ON_FOOT, 94.0, 97.5, 2.0)
IF (LOCATE_CHARACTER_ON_FOOT ( cop2 , 97.5 , 97.5, 2.0, 1.0, 1.0))
set getaway=2
ENDIF
ENDWHILE

//СУТЬ СКРИПТА: Показать игроку новое сообщение, открыть клетку
//игрока, заставить одного копа убить игрока, а другого - убить этого
//копа, остальные пусть стоят на месте
//срипт: (до тех пор пока гетавай=2, убери все сообщения с экрана,
//покажи сообщение 1022, потом открой дверь и убери из игры нужный блок
//(открой клетку то есть), потом дай задание персонажам, выведи стрелку
//на полицейского, и переведи счетчик в положение 3)
WHILE (getaway=2)
CLEAR_ALL_BRIEFS ( )
DISPLAY_BRIEF (1022)
dooropen = CREATE_SOUND ( 98.0 , 97.1 , 2.0 ) GARAGE_OPEN play_instant END
REMOVE_BLOCK ( 97 , 97 , 2 , DONT_DROP )
SET_CHAR_OBJECTIVE (cop2, kill_char_any_means, player)
SET_CHAR_OBJECTIVE (cop1, WAIT_ON_FOOT)
SET_CHAR_OBJECTIVE (cop14, WAIT_ON_FOOT)
SET_CHAR_OBJECTIVE (friend1, kill_char_any_means, cop2)
POINT_ARROW_AT (arrow1, cop2)
set getaway=3
ENDWHILE

//СУТЬ СКРИПТА: если полицейского ударил персонаж friend1, заставить
//перевести всех остальных копов в "преступников", и заставить их
//следовать за игроком, раздать им оружие и организовать сирену
//скрипт: (пока счетчик гетавай=3, если персонажа коп-2 ударил
//персонаж фриенд-1, очисти все сообщения с экрана и покажи сообщение
//1021, потом измени тип персонажей, добавь группу персонажей к игроку
//чтобы они за ним следовали, потом добавь в эту группу персонажей,
//раздай им оружие, создай 4 звука тревоги, убери старую стрелку и
//поставь новую, измени уровень полиции на 4, и переведи счетчик на 4)
WHILE (getaway =3 )
IF (CHECK_CHAR_BEEN_PUNCHED_BY ( cop2 , friend1))
CLEAR_ALL_BRIEFS ( )
DISPLAY_BRIEF (1021)
SET_CHAR_OCCUPATION ( friend1 , criminal )
SET_CHAR_OCCUPATION ( cop1 , criminal )
ADD_GROUP_TO_CHARACTER (player, 0)
ADD_EXISTING_CHAR_TO_GROUP ( player, friend1 )
ADD_EXISTING_CHAR_TO_GROUP ( player, cop1 )
GIVE_WEAPON (friend1, shotgun)
GIVE_WEAPON (player, shotgun)
alarm1 = CREATE_SOUND ( 92.5 , 97.5 , 2.0 ) PRISON_alarm play_forever END
alarm2 = CREATE_SOUND ( 92.5 , 111.5 , 2.0 ) PRISON_alarm play_forever END
alarm3 = CREATE_SOUND ( 92.5 , 123.5 , 2.0 ) PRISON_alarm play_forever END
alarm4 = CREATE_SOUND ( 83.5 , 119.5 , 2.0 ) PRISON_alarm play_forever END
remove_arrow (arrow2)
point_arrow_at (arrow1, 98.0, 99.0, 2.0)
ALTER_WANTED_LEVEL ( player , 4 )
set getaway=4
ENDIF
ENDWHILE

//СУТЬ СКРИПТА: сымитировать расстрел игроком замка клетки Марселлоса,
после чего открыть ему клетку и присоединить Марселлоса к группе
игрока, и дать ему пистолет
//скрипт: (пока счетчик гетавай=4, если персонаж стреляет в зоне
//такой-то, убери все сообщения, покажи сообщение 1023, убери блок
//такой-то, открой дверь, создай звук хохота, добавь персонажа в группу,
//дай ему оружие, переведи стрелку на новый объект)
WHILE (getaway=4)
IF (IS_CHAR_FIRING_IN_AREA ( player , 98.0 , 98.8 , 2.0 , 0.5 , 0.5 ))
CLEAR_ALL_BRIEFS ( )
DISPLAY_BRIEF (1023)
REMOVE_BLOCK (97, 98, 2, DONT_DROP)
dooropen = CREATE_SOUND ( 98.0 , 98.8 , 2.0 ) GARAGE_OPEN play_instant END
haha = CREATE_SOUND ( 98.0 , 98.8 , 2.0 ) SMUG_LAUGH play_instant END
ADD_EXISTING_CHAR_TO_GROUP ( player, friend2 )
GIVE_WEAPON (friend2 , pistol)
point_arrow_at (arrow1, 91.0, 105.0, 2.0)
set getaway=5
ENDIF
ENDWHILE

..........................
..........................
..........................

//конец скрипта
LEVELEND

http://gta2info.3dn.ru/load <<--Все проги моно скачать тут!

Сообщение отредактировал Esparo: 20 January 2012 - 14:38


#6 Chipsman

Chipsman

    Активный участник

  • Главные администраторы
  • PipPipPip
  • 786 сообщений
  • Пол:Не определился


Отправлено 19 January 2012 - 21:10

а почему на вики статью не оформляешь а тут постами на форуме? вики на то и вики - для статей, а форум уже для обсуждения и вопросов... а за сами статьи спасибо большое, по моддингу гта ниже 3й части у нас еще помойму ничего небыло)

#7 SILENT_Pavel

SILENT_Pavel

    Активный участник

  • Пользователи
  • PipPipPip
  • 937 сообщений


Отправлено 20 January 2012 - 05:42

Esparo
Да в любом случае спасибо за исследование игры, и не обращай внимание что она не популярна :)

#8 Esparo

Esparo

    Участник

  • Пользователи
  • PipPip
  • 12 сообщений
  • Пол:Мужчина
  • Город:Москва

Отправлено 20 January 2012 - 09:35

я б с удовольствием выввесел всё в вики, но я ещё пока не разобрался тут на сайте как это сделать.

#9 SILENT_Pavel

SILENT_Pavel

    Активный участник

  • Пользователи
  • PipPipPip
  • 937 сообщений


Отправлено 20 January 2012 - 10:13

Esparo
Можешь прочесть туториалы на википедии, схема та же, все как на форуме, только теги чуть чуть другие. В любом случае напиши как можешь сплошным текстом, потом отформатируешь или поможем.

Сообщение отредактировал SILENT_Pavel: 20 January 2012 - 10:13


#10 Esparo

Esparo

    Участник

  • Пользователи
  • PipPip
  • 12 сообщений
  • Пол:Мужчина
  • Город:Москва

Отправлено 20 January 2012 - 12:38

SILENT_Pavel у меня такой вопрос: Я никак не могу найти как вставить текс в категорию gta 2? вроде пишут что у меня нет разрешения чтобы выполнить это действие

Сообщение отредактировал Esparo: 20 January 2012 - 12:59


#11 solom

solom

    Активный участник

  • Пользователи
  • PipPipPip
  • 267 сообщений
  • Пол:Мужчина


Отправлено 20 January 2012 - 19:30

SILENT_Pavel у меня такой вопрос: Я никак не могу найти как вставить текс в категорию gta 2? вроде пишут что у меня нет разрешения чтобы выполнить это действие

Дело в том, что ты не зарегестрировался на Wiki.
Чтобы зарегистрироваться, перейди по этой ссылке:
http://forums.gtamod...act=Reg&Code=00

#12 Chipsman

Chipsman

    Активный участник

  • Главные администраторы
  • PipPipPip
  • 786 сообщений
  • Пол:Не определился


Отправлено 20 January 2012 - 19:58

ничего не надо регистрироваться, у нас единая авторизация вики и форума, нужно просто на вики войти под своим форумным аккаунтом и все

#13 Esparo

Esparo

    Участник

  • Пользователи
  • PipPip
  • 12 сообщений
  • Пол:Мужчина
  • Город:Москва

Отправлено 21 January 2012 - 12:30

Chipsman да точно надо было просто перезойти) я вроде немного понял как редоктировать, но ещё один вопрос как например создать статью в категории gta2 ?

Сообщение отредактировал Esparo: 21 January 2012 - 12:31


#14 Konstantin22

Konstantin22

    Активный участник

  • Пользователи
  • PipPipPip
  • 122 сообщений
  • Пол:Мужчина
  • Город:СССР, РСФСР, Тульская область, Тула


Отправлено 21 January 2012 - 13:03

Статья супер! Автор молодец! Не надо забывать про нашу добрую гта 2!

#15 Esparo

Esparo

    Участник

  • Пользователи
  • PipPip
  • 12 сообщений
  • Пол:Мужчина
  • Город:Москва

Отправлено 21 January 2012 - 16:59

71kosty@n97 Спасибо, очень приятно). Если есть какие-то вопросы задавайте их!

#16 Lego

Lego

    Активный участник

  • Пользователи
  • PipPipPip
  • 343 сообщений
  • Пол:Не определился


Отправлено 21 January 2012 - 17:07

> но ещё один вопрос как например создать статью в категории gta2 ? в тексте статьи пишешь [[Category:GTA_2]] или [[Категория:GTA 2]]. обычно это пишут в конце

#17 Esparo

Esparo

    Участник

  • Пользователи
  • PipPip
  • 12 сообщений
  • Пол:Мужчина
  • Город:Москва

Отправлено 24 January 2012 - 17:14

Ребят у меня просьба есть одна мне честно впадлу заливать статьи на вики т.к я особо не дружу с вики да и времени нет мож я инфы покидаю а кто нить зальёт? (Заранее извините за наглость. :unsure: )

#18 Sweet

Sweet

    Активный участник

  • Пользователи
  • PipPipPip
  • 418 сообщений
  • Пол:Мужчина
  • Город:Нижний Новгород


Отправлено 25 January 2012 - 10:45

Может кто-нить зальёт.

#19 Chipsman

Chipsman

    Активный участник

  • Главные администраторы
  • PipPipPip
  • 786 сообщений
  • Пол:Не определился


Отправлено 25 January 2012 - 13:58

зальем, главное контент бы был

#20 Esparo

Esparo

    Участник

  • Пользователи
  • PipPip
  • 12 сообщений
  • Пол:Мужчина
  • Город:Москва

Отправлено 25 January 2012 - 20:13

я тогда лучше сюда поскидуваю инфу))




Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных