000156. Вступление в скриптинг GTA 3

Вступление в скриптинг GTA 3||wmysterio|wmysterio|wmysterio@yandex.ru|/||Всем привет! С сегодняшнего дня начинается курс уроков по скриптингу GTA 3. Это решение я принял в связи с огромным к-вом вопросов по этой игре. И я, решив освоить скриптинг игры, начинаю исследовать основные возможности движка и делится своими наблюдениями с вами. И так, начнём с того, что уже известно - лимиты. Как и в каждой игры, существует некий список, в котором определены основные ограничения на игру. Вот перечисление тех, что известно мне из справки:

Характеристики

GTA III

Размер майна

131072

Размер одной миссии

32768

Кол-во миссий

120

Mission Cleanup List

50

Кол-во моделей (2-й сегмент)

200

Кол-во работающих потоков

128

Локальные переменные

16 + 2 timers

Кол-во вложенных gosub

4

Text_Draw

2

Парковки машин (014B:)

160

Кол-во маркеров

32

Кол-во пикапов

336

Максимальный опкод

0481

Число сфер на экране

16

Типы гаражей, сохраняющих машины

16..18

Сразу падает в глаза, что движок не поддерживает внешние скрипты, что существенно будет влиять на производительность скрипта, теперь потоки будет играть роль этих скриптов. Мимо это отсутствуют таблицы переходов, что сильно влияет на длину кода. Теперь придётся по старинке - использовать условия :) Когда я впервые открыл мейн, который находится в папке Data, то меня удивило огромное количество глобальных переменных. В принципе, при мизерном количестве локальных (16+2 штук) переменных, такой шаг вполне оправдан. Минимальный код, при котором работала игра составил всего 9 строк:КодDEFINE OBJECTS 1 DEFINE OBJECT SANNY_BUILDER 3.1.3 DEFINE MISSIONS 0 thread 'MAIN' 0053: $PLAYER_CHAR = create_player #NULL at 811.875 -939.9375 35.75 01F5: $PLAYER_ACTOR = create_emulated_actor_from_player $PLAYER_CHAR $ONMISSION = 0 // integer values fade 1 1000 end_threadМимо этого, при смерти/аресте игрока, точка его появления была очень близко к месту смерти. Напомню, что в Сан Андреасе, если не указать точки рестарта, игра работала неправильно и в конечном счёте нужно было делать перезапуск. Так же удивил геймплей с таким мейном - по улицам езлило просто огромное количество полицейских машин и такси. Людей можно было на пальцах пересчитать. Сравнив гта3 и Сан Андреас можно аплодировать разработчикам, что они настолько усовершенствовали движок GTA 3, что сделали на нём культовую San Andreas. Разница в движках и возможностях игр, естественно повлияют на разработку скриптов. В GTA 3 есть целая куча опкодов, которых нет в СА и это будет самым интересным моментом в исследовании игры с Клодом - главным героем первой трехмерной игры о GTA. Это был вступительный урок по скриптингу GTA , с вами был wmysterio, до встречи smile|1318|1|0||vstuplenie_v_skripting_gta_3|1392523118

Last updated