Если у Вас есть какая-нибудь инструкция по изменению GTA или Вы можете написать её, то присылайте статью на e-mail: dok2003@front.ru.
  <Изменяем GTA>  
 изменение main.scm
Создание миссий
ВСТУПЛЕНИЕ
Весь код миссий в
GTA: VC заключен в одном единственном файле main.scm Есть несколько
программ для его редактирования, я рассмотрю наиболее распространенную:
Vice Mission Builder by Barton Waterduck. На момент написания статьи
последняя версия была 1.1 Вместе с редактором поставляется: Коды
нескольких миссий: 1stPersonCarCamera (Вид из глаз в
автомобиле) Car Morphing (Превращение машины игрока в
Skimmer) Crazy Bike Traffic (Группа мотоциклистов + трамплины по
нажатию) Delivery Mission (Миссия доставки предметов) Devil Mod
(Способность летать, взрывать и создавать круг огня) Hunter Weapon
Camera Test code (Стрельба из пулеметов Hunter’а от 1 лица) Mine
Field (Задает координаты минных полей) Mission Starter (Код для
старта миссии) Real Time Clock (Реальное время) Swimming mod
(Позволяет плавать) Tourist Mod (Позволяет заходить в специальные
помещения) Wall Climbing Mod (Позволяет забираться на крышу любого
здания) Урезанные версии main.scm: Extrememly_stripped
(Totally_stripped с незначительными изменениями) Stripped_complete
(После выполнения игры на 100%) Totally_stripped (Вырезано все что
можно было вырезать) GXT Editor Code Creator Итак, программа
установлена – приступаем к редактированию. В момент первого запуска
программа предложит вам указать папку с GTA: VC. Далее вам необходимо
загрузить в редактор ваш main.scm, для этого File->Open file. Через
некоторое время файл откроется и появится окно с информацией о файле.
Для создания своих миссий желательно использовать один из предложенных
исходников в папке Stripped scripts
ОБЩИЕ
СВЕДЕНИЯ
Любая строчка состоит из трех
частей: 0417: start_mission $test 0417: Код
команды start_mission Команда $test Переменная или число
(числа) (Конечно не надо запоминать все коды команд. После набор
команды просто нажмите F1 и программа подставит код; иногда надо нажать
несколько раз, так как команда может измениться)
Main.scm
состоит из четырех частей: 1 Часть. Ставит размер памяти для
скриптов. 2 Часть. Большинство трехмерные объектов игры. 3 Часть.
Указатели на миссии и внутриигровые блоки. 4 Часть. Собственно код
миссий.
Типы данных:
JJ Переход из 3 части в
четвертую(Символ желательно копировать из других
переходов). Пример: 004D: jump_if_false JJLabelNewOne
J
Переход внутри четвертой части(Символ желательно копировать из других
переходов). Пример: 004D: jump_if_false JLabelEndMission
@
Локальные переменные Пример: 02E3: $9 = car 0@ speed (0@
переменная – название машины)
# Обращение к модели Пример: $CarModelNumber =
#cheetah (#cheetah - имя модели Cheetah)
Типы нажатых
кнопок: (Оставлю без перевода)
Номер в скрипте Пешком В
машине 2 turn left/right Look left + turret L and Look right + turret
R 3 turret up/down 4 action key Radio 5 prev. weapon look
left/behind 6 aim/target handbrake 7 next weapon look
right/behind 8 forward 9 backward 10 strafe left turn
left 11 strafe right turn right 13 camera camera 14 jump
brake/reverse 15 enter vehicle exit vehicle 16 sprint
gas/forward 17 shoot/attack shoot 18 crouch horn 19 look behind
sub-mission
Пример: 00D6: if 0 Постановка условия
ЕСЛИ 00E1: key_pressed 0 19 Нажата кнопка look
behind/sub-mission 004D: jump_if_false JJStartMissions3 Перейти если
ложь к блоку StartMissions3 0322: kill_player $PLAYER_CHAR Если
правда то убить игрока
Пример: 032B: $5F =
create_weapon_pickup #UZI 15 ammo 7000 at $52 $55 $56 $5F Переменной
присваивается значение create_weapon_pickup Команда создать оружие на
карте #UZI 15 ammo 7000 Тип оружия УЗИ патронов 7000 $52 $55 $56
Переменные с координатами местоположения оружия
01B2: give_actor
$7F weapon 27 ammo 9999 give_actor Команда – Дать модели
оружие $7F Переменная характеризующая актера weapon 27 ammo 9999
Тип оружия актера (Не забыть загрузить модель)
Типы
моделей: \В архиве скрины Пример: 0247: request_model
#ARMY request_model Запрашивается модель #ARMY Тип
модели
009A: $7F = create_actor 4 #ARMY at $60 $61 $63 $7F
Переменной присваивается значение create_actor 4 Команда создать
модель на карте #ARMY Тип модели $60 $61 $63 Переменные с
координатами местоположения модели
Пример: 02A8: $176 = create marker 31 at 80.0 -869.8
9.3 $176 Переменной присваивается значение create marker at
Команда создать маркер 31 Тип Маркера 80.0 -869.8 9.3 координаты
местоположения маркера
Создание своей миссии
Миссия в
GTA:VC состоит из двух частей: кода запуска миссии и кода самой миссии,
рассмотрим код запуска:
Назначается блок с первой миссией
(местонахождение кода миссии) DEFINE MISSION 1 AT
JJLabelMyMission
Создается поток, отвечающий за старт
миссии 004F: create_thread JJLabelMission1
Код
потока: :LabelMission1 0001: wait 250 ms 00D6: if 0 0256:
player $PLAYER_CHAR defined 004D: jump_if_false
JJLabelMission1 00D6: if 0 0038: $ONMISSION == 0 \ integer
values 004D: jump_if_false JJLabelMission1 00D6: if 0 00F9:
player $PLAYER_CHAR stopped 0 ()near_point_on_foot X Y Z radius 2.0 2.0
2.0 004D: jump_if_false JJLabelMission1 0417: start_mission
1 0001: wait 7000 ms 0002: jump
JJLabelMission1
Перевод
Ждем
250мс Если Игрок Если нет идем в начало. Если Не на
миссии Если нет идем в начало. Если Игрок остановился возле X Y
Z координат с радиксом 2 Если нет идем в начало. Начать миссию
1 Ждем 250мс Идем в начало
Теперь идем в самый конец
main.scm и там пишем
;-------------Mission <Номер миссии
(1)>---------------
: <Ставим то имя которое указывали в
DEFINE> 0050: gosub JJ<Начало кода миссии> 00D6: if 0
\Если 0112: wasted_or_busted \Убит или арестован 004D:
jump_if_false JJ<Блок для выолнения миссии> 0050: gosub
JJ<Блок для провала миссии>
:<Блок для выолнения
миссии> ------------------------------------ \Идет код
миссии 0050: gosub JJ<Очистка кода после выполнения
миссии> 004E: end_thread \Конец потока
:<Начало кода
миссии> 0317: increment_mission_attempts 03A4: name_thread
"<Имя потока>" 0004: $onmission = 1 \Флаг на миссии 0110:
player $PLAYER_CHAR wanted_level = 0 \Уровень розыска 0
:
Друзья
Grand Theft Auto: Vice City - зарегистрированная торговая марка компании Take 2 Interactive. Дизайн и создание сайта - Dok.