-сделать стартовой- -добавить в избранное-
Выбор статьи: 1_ 2_ 3_ 4_ 5_ 6
Если у Вас есть какая-нибудь инструкция по изменению 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 ($CarModelNumber – переменная)

# Обращение к модели
Пример:
$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 Если правда то убить игрока





Типы оружия:

Номер в скрипте Наименование Имя в скрипте

1 Кастет #brassknuckle
2 Отвертка #screwdriver
3 Клюшка #golfclub
4 Дубинка #nitestick
5 Нож #knifecur
6 Бита #bat
7 Молоток #hammer
8 Cleaver #cleaver
9 Мачете #machete
10 Катана #katana
11 Бензопила #chnsaw
12 Граната #grenade
13 С детонатором #bomb
14 Газовая #teargas
15 Коктейль Молотова #molotov
17 Кольт45 #colt45
18 Питон #python
19 Дробовик #chromegun
20 SPAS дробовик #shotgspa
21 Ружье #buddyshot
22 Тес 9 #tec9
23 Узи #uzi
24 Инграм с глушителем #ingramsl
25 Mp5 #mp5lng
26 М4 #m4
27 Крюгер #ruger
30 Базука #rocketla
31 Огнемет #flame
32 M60 #M60
33 Пулемет #minigun
28 Снайперка #sniper
29 Снайперка с лазером #laser
36 Фотокамера #camera

Пример:
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 Переменные с координатами местоположения модели


Типы маркеров:

0 – Фиолетовая точка
1 – Иконка игрока
2 – Маленькая стрелка
3 – Иконка севера
4 – Иконка ‘A’
5 – Иконка ‘B’
6 – Иконка ‘C’
7 – Иконка ‘D’
8 – Иконка ‘K’
9 – Иконка ‘L’
10 – Иконка ‘P’
11 – Иконка Туз пик
12 – Иконка якорь
13 – Иконка клуба Малибу
14 – Иконка кафе Умберто
15 – Иконка киностудии
16 – Иконка оружия
17 – Иконка вуду
18 – Иконка молоток
19 – Иконка сохранения
20 – Иконка ‘P’
21 – Иконка фабрики мороженого
22 – Иконка таксопарка
23 – Иконка байкеров
24 – Иконка типографии
25 – НЕТ иконки
26 – Иконка Sunshine Autos
27 – Иконка перекрасочной
28 – Иконка одежды
29 – Иконка ‘V’
30 – Иконка телефона
31 – Иконка W на желтом фоне
32 – Иконка желтой молнии
33 – Иконка радиостанции, какой не помню
34 – Иконка чего-то непонятного
35 – Иконка ‘V’ красная
36 – Иконка ‘V’ синяя
37 – Иконка черта
38 – Иконка сердца
39 – Иконка ‘W’

Пример:
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.
Copyright © 2004
Hosted by uCoz