Возможно вы искали: 'Neon Genesis Evangelio...'

May 23 2025 04:15:42
  • Как сделать 8Gamers.Ru домашней страницей?
  • Игры
    • База данных по играх
    • Игровые новости
    • Игровая индустрия
    • Обзоры на игры
    • Прохождения игр
    • Гайды к играм
    • Превью о играх
    • Игровые тизеры
    • Игровые арты
    • Игровые обои
    • Игровые скриншоты
    • Игровые обложки
    • Игровые трейлеры
    • Игровое видео
    • Вышедшие игры
    • Ближайшие релизы игр
  • Кино и ТВ
    • База данных по кино
    • Статьи о кино
    • Постеры
    • Кадры из кино
    • Кино трейлеры
    • Сегодня в кино
    • Скоро в кино
  • Комиксы и манга
    • Манга по алфавиту
    • База данных по комиксах
    • Читать онлайн комиксы
    • Читать онлайн манга
    • База персонажей
  • Читы и коды
    • Чит-коды для PC игр
    • Чит-коды для консольных игр
    • Трейнеры
    • Коды Game Genie
  • Моддинг
    • Модификации
    • Карты к играм
    • Программы для моддинга
    • Статьи о моддинге
  • Геймдев
    • Всё о создании игр
    • Список движков
    • Утилиты в помощь игроделу
    • Конструкторы игр
    • Игровые движки
    • Библиотеки разработки
    • 3D-модели
    • Спрайты и тайлы
    • Музыка и звуки
    • Текстуры и фоны
  • Рецензии
    • Игры
    • Кино
    • Аниме
    • Комиксы
    • Мангу
    • Саундтреки
  • Саундтреки
    • Лирика
  • Файлы
    • Патчи к играм
    • Русификаторы к играм
    • Сохранения к играм
    • Субтитры к кино
  • Медиа
    • Видео
    • Фото
    • Аудио
    • Фан-арты
    • Косплей
    • Фото с виставок
    • Девушки из игр
    • Рисунки
    • Рисуем онлайн
    • Фотохостинг
  • Юмор
    • Анекдоты
    • Афоризмы
    • Истории
    • Стишки и эпиграммы
    • Тосты
    • Цитаты
  • Флеш
    • Азартные
    • Аркады
    • Бродилки
    • Гонки
    • Для девочек
    • Для мальчиков
    • Драки
    • Квесты
    • Леталки
    • Логические
    • Мультфильмы
    • Открытки
    • Приколы
    • Разное
    • Спорт
    • Стратегии
    • Стрелялки
Статистика

Статей: 87772
Просмотров: 96276818
Игры
Injustice:  Gods Among Us
Injustice: Gods Among Us
...
Dark Souls 2
Dark Souls 2
Dark Souls II - вторая часть самой хардкорной ролевой игры 2011-2012 года, с новым героем, сюжето...
Battlefield 4
Battlefield 4
Battlefield 4 - продолжение венценосного мультиплеер-ориентированного шутера от первого ли...
Кино
Steins;Gate
Steins;Gate
Любители японской анимации уже давно поняли ,что аниме сериалы могут дать порой гораздо больше пи...
Ку! Кин-дза-дза
Ку! Кин-дза-дза
Начинающий диджей Толик и всемирно известный виолончелист Владимир Чижов встречают на шумной моск...
Обзоры на игры
• Обзор Ibara [PCB/PS2] 18385
• Обзор The Walking ... 18829
• Обзор DMC: Devil M... 19902
• Обзор на игру Valk... 15900
• Обзор на игру Stars! 17786
• Обзор на Far Cry 3 17976
• Обзор на Resident ... 16045
• Обзор на Chivalry:... 17531
• Обзор на игру Kerb... 18000
• Обзор игры 007: Fr... 16647
Превью о играх
• Превью к игре Comp... 17983
• Превью о игре Mage... 14484
• Превью Incredible ... 14740
• Превью Firefall 13502
• Превью Dead Space 3 16360
• Превью о игре SimC... 14753
• Превью к игре Fuse 15460
• Превью Red Orche... 15571
• Превью Gothic 3 16369
• Превью Black & W... 17377
Главная » Статьи » Разное » BW's Vice Mission Builder

BW's Vice Mission Builder

BW's Vice Mission Builder Описание интерфейса программы BW's Vice Mission Builder. (Я ретроман.) Пишу
руководство по версии 1.5. Если у вас есть более новая,
ничего страшного. Возможности старого есть и в новом.

Интерфейс основан на специальной
платформе что ли, я точно не знаю, называется PowerBasic
IDE. Многие из опций связаны с ним, но не употреблены.



Строка меню (описываю не все команды, а только нужные
на мой взгляд!):

File
New File... (Ctrl-N) - создать новый файл
Open File... (Ctrl-O) - открыть текстовый файл или
декомпилировать scm (name.scm --> name.scm.txt,
name.txt.scm --> name.txt в той же папке)
Insert File... (Ctrl-I) - вставить содержимое текстового
файла
Save (Ctrl-S) - сохранить текущий файл
Save As... (Ctrl-A) - сохранить текущий файл
под новым именем
Close File - закрыть файл
Close All - закрыть все файлы
Print File... - распечатать файл
Recent Files (всегда использую) - список последних
файлов для открытия
Exit (Alt-F4) - выйти из программы
Edit
Undo (Ctrl-Z) - отмена изменений
Redo (Ctrl-D) - возврат изменений
Remark Text - выделенные строки спереди снабжаются ; и
пробелом, считаясь комментариями (программа игнорирует).
Повторное действие - снятие комментария. Полезно для
временного отключения команд.
Cut (Ctrl-X) - вырезать выделенный текст в карман
Copy (Ctrl-C) - копировать выделенный текст в карман
Paste (Ctrl-V) - вставить текст из кармана
на место курсора/выделения.
Select All (Ctrl-A) - выделить целиком весь текст.
Не знаю почему, но указанная в меню клавиатурная
комбинация у меня не работает. Впрочем, это не настолько часто
используемая опция.
Find... (Alt-F3) - открыть окно поиска
Find Next (F3) - продолжить поиск последнего запроса
окна поиска вниз от положения курсора
Find & Replace (Ctrl-Alt-F3) - открыть окно поиска и замены
Go To Line (Ctrl-G) - перейти на строку под указанным номером
Compiler - настоятельно не рекомендую изменять что-либо в этом
меню, но всё же опишу.
Show Report When Compiling Successful - показывать отчёт
о завершении компиляции. Рекомендую использовать.
Disable/Enable Custom IDs when decompiling -
отключить/включить замену цифр идентификаторами людей, машин,
оружия, объектов (см. далее). Не рекомендую отключать.
Source Converter - преобразовать код в текущую версию
компилятора, если возможно.
If commands check - проверка правильности написания параметра
в опкоде условия. Некоторые советуют отключать, чтобы быстрее ком-
пилировалось. Я не отключаю, так как не уверен в том, что написал
всё правильно. Некоторые отключают, так как не знают, как писать
правильно. Изучите мои статьи и поймёте. Отключать не надо.
Duplicate Labels Check - проверка, существуют ли разные метки
(это такие указатели для перехода) с одинаковыми номерами. Повторяюсь,
я и здесь не уверен, что не повторюсь в метках, поэтому опцию держу
включенной. И не зря.
Window - команды для выстраивания окон документов. Также
их список с возможностью перехода.
Run
Compile (F7) - скомпилировать текущий файл
(name.txt --> name.txt.scm, name.scm.txt --> name.scm)
в его директорию.
Compile & Copy (F6) - скомпилировать текущий файл в его
директорию и создать копию под именем main.scm в подпапке
data папки игры, адрес которой программа спросит при первом запуске.
Run Grand Theft Auto Vice (F8) - запустить игру
(gta-vc.exe)
Compile Copy & Run GTA Vice (F9) - скомпилировать текущий
файл в его директорию и создать копию под именем main.scm
в подпапке data папки игры, после чего запустить игру.
Tools
Color Picker - выбрать цвет в палите и вставить в текст
в виде RGB(красный, зелёный, синий). Нужно будет для некоторых опкодов, где указывается цвет, но синтаксис в них другой. Но нам-то нужны цифры.

Macros - возможность ввести несколько строковых значений и вставлять их в текст с помощью горячих клавиш Ctrl+номер макроса.

Help - вывод файла ReadMe.txt билдера.

Панель инструментов.

Пройдитесь мышью по ней. Кнопки повторяются в меню.
Их удобнее использовать.

Открытые файлы.

Правый щелчок мышью по заголовку - данные о файле.

Сам код - это декомпилированные текстовые данные.
Код - из нескольких частей:

DEFINE VERSION VICE 1.5 ;; версия компилятора

0002: jump ЈЈSecondSegment
DEFINE MEMORY 34329 ;; память. Не знаете - не меняйте.

:SecondSegment
0002: jump ЈЈThirdSegment
DEFINE OBJECTS 3 ;; количество 3D-объектов, повязанных на мейне - N (см. "Класс Object") плюс один.
DEFINE OBJECT (no name) ;; This is an unused object. You can put anything here.
DEFINE OBJECT FAKETARGET ;; их таблица из N строк, каждая из которых DEFINE OBJECT
DEFINE OBJECT BARREL2

:ThirdSegment
0002: jump ЈЈLabelMAIN
DEFINE MISSIONS 1 ;; это описание количества потоков типа Missions (к которым относятся не только сами миссии, но и другие. В дальнейшем под термином "метапоток" подразумевается именно такой поток). Свойства метапотоков мы обсудим позже.
DEFINE MISSION 0 at ЈЈStartM1 ; номер метапотока, метка начала.

;; Здесь начинается управляющий поток (thread).

;-------------MAIN---------------

;Вы можете видеть ниже структуру команд. Сначала идёт опкод - 4 16-ричных
;цифры (в это множество относятся цифры от 0 до 9 и латинские буквы
;A, B, C, D, E, F). Потом двоеточие и набор параметров (разделённых символами
;и пробелами. Символы без кавычек и указателей служат только для программиста.
;Программа их игнорирует, смотрит только на опкоды, определяющие суть команды)
;Параметры также называются аргументами. Основаны на числах,
;строках и переменных

;Любые локальные переменные выглядят как @.
;В каждом потоке или метапотоке у них может быть своё значение.

;Любые глобальные переменные выглядят как $
;(напр., $mashina, $chislo, $PLAYER_ACTOR).
;В любом потоке или метапотоке у них одно и то же значение.
;Изменяются только во времени.

:LabelMAIN ; это метка. Метки в месте, где стоят, выглядят как :
03A4: name_thread "MAIN" ; этой командой начальному потоку присваивается имя "MAIN"
016A: fade 0 () 0 ms ;; этой командой экран затемняется
01F0: set_max_wanted_level_to 6 ;; максимальные звёзды розыска
0111: set_wasted_busted_check_to 0 (disabled) ;; НЕ МЕНЯТЬ!!!
00C0: set_current_time_hours 5 minutes 0 ;; Время при запуске
0180: set on mission flag to $ONMISSION ;; НЕ МЕНЯТЬ!!!
030D: set_total_mission_points_to 20 ;; Количество макс. очков миссий. При выполнении миссий они увеличиваются (для чего есть специальная команда., см. ниже). Отношение набранных к максимуму есть процент выполнения в игре (percentage completed в статистике)
04E4: unknown_refresh_game_renderer_at -1532.524 -625.5527; Первые две координаты старта
03CB: set_camera -1532.524 -625.5527 14.46319
0053: $PLAYER_CHAR = create_player #NULL at -1532.524 -625.5527 14.46319; В этой и предыдущей команде - все 3 координаты старта, этой командой числу, указывающему на игрока, сопоставляется переменная $PLAYER_CHAR, а сам игрок создаётся по указанным координатам
01F5: $PLAYER_ACTOR = create_emulated_actor_from_player $PLAYER_CHAR ;Создаётся ($PLAYER_CHAR) ссылка на актёра, который является игроком. Об актёрах см. ниже
0001: wait 0 ms ; ждать 0 миллисекунд. Используется для противостояния зависаниям.
01B6: set_weather 0 ;; погода по умолчанию. См. справочник
00D6: if 0
8118: NOT actor $PLAYER_ACTOR dead
004D: jump_if_false ЈЈLabelMAIN2
0352: set_actor $PLAYER_ACTOR skin_to "PLAYER"
038B: load_requested_models
0353: refresh_actor $PLAYER_ACTOR

:LabelMAIN2
016A: fade 1 (back) 1000 ms ; осветление экрана в течение 1000 миллисекунд.
00D6: if 0
0256: player $PLAYER_CHAR defined
004D: jump_if_false ЈЈLabelMAIN3
04BB: select_interiour 0 ;; select render area - интерьер по умолчанию
01B4: set_player $PLAYER_CHAR frozen_state 1 (unfrozen)
01B7: release_weather

;; Предыдущими командами мы выполнили инициализацию игрока.
;; Следующими мы начнём потоки:

004F: create thread ЈЈToSP

;(их тут может быть много)
;; И замкнём управляющий в бесконечный цикл:

:LabelMAIN3
0001: wait 2500 ms
0002: jump ЈЈLabelMAIN3 ; эта команда указывает, что нужно перейти в этом же потоке на метку LabelMAIN3.

:ToSP
0001: wait 0 ms
0417: start_mission 0
004E: end_thread

;----------MISSION 0--------------
;Установка параметров

:StartM1
0001: wait 0 ms
016A: fade 0 () 2000 ms ;; экран затемняется в течение 2 с
0001: wait 2000 ms ;; ждать 2 с
016A: fade 1 () 2000 ms ;; экран начинает осветляться
004E: end_thread ;; Метапоток вырубается.


Так устроен простейший MAIN. Давайте разберёмся,
как он работает.

Сначала устанавливаются основные параметры - время запуска,
переменная $ONMISSION (она имеет два целых значения - 0 (по
умолчанию) и 1),
"очки (не линзы, а баллы) миссий".
Потом по неким координатам
(04E4: unknown_refresh_game_renderer_at -1532.524 -625.5527)
идёт быстрая прорисовка местности.
В принципе, прорисовка местности начинается автоматически
при размещении камеры, но эта команда ускоряет прорисовку.
Потом по заданным координатам появляется игрок и ему
присваиваются две хендл-переменных ($PLAYER_CHAR класса PLAYER
и $PLAYER_ACTOR класса actor).
Разберём, для чего это надо. Классы - некие наборы
хендл-объектов, которые имеют определённые свойства. Player
(игрок) - это только игрок.
Actor (актёр) - это уникальные люди, используемые
в миссиях, и многие другие.

Команды, в описаниях которых (1) стоит actor перед хендлом
(к примеру, 0239: actor $1036 run_to 65.8001 -1443.9999
- актёру бежать в заданную точку),
применяются к актёрам, а через переменную $player_actor
(2) - и к игроку.
К примеру, набор команд

0239: actor $anton run_to 65.8001 -1443.9999
0239: actor $strykov run_to 65.8001 -1443.9999

заставит бежать в точку с указанными координатами
актёров $anton и $strykov, а если к ним дописать такую:

0239: actor $PLAYER_ACTOR run_to 65.8001 -1443.9999

, то и игрок составит им компанию.

[Примечание 1: несмотря на игнорирование слов - непараметров,
без описаний скриптеру не сориентироваться. Описания хранятся
в файле opcodes.txt (в папке программы. Если я не буду
указывать, где лежит тот или иной файл - он в папке программы).
Можно вызвать опкод по описанию, как я всегда и пишу скрипты.
Нужно ввести описание и нажать F1, поставив на него курсор.
Можно то же самое проделать с опкодом и даже с параметром.
Подробнее об этом написано в описании файлов папки программы.]

[Примечание 2: регистр букв значения не имеет. Что $player_actor, что $PLAYER_ACTOR,
что $PlaYer_AcTOR - разницы нет. Как и между опкодами 004F и 004f.]

Теперь пропустим следующие строки с проверками, это вам не надо,
и перейдём к строке 004F: create thread ЈЈToSP. Будет найдена метка
:ToSP и параллельно потоку "main" будет создан ещё один.
Потоки работают одновременно, поэтому если после строки
создания потока будут другие, то и они запустятся.
И, пройдя метку :LabelMAIN3, игра начнёт зацикливать этот поток,
так как завершить его нельзя. Другие - можно, этот - нет.

В потоке, который мы создали, следующие команды:

0001: wait 0 ms ; ждать 0 мс
0417: start_mission 0 ; запустить метапоток 0
004E: end_thread ;чтобы завершить поток, используется эта команда

Где начинаются метапотоки, обычные заканчиваются. Это две части скрипта.
В таком языке, как, к примеру, Pascal принято начинать
каждый оператор с новой строки и выделять блоки отступами.
Есть подобные правила и в скриптинге, необязательные, но
очень желательные.

Начало метапотоков показывают так:

;----------Missions---------

или

;----------Meta-------------

Начало каждого из них:

;----------Mission -------------
;

Если вам надо быстро найти метку метапотока, то в окне поиска
лучше всего ввести:

-[-]

К примеру, 5-, 0--, 1-.

После нуля -- ставится потому, что по 0- может найтись
команда 03C8: rotate_player-180-degrees.

Метапотоки имеют свои свойства, их мы рассмотрим позже.
Здесь же работа единственного метапотока описана.
367 Прочтений •  [BW's Vice Mission Builder] [13.05.2012] [Комментариев: 0]
Добавил: Ukraine Vova
Ссылки
HTML: 
[BB Url]: 
Похожие статьи
Название Добавил Добавлено
• BW's Vice Mission Builder Ukraine Vova 13.05.2012
Ни одного комментария? Будешь первым :).
Пожалуйста, авторизуйтесь для добавления комментария.

Проект входит в сеть сайтов «8Gamers Network»

Все права сохранены. 8Gamers.NET © 2011 - 2025

Статьи
Рецензия на Pressure
Рецензия на Pressure
Чтобы обратить на себя внимание, начинающие маленькие разработчики, как правило, уходят в жанры, ...
Рецензия на Lost Chronicles of Zerzura
Рецензия на Lost Chron...
Игры, сделанные без любви и старания, похожи на воздушный шар – оболочка есть, а внутри пусто. Lo...
Рецензия на The Bridge
Рецензия на The Bridge
«Верх» и «низ» в The Bridge — понятия относительные. Прогуливаясь под аркой, можно запросто перей...
Рецензия на SimCity
Рецензия на SimCity
Когда месяц назад состоялся релиз SimCity, по Сети прокатилось цунами народного гнева – глупые ош...
Рецензия на Strategy & Tactics: World War 2
Рецензия на Strategy &...
Название Strategy & Tactics: World War II вряд ли кому-то знакомо. Зато одного взгляда на ее скри...
Рецензия на игру Scribblenauts Unlimited
Рецензия на игру Scrib...
По сложившейся традиции в информационной карточке игры мы приводим в пример несколько похожих игр...
Рецензия на игру Walking Dead: Survival Instinct, The
Рецензия на игру Walki...
Зомби и продукция-по-лицензии — которые и сами по себе не лучшие представители игровой биосферы —...
Обратная связь | RSS | Донейт | Статистика | Команда | Техническая поддержка