Mr_Secret | Дата: Пятница, 04.05.2012, 17:56 | Сообщение # 1 |
Да я одмин мля :)
Группировка: Администраторы
Постов: 1332 Из: Новосибирск
Награды: 4 +
Статус: Без сознания
| Прошлые темы я удалил в связи с их бесполезностью. Теперь я пишу свои собственные уроки, а не копирую и переделываю мануал Alexander'a. Итак, вот у Вас есть все программы и возможности для написания полноценного скрипта или даже миссии, но Вы не знаете, с чего начать? Начнем с того, что если Вы хотите, чтобы Ваш скрипт не зависел от работоспособности библиотеки CLEO, то Вам нужно полностью очистить файл main.scm. Конечно, Вы можете делать и CLEO - скрипты, все, что Вы напишете в файле main.scm, будет работать и в формате .cs. Итак, откройте Ваш main.scm (далее просто майн). Он находится в директории: путь к вашей GTA/GTA San Andreas/data/script. Отлично, выбрали майн и нажали кнопку ОК. Sanny Builder (далее просто билдер, сами понимаете, лень ) начнет грузить файл (загрузка, в худшем случае, займет секунд 10). Далее у Вас вылезет примерно такое окошко: Снова жмакаем ОК, и перед нами открывается целая куча цифр и букв. Точнее, если с Вашим майном все в порядке, должно получиться так: Итак, нам предстоит разгрести всю эту кучу программных строк. Для мотивации предоставлю Вам скриншот одной из моих работ. После примерно недели, а то и меньше заучивания и понимания программного языка и основных моментов работы скриптов, я уверен, Вы сможете сделать не хуже Итак, давайте определимся с целью. Допустим, Вы хотите создать свою миссию для игры. Не проблема! Не все, конечно, так просто, но главное - терпение! Для начала нам придется очистить весь майн. Ставим курсор на любую строку кода и жмем Ctrl+A. В итоге у нас выделился абсолютно весь текст майна. Затем параноикам, боящимся вылетов и зависаний рекомендую глубоко вдохнуть... и жмем заветный Backspace. И вот уже перед нами абсолютно чистый лист! Конечно, на таком пустом майне игра работать не будет и вылетит, поэтому впишем туда базовые команды, дающиеся игре при старте (создание игрока, загрузка моделей...). Скопируйте это к себе в main: Code DEFINE OBJECTS 1 DEFINE OBJECT SANNY BUILDER 3.04
DEFINE MISSIONS 0
DEFINE EXTERNAL_SCRIPTS 0
DEFINE UNKNOWN_EMPTY_SEGMENT 0
DEFINE UNKNOWN_THREADS_MEMORY 3072
{$VERSION 3.1.0027}
//-------------MAIN--------------- thread 'MAIN' set_wb_check_to 0 set_weather 0 select_interior 0 fade 1 0 0180: set_on_mission_flag_to $ONMISSION 00C0: set_current_time_hours_to 8 minutes_to 0 04E4: unknown_refresh_game_renderer_at 2491.1572 -1670.3434 Camera.SetAtPos(2491.1572, -1670.3434, 12.3359) $PLAYER_CHAR = Player.Create(#NULL, 2491.1572, -1670.3434, 12.3359) $PLAYER_ACTOR = Actor.EmulateFromPlayer($PLAYER_CHAR) Actor.Angle($PLAYER_ACTOR) = 66.3548 07AF: $PLAYER_GROUP = player $PLAYER_CHAR group Camera.SetBehindPlayer Player.Build($PLAYER_CHAR) Player.CanMove($PLAYER_CHAR) = True end_thread Теперь компилируем файл (F7) и запускает саму GTA (F8). Ах да, забыл вас предупредить, что мы лишимся своих сохранений. Так что будет очень хорошо, если у Вас будет бэкап оригинального майна. Вернее, сохранений мы не лишимся, но при их загрузке игра скорее всего выдаст ошибку и вылетит. Ну что ж, пришло время для создания самой миссии. Но сразу браться за ее программирование мы не будем. Ведь не сможем же мы стать профессорами известного ВУЗа, не зная элементарной таблицы умножения . Но я немного отвлекся. В нашем случае этой самой таблицей умножения станет... команда. Да, самая обычная скриптовая команда. Рассмотрим ее тело на примере создания актера: Code 009A: $act = create_actor 4 #WMYCR at $x $y $z Разберем эту команду по отдельности: 009А - это опкод команды. Проще выражаясь, эти цифорки и буковки завуалировано указывают билдеру на производимое действие. $act - переменная, обозначающая актера. Т.е. если мы, допустим, будем присваивать актеру анимацию, то будем писать не #WMYCR или act, а $act. Что такое переменная, я объясню в следующем уроке. 4 - тип актера, все типы я опишу в следующих уроках, здесь лишь основы. #WMYCR - это модель актера. Перед использованием модель надо загружать, но как это делать, я опять же объясню в следующих уроках. x y z - координаты, в которых создается актер. Кстати, Вы можете перименовать переменную $act во все, что угодно. Разумеется, без использования русских букв и пробелов (пробел в программировании заменяют знаком _).
Вот такой вот коротенький получился урок. В следующий раз я расскажу вам, что такое переменная, опкод, лейбл, поток и переход. После этого перейдем уже непосредственно к практике.
Не забываем ставить мне + в репу! (:D)
|
|
| |