Как сделать клео

Добавил пользователь Евгений Кузнецов
Обновлено: 04.10.2024

В этом уроке мы рассмотрим как создавать миссии, используя CLEO.

Как и в main.scm в Cleo можно создавать миссии. Преимущество в Cleo в том, что количество миссий неограниченное! То есть если в мейне максимум 200, то в Cleo может быть 500, 600 и так дальше. Сегодня мы напишем первую Cleo-миссию ;)

Что бы компилятор сделал Cleo-миссию, нужно указать ему в директиве расширение "*.cm" ( custom mission ):

Дальше указать код миссии. Вот очень стабильный код миссий:

Обратите внимание, что завершается поток командой "end_thread"! После компиляции, SB создаст файл "*.cm" в папке Cleo. Вы можете поместить его и в другую директорию, например в папку "CLEO\MISSIONS", что бы отделить написанные миссии от Cleo-скриптов.

Давайте напишем миссию, что бы на CJ-я нападали три тела и нужно их убить. После убийства мы получим 1000$.

Компилируем файл. В нас получился файл "MISSION.cm". Отлично! Мы создали миссию!

Как и в мейне, нам необходимо написать стартер для миссии - набор условий для запуска. Кстати, что бы запустить Cleo-миссию, необходимо использовать опкод:

Здесь:
"MISSION" - имя миссии ( название файла! ). Обратите внимание, что расширение "*.cm" писать не надо!

Давайте напишем простой стартер. Для этого создадим Cleo-скрипт с таким содержимым:

Таким образом мы сделали полноценный стартер и миссия запустилась без проблем:


Обратите внимание на последний "jump". Мы перейдём на начало потока, что даёт возможность пройти миссию ещё раз. Если поставить в место неё опкод "0A93: end_custom_thread", то пройти миссию мы сможем только 1 раз за загрузку игры ( в том числе когда миссия провалена ), так что оставляем "jump".

Так по-немножку, мы подошли к стартерам. В следующем уроке мы подробнее рассмотрим стартеры, а именно будем учится запускать миссии по-очереди, делать что бы при завершении одной миссии открывались две новых и в таком духе. Материал достаточно сложный в освоении, так как нужно всегда всё держать в своей памяти.

Думаю основу создания cleo-миссий мы рассмотрели. Создайте несколько своих миссий. Тестируйте на здоровье :)




//------------------Mission-----------------
:MISSION_0
thread 'MISSION_0'
gosub @MISSION_0_29_57
if
wasted_or_busted
jf @MISSION_0_29_46
gosub @MISSION_0_29_144

:MISSION_0_29_46
$ONMISSION = 0
mission_cleanup
end_thread

:MISSION_0_B
wait 0
if
actor.Dead(0@)
then
marker.Disable(1@)
jump @MISSION_0_C
end
jump @MISSION_0_B

:MISSION_0_C
wait 0
gosub @MISSION_0_END
00BA: show_text_styled GXT "M_PASS" time 5000 style 1 // MISSION passed
0394: play_music 1
0318: set_latest_mission_passed 'MSC_1' // Big Smoke
player.Money($PLAYER_CHAR)+= 1000
return

:MISSION_0_29_144 // ÁËÎÊ ÏÐÎÂÀËÀ ÌÈÑÑÈÈ
wait 0
00BA: show_text_styled GXT "M_FAIL" time 5000 style 1 // Beefy Baron
gosub @MISSION_0_END
return

CLEO 4 - библиотека скриптов поддерживаемая всей серией GTA, созданная с целью редактирования и расширения возможностей игр Grand Theft Auto.
С помощью CLEO скриптов умелый мододел сможет достичь невероятных возможностей в GTA San Andreas. Большинство нынче существующих модов не подразумевают своё существование без клео скриптов, и потому создать качественную модификацию не применяя клео становится сложнее. Так же, библиотека CLEO поддерживает мультиплеер (САМП, МТА), но в большинстве случаев это является применением чит-кодов, дающих превосходство над другими игроками.

Установка:
Для того чтобы скачанный вами Cleo скрипт работал исправно, нам потребуется установить саму библиотеку CLEO 4 в нашу директорию с игрой. Для этого:

Создание и редактирование CLEO скриптов:

Во время установки нам предложат указать путь к папке с игрой, и попутно установить библиотеку CLEO 4.


Интерфейс программы интуитивно прост и понятен.

Верхняя панель предоставляет привычные нам параметры: Файл (сохранение, открытие, и тд), правка (полезная вкладка с инструкциями), запуск (компиляция и запуск кода), правка (различные опции с кодом)

Панель чуть ниже верхней это панель управление. Каждая иконка имеет свою функцию, наведя курсор мыши на иконку мы можем прочесть её назначение.

На нижней панели список серии игр GTA, на основе которой мы и будем писать код.

Прямо с билдера мы можем запустить игру, или узнать координаты места где находится главный персонаж, не используя другой софт.

В программу возможно подгружать абсолютно все объекты из игры, включая педов и любой транспорт. Так же, возможно создавать различные эффекты наподобие взрывов и подобного.

Множество уроков по скриптингу в Sanny Builder можно найти в интернете, удачи в созданиях CLEO!

Для начало нужно написать стандартный код скрипта, использующего SAMPFUNCS.

После этого кода можно объявлять команду. Команда не должна быть в цикле, она регистрируется один раз. Если поставить опкод регистрации в цикл, то будет перерегистрация команды и в чат будет флудить, что превышен лимит количества команд. Лимит составляет 128 команд. При написании команды не следует использовать символ /. Сам опкод регистрации команды:

Дальше должен следовать цикл. Смотря, какой вы хотите сделать скрипт, цикл будет пустой или наполнен вашем кодом. Если вы хотите делать команду, которая будет много раз повторятся, пока её не выключат, или команду с задержкой, то описание команды нужно писать в цикле, а в теле команды писать только переключатель. Для начала, я покажу пример с пустым циклом.

Цикл был нужен для того, чтобы действие никогда не доходило до метки с описанием команды, иначе все полетит. Если в команде будет задержка, допустим 5 секунд, и игрок введет эту команду до истечения этих 5 секунд, все, опять же, полетит. После цикла следует тело команды. Тело команды начинается с метки, на которую мы ранее регистрировали команду. Пример с целыми числами:


2. Программы

Для этого нужна программа Sanny Builder 3 (создание скриптов) и GTA Anim Manager (просмотр анимаций) (можно загрузить в составе этого набора).

Загружаем Anim Manager, открываем её. После нужно нажать на Preview, Load Model. Появится окно, где нужно будет выбрать модель (файлы dff и txd) любого персонажа. Для этого можно вытащить его из GTA SA или просто скачать.

Когда нашли персонажа, кликайте по нему. Теперь он появился. В моём случае это Томми из GTA Vice City:

Уроки CLEO. Урок №2: назначаем анимацию персонажу

Но он стоит без анимации, нужно её найти!

3. Находим анимацию

Слева, в списке папок нужно найти нашу директорию игры. Потом нужно найти в директории папку anim и открыть файл PED или anim (anim — это файл с расширением ifp, поэтому нужно будет указывать в скрипте место нахождения анимации, а PED — это пакет анимаций для обычных людей и самого персонажа, поэтому его не надо будет указывать в скрипте). В уроке я выбираю anim.

После того, как выбрали пакет анимаций, нужно найти саму анимацию. Я зашёл в anim, там мы видим ещё очень много пакетов анимаций. Заходим, например, в DANCING и нажимаем на любой файл. Томми переместился.

Уроки CLEO. Урок №2: назначаем анимацию персонажу

Это сработала анимация, но она не идёт! Нажмите на ">" для того чтобы персонаж был анимирован.

Уроки CLEO. Урок №2: назначаем анимацию персонажу

Всё, анимацию выбрали, но теперь надо прописать это в наш скрипт!

4. Ставим анимацию

Открываем наш старый скрипт вот этой кнопкой: .

Потом выбираете свой ранее созданный файл. Он откроется. Но перед тем как открывать файл, нужно удалить из папки CLEO текстовый документ от вашего скрипта, или открыть этот документ.

Всё, теперь можно приступать к анимации. Как я уже сказал, если вы выбрали пакет с анимациями ped.ifp, вам нижеприведённое делать не надо, а если вы поставили пакет из anim.img (а далее из dancing.ifp или каких-либо других пакетов), вам это делать нужно обязательно, иначе игра будет вылетать.

Когда вы открыли скрипт в Sanny Builder, вам нужно будет написать вот это:

04ED: load_animation "DANCING"
038B: load_requested_models
04EE: animation "DANCING" loaded

Уроки CLEO. Урок №2: назначаем анимацию персонажу

Следующие действия надо делать каждому, и тому, кто выбрал файл ped, и тому, кто выбрал anim!

Пишем перед строчкой end_thread пишете следующее:

wait 3000
0605: actor [email protected] perform_animation_sequence "сюда название анимации" IFP_file "DANCING" 4.0 loop 1 0 0 0 time -1 // versionA

Уроки CLEO. Урок №2: назначаем анимацию персонажу

Всё, анимация поставлена! Теперь компилируем и заходим в игру.

Уроки CLEO. Урок №2: назначаем анимацию персонажу

Готово! В следующем уроке мы разберемся, как сделать так, чтобы наш персонаж был злым, дадим ему ружьё и сделаем так, чтобы, если подойдёшь к нему ближе, чем 5 метров, он применил это ружье против нас.

Читайте также: