Страница 1 из 1

Cleo скрипты

Добавлено: 21 фев 2019, 20:58
Vovka
Не все разбираются и знают, что же это такое - Cleo скрипты?

Cleo скрипт - это компилированный файл с командами, которые должны выполняться игрой.

Основные миссии игры храняться в файлах main.scm и script.img. Cleo скрипт – это обычный скрипт, который написанн с использованием опкодов в Sanny Builder. Каждый скрипт пишется как отдельный файл с расширением .cs (Custom Script). Главное - скрипты предоставляют возможность создавать новые фишки и миссии для любимых игр. Природа Cleo позволяет в любой момент игры добавить новые скрипты, а также удалить имеющиеся. При этом не потребуется редактировать main.scm, а значит пропадают проблемы с необходимостью начала новой игры, несовместимостью сейвов, скриптовыми лимитами и так далее.

Как создать Cleo скрипт своими силами?
Очень интересный вопрос милый друг! Насколько нам известно: Главное требование написания таких скриптов - они должны быть скомпилированы как внешние скрипты. Существует несколько способов создания Cleo скрипта, способного нормально работать в игре:
Первый способ:
  • Вы добавляете в исходник новый внешний скрипт, после этого компилируете, и извлекаете нужный файл из script.img. Этот файл будет иметь расширение .scm, и вам останется только изменить его на .cs и скопировать в папку ‘игра\CLEO’.
Второй способ:
  • Создайте новый файл в Sanny Builder’е, напишите в начале директиву $E, после этого код скрипта и скомпилируйте. Полученный файл будет точно такой, как если бы вы извлекли его из script.img. Вам останется только дать ему нужное расширение .cs и скопировать в папку \CLEO.
Третий способ:
  • Создайте новый файл, в начале напишите директиву {$CLEO .cs} (или с другим расширением), после этого код скрипта и скомпилируйте. Файл автоматически будет скопирован в директорию CLEO и будет иметь такое расширение, которое вы указали в директиве $CLEO (.cs по умолчанию).
    Скрипты могут использоваться и как миссии. Процесс компиляции такой же, однако итоговый файл должен иметь расширение .cm (Custom Mission). Для того чтобы запустить такую миссию, используйте опкод 0A94.


Основные правила, при создании Cleo 3:
  • Один файл – один поток. Каждый Cleo скрипт должен быть выполнен в виде отдельного потока, который компилируется в отдельный файл. Если вам нужно создавать дополнительные потоки для вашего скрипта, используйте опкоды 004F или 0A92, в зависимости от того, где находится этот поток: в main.scm или отдельном cs-файле.
    Никогда не используйте опкод 004E в Cleo скриптах. Они работают отдельно от обычных потоков, и использование этого опкода вызовет ошибку. Если вам нужно остановить Cleo поток, используйте опкод 0A93. В Cleo миссиях наоборот никогда не используйте опкод 0A93, а для остановки миссии используйте 004E. Как уже говорилось, для установки скрипта достаточно скопировать его в папку ‘игра\CLEO’. Имя файла не имеет значения, работа с файлами происходит по расширению. Однако имя файла используется при инициализации Cleo потока, чтобы дать ему внутреннее имя (name_thread) по названию файла (первые 7 символов). Например, Cleo поток в файле showsavescreen будет иметь имя SHOWSAV.

    Для удаления скрипта из игры просто удалите соответствующий файл.
Статус Cleo потоков может сохраняться и загружаться вместе с обычными потоками. По умолчанию эти потоки не сохраняются. Сами сейвы находятся отдельно, в папке Cleo\cleo_saves. Для каждого слота используется отдельный сейв. В сейве сохраняются только те Cleo потоки, для которых включен флаг сохранения (опкод 0A95). В сейве сохраняются не только активные потоки, но и те, которые были завершены (опкод 0A93), чтобы предотвратить их повторную загрузку. Если при последующей загрузке один из сохраненных скриптов не будет найден, ошибки не будет. Если вы добавите новый скрипт, которого нет в сейве, он запустится вместе со всеми и начнет работать с начала.

В целом Cleo потоки такие же как и обычные потоки. У них также 32 локальных переменных и 2 таймера. При создании Cleo потока или Cleo миссии можно передавать в них до 34 параметров (по аналогии с опкодом 004F).

Важный момент, связанный с обменом данными между Cleo скриптом и main.scm. Чтобы пользоваться кодом из майна, его переменными, потоками, вы должны компилировать Cleo скрипт как внешний скрипт, а затем извлекать из script.img. Однако этот способ очень не рекомендован, поскольку такой скрипт становится весьма чувствительным к изменению main.scm. По смыслу, Cleo скрипты должны быть самодостаточными и использовать минимум ресурсов главного скм-файла. Вы, однако, можете свободно использовать имена глобальных переменных из файла CustomVariables.ini (например, $PLAYER_CHAR, $PLAYER_ACTOR, $ONMISSION и т.д.).
Также для обмена данными между main.scm и Cleo, или между Cleo скриптами вы можете использовать Cleo переменные. (Cleo переменные и прочий FAQ по созданию, ищите в Яндексе)

И напоследок расскажем как устанавливать Cleo скрипты:
  • 1. На вашем ПК должна быть установлена игра GTA San Andreas.
    2. Установите библиотеку "Cleo 3" или "Cleo 4". (качаем ниже)
    3. И вот теперь уже и сам скрипт - чаще всего он в формате *.cs - его нужно поместить в папку CLEO, которая находится в корневой папке игры после правильной установки библиотеки CLEO.