Софт Cleo Redux.

{$FANTOMCODER .cs}

Известный
Автор темы
222
60
CLEO Redux

Актуальная версия плагина: 0.9.4 Release.

Приветствую вас!
Сегодня поведаю вам о абсолютно новом и революционном плагине.
Почему революционном, да потому что он без преувеличения работает на гигантском колличестве игр серии GTA.
Расширеный функционал представлен для: GTA III, GTA VC, GTA SA, re3, reVC, GTA III DE, GTA VC DE, GTA SA DE.
Базовый функционал поддерживается в GTA IV и GTA V.
Официальная информация

Официальная информация здесь: https://re.cleo.li/docs/en/
Официальная информация на русском тут (по понятным причинам может быть немного устаревшей): https://re.cleo.li/docs/ru/

Плагин не конфликтует с SAMPFUNCS и MoonLoader.

Для полноценной работы в GTA SA нужен оригинальный CLEO 4.4.0 (у многих установлена версия 4.1 или 4.3 поэтому уточняю).

Разработчики: Seemann, Grinch_.

Официальный репозиторий: https://github.com/cleolibrary/CLEO-Redux
Наш Discord сервер: https://discord.gg/3meKFuAH

Пример скрипта:

Test:
/// <reference path=".config/gta3.d.ts" />

// Mine Drop script. Press M while in car to drop a mine. Don't forget to drive away
// as the mine will be activated in 1.5 seconds!

!["gta3", "vc", "gta3_unreal", "vc_unreal"].includes(HOST) &&
  exit("only for GTA III or Vice City");

export const PickupType = {
  None: 0,
  InShop: 1,
  OnStreet: 2,
  Once: 3,
  OnceTimeout: 4,
  Collectable1: 5,
  InShopOutOfStock: 6,
  Money: 7,
  MineInactive: 8,
  MineArmed: 9,
  NauticalMineInactive: 10,
  NauticalMineArmed: 11,
  FloatingPackage: 12,
  FloatingPackageFloating: 13,
  OnStreetSlow: 14,
};

const ACTIVATE_KEY = 0x4d; // M
const MI_MINE = GAME.startsWith("gta3") ? 1324 : 338;
const p = new Player(0);
let mines = [];
const COOLDOWN = 1500;
TIMERA = COOLDOWN;

while (true) {
  wait(250);
  if (
    TIMERA >= COOLDOWN &&
    p.isPlaying() &&
    p.isInAnyCar() &&
    Pad.IsKeyPressed(ACTIVATE_KEY)
  ) {
    const playerCar = p.getChar().storeCarIsInNoSave();

    const { x, y } = playerCar.getCoordinates();
    const time = Clock.GetGameTimer();
    mines.push({
      x,
      y,
      time,
      inactiveMine: Pickup.Create(MI_MINE, PickupType.MineInactive, x, y, -100),
    });

    TIMERA = 0;
  }

  if (mines.length) {
    activateMines();
  }
}

function activateMines() {
  const currentTime = Clock.GetGameTimer();
  mines = mines.filter(({ x, y, time, inactiveMine }) => {
    const msPassed = currentTime - time;
    if (msPassed > COOLDOWN) {
      inactiveMine.remove();
      Pickup.Create(MI_MINE, PickupType.MineArmed, x, y, -100);
      return false;
    }
  });
  return true;
}
Мой незавершённый цикл уроков: https://youtube.com/playlist?list=PLung_NtMB284K2WnvlAtZzVei1NrnJ-vU


У CLEO Redux есть installer, который сам распознаёт вашу игру и установил нужную версию плагинаплагина: https://github.com/cleolibrary/CLEO-Redux/releases/tag/0.9.3
 
Последнее редактирование:

{$FANTOMCODER .cs}

Известный
Автор темы
222
60
Пару скриншотов бы
Скриншотов работы скрипта, лога, какие именно скриншоты тебе нужны (с радостью буду улучшать тему исходя из Ваших пожеланий, но все-таки, можно побольше конкретики)?
 
Последнее редактирование:

Hatiko

Известный
Проверенный
1,427
537
Базовая поддержка GTA 5 конечно хорошо, но где оф. информация об этом, что он действительно поддерживается?
 
  • Нравится
Реакции: {$FANTOMCODER .cs}

{$FANTOMCODER .cs}

Известный
Автор темы
222
60
Базовая поддержка GTA 5 конечно хорошо, но где оф. информация об этом, что он действительно поддерживается?
Про некоторые нововведения нет инфы в официальном репозитории, в таком случае см. канал Seemann'а: https://youtube.com/channel/UC0l_06y2QIfd7WzCyxptVBQ (да и если быть до конца честным в cangelog'е официального репозитория про это есть инфа).
 
  • Нравится
Реакции: UFDHBI

D3.Pheonix

Event Loop
Модератор
2,297
1,129
js не взлетит, пока не будут реализованы либа(ы) для работы с сампом, ручками гемморно писать, собсно как и в scm. В планах вообще есть такое ?
 
  • Нравится
Реакции: {$FANTOMCODER .cs}

{$FANTOMCODER .cs}

Известный
Автор темы
222
60
js не взлетит, пока не будут реализованы либа(ы) для работы с сампом, ручками гемморно писать, собсно как и в scm. В планах вообще есть такое ?
Хороший вопрос, я конечно задам его Seemann'y, но исходя из того что я знаю, то сейчас он работает над расширением функционала для GTA IV, да и вообще его главная идея в том чтобы вывести Клео за пределы вселенной GTA (например сейчас CLEO Redux работает во многих играх которые поддерживает Аси лоадер, но с весьма скудным функционалом), так что скорее всего у него приоритет на расширение колличества поддерживаемых игр (конечно это дело не быстрое), а не на упор во что-то одно (как к примеру SF или MoonLoader), но сейчас также активно улучшается CLEO Redux SDK, и он даëт широкие возможности для умельцев (пока поддерживаются только C++ и Rust SDK) в русской документации есть подробный гайд по SDK, так что творите.

P.S. Возможно взлетит из-за ImGui, оно уже поддерживается в GTA III, GTA VC, GTA SA, re3 и reVC, а так же в планах разветвление на ImGui, на x86 и x64, такой ImGui будет работать на всех играх на которых работает CLEO Redux.

Update: Оффициальный ответ от Seemann'a: "если кто-то хочет добавить поддержку для САМП - пожалуйста. я не буду этим заниматься".




0.9.4 - May 12, 2022​


- добавлена поддержка пользовательских загрузчиков файлов, позволяющих импортировать файлы различных форматов
- добавлены новые привязки, доступные в JS-коде: статический объект CLEO и константа __filename
- добавлена новая опция конфигурации DisplayMenuInfo, чтобы контролировать, должен ли CLEO Redux отображать информацию о версии в главном меню (поддерживается в GTA III/VC/SA)
- исправлена ошибка преобразования в некоторых командах, когда вместо логического значения дается целое число

SDK И ПЛАГИНЫ​


- при вызове RuntimeNextTick с обнулением обоих аргументов (RuntimeNextTick(0, 0)) CLEO вычисляет правильные значения для current_time и time_step как время, прошедшее с момента последнего вызова RuntimeInit, и дельту времени между двумя тиками соответственно
- в установщик добавлен параметр для загрузки SilentPatch в качестве зависимости от плагина ImGuiRedux
- новые методы RegisterLoader, AllocMem, FreeMem (см. руководство)
- новые загрузчики файлов для текстовых файлов (любой хост) и файлов IDE (GTA3, VC, SA)

ОСНОВНЫЕ ИЗМЕНЕНИЯ​


- параметр конфигурации LogOpcodes больше не применяется к сценариям JS. Чтобы начать отслеживать выполняемые команды в скрипте, используйте CLEO.debug.trace(true). Чтобы отключить трассировку, используйте CLEO.debug.trace(false).
- __dirname теперь константа и не может быть изменена
- статические методы были исключены из свободного интерфейса (не могут быть связаны с другими методами)

Если что-то не понятно см. оффициальную документацию: https://re.cleo.li/docs/en/
 
Последнее редактирование: