Lua 5.5 and MoonLoader

Haru Urara

Участник
Автор темы
54
19
Версия MoonLoader
.026-beta
Привет всем!

Я разрабатываю форк Lua 5.5 под названием Sol и хотел узнать, будет ли он совместим с MoonLoader.

Sol — это форк интерпретатора Lua, где я напрямую модифицировал исходный код на C, добавив:

Новый синтаксис:
  • foreach таблица as index, value ... end — более читаемый цикл
  • f"{переменная}" — нативные f-строки как в Python
  • !=, ++, += как нативные операторы
  • Многострочные строки без [[][]]

Нативные модули на C:
  • require("http") — GET, POST, PUT, DELETE, PATCH с заголовками и таймаутом
  • require("ws") — нативный WebSocket wss://
  • require("windows") — 46 системных функций Windows
  • require("MessageBox") — 16 типов диалоговых окон
  • require("crypto") — MD5, SHA256, SHA1, Base64
  • require("json") — encode/decode/pretty
  • require("sqlite") — база данных SQLite
  • require("zip") — сжатие/распаковка файлов
  • require("media") — скачивание медиафайлов
  • require("discord") — полноценный бот как discord.py
  • require("ipconfig") — ip_release, ip_renew, ipconfig

Расширение string (без require):
  • string.has, string.contains, string.starts, string.ends
  • string.count, string.trim, string.split, string.join
  • string.capitalize, string.pad

Расширение VS Code Sol:
  • Подсветка синтаксиса для нового синтаксиса
  • Умное автодополнение по модулю
  • Ошибки на португальском в реальном времени
  • 20+ готовых сниппетов

Оригинальный код Lua продолжает работать без изменений.

Вопрос:
Скрипты, написанные для Sol, будут работать в MoonLoader? Или у MoonLoader свой интерпретатор Lua, который не примет новый синтаксис?

Репозиторий: Lua 5.5 (Sol)

Спасибо!
 
Последнее редактирование:

Fott

Простреленный
3,442
2,391
COMЕсли я заменю Lua 5.1 из moonloader на свой Lua 5.5, будет ли это работать?
LuaJIT это кросс-платформенный интерпретатор с JIT-компилятором (Just-in-Time). Он реализует Lua 5.1.
Lua 5.5 и LuaJIT это разные вещи, даже если бы замена была возможна и ты бы захотел это сделать, ты бы не смог, потому что MoonLoader не является Open source проектом, и ты не можешь вносить в него изменения. А заменой dll не обойтись.

Пиши на родном языке, не используй переводчик.