Как скомпилировать .lua файл в .luac | Sublime Text 3 | BLASTHACK
JavaScript отключён. Чтобы полноценно использовать наш сайт, включите JavaScript в своём браузере.
- #1
Как скомпилировать .lua файл в .luac | Sublime Text 3
___
Написал код,хочу перевести .lua в .luac(чтобы его не читали) Как это Сделать?
Прога: Sublime Text 3
Формат: .lua
Windows: 10
Думаю этого хватит.
Сортировка по дате Сортировка по голосам
- #2
Позитивный голос 0 Негативный голос
- #3
enw1cktuz написал(а):
чтобы его не читали
Нажмите для раскрытия. ..
Это лишь компиляция, по факту она вообще не защитит и твой код могут спокойно прочитать.
Позитивный голос 0 Негативный голос
Войдите или зарегистрируйтесь для ответа.
Гайд Разбираем устройство скомпилированных Lua-скриптов
- RedHolms
- Lua
- Ответы
- 5
- Просмотры
- 3K
Lua
#Northn
Информация MoonLoader — разработка
- FYP
- Lua 32 33 34
- Ответы
- 496
- Просмотры
- 193K
Lua
Alkoigel
Предложение Компиляция из кода в lua файл
- YarikVL
- Предложения и замечания 2
- Ответы
- 16
- Просмотры
- 889
Предложения и замечания
Digger Man
Информация Поиск и решение ошибки в . lua скрипте
- chapo
- Lua
- Ответы
- 5
- Просмотры
- 683
Lua
egaa
Stupid-GUI
- shrug228
- Lua 2
- Ответы
- 17
- Просмотры
- 2K
Lua
Mico
Поделиться:
Поделиться Ссылка
Wiki.
Ru — Сайт о программировании в Pawn Pawn-Wiki.Ru — Сайт о программировании в PawnПерейти к содержимому
Типичный Скриптер SAMP — паблик, посвящённый скриптингу и всему, что с ним связано. |
По всем вопросам, касающимся размещения рекламы на сайте обращайтесь в Telegram: ссылка |
Список форумов
Школа скриптингаУроки, готовые решение и прочее. Подфорумы:
|
| |
Первая помощьПомощь в pawn скриптинге. Подфорумы:
|
| |
ЗагрузкиМоды, скрипты, маппинг и прочее загрузки. Подфорумы:
|
| |
ДругоеДругие темы которые относятся к тематике pawn. Подфорумы:
|
|
НовостиПоследние новости мультиплеера и их обсуждения. |
| |
ХостингиХостинги для SAMP серверов. Подфорумы:
|
| |
СервераИгровые сервера SAMP. Подфорумы:
|
| |
МодификацииМодификации для SAMP и GTA SA. Подфорумы:
|
|
Торговая площадкаЗдесь можно купить или продать товар. Подфорумы:
|
| |
ГрафикаОбсуждения связанные с графикой. |
| |
Движки сайтовIPB, vBulletin, phpBB, DLE и другое. |
| |
ПрограммированиеОбсуждение языков программирования. |
| |
ИнтернетСоцсети, поисковики, партнерки и многое другое. |
| |
ПортфолиоПортфолио пользователей форума. |
| |
БеседкаРазговоры на различные темы. |
|
Новости форумаСписок важных новостей и обновлений форума. |
| |
Технический разделПредложения, замечания и вопросы по работе форума. |
| |
Платные услугиПлатные услуги от нашего форума. |
| |
Наши проектыСписок проектов которые принадлежат нам. |
|
Документация TOC TOP Build Systems Версия:
Sublime Text предоставляет системы сборки , позволяющие пользователям запускать внешние программы. Примеры общего использования систем сборки включают в себя: компиляцию, транспиляцию, линтинг и выполнение тестов.
Системы сборки указываются через JSON и сохраняются в файле с расширением
расширение .sublime-build. Новая система сборки может быть создана с помощью
пункт меню Tools Build System New Build System… или Build:
Новая запись командной палитры Build System
.
Системы сборки имеют различные способы, которыми они могут ассоциировать себя с файлами и
проекты. Используя эту информацию, Sublime Text может интеллектуально отображать только
жизнеспособные системы сборки для пользователя. Встроенная цель exec
предоставляет общие параметры для быстрого запуска. Для более сложных
требования, системы сборки могут ориентироваться на пользовательские команды Sublime Text, написанные на
Питон.
Базовый пример
Применение
Опции 9\\s*Файл \»(…*?)\», строка ([0-9]*)» }
В разделах «Использование» и «Параметры» обсуждается, как использовать и настраивать система сборки.
Использование
Системы сборкивключают следующие функции:
Автоматический выбор системы сборки на основе типа файла
Запоминание последней использованной системы сборки
Навигация по результатам системы сборки
Возможность отмены сборки
Запуск сборки
Сборку можно запустить одним из следующих способов:
Клавиатура
Меню
Windows/Linux
Mac
Все
Сборка инструментов
Контр. + Б
⌘ + Б
F7
Вывод будет отображаться на панели вывода, отображаемой в нижней части Sublime. Текстовое окно.
Выбор системы сборки
По умолчанию Sublime Text использует автоматический выбор систем сборки. Когда пользователь вызывает сборку, синтаксис и имя файла текущего файла будут использоваться для выбора соответствующую систему сборки.
Если более чем одна система сборки соответствует текущему типу файла, пользователь будет предлагается выбрать систему сборки, которую они хотят использовать. Как только система сборки был выбран, Sublime Text будет помнить его до тех пор, пока пользователь не изменит свой выбор.
Чтобы вручную выбрать систему сборки, используйте: Инструменты Система сборки
Чтобы изменить систему сборки, в доступных вариантах используйте один из следующих методы:
Клавиатура
Меню
Палитра команд
Windows/Linux
Mac
Инструменты для сборки с…
Сборка с:
Ctrl + Shift + B
⇧ + ⌘ + Б
Навигация по результатам
Системы сборки позволяют перемещаться по файлам, указанным в выходных данных сборки. Обычно это используется для перехода к местоположению ошибок. Навигация может быть выполнена через:
Команда
Клавиатура
Меню
Следующий результат
F4
Инструменты Результаты сборки Следующий результат
Предыдущий результат
Смена + F4
Инструменты Результаты сборки Предыдущий результат
Отмена сборки
Незавершенную сборку можно отменить с помощью:
Клавиатура
Меню
Палитра команд
Windows/Linux
Mac
Инструменты Отменить сборку
Сборка: Отмена
Контр. + Перерыв
Контрол + С
Опции
Все системы сборки могут использовать следующие ключи верхнего уровня в файл .sublime-build:
- строка «селектор»
Селектор, соответствующий синтаксису, который должна использовать эта система сборки. быть включен для.
Пример:
"source.python"
- «file_patterns» массив строк
Шаблоны имен файлов системы сборки должны быть включены за.
Пример:
["*.py"]
- «keyfiles» массив строк
Имена файлов, если они присутствуют в одной из открытых папок, которые вызовут система сборки, которая будет включена.
Пример:
["Makefile"]
- «варианты» массив объектов
Дочерние системы сборки, которые наследуют параметры от верхнего уровня система сборки. Для каждого варианта необходимо указать ключ
"имя"
, и может переопределить или добавить параметры в систему сборки верхнего уровня.Пример:
[ { "name": "Символы отладки", "cmd": ["моя_команда", "-D", "$ файл"] } ]
- строка «отмена», массив строк
Строковое имя команды или массив строковых параметров.
Если указана строка, указанная команда будет использована для отмены строить.
Если массив строк, будет вызвана первичная
"целевая"
, с этими добавлены опции. Это необходимо указать только при использовании пользовательского"цель"
.Примеры:
"cancel_my_build"
или{ "kill": true }
- «целевая» строка
Команда для запуска при вызове системы сборки. Значение по умолчанию
exec
позволяет использовать дополнительные параметры, указанные в exec Target Опции.Если указано значение, отличное от
"exec"
, ни один из параметров в exec Целевые параметры сделают все, что угодно.Полный пример см. в расширенном примере.
Пример:
"моя_сборка"
- «окна» объект
Параметры для использования, когда система сборки выполняется в Windows машина.
Пример:
{ "cmd": ["my_command.exe", "/D", "$file"] }
- «OSX» объект
Параметры для использования при выполнении системы сборки на компьютере Mac.
Пример:
{ "cmd": ["/Applications/MyProgram.app/Contents/MacOS/my_command", "-d", "$file"] }
- «линукс» объект
Параметры для использования, когда система сборки выполняется на компьютере с Linux.
Пример:
{ "cmd": ["/usr/local/bin/my_command", "-d", "$file"] }
exec
Параметры целиПо умолчанию
target
изexec
используется в большинстве систем сборки. Это предоставляет следующие параметры для управления тем, какую программу выполнять и как отображать результаты.- «cmd» массив строк
Исполняемый файл, который необходимо запустить, а также любые аргументы, которые необходимо передать ему. Конструкции оболочки такие как конвейер и перенаправление не поддерживаются — см.
"shell_cmd"
.Может использовать переменные.
Пример:
["моя_команда", "-d", "$file"]
- Строка «shell_cmd»
Выполняемая команда оболочки. В отличие от опции
"cmd"
, это позволяет трубопровод и перенаправление. Буду использоватьbash
на компьютерах Mac и Linux иcmd.exe
в Windows.Имеет приоритет над
"cmd"
. Если вы хотите переопределить"shell_cmd"
в варианте сборки с"cmd"
затем также установить"shell_cmd" от
доноль
.Может использовать переменные.
Пример:
"моя_команда \"$файл\" | другая_команда"
- строка «working_dir»
Каталог для выполнения
"cmd"
или"shell_cmd"
внутри.Может использовать переменные.
Пример:
"$file_path"
- строка «file_regex»
Регулярное выражение для запуска в выходных данных сборки для сопоставления информации о файле. Совпадающая информация о файле используется для включения навигации по результатам. Регулярное выражение следует захватить 2, 3 или 4 группы.
Группы захвата должны быть:
имя файла
- 9\\n]+)»
- строка «line_regex»
Регулярное выражение для выполнения в выходных данных сборки для сопоставления информации строки. Совпадающая информация о файле используется для включения навигации по результатам. Регулярное выражение следует захватить 1, 2 или 3 группы.
Группы должны захватить:
номер строки
номер столбца
сообщение об ошибке
Это регулярное выражение необходимо, только если некоторые результаты содержат строго номер строки, номера строк и столбцов или номера строк и столбцов с сообщение. Когда такое совпадение сделано, 9\\n]+)»
- «кодирующая» строка
Кодировка вывода системы сборки. Использует имена кодеков Python. По умолчанию
"утф-8"
.Пример:
"iso-8859-1"
- объект «env»
Значения переменных среды для использования при запуске
"cmd"
или"shell_cmd"
.Пример:
{ "ПИТОНИОКОДИРОВАНИЕ": "utf-8" }
- «тихий» логический
Уменьшает объем вывода о вызове системы сборки.
Пример:
верно
- «word_wrap» логическое значение
Включает перенос слов на панели вывода системы сборки.
Пример:
верно
- «синтаксическая» строка
Файл синтаксиса для выделения панели вывода системы сборки.
Пример:
"Пакеты/JavaScript/JSON.sublime-синтаксис"
Пользовательские опции
При реализации команды в качестве системной цели сборки Аргументы ключевых слов доступны через параметры в файле .sublime-build. Однако некоторые имена параметров не будут работать, поскольку они конфликтуют с встроенный функционал системы сборки.
Следующие имена не будут передаваться в качестве аргументов команд. Это также применяется к другим ситуациям, таким как параметры, указанные в
"отмена"
,"linux"
,"osx"
и"windows"
вариантов.Переменные
Следующие переменные будут расширены в любой строке, указанной в
"cmd"
,"shell_cmd"
или"working_dir"
вариантов.Если в одной из этих опций необходимо указать буквальное значение
$
, оно должно быть отделался кодом\
. Поскольку JSON также использует обратную косую черту для экранирования,$
будет нужно записать как\$
.Обратите внимание, что эта замена произойдет для любого «цель». Если используется пользовательская цель, она может реализовать расширение переменных для дополнительных опций с помощью
sublime.expand_variables()
с результатомself.window.extract_variables()
.Переменная
Описание
Пакеты $
Путь к папке Packages/.
$платформа
Платформа, на которой работает Sublime Text:
"windows"
,"osx"
или"linux"
.$файл
Полный путь, включая папку, к файлу в активном представлении.
$file_path
Путь к папке, содержащей файл в активном представлении.
$file_name
Имя файла (без пути к папке) файла в активном представлении.
$file_base_name
Имя файла, за исключением расширения, файла в активном представлении.
$file_extension
Расширение имени файла в активном представлении.
$папка
Полный путь к первой папке, открытой на боковой панели.
$проект
Полный путь к текущему файлу проекта.
$project_path
Путь к папке, содержащей файл текущего проекта.
$project_name
Имя файла (без пути к папке) текущего файла проекта.
$project_base_name
Имя файла текущего проекта без расширения.
$project_extension
Расширение текущего файла проекта.
Расширенный пример
В следующем примере показана пользовательская команда
target
с возможностью отменить сборку и перейти к результатам.Цель
sublime_plugin.WindowCommand
. Этот предоставит переменную экземпляраself.window
, чтобы разрешить взаимодействие с текущий проект, окно и активный вид.Обратите внимание, что следующий пример несколько упрощен в своем реализации, и он не будет обрабатывать многие распространенные пограничные случаи.
Следующий Python можно сохранить в файл именованный пакет/пользователь/my_example_build. py:
импорт возвышенный импортировать возвышенный_плагин подпроцесс импорта импорт потоков импорт ОС класс MyExampleBuildCommand (sublime_plugin.WindowCommand): кодировка = 'utf-8' убит = ложь процесс = нет панель = нет panel_lock = многопоточность.Lock() def is_enabled(self, lint=False, Integration=False, kill=False): # Опция Отменить сборку должна быть доступна только # когда процесс еще запущен если убить: return self.proc не равен None, а self.proc.poll() равен None вернуть Истина def run(self, lint=False, Integration=False, kill=False): если убить: если self.proc: self.killed = Истина self.proc.terminate() возвращаться vars = self.window.extract_variables() рабочий_каталог = варс['путь_к_файлу'] # Блокировка используется, чтобы гарантировать, что только один поток # одновременное касание панели вывода с self. \s+строка (\d+) столбец (\d+)' ) settings.set('result_base_dir', рабочий_каталог) self.window.run_command('show_panel', {'панель': 'output.exec'}) если self.proc не None: self.proc.terminate() self.proc = Нет аргументы = ['my_cli'] если линт: args.append('-l') интеграция с Элиф: args.append('-i') args.append(vars['имя_файла']) self.proc = подпроцесс.Popen( аргументы, стандартный вывод=подпроцесс.PIPE, stderr=подпроцесс.STDOUT, cwd = рабочий_каталог ) self.killed = Ложь резьба. Поток ( цель = self.read_handle, args=(self.proc.stdout,) ).Начало() def read_handle (я, дескриптор): размер_чанка = 2 ** 13 выход = б'' пока верно: пытаться: данные = os.read(handle.fileno(), chunk_size) # Если точно запрошенное количество байтов было # читать, может быть больше данных, а текущий # данные могут содержать часть многобайтового символа выход += данные если len(данные) == chunk_size: Продолжать если данные == b'' и выход == b'': поднять IOError('EOF') # Мы передаем функцию, чтобы убедиться, что # timeout получает значение out прямо сейчас, # а не будущая (мутированная) версия self. queue_write(out.decode(self.encoding)) если данные == b'': поднять IOError('EOF') выход = б'' кроме (UnicodeDecodeError) как e: msg = 'Ошибка декодирования вывода с использованием %s - %s' self.queue_write(msg % (self.encoding, str(e))) ломать кроме (IOError): если себя убил: сообщение = 'Отменено' еще: сообщение = 'Готово' self.queue_write('\n[%s]' % сообщение) ломать def queue_write (я, текст): возвышенное.set_timeout (лямбда: self.do_write (текст), 1) def do_write (я, текст): с self.panel_lock: self.panel.run_command('добавить', {'символы': текст})
Пользовательский
MyExampleBuildCommand
можно настроить как систему сборки с помощью следующий JSON сохранен в файл с именем Packages/User/My Example Сборка. возвышенная-сборка:{ "цель": "мой_пример_сборки", "селектор": "source.mylang", "отменить": {"убить": правда}, "варианты": [ { "имя": "Линт", "линт": правда }, { "name": "Интеграционные тесты", "интеграция": правда } ] }
Компиляция— скомпилируйте и запустите любую программу с помощью Sublime Text, с ОБОИМ вводом и выводом
Следующее было протестировано на Sublime Text 4 (сборка 4121) с GCC для C в Windows 7, но должно быть адаптировано к другим версиям/компиляторам. /языки/операционные системы.
Система сборки Sublime Text предназначена только для сборки, а не для запуска. Мы можем, правда, запустить программу с некоторой хитростью, но Sublime Text выводит все на собственную панель сборки, которая построена для выводит только .
Чтобы получить ввод из STDIN, мы должны открыть командное окно (оболочку). Если да, то почему бы не разместить там все (сообщения компилятора, ввод, вывод)?
Откройте Sublime Text и перейдите к Настройки → Просмотр пакетов... . Перейдите в папку User и создайте два файла следующим образом:
Compile_and_run_C.sublime-build
/* Это вызывает пакетный сценарий с исходным файлом в качестве аргумента. */ /* Это всегда будет выполняться в каталоге, где находится исходный файл. */ { "shell_cmd": "начать C:\\path\\to\\Compile_and_run_C.bat ${file_name}", "file_patterns": ["*.c"] }
Compile_and_run_C.bat
rem Этот сценарий принимает один аргумент, исходный файл, компилирует и запускает его. @эхо выключено rem Раскомментируйте следующую строку, если компилятор не находится в `PATH` (`setlocal` здесь не нужен). rem установить путь = C:\path\to\gcc;%path% rem Примените здесь параметры компилятора. rem Например, такой реакционер, как я, написал бы `gcc -ansi -pedantic-errors %1`. gcc %1 rem N.B.: Приведенная выше строка вызовет компилятор со всеми параметрами по умолчанию. rem Поскольку имя выходного файла не указано, это будет `a.exe`! rem Если бы не было ошибки компиляции, только тогда был бы создан исполняемый файл. rem И только потом запускать. rem Удалите и его, если не хотите засорять папку с программой без надобности. если %errorlevel%==0 ( .exe дель a.exe ) эхо: Пауза выход
Перезапустите Sublime Text, загрузите программу C и нажмите Ctrl + B (или F7 ).
- Что, если мы запустим напрямую, без использования пакетного сценария, например, с
"shell_cmd": "‹compile› && ‹run›"
?
Это приведет к выводу на панель сборки Sublime Text, которая не может принимать ввод. Вы должны открыть командное окно сstart
. - Как насчет
"shell_cmd": "начать ‹compile› && ‹run›"
тогда?
Это будет компилироваться в командном окне, но затем выводиться на панель сборки Sublime Text, которая не может принимать ввод.