как установить скрипт луа
Инструкция по установке
Для установки скриптов желательно иметь чистую версию GTA San Andreas.
Чистая Steam версия с вырезанными audio (1,03 ГБ):
Яндекс.Диск / Google Disk / NARVELL DEV
Установить SA:MP 0.3.7 R1: Сайт / Скачать с официального сайта / Скачать с NARVELL DEV
Именно эту версию, так как если версия будет выше, то SAMPFUNCS работать не будет, а при запуске будет запускаться одиночная игра.
Установить MoonLoader v.026: Описание / Скачать c официального сайта / Скачать с NARVELL DEV
Запустить установщик, галочки установить как на скриншоте и нажать «Далее»:
Указать папку с игрой и нажать «Установить».
Если в ходе установки возникает ошибка при загрузке компонентов, то необходимо установить модули вручную: Скачать
Содержимое архива (папку samp) копировать в папку moonloader/lib.
Установить SAMPFUNCS 5.3.3 или 5.4.1 (рекомендуется): Описание / Скачать с NARVELL DEV
Файл SAMPFUNCS.asi перенести в папку с игрой.
Установить CLEO 4.3: Сайт / Скачать с NARVELL DEV
Запустить установщик, выбрать «русский» язык, нажать «далее», указать путь к папке с игрой и подтвердить нажатием на «далее», галочки оставить как есть, нажать «далее», затем «установить».
Как только всё выше будет установлено, необходимо скачать нужный вам скрипт с главной страницы сайта, открыть архив и содержимое папки «В корневую папку» перенести в папку с игрой.
Гайд #3 | Работа с библиотекой SAMP.lua
ufdhbi
https://vk.me/gfrtgf
Все, библиотеку мы установили, переходим к написанию скриптов.
Я создал файл Hooks.lua, кодировка windows 1251.
Поместил туда шаблон:
Подключим нашу библиотеку:
Попробуем отловить входящий пакет о присоеденении игрока к серверу на котором вы находитесь, пишем следующий код:
Мы написали код который будет отлавливать пакеты с информацией о том что игрок присоеденился к серверу, но никак мы не обработали, давайте выведем в чат кто присоеденился и с каким ID.
Теперь каждый раз когда кто-то присоединяется к серверу мы видим сообщение в чате:
nickname[id] присоединился к серверу.
Теперь перехватим входящее сообщение от сервера
Давайте сделаем, чтобы все сообщения которые нам приходят от сервера были зелеными.
Lua: как перестать встраивать и начать жить
Lua: как перестать встраивать и начать жить
За Lua прочно закрепилась слава полуязыка — инструмента, который при случае можно встроить, чтобы заскриптовать приложение, написанное на компилируемом языке вроде С++. Тем не менее Lua является вполне самостоятельным языком, имеющим свой интерпретатор, возможность создания модулей, большое число библиотек, и при этом данный ЯП обладает минимальным размером среди аналогов. Проще говоря у нас есть все, чтобы создавать такие же приложения как на perl, python, и вообще любом другом распространенном языке программирования.
Чтобы продемонстрировать возможности Lua, я покажу как с его использованием создать небольшую программу для построения графиков по точкам с возможностью сохранения графика в виде файла изображения.
В качестве графического тулкита будем использовать iup — кроссплатформенную библиотеку, изначально созданную с расчетом использования из Lua.
Установка Lua SDK
В рамках идеи использования Lua как самостоятельного ЯП, была создана сборка Lua for Windows, которая содержит себе библиотеки, необходимые в повседневных задачах, возникающих при программировании под указанную ОС: работы с БД, GUI, парсинг XML и т.д. Пусть вас не смущает, что версия Lua в сборке 5.1, а не 5.2 — особой разницы в нашем случае между ними нет.
Скачайте и установите сборку.
Краткое описание концепции iup
Код программы
Пара слов о развертывании
Скрипт можно запустить при помощи команды:
В данном случае библиотеки будут подключаться из поддиректории clibs/, которая находится в директории, куда был установлен Lua for Windows. Чтобы максимально компактно упаковать скрипт и библиотеки для переноса на другую машину, достаточно скопировать в одну папку следущие файлы(указаны с относительными путями от директории установки Lua):
Не забудьте поместить в эту папку и сам скрипт с программой. Теперь вы можете перенести эту папку на другую машину и запустить вашу программы командой, указанной выше. При этом никакие другие действия по установке библиотек и рантайма не нужны.
К сожалению файлы cd.dll, cdluad51.dll и iupcd.dll в данной версии Lua for Windows могут работать некорректно, поэтому рекомендую взять их из архива по ссылке ниже.
Итоги
Архив с рабочей версией тут, для удобства добавлена пускалка app.bat.
В результате получили, пусть и неказистую, утилиту, имеющую такой же функционал, как и если бы она была написана на «серьезном» языке программирования. При этом простую в развертывании и суммарным весом менее 2 мб. Потребление памяти — около 7 мб. Исходный код доступен для редактирования, сам Lua интерактивно понятен, что упрощает доработку подобного софта на местах.
На мой взгляд, это отличный выбор для написания учебного софта для школ и институтов, а также для внутреннего использования на предприятиях. Так как слабые машины до сих пор в изобилии присутствуют в подобных местах по всему СНГ, то использование Luа подобным образом целесообразно, особенно в свете постепнного прихода Linux на десктопы. К тому же тенденцию потери исходников самописного софта при жуткой его же забагованности можно приравнять к национальному бедствию.
Вопрос Как установить луа скрипты
Если да, то проверь наличие файла SAMPFUNCS.asi.
Если есть, то пришли moonloader.log из папки moonloader.
[19:17:26.580264] (system) Session started.
[19:17:26.580264] (debug) Module handle: 64B10000
MoonLoader v.026.5-beta loaded.
Developers: FYP, hnnssy, EvgeN 1137
Copyright (c) 2016, BlastHack Team
v.026.5-beta MoonLoader — это мод для игры GTA San Andreas, стремящийся стать полной современной заменой CLEO. Он вносит возможность загрузки Lua-скриптов в игру, имеет всю функциональность опкодов игры, библиотеки CLEO, плагина SAMPFUNCS и добавляет свой набор новых функций для разработки…
[19:17:26.580264] () Working directory: C:GamesARIZONA GAMESbinArizonamoonloader
[19:17:26.580264] (debug) FP Control: 0009001F
[19:17:26.580264] (debug) Game: GTA SA 1.0.0.0 US
[19:17:26.580264] (system) Installing pre-game hooks…
[19:17:26.621266] (system) Hooks installed.
[19:17:27.422312] (debug) Initializing opcode handler table
[19:17:27.422312] (debug) package.path = C:GamesARIZONA GAMESbinArizonamoonloaderlib?.lua;C:GamesARIZONA GAMESbinArizonamoonloaderlib?init.lua;C:GamesARIZONA GAMESbinArizonamoonloader?.lua;C:GamesARIZONA GAMESbinArizonamoonloader?init.lua;. lua;C:GamesARIZONA GAMESbinArizonamoonloaderlib?.luac;C:GamesARIZONA GAMESbinArizonamoonloaderlib?init.luac;C:GamesARIZONA GAMESbinArizonamoonloader?.luac;C:GamesARIZONA GAMESbinArizonamoonloader?init.luac;. luac
[19:17:27.422312] (debug) package.cpath = C:GamesARIZONA GAMESbinArizonamoonloaderlib?.dll;
[19:17:27.424312] (system) Loading script ‘C:GamesARIZONA GAMESbinArizonamoonloaderCAROeb by Kalashnikov.lua’…
[19:17:27.424312] (debug) New script: 04D48934
[19:17:27.426312] (error) CAROeb by Kalashnikov.lua: …A GAMESbinArizonamoonloaderCAROeb by Kalashnikov.lua:1: module ‘samp.events’ not found:
no field package.preload[‘samp.events’]
no file ‘C:GamesARIZONA GAMESbinArizonamoonloaderlibsampevents.lua’
no file ‘C:GamesARIZONA GAMESbinArizonamoonloaderlibsampeventsinit.lua’
no file ‘C:GamesARIZONA GAMESbinArizonamoonloadersampevents.lua’
no file ‘C:GamesARIZONA GAMESbinArizonamoonloadersampeventsinit.lua’
no file ‘.sampevents.lua’
no file ‘C:GamesARIZONA GAMESbinArizonamoonloaderlibsampevents.luac’
no file ‘C:GamesARIZONA GAMESbinArizonamoonloaderlibsampeventsinit.luac’
no file ‘C:GamesARIZONA GAMESbinArizonamoonloadersampevents.luac’
no file ‘C:GamesARIZONA GAMESbinArizonamoonloadersampeventsinit.luac’
no file ‘.sampevents.luac’
no file ‘C:GamesARIZONA GAMESbinArizonamoonloaderlibsampevents.dll’
no file ‘C:GamesARIZONA GAMESbinArizonamoonloaderlibsamp.dll’
…A GAMESbinArizonamoonloaderCAROeb by Kalashnikov.lua:1: in main chunk
[19:17:27.426312] (error) CAROeb by Kalashnikov.lua: Script died due to an error. (04D48934)
[19:17:27.427312] (system) Loading script ‘C:GamesARIZONA GAMESbinArizonamoonloaderFomikusOrigArz (1).lua’…
[19:17:27.427312] (debug) New script: 04D4F424
[19:17:27.431312] (error) FomikusOrigArz (1).lua: …ZONA GAMESbinArizonamoonloaderFomikusOrigArz (1).lua:2: module ‘lib.samp.events’ not found:
no field package.preload[‘lib.samp.events’]
no file ‘C:GamesARIZONA GAMESbinArizonamoonloaderliblibsampevents.lua’
no file ‘C:GamesARIZONA GAMESbinArizonamoonloaderliblibsampeventsinit.lua’
no file ‘C:GamesARIZONA GAMESbinArizonamoonloaderlibsampevents.lua’
no file ‘C:GamesARIZONA GAMESbinArizonamoonloaderlibsampeventsinit.lua’
no file ‘.libsampevents.lua’
no file ‘C:GamesARIZONA GAMESbinArizonamoonloaderliblibsampevents.luac’
no file ‘C:GamesARIZONA GAMESbinArizonamoonloaderliblibsampeventsinit.luac’
no file ‘C:GamesARIZONA GAMESbinArizonamoonloaderlibsampevents.luac’
no file ‘C:GamesARIZONA GAMESbinArizonamoonloaderlibsampeventsinit.luac’
no file ‘.libsampevents.luac’
no file ‘C:GamesARIZONA GAMESbinArizonamoonloaderliblibsampevents.dll’
no file ‘C:GamesARIZONA GAMESbinArizonamoonloaderliblib.dll’
…ZONA GAMESbinArizonamoonloaderFomikusOrigArz (1).lua:2: in main chunk
[19:17:27.432312] (error) FomikusOrigArz (1).lua: Script died due to an error. (04D4F424)
[19:17:27.432312] (system) Loading script ‘C:GamesARIZONA GAMESbinArizonamoonloaderpoehali_arz_no_ads.luac’…
[19:17:27.432312] (debug) New script: 04D4F424
[19:17:27.437313] (error) poehali_arz_no_ads.luac: [string «…»]:0: module ‘lib.samp.events’ not found:
no field package.preload[‘lib.samp.events’]
no file ‘C:GamesARIZONA GAMESbinArizonamoonloaderliblibsampevents.lua’
no file ‘C:GamesARIZONA GAMESbinArizonamoonloaderliblibsampeventsinit.lua’
no file ‘C:GamesARIZONA GAMESbinArizonamoonloaderlibsampevents.lua’
no file ‘C:GamesARIZONA GAMESbinArizonamoonloaderlibsampeventsinit.lua’
no file ‘.libsampevents.lua’
no file ‘C:GamesARIZONA GAMESbinArizonamoonloaderliblibsampevents.luac’
no file ‘C:GamesARIZONA GAMESbinArizonamoonloaderliblibsampeventsinit.luac’
no file ‘C:GamesARIZONA GAMESbinArizonamoonloaderlibsampevents.luac’
no file ‘C:GamesARIZONA GAMESbinArizonamoonloaderlibsampeventsinit.luac’
no file ‘.libsampevents.luac’
no file ‘C:GamesARIZONA GAMESbinArizonamoonloaderliblibsampevents.dll’
no file ‘C:GamesARIZONA GAMESbinArizonamoonloaderliblib.dll’
…ONA GAMESbinArizonamoonloaderpoehali_arz_no_ads.luac: in
[19:17:27.437313] (error) poehali_arz_no_ads.luac: Script died due to an error. (04D4F424)
[19:17:27.438313] (system) Loading script ‘C:GamesARIZONA GAMESbinArizonamoonloaderПолучение капчи (1).lua’…
[19:17:27.438313] (debug) New script: 04D4F424
[19:17:27.440313] (error) Получение капчи (1).lua: …ONA GAMESbinArizonamoonloaderПолучение капчи (1).lua:2: module ‘lib.samp.events’ not found:
no field package.preload[‘lib.samp.events’]
no file ‘C:GamesARIZONA GAMESbinArizonamoonloaderliblibsampevents.lua’
no file ‘C:GamesARIZONA GAMESbinArizonamoonloaderliblibsampeventsinit.lua’
no file ‘C:GamesARIZONA GAMESbinArizonamoonloaderlibsampevents.lua’
no file ‘C:GamesARIZONA GAMESbinArizonamoonloaderlibsampeventsinit.lua’
no file ‘.libsampevents.lua’
no file ‘C:GamesARIZONA GAMESbinArizonamoonloaderliblibsampevents.luac’
no file ‘C:GamesARIZONA GAMESbinArizonamoonloaderliblibsampeventsinit.luac’
no file ‘C:GamesARIZONA GAMESbinArizonamoonloaderlibsampevents.luac’
no file ‘C:GamesARIZONA GAMESbinArizonamoonloaderlibsampeventsinit.luac’
no file ‘.libsampevents.luac’
no file ‘C:GamesARIZONA GAMESbinArizonamoonloaderliblibsampevents.dll’
no file ‘C:GamesARIZONA GAMESbinArizonamoonloaderliblib.dll’
…ONA GAMESbinArizonamoonloaderПолучение капчи (1).lua:2: in main chunk
[19:17:27.440313] (error) Получение капчи (1).lua: Script died due to an error. (04D4F424)
[19:17:39.043977] (system) Installing post-load hooks…
[19:17:39.043977] (system) Hooks installed.
[19:18:17.432172] (system) Unloading…
[19:18:17.470174] (system) Session terminated.
Гайд #3 | Работа с библиотекой SAMP.lua
Работа с библиотекой SAMP.lua
Всем привет, сегодня покажу как установить эту библиотеку и её пользоватся в своих скриптах
— Идем в официальную тему: SAMP.Lua(https://blast.hk/threads/14624/)
— переходим по этой ссылке
— Нажимаем на файл samp.zip
— Дальше заходим в папку с moonloader, переходим в папку lib, и переносим папку samp из архива
Все, библиотеку мы установили, переходим к написанию скриптов.
Я создал файл Hooks.lua, кодировка windows 1251.
Поместил туда шаблон:
Подключим нашу библиотеку:
local hook = require «lib.samp.events»
Попробуем отловить входящий пакет о присоеденении игрока к серверу на котором вы находитесь, пишем следующий код:
Мы написали код который будет отлавливать пакеты с информацией о том что игрок присоеденился к серверу, но никак мы не обработали, давайте выведем в чат кто присоеденился и с каким ID.
Теперь каждый раз когда кто-то присоединяется к серверу мы видим сообщение в чате:
nickname[id] присоединился к серверу.
Теперь перехватим входящее сообщение от сервера
Давайте сделаем, чтобы все сообщения которые нам приходят от сервера были зелеными.
Вы спросите, «где ты взял onServerMessage, onPlayerJoin, и параметры?»
Все очень просто, идем в
Там есть список входящих пакетов (Incoming rpcs)
И исходящих (Outgoing rpcs)
Думаю на этом все, спасибо за внимание
нился», хз зачем гайд, в основной теме все то же самое написано + там показана работа с перезаписью исходящих пакетов.
Ну хз, я бы юзал wait(-1) вместо пустого бесконечного цикла с wait(0)
Давайте сделаем, чтобы все сообщения которые нам приходят от сервера были зелеными.
hook.onServerMessage(color, text) return <0xFF0000, text>end
Последнее редактирование: 14 Янв 2018
даже не объяснил как ты заблокировал пакет. мды.
даже не объяснил как ты заблокировал пакет. мды.
Ам, комментарий для кого?
а пояснить по тексту что да как. как подменить пакет, что даст трай вместо фолс. ты делаешь гайды, ну так пиши все.
как подменить пакет, что даст трай вместо фолс.
Взял, скопировал примеры с основной темы SAMP.lua, изменил ивенты и назвал это гайдом.
Это фейл-фейлище, бро
Так ведь красивее, имхо) Да и юзабельнее
hook.onServerMessage(color, message) return < 0x00FF00, message >end
Взял, скопировал примеры с основной темы SAMP.lua, изменил ивенты и назвал это гайдом.
Если твой уровень знаний выше этого гайда — проходим дальше
Если твой уровень знаний выше этого гайда — проходим дальше
Дело-то не в знаниях, а в том что ты просто скопипастил примеры с темы самплуа в свой псевдогайд с минимальными изменениями.
Да ещё и наговнокодил, один вот этот пример многого стоит
Дело-то не в знаниях, а в том что ты просто скопипастил примеры с темы самплуа в свой псевдогайд с минимальными изменениями.
Да ещё и наговнокодил, один вот этот пример многого стоит
Не нравится не смотри
Типичная отмазка новичка.
Можешь подробнее о этой функции рассказать?
local hook = require «lib.samp.events»
Какие скрипты посоветуешь поразбирать, чтобы учиться?
Ранее до этого никогда не программировал в сфере сампа
Можешь подробнее о этой функции рассказать?
local hook = require «lib.samp.events»
Какие скрипты посоветуешь поразбирать, чтобы учиться?
Ранее до этого никогда не программировал в сфере сампа
значит мы сможем чепез переменную хук обращатся к библиотеке лежащей в папке «lib/samp/events»
Lua – Установка Lua
Установка lua это вопрос, который возникает достаточно часто. Что, вообще-то, достаточно удивительно, потому как установка lua на самом деле, крайне проста и понятна. Можно даже сказать, что там вообще нечего делать. Но, раз уж такие вопросы возникают, давайте немного поговорим об установке Lua.
Установка Луа. Скачиваем
Первое, что нам нужно будет сделать перед установкой, это скачать исходники луа с её официального сайта: https://www.lua.org/download.html. Для установки, естественно, нам понадобится самая последняя версия, на данный момент это lua 5.1.4. После скачивания, естественно, надо разархивировать исходники lua в отдельную папку.
Установка Луа. Компиляция.
Есть два варианта компиляции луа, которые, в принципе, ничем не отличаются ))) Первый — это компиляция из Visual Studio Command Prompt:
Второй способ без запуска Visual Studio:
Установка Луа. Доступ
Установка Луа. Статическая линковка.
Установка Луа. Проверка.
Проверим, всё ли работает. Создаём новый проект (я сделал консольный проект win32). Дописываем инклюды луа:
и доделываем сам main():
Пара слов о развертывании
Скрипт можно запустить при помощи команды:
В данном случае библиотеки будут подключаться из поддиректории clibs/, которая находится в директории, куда был установлен Lua for Windows. Чтобы максимально компактно упаковать скрипт и библиотеки для переноса на другую машину, достаточно скопировать в одну папку следущие файлы(указаны с относительными путями от директории установки Lua):
lua.exe lib/lua5.1.dll clibs/cd.dll clibs/cdlua51.dll clibs/iup.dll clibs/iup_pplot.dll clibs/iupcd.dll clibs/iupcontrols.dll clibs/iupgl.dll clibs/iuplua51.dll clibs/iuplua_pplot51.dll clibs/iupluacd51.dll clibs/iupluacontrols51.dll clibs/freetype6.dll
Не забудьте поместить в эту папку и сам скрипт с программой. Теперь вы можете перенести эту папку на другую машину и запустить вашу программы командой, указанной выше. При этом никакие другие действия по установке библиотек и рантайма не нужны.
К сожалению файлы cd.dll, cdluad51.dll и iupcd.dll в данной версии Lua for Windows могут работать некорректно, поэтому рекомендую взять их из архива по ссылке ниже.
Итоги
Архив с рабочей версией тут, для удобства добавлена пускалка app.bat.
В результате получили, пусть и неказистую, утилиту, имеющую такой же функционал, как и если бы она была написана на «серьезном» языке программирования. При этом простую в развертывании и суммарным весом менее 2 мб. Потребление памяти — около 7 мб. Исходный код доступен для редактирования, сам Lua интерактивно понятен, что упрощает доработку подобного софта на местах.
На мой взгляд, это отличный выбор для написания учебного софта для школ и институтов, а также для внутреннего использования на предприятиях. Так как слабые машины до сих пор в изобилии присутствуют в подобных местах по всему СНГ, то использование Luа подобным образом целесообразно, особенно в свете постепнного прихода Linux на десктопы. К тому же тенденцию потери исходников самописного софта при жуткой его же забагованности можно приравнять к национальному бедствию.
RCDetails Blog
О коптерах и не только
Как установить LUA скрипты в Jumper T16
Можно менять настройки Betaflight и видеопередатчика прямо с пульта Jumper T16. В этом руководстве я покажу как настроить эту возможность.
Что за Betaflight LUA скрипты?
С помощью LUA скриптов можно менять очень много параметров Betaflight прямо с пульта T16, включая: ПИД (PID), рейты (rates), время цикла (looptime), протокол регуляторов скорости и т.д. Можно даже менять настройки видеопередатчика: канал и выходную мощность.
Что потребуется?
Убедитесь, что в пульт установлена прошивка OpenTX 2.3.1 или более новая. Чтобы узнать установленную версию нажмите и держите кнопку SYS, после этого нажимая PAGE перейдите на страницу Version. Вот моё руководство по обновлению прошивки OpenTX в T16.
Совет: чтобы прошивка поддерживала LUA скрипты, нужно выбрать «lua» и «luac» в параметрах прошивки.
Обязательно нужно настроить телеметрию, без неё, или если она работает некорректно, LUA скрипты работать не будут.
Как настроить LUA скрипты в T16?
Распаковываем файл, должна получиться папка «obj» и в ней три папки: «BF«, «SCRIPTS» и «SOUNDS«.
Нужно скопировать все три папки в корень SD карточки вставленной в T16.
Для этого просто переводим аппу в режим загрузчика (bootloader mode), и подключаем USB кабель (можно конечно вытащить флешку из аппы и воткнуть в кард-ридер).
Если файлы/папки с такими именами уже есть, то вас спросят перезаписать ли их, нужно перезаписывать.
Как использовать LUA скрипты?
Чтобы запустить LUA скрипт, нажимаем и держим кнопку «SYS«, открывается меню Radio Setup (настройки радио).
Нажимаем «PAGE«, чтобы перейти на страницу SD, выбираем папку «BF«.
Находим «bf.lua» и запускаем его («Execute«).
Если телеметрия работает, то вы увидите значения разных параметров. Если их нет, то у вас проблемы с телеметрией.
Нажимаем «Page» для перехода на след. страницу или нажимаем и удерживаем её же для перехода на предыдущую страницу.
При запуске LUA скрипта для Betaflight по умолчанию показывается страница с ПИД коэффициентами. Но можно выбрать и другую страницу, например, настройки видеопередатчика.
Находим строку «local currentPage = 1» и меняем число на необходимое нам. Страница с настройками видеопередатчика имеет номер 8.
Сохраняем файл и закрываем его.
Если у вас появляется сообщение о недостатке памяти («Script syntax error: not enough memory«), то скорее всего вы просто забыли поставить галку «luac» при прошивке OpenTX в аппу.