куда закидывать lua скрипты самп
Гайд #3 | Работа с библиотекой SAMP.lua
ufdhbi
https://vk.me/gfrtgf
Все, библиотеку мы установили, переходим к написанию скриптов.
Я создал файл Hooks.lua, кодировка windows 1251.
Поместил туда шаблон:
Подключим нашу библиотеку:
Попробуем отловить входящий пакет о присоеденении игрока к серверу на котором вы находитесь, пишем следующий код:
Мы написали код который будет отлавливать пакеты с информацией о том что игрок присоеденился к серверу, но никак мы не обработали, давайте выведем в чат кто присоеденился и с каким ID.
Теперь каждый раз когда кто-то присоединяется к серверу мы видим сообщение в чате:
nickname[id] присоединился к серверу.
Теперь перехватим входящее сообщение от сервера
Давайте сделаем, чтобы все сообщения которые нам приходят от сервера были зелеными.
Информация Гайд Всё о Lua скриптинге для MoonLoader
Для лёгкой и удобной работы с кодом Lua скриптов вам понадобится настроить для себя среду разработки. Для работы с Lua достаточно любого текстового редактора, но какой-нибудь блокнот Windows для этого подходит совсем плохо, поэтому лучше использовать специализированные программы. На текущий момент полная поддержка MoonLoader есть в Atom и Notepad++, помимо этого есть пользовательские дополнения для Visual Studio Code и Sublime Text.
Проект по-умолчанию.
В меню File выбираем пункт Open Folder. и указываем путь до папки moonloader, после этого она откроется как проект.
Проект по-умолчанию.
Как и в Atom, здесь есть возможность показа меню проекта, а точнее «Папка как Проект». В меню «Файл» выбираем пункт «Открыть Папку как Проект» и указываем путь к папке «moonloader».
Кодировка по-умолчанию.
Над лентой выбираем пункт Опции и переходим в Настройки. В меню слева выбираем пункт Новый документ и в разделе кодировки ставим флажок на список, в котором выбираем кодировку Windows-1251
После установки среды разработки, изучения основ Lua и ознакомления с документацией MoonLoader, можно приступать от теории к практике. Давайте сначала рассмотрим самое основное, на всякий случай.
В этом примере показаны не все директивы, за полным списком обращайтесь к соответствующей странице на вики.
События и колбэки
Событиями, а точнее их обработчиками, в MoonLoader называются функции, вызывающиеся в скриптах автоматически при каком-либо действии в игре, требующим обработки. Обработчики событий могут иметь входящие и возвращаемые параметры: входящие передают какую-то информацию скрипту, а возвращаемые позволяют повлиять на дальнейшую обработку после совершения события.
Зарегистрировать обработчик события можно двумя способами: просто добавить в скрипт функцию с соответствующим именем, либо воспользоваться функцией addEventHandler. Учтите, что первым способом обработчик может быть зарегистрирован только один раз.
Скрипты с зарегистрированными событиями не завершаются самостоятельно.
Пример: onScriptTerminate вызывается при завершении какого-либо скрипта
С основными принципами разработки вы теперь знакомы и при этих знаниях сможете выполнить большинство задач, однако некоторые задачи требуют применения специальных техник. Давайте рассмотрим некоторые из них.
Создание модулей
Модули делятся на два типа: Lua и DLL. Lua-модули пишутся, как вы уже могли догадаться, на языке Lua и в результате представляют из себя привычные Lua-скрипты, только с некоторыми особенностями.
Давайте рассмотрим пример простого модуля, назовём его example: