Лебiгович
Известный
- 875
- 239
Помогите сделать из текста "[SERVER]: Ваш друг NickName(id) зашел в игру!
на основе @chatwordsex(…)@
сам уже целый час парюсь и не выходит
на основе @chatwordsex(…)@
сам уже целый час парюсь и не выходит
Помогите сделать из текста "[SERVER]: Ваш друг NickName(id) зашел в игру!
на основе @chatwordsex(…)@
сам уже целый час парюсь и не выходит
%[SERVER%]: Ваш друг (.+)%((%d+)%) зашел в игру!
@chatwordsex(1)@
- Nickname@chatwordsex(2)@
- IDлол, я вроде так же делал, но что-то не воркало, видимо где-то промахнулся, щас всё воркает%[SERVER%]: Ваш друг (.+)%((%d+)%) зашел в игру!
@chatwordsex(1)@
- Nickname
@chatwordsex(2)@
- ID
либы fa-icons нетхелп скрипт крашит
[ML] (error) SnailMatic: ...na Games Launcher\bin\arizona\moonloader\snailmatic.luac:0: module 'fa-icons' not found:
no field package.preload['fa-icons']
no file 'D:\arizona\Arizona Games Launcher\bin\arizona\moonloader\lib\fa-icons.lua'
no file 'D:\arizona\Arizona Games Launcher\bin\arizona\moonloader\lib\fa-icons\init.lua'
no file 'D:\arizona\Arizona Games Launcher\bin\arizona\moonloader\fa-icons.lua'
no file 'D:\arizona\Arizona Games Launcher\bin\arizona\moonloader\fa-icons\init.lua'
no file '.\fa-icons.lua'
no file 'D:\arizona\Arizona Games Launcher\bin\arizona\moonloader\lib\fa-icons.luac'
no file 'D:\arizona\Arizona Games Launcher\bin\arizona\moonloader\lib\fa-icons\init.luac'
no file 'D:\arizona\Arizona Games Launcher\bin\arizona\moonloader\fa-icons.luac'
no file 'D:\arizona\Arizona Games Launcher\bin\arizona\moonloader\fa-icons\init.luac'
no file '.\fa-icons.luac'
no file 'D:\arizona\Arizona Games Launcher\bin\arizona\moonloader\lib\fa-icons.dll'
stack traceback:
[C]: in function 'require'
...na Games Launcher\bin\arizona\moonloader\snailmatic.luac: in function <...na Games Launcher\bin\arizona\moonloader\snailmatic.luac:0>
[ML] (error) SnailMatic: Script died due to an error. (28F1A6BC)
ты мой ангел как всегда помог лю тебя)либы fa-icons нет
SnailMaticDocs/SNAILMATIC_DOCUMENTATION.md at main · GrezeeBal/SnailMaticDocs
Documentation for SnailMatic. Contribute to GrezeeBal/SnailMaticDocs development by creating an account on GitHub.github.com
$copsid$ - пишет все иды полицейских рядом с тобой в радиусе 5 метровпочему то не хотят работать установленные variables, вообще не понимаю как их использовать. на примере copsid, он есть в биндере, но я скачал отдельно с гитхаба, переименовал, настроил там чтоб не только копы были, а переменной такой нет, как жить то.
нужно чтобы получил ид рядом игроков в метрах 10 и по очереди каждому выдать хп.
и чтобы узнать серверный ид машины по иду игрока.. как это сделать.......
по очереди не получится, потому что переменная возвращает сразу все ники и идынужно чтобы получил ид рядом игроков в метрах 10 и по очереди каждому выдать хп.
и чтобы узнать серверный ид машины по иду игрока.. как это сделать.......
вот и я изменив немного код скаченного плагина cops.lua, переименовав его и закинув в variables хотел добиться хоть какого-нибудь эффекта. ничего не вышло. а локальный чат отправляется только $peoplesid$ (так я назвал плагин и в самом коде обозначил как функцию) как обычный текст, вместо нормальной работы переменной..$copsid$ - пишет все иды полицейских рядом с тобой в радиусе 5 метров
а эти иды можно как-нибудь перебирать списком? или только охапкой использоватьпо очереди не получится, потому что переменная возвращает сразу все ники и иды
скинь сюда этот файлвот и я изменив немного код скаченного плагина cops.lua, переименовав его и закинув в variables хотел добиться хоть какого-нибудь эффекта. ничего не вышло. а локальный чат отправляется только $peoplesid$ (так я назвал плагин и в самом коде обозначил как функцию) как обычный текст, вместо нормальной работы переменной..
с этой переменной - нет. Хотя я не думаю, что написав подходящую для этого переменную - твою задумку возможно реализовать, но я в этом не уверен.а эти иды можно как-нибудь перебирать списком? или только охапкой использовать
поменяй режим хукинга на "Автономный" в Меню > Настройки > Режим хукингаи почему снаилматик не реагирует на локальные сообщения в чате отправленные собой же
скинь сюда этот файл
с этой переменной - нет. Хотя я не думаю, что написав подходящую для этого переменную - твою задумку возможно реализовать, но я в этом не уверен.
поменяй режим хукинга на "Автономный" в Меню > Настройки > Режим хукинга
локальный чат отправляется только $peoplesid$
registerVariable('pipsid', 'Возвращает ид всех игроков в радиусе', function()
local allChars, policeMen = getAllChars(), {}
local radius = 10 --Радиус действия, по умолчанию - 5 метров
local myPosX, myPosY, myPosZ = getCharCoordinates(PLAYER_PED)
for _, ped in ipairs(allChars) do
local result, id = sampGetPlayerIdByCharHandle(ped)
if result and getDistanceBetweenCoords3d(myPosX, myPosY, myPosZ, getCharCoordinates(ped)) < radius then
table.insert(policeMen, id)
end
return #policeMen == 0 and 'None' or table.concat(policeMen, ', ')
end
$pipsid$
да, изменил, но сути не меняет, биндер не видит даже эту переменнуюLua:registerVariable('pipsid', 'Возвращает ид всех игроков в радиусе', function() local allChars, policeMen = getAllChars(), {} local radius = 10 --Радиус действия, по умолчанию - 5 метров local myPosX, myPosY, myPosZ = getCharCoordinates(PLAYER_PED) for _, ped in ipairs(allChars) do local result, id = sampGetPlayerIdByCharHandle(ped) if result and getDistanceBetweenCoords3d(myPosX, myPosY, myPosZ, getCharCoordinates(ped)) < radius then table.insert(policeMen, id) end return #policeMen == 0 and 'None' or table.concat(policeMen, ', ') end
я не вижу здесь никаких других переменных, кроме$pipsid$
проблема в твоём коде. В мунлоге пишется ошибка, если биндер не загружает переменнуюда, изменил, но сути не меняет, биндер не видит даже эту переменную
изменил потому что не оставлял попытки попробовать исправить хоть что-нибудь, но он не видел. кстати, копсид видит. а мою пипсид нет.
registerVariable('pipsid', 'Возвращает ид всех игроков в радиусе', function()
local allChars, policeMen = getAllChars(), {}
local radius = 10 --Радиус действия, по умолчанию - 5 метров
local myPosX, myPosY, myPosZ = getCharCoordinates(PLAYER_PED)
for _, ped in ipairs(allChars) do
local result, id = sampGetPlayerIdByCharHandle(ped)
if result and getDistanceBetweenCoords3d(myPosX, myPosY, myPosZ, getCharCoordinates(ped)) < radius then
table.insert(policeMen, id)
end
end
return #policeMen == 0 and 'None' or table.concat(policeMen, ', ')
end)
Ебать, ну постарался. Респект, продолжай в том же духе
SnailMatic 1.8 Achatina / От разработчиков ScriptPatrol Lua
Биндер
- Огромный функционал
- Неграниченное количество биндов с неограниченным количеством строк
- Автоматические отыгровки, сокращения команд и фраз, ввод команд/текста и активация биндов в назначенное время, математические операции, алгоритмы и так далее.
- Активация биндов по команде, по клавише/сочетанию клавиш (есть поддержка кнопок мыши), по появлению текста в чате, через переменные и через интерфейс
- Гайд по созданию биндов (github)
Интерфейс
- Продуманный, простой, удобный и практичный интерфейс.
- Наличие горячих клавиш для быстрого взаимодействия с интерфейсом
- Бинды в биндере можно перемещать, группировать, дублировать, запускать/останавливать/ставить на паузу через кнопки в интерфейсе.
- Подробнее о всех возможностях здесь интерфейса (github)
Переменные
Большое количество переменных, которые помогают автоматизировать бинды и действия:
Гайд по функциональным переменным (github)
- Обычные переменные (
$var$
): не принимают параметры, а работают по четко-заданному алгоритму.
- Например, переменная
$time$
- напишет время в формате HH:MM:SS (20:51:42)- Или, например, переменная
$chatclear$
очистит чат- Функциональные переменные (
@var(...)@
): работают по параметрам, задаваемыми самим пользователем, от которых зависит конечный результат переменных.
- Параметрами в функциональных переменных выступают выражения, условия, порядковые номера, другие переменные из биндера.
- Например, переменная
@math(2+2)@
- напишет «4»- Или, например, переменная
@nick($closestidtocenter$)@
- напишет ник игрока, который находится ближе всего от центра экрана. В этом примере в качестве параметра использовалась обычная переменная из биндера$closestidtocenter$
, которая пишет ID ближайшего игрока от центра экрана
Создание собственных виджетов
- С помощью этой системы можно очень легко создавать свои собственные и уникальные виджеты. Они могут отображать нужную для тебя информацию в любом месте на экране.
- Можно создавать неограниченное количество виджетов, которые будут одновременно отображаться на экране
- Виджеты можно кастомизировать, добавлять в них иконки и картинки, менять цвет текста и фона (или просто убрать его) и менять размер элементов.
- В виджеты можно добавлять любой текст и переменные, которые в свою очередь будут выполнять свои функции и сами писать текст
- Инструкция по созданию виджетов (github)
Внтутриигровой блокнот
- "Шпаргалка", блокнот, в который можно записывать любой текст
- Количество файлов и текста неограниченно
- Есть быстрый предпросмотр блокнота через команду (/smspur)
- В блокноте работают переменные из биндера, которые будут выполнять свои функции и сами писать текст
- Присутствует поиск текста, форматирование текста (как и в виджетах), а так же возможность добавлять иконки и картинки
- Текст из блокнота можно быстро копировать, нажимая ЛКМ на нужные строки.
- Инструкция по использованию блокнота (github)
Создание своих диалоговых окон
- Через биндер можно создавать свои диалоги на ImGui, которые могут выполнять любые указанные действия.
- Например, с помощью них можно быстро активировать другие бинды
- Пример по созданию функциональных диалогов (github)
Сокращение команд, фраз, текста
- Бинды в SnailMatic можно активировать командами, которые не содержат в начале себя слэши или другие знаки. Таким образом можно сокращать нужные команды или текст.
- Пример по сокращению команд (github)
Взаимодействие с командами других скриптов
- Биндер может писать команды других скриптов и они будут при этом активироваться
- Для этого на такую команду нужно поставить отправку "На клиент SAMP" в редакторе бинда
- Методы отправки строк (github)
Ввод текста в указанное время
- С помощью данной системы (/sm.remind) можно устанавливать напоминания или дать указание биндеру ввести указанный текст спустя какое-то количество времени.
- Гайд по использованию /sm.remind (github)
Взаимодействие с указанным игроком
- В биндере присутствует система таргета, которая позволяет легко взаимодействовать с одним указанным игроком.
- Помимо этого, в наборе переменных есть функции, позволяющие отдельно взаимодействовать с ближайшими игроками.
- Гайд по использованию системы таргета (github)
Совместимость с SA-MP R1, R3, R4-2, 0.3DL
- Биндер совместим с вышеперечисленными версиями SA-MP, CRMP и независим от SAMPFUNCS (но наличие рекомендуется).
SnailMatic API
- Биндер экспортирует некоторые свои функции, на основе которых можно делать для него плагины или дополнять свои скрипты этим функционалом.
- Документация по SnailMatic API (github)
Дополнительное описание
- Возможность установки условий активации бинда (например, если твой персонаж не в машине - бинд не запустится)
- Возможность остановки и паузы запущенных биндов
- Возможность подтверждать/не подтверждать автоматическую активацию бинда по тексту в чате
- Возможность зацикливания биндов (с помощью переменных или команды активации бинда)
- Возможность заблокировать клавишу активации бинда для управления игры (управление игры не будет реагировать на клавишу активации бинда)
- Возможность использования регулярных выражений в биндах
- 10 методов отправки строки
- Возможность активации биндов командами, которые не содержат в начале себя слэши и остальные знаки ("/cmd" и "cmd" - две разные команды активации, которые будут активировать разные бинды)
- Удобный редактор биндов с двумя вариантами ввода текста: построчно и в виде блокнота, что позволит вставлять в бинды большие текста средствами CTRL+C и CRTL+V
- Модульность биндера: система профилей и установка новых переменных
- Кастомизация биндера: возможность поставить на фон интерфейса картинку и изменить звук уведомлений
- Группировка биндов: перемещение их по списку, а так же создание папок
- Радиальное меню активации нужных биндов
- Активация переменных необязательно через бинды — их можно писать вручную в обычный чат, где они будут возвращать выполняемую функцию.
- Отдельная настройка отыгровки оружия с удобными активациями (в настройках биндера)
- Установка умного автоакцента
- Два варианта уведомлений биндера: всплывающие и обычные в чат
- Собственный конвертор профилей из других биндеров (КВАС, ScriptPatrol AHK/Lua, Police Assistant)
- Наличие "Беспалевного" режима, который убирает все уведомления в консоль биндера(CTRL+~) и консоль SAMPFUNCS(при наличии)(~)
- Перемещение скриншотов по папкам прямо из игры
- Установка простых временных(на одну сессию игры) переменных, которые содержат в себе заданный текст с возможностью быстро их обновлять
- Совместимость с MoonLoder 0.26.5 и 0.27
- Работает на лаунчерах, где можно устанавливать .lua скрипты
- Автообновление
Команды биндера
/sm.open или CTRL+Z(по умолчанию) открыть биндер /sm.ss [папка]* [скрин] [новое название скрина] перемещение (последнего)скриншота в указанную папку с указанным именем (по умолчанию перемещается с оригинальным названием). /sm.regvar [название переменной]* [текст]* установка простой текстовой переменной на одну сессию /sm.regvarwn [название переменной]* [текст]* полный аналог /sm.regvar, но без уведомлений от биндера /> [текст] быстрое открытие текущей активной шпаргалки. При написании текста — поиск этого текста по шпаргалке /sm.spur [название шпаргалки] [текст] возможность открыть/искать текст в определенной шпаргалке по её названию. Вписывать полное имя шпаргалки необязательно /sm.select [номер бинда/имя бинда]* [папка] открыть окно выбора отдельных строк бинда по его номеру/названию /sm.reload перезагрузка биндера в игре /sm.remind [сек/время]* (@/!)[текст]* отправка введенного текста на клиент SA-MP через кол-во [сек] или в назначенное [время] (HH:MM или HH:MM:SS)
Знак@
перед текстом отправит текст в локальный чат.
Знак!
перед текстом не отправит текст, но биндер его обработает и выполнит содержащиеся в нём переменные./sm.bind [номер бинда/имя бинда]* [папка] запустить бинд по его номеру/названию /sm.stop [номер бинда/имя бинда] [папка] остановить запущенный бинд по его номеру/названию. Если не вводить бинд — остановятся все запущенные бинды /sm.target [id/nick] выбор игрока как цель. Если не вводить параметры - сбросится таргет /sm.console или CTRL+~ открыть консоль биндера *Параметры со звездочкой — обязательны.**Все команды можно писать без точки после /sm
Документация по использованию
Полную инструкцию смотри здесь (github)
Требования для работы
moonloader 0.26.5+,
библиотеки: mimgui, copas, fa-icons, socket (github)
Разработчики
@GrezeeBal, @RTD
FAQ
1.
Решение: Установи все библиотеки по ссылкам выше (см. Требования для работы).
2.
Решение 1: Установи с заменой RakLua 2.1 в папку …\moonloader\lib.
Решение 2: удали RakLua из папки …\moonloader\lib
Решение 3: смени параметр hookmode на 0 (это автономный) или 3 (это sampfuncs) в файле ...\Documents\GTA San Andreas User Files\SAMP\SnailMatic\snailmatic.json
3.
Решение: Это происходит из-за того, что на строках не установлена задержка. Если между строками нет задержки - они отправляются моментально, что превращается во флуд - сервер в свою очередь флуд будет блокировать. Задержка выставляется в миллисекундах (1 сек = 1000 мсек)
4.
Решение: В настройках биндера с помощью ползунка "Режим хукинга" измени режим на любой другой. Описание режимов указаны в подсказке. Самый стабильный режим - SAMPFUNCS (наличие SAMPFUNCS обязательно).
5.
Решение: Создай текстовый документ 512_2048.txt или 512_1024.txt в папке \Документы\GTA San Andreas User Files\SAMP\SnailMatic. С этим фиксом не будут работать иконки в редакторе HUD и шпаргалке
6.
Решение: В настройках биндера с помощью ползунка "Режим хукинга" измени режим на любой другой. Описание режимов указаны в подсказке. Самый стабильный режим - SAMPFUNCS (наличие SAMPFUNCS обязательно).Код:(error) SnailMatic: Ошибка #1. Перезагрузка
7.
Решение: Удали snailmatic.json по пути C:\Users\user\Documents\GTA San Andreas User Files\SAMP\SnailMaticКод:(exception) SnailMatic: CJSON: Expected value but found T_END at character 1 (error) SnailMatic: [string "..."]:0: attempt to index a nil value stack traceback: [string "..."]: in function 'loadSetting' [string "..."]: in function <[string "..."]:0> (error) SnailMatic: Script died due to an error. (33B3215C)
8.
Решение: Установи Microsoft Visual C++ (желательно все пакеты).Код:(error) SnailMatic: C:\GTA San Andreas\moonloader\lib\mimgui\imgui.lua:8: cannot load module 'C:\GTA San Andreas\moonloader\lib\mimgui\cimguidx9': Не найден указанный модуль. stack traceback: [C]: in function 'load' C:\GTA San Andreas\moonloader\lib\mimgui\imgui.lua:8: in main chunk [C]: in function 'require' C:\GTA San Andreas\moonloader\lib\mimgui\init.lua:7: in main chunk [C]: in function 'require' [string "..."]: in function <[string "..."]:0> C:\GTA San Andreas\moonloader\snailmatic.luac: in function <C:\GTA San Andreas\moonloader\snailmatic.luac:0> C:\GTA San Andreas\moonloader\snailmatic.luac: in function <C:\GTA San Andreas\moonloader\snailmatic.luac:0> (error) SnailMatic: Script died due to an error. (099D412C)
Установка:
- установить все библиотеки по ссылкам выше
- перекинуть файл snailmatic.luac в "...\GTA San Andreas\moonloader"
В скрипте присутствует автообновление. Используйте на свой страх и риск