PDA

Просмотр полной версии : Обмен данными между SAMPFUNCS и RakBot


Ya Zaregalsya
01.09.2021, 15:53
Есть обычная ГТА с SF плагином на C++ и есть множество РакБотов со скриптами на Lua. Стоит такая задача, что SF плагин должен вызывать функции (или слать сообщения) из РакБота и наоборот РакБот должен обращаться к СФ. Всё это разумеется разные приложения, gta_sa.exe с подгруженным SF плагином и множество RakBot.exe, запускаемых из RakLauncher.exe. Функции или сообщения будут содержать в себе значения float, int, bool и желательно, но необязательно массивы char'ов.

У меня нет опыта в работе со сторонними приложениями, но изучив это дело поверхностно, очевидно, что это будет слишком сложно и долго написать код, который ищет все эти процессы РакБота и вызывает люашные функции, а потом то же самое с другой стороны от Люа к SF это будет незабываемый геморрой. Существуют ли какие-то варианты попроще? Может быть, какой-нибудь вариант с использованием интернет запросов. В общем нужен оптимальный вариант в плане времени на освоение и разработку.

frit
01.09.2021, 15:55
попробуй файлами.

записывай и читай

Ya Zaregalsya
01.09.2021, 23:51
попробуй файлами.
записывай и читай


Вариант рабочий, но больно колхозный. Попробую через Телеграм.

frit
02.09.2021, 00:59
Вариант рабочий, но больно колхозный. Попробую через Телеграм.


телеграм - реальный костыль.

можешь отправлять данные на сервак, а потом читать с сервака

Rei
02.09.2021, 01:19
читать инфу из ракбота можно с помощью массивов луа - ищешь в памяти ракбота сигнатуру и от нее пляшешь, ну и писать соответственно туда же что-то можно, по идее

Ya Zaregalsya
02.09.2021, 02:52
телеграм - реальный костыль.
можешь отправлять данные на сервак, а потом читать с сервака


У Телеграма по сравнению с текстовым документом одни плюсы. Во-первых, возможность перекинуть РакБот на ноут и всё будет спокойно работать между двумя ПК, во-вторых в Телеграмме мы имеем реальные сообщения, тогда как в текстовом файле будет лишь имитация, придётся заморачиваться с ловлей новых записей и (возможно) удалением старых, большой простор для ошибок. Насчёт сервера, Вы предлагаете арендовать хостинг, чтобы просто слать в РакБот координаты?



читать инфу из ракбота можно с помощью массивов луа - ищешь в памяти ракбота сигнатуру и от нее пляшешь, ну и писать соответственно туда же что-то можно, по идее


Ну это же и есть тот самый сложный вариант с поиском всех процессов и плясок в памяти.

Rei
02.09.2021, 04:55
У Телеграма по сравнению с текстовым документом одни плюсы. Во-первых, возможность перекинуть РакБот на ноут и всё будет спокойно работать между двумя ПК, во-вторых в Телеграмме мы имеем реальные сообщения, тогда как в текстовом файле будет лишь имитация, придётся заморачиваться с ловлей новых записей и (возможно) удалением старых, большой простор для ошибок. Насчёт сервера, Вы предлагаете арендовать хостинг, чтобы просто слать в РакБот координаты?

Ну это же и есть тот самый сложный вариант с поиском всех процессов и плясок в памяти.


в ракботе нет многопотока и запросы блочат основной поток программы, т.е. если ты будешь постоянно отстукивать куда-то в телегу, то у тебя просто ракбот твой будет висеть в хлам



У Телеграма по сравнению с текстовым документом одни плюсы. Во-первых, возможность перекинуть РакБот на ноут и всё будет спокойно работать между двумя ПК, во-вторых в Телеграмме мы имеем реальные сообщения, тогда как в текстовом файле будет лишь имитация, придётся заморачиваться с ловлей новых записей и (возможно) удалением старых, большой простор для ошибок. Насчёт сервера, Вы предлагаете арендовать хостинг, чтобы просто слать в РакБот координаты?

Ну это же и есть тот самый сложный вариант с поиском всех процессов и плясок в памяти.


в ракботе нет многопотока и запросы блочат основной поток программы, т.е. если ты будешь постоянно отстукивать куда-то в телегу, то у тебя просто ракбот твой будет висеть в хлам

Ya Zaregalsya
02.09.2021, 05:18
в ракботе нет многопотока и запросы блочат основной поток программы, т.е. если ты будешь постоянно отстукивать куда-то в телегу, то у тебя просто ракбот твой будет висеть в хлам

в ракботе нет многопотока и запросы блочат основной поток программы, т.е. если ты будешь постоянно отстукивать куда-то в телегу, то у тебя просто ракбот твой будет висеть в хлам


А запросы работают прям так медленно? В любом случае это не проблема, потому что нет таких задач, которые нужно было бы отстукивать настолько часто. В основном там надо будет посылать ну максимум 5 сообщений за всё время работы бота. В этом плане как раз если и будут проблемы, то с текстовыми документами, потому что там надо постоянно проверять файл на новые записи.

Rei
02.09.2021, 05:47
А запросы работают прям так медленно?


в принципе нет, но есть шанс краша

если обмен инфой должен происходить в пределах одного компа, то телега лишнее, плюс этот вариант сложнее реализовать, чем тупо в текстовик писать команды

Ya Zaregalsya
02.09.2021, 18:04
в принципе нет, но есть шанс краша
если обмен инфой должен происходить в пределах одного компа, то телега лишнее, плюс этот вариант сложнее реализовать, чем тупо в текстовик писать команды


Чтобы реализовать вариант с Телегой, нужно просто скопипастить код из урока (https://www.blast.hk/threads/48168/post-450684). Ничего сложного там нет, сообщения тормозят РакБот где-то на секунду. Ваш вариант слишком сложный в плане разработки.

Rei
02.09.2021, 18:34
Чтобы реализовать вариант с Телегой, нужно просто скопипастить код из урока (https://www.blast.hk/threads/48168/post-450684). Ничего сложного там нет, сообщения тормозят РакБот где-то на секунду. Ваш вариант слишком сложный в плане разработки.


ты сам читал тот урок-то? там описана только отправка в телегу, а тебе нужно еще и читать это как-то. если для тебя тяжело 3 строчки на чтение/запись в файл, то хз как ты будешь вообще с апишкой телеги возиться.

я так понимаю, что ты сам не знаешь что тебе нужно сделать

Ya Zaregalsya
02.09.2021, 18:51
ты сам читал тот урок-то? там описана только отправка в телегу, а тебе нужно еще и читать это как-то. если для тебя тяжело 3 строчки на чтение/запись в файл, то хз как ты будешь вообще с апишкой телеги возиться.

я так понимаю, что ты сам не знаешь что тебе нужно сделать


Я предельно чётко понимаю что хочу сделать и конкретно описал это во вводном сообщении. Если у Вас нет полезных предложений по этой теме, то не надо её зафлуживать своей бомбёжкой из-за Телеграма, пока что это самый короткий и универсальный путь к решению поставленной задачи, если не нравится, то предложите что-то получше. Дрючить один текстовый файл десятком ботов — это извращенцев.

kin4stat
02.09.2021, 19:43
Interprocess communications - Win32 apps (https://www.blast.hk/redirect/aHR0cHM6Ly9kb2NzLm1pY3Jvc29mdC5jb20vZW4tdXMvd2luZG 93cy93aW4zMi9pcGMvaW50ZXJwcm9jZXNzLWNvbW11bmljYXRp b25z)

The Windows operating system provides mechanisms for facilitating communications and data sharing between applications. Collectively, the activities enabled by these mechanisms are called interprocess communications (IPC).

docs.microsoft.com

Ya Zaregalsya
03.09.2021, 00:07
Interprocess communications - Win32 apps (https://www.blast.hk/redirect/aHR0cHM6Ly9kb2NzLm1pY3Jvc29mdC5jb20vZW4tdXMvd2luZG 93cy93aW4zMi9pcGMvaW50ZXJwcm9jZXNzLWNvbW11bmljYXRp b25z)

The Windows operating system provides mechanisms for facilitating communications and data sharing between applications. Collectively, the activities enabled by these mechanisms are called interprocess communications (IPC).

docs.microsoft.com



В этой теме ищем самое простое в плане освоения и реализации.