ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   CMake | Готовый проект ASI-плагина | SAMP-API, RakHook, kthook (https://forum.antichat.xyz/showthread.php?t=1463884)

AnWu 07.01.2023 00:00

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

Решил собрать себе проект сам, базу так сказать, ну и выдал её.

Проект использует CMake. С гитхаба подтягивает: SAMP-API, RakHook, kthook (+ktsignal). Имгуи нет, позже подтяну.

Первые варианты выглядели сносно, но без опыта я понаписал фигни.

Помогали:

@FYP - контроль качества, почти всё было переписано под его руководством, отполирован именно им.

@imring - советы по проекту, ответы по RakHook

@kin4stat - ответы по kthook

Спасибо всем неравнодушным.

Источники:

Гайд - Безопасная инициализация и работа с SAMP

SAMP-API

kthook [external_deps]

RakHook

Сам проект:

https://github.com/AnWuPP/AsiPlugin

Инструкция по сборке в README.

Если смогу, отвечу на вопросы.

N08I40K 07.01.2023 00:18

Сделай пожалуйста гайд как использовать модули из c++20 в проектах cmake))

В инете очень мало инфы

AnWu 07.01.2023 00:19

Цитата:

Сообщение от N08I40K

Сделай пожалуйста гайд как использовать модули из c++20 в проектах cmake))

В инете очень мало инфы

Ну тут я хз, нет опыта. Разве модули уже полноценно завезли в 20й стандарт? Я читал что в c++23 минимум ждать годных решений.

Minavit - Reload 07.01.2023 00:31

Цитата:

Сообщение от AnWu

Ну тут я хз, нет опыта. Разве модули уже полноценно завезли в 20й стандарт? Я читал что в c++23 минимум ждать годных решений.

С++11

kin4stat 07.01.2023 00:32

Цитата:

Сообщение от N08I40K

Сделай пожалуйста гайд как использовать модули из c++20 в проектах cmake))

В инете очень мало инфы

Никак

AnWu 07.01.2023 00:32

Цитата:

Сообщение от Minavit - Reload

С++11

То что ты называешь модулями в С++11 это прекомпилированные заголовки. Настоящие модули будут позже, насколько я знаю.

ARMOR 07.01.2023 00:47

У SR_team вроде чёт подобное тоже есть на гитлабе

AnWu 07.01.2023 00:51

Цитата:

Сообщение от ARMOR

У SR_team вроде чёт подобное тоже есть на гитлабе

тгк собейт аси вижу, архивный

ARMOR 07.01.2023 00:55

Цитата:

Сообщение от AnWu

тгк собейт аси вижу, архивный

Я от этом говорил: https://gitlab.com/prime-hack/samp/p...ates/AsiPlugin

Но там нет SAMP API, KtHook'ов. Там вроде только SRHook

AnWu 07.01.2023 01:07

Цитата:

Сообщение от ARMOR

Я от этом говорил: https://gitlab.com/prime-hack/samp/p...ates/AsiPlugin

Но там нет SAMP API, KtHook'ов. Там вроде только SRHook

не видел его, круто) хотя сложновато наверно для нубов

EclipsedFlow 07.01.2023 01:36

Plugin SDK можно ещё накинуть в проект. Молодец!

ARMOR 07.01.2023 01:45

Цитата:

Сообщение от Scar_

Plugin SDK можно ещё накинуть в проект. Молодец!

Не сказал бы что нужно. У PSDK есть свой настройщик проекта.

EclipsedFlow 07.01.2023 01:59

Цитата:

Сообщение от ARMOR

Не сказал бы что нужно. У PSDK есть свой настройщик проекта.

Есть, функционала в PSDK намного больше чем в SF например. Так что будет где разгуляться. А там решайте добавлять или нет.

AdCKuY_DpO4uLa 07.01.2023 02:03

Цитата:

Сообщение от ARMOR

Не сказал бы что нужно. У PSDK есть свой настройщик проекта.

Без псдк - этот "шаблон" по начинке даже поменьше СФ будет

AnWu 07.01.2023 04:08

Цитата:

Сообщение от AdCKuY_DpO4uLa

Без псдк - этот "шаблон" по начинке даже поменьше СФ будет

этот "шаблон" и не соревнуется ни с кем. Просто симейк, сампапи и ракхук. Дальше дело за кодером.

AdCKuY_DpO4uLa 07.01.2023 14:44

Цитата:

Сообщение от AnWu

этот "шаблон" и не соревнуется ни с кем. Просто симейк, сампапи и ракхук. Дальше дело за кодером.

Тогда вообще в этом смысла не вижу, если челик новокек в с++, то он вряд ли поставит себе git, чтобы загрузить один единственный проект, а затем ещё и CMake, после чего будет писать код в какой-нибудь студии/вс коде и компилировать через консоль. Если же челик с каким-то стажем, то он либо соберёт себе более менее обширное АПИ, либо возьмёи только то, что ему нужно, а не самп АПИ, ракхук и на этом всё. Имхо

imring 07.01.2023 14:47

Цитата:

Сообщение от AdCKuY_DpO4uLa

Без псдк - этот "шаблон" по начинке даже поменьше СФ будет

так подтяни

GitHub - imring/plugin-sdk at cmake

An SDK for developing ASI/CLEO plugins for GTA San Andreas, GTA Vice City and GTA III - imring/plugin-sdk

github.com

AdCKuY_DpO4uLa 07.01.2023 14:52

Цитата:

Сообщение от imring

так подтяни

GitHub - imring/plugin-sdk at cmake

An SDK for developing ASI/CLEO plugins for GTA San Andreas, GTA Vice City and GTA III - imring/plugin-sdk

github.com


Спасибо за совет, так и сделаю https://github.com/DpO4uLa/SAMP_API...a0a107/SAMP_API_ONE_HEADER/SAMP/SAMP.hpp#L163

AnWu 07.01.2023 14:58

Цитата:

Сообщение от AdCKuY_DpO4uLa

Тогда вообще в этом смысла не вижу, если челик новокек в с++, то он вряд ли поставит себе git, чтобы загрузить один единственный проект, а затем ещё и CMake, после чего будет писать код в какой-нибудь студии/вс коде и компилировать через консоль. Если же челик с каким-то стажем, то он либо соберёт себе более менее обширное АПИ, либо возьмёи только то, что ему нужно, а не самп АПИ, ракхук и на этом всё. Имхо

Если мне нужно взаимодействовать только с сампом и игра меня вообще никак не колышет, зачем мне тянуть псдк?

EclipsedFlow 07.01.2023 17:04

Цитата:

Сообщение от AnWu

Если мне нужно взаимодействовать только с сампом и игра меня вообще никак не колышет, зачем мне тянуть псдк?

Тогда думаю круче было бы самому разработчику определять что подтягивать в проект

AnWu 07.01.2023 17:35

Цитата:

Сообщение от Scar_

Тогда думаю круче было бы самому разработчику определять что подтягивать в проект

это в планах

SR_team 02.03.2023 13:02

Цитата:

Сообщение от AnWu

не видел его

и не смотри там говнокод. Особенно в CMake ад ебаный. Напрмер свои костыли на основе гита вместо FetchContent

reussssya 13.03.2023 00:22

не варик было сделать папку с инклюдами, вместо фетча в смейке

manukhov 15.05.2023 01:35

CMakeLists.txt:





Код:

set(CMAKE_GENERATOR_PLATFORM Win32)

AnWu 15.05.2023 10:18

Цитата:

Сообщение от T4yz1e

CMakeLists.txt:





Код:

set(CMAKE_GENERATOR_PLATFORM Win32)


зачем?

manukhov 15.05.2023 15:26

Цитата:

Сообщение от AnWu

зачем?

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

Smeruxa 14.04.2024 18:32

Из-за чего может подобное происходить при сборке?

error C2039: "format": не является членом "std". [AsiPlugin\build\_deps\rakhook-build\src\rakhook.vcxproj]

Я пробовал стандарт по разному ставить ( в cmake файле ), на 20-ый, но при этом ничего не меняется

reussssya 01.05.2024 18:47

Цитата:

Сообщение от Smeruxa

Из-за чего может подобное происходить при сборке?
error C2039: "format": не является членом "std". [AsiPlugin\build\_deps\rakhook-build\src\rakhook.vcxproj]
Я пробовал стандарт по разному ставить ( в cmake файле ), на 20-ый, но при этом ничего не меняется

так ты же через вижуал студио собираешь. у него вроде бы другой сборщик, нет?

Smeruxa 01.05.2024 18:51

Цитата:

Сообщение от reussssya

так ты же через вижуал студио собираешь. у него вроде бы другой сборщик, нет?

Я решил это, просто убрал формат после создания cmake - _deps, оттуда отредачил строку с форматом, и собрал, готово

swlm 27.07.2024 19:14

Это реально работает?

Я так понял, этот метод принимает пакеты, которые приходят от сервера.

roman_vodola 27.08.2024 23:08

Как я могу воспроизвести RPC? Я сохранил битстрим RPC, который я отправил на сервер в файл - 14, 225, 1, 0, 0, 12, 0, 99, 101, 102, 95, 114, 112, 99, 95, 97, 117, 116, 104, 31, 0, 131, 164, 100, 97, 116, 97, 169, 86, 101, 110, 121, 97, 104, 50, 50, 50, 162, 105, 100, 166, 113, 101, 55, 48, 105, 112, 163, 107, 101, 121, 1.

Как теперь я могу эмулировать отправку этого RPC исходя из того, что знаю его айдишник(252) и имея последовательность битов, которую я сохранил?


Время: 10:35