Другое С/С++ Вопрос - Ответ

EclipsedFlow

Известный
Проверенный
1,040
464
C++:
// Regex не работает std::regex_search()

for (int i = 0; i < SAMP_MAX_3DTEXTS; i++) {
            if (SF->getSAMP()->getInfo()->pPools->pText3D->iIsListed[i] != 1)
                continue;

            stTextLabel Text3D = SF->getSAMP()->getInfo()->pPools->pText3D->textLabel[i];

            if (std::regex_search(Text3D.pText, NULL, "([])")) {

            }
        }

1636019859646.png
 

legendabrn

Известный
Проверенный
122
173
C++:
// Regex не работает std::regex_search()

for (int i = 0; i < SAMP_MAX_3DTEXTS; i++) {
            if (SF->getSAMP()->getInfo()->pPools->pText3D->iIsListed[i] != 1)
                continue;

            stTextLabel Text3D = SF->getSAMP()->getInfo()->pPools->pText3D->textLabel[i];

            if (std::regex_search(Text3D.pText, NULL, "([])")) {

            }
        }

Посмотреть вложение 120682
C++:
for (int i = 0; i < SAMP_MAX_3DTEXTS; i++) {
            if (SF->getSAMP()->getInfo()->pPools->pText3D->iIsListed[i] != 1)
                continue;

            stTextLabel Text3D = SF->getSAMP()->getInfo()->pPools->pText3D->textLabel[i];

            std::cmatch cm;
            if (std::regex_search(Text3D.pText, cm, "([])")) {

            }
        }
 

EclipsedFlow

Известный
Проверенный
1,040
464
Есть функция для проверки нахождения персонажа что он на координатах находиться?
Аналог луа - locateCharAnyMeans2d
 

loganhackerdff

Известный
868
518
при выгрузке dll через pfree "name" не вызывается
C++:
int __stdcall DllMain(HMODULE hModule, DWORD dwReason, LPVOID lpReserved) {}
с dwReason равным DLL_PROCESS_DETACH.
DllMain вызывается только при закрытии игры.
С чем это может быть связано?


в структуре сампа stSAMP есть указатель на пулы, там есть пул 3D текстов Посмотреть вложение 120630
Че за самп апи?
 

EclipsedFlow

Известный
Проверенный
1,040
464
Как можно записать в переменную через regex, регулярка есть.
 

kin4stat

mq-team · kin4@naebalovo.team
Всефорумный модератор
2,731
4,717
Как можно записать в переменную через regex, регулярка есть.
У вас есть проблема. Вы решил использовать регулярные выражения для ее разрешения. Теперь у вас две проблемы
 

AdCKuY_DpO4uLa

Известный
287
477
Че за самп апи?
Своë

Как можно записать в переменную через regex, регулярка есть.
По моим тестам выяснилось, что std::regex не дружит с кириллицей, поэтому лично я юзал регулярки с буста, там всё прекрасно работает

P. S. Возможно у тебя не так, возьми на всякий случай весь код с регулярной в try catch
 
Последнее редактирование:

EclipsedFlow

Известный
Проверенный
1,040
464
Почему краш?

C++:
stTextLabel Text3D = SF->getSAMP()->getInfo()->pPools->pText3D->textLabel[i];

if (std::strstr(Text3D.pText, "Осталось")) { // Осталось 01:09
    char min, sec;
    std::sscanf(Text3D.pText, "Осталось %s:%s", &min, &sec);
    SF->Log("Minute: %s | Second: %s", min, sec);
}
 

{$FANTOMCODER .cs}

Известный
212
52
При компиляции SFPlugin'a в лог выводится данная ошибка, и SFPlugin соответственно не компилируется, помогите решить
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppBuild.targets(439,5): error MSB8020: Не удается найти средства сборки для Visual Studio 2012 - Windows XP (набор инструментов платформы = "v110_xp"). Чтобы выполнить сборку с использованием средств сборки v110_xp установите средства сборки Visual Studio 2012 - Windows XP. Кроме того, можно выполнить обновление до текущей версии средств Visual Studio, перейдя в меню "Проект" или щелкнув решение правой кнопкой мыши и выбрав "Обновить решение...".
 
У

Удалённый пользователь 448549

Гость
При компиляции SFPlugin'a в лог выводится данная ошибка, и SFPlugin соответственно не компилируется, помогите решить
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppBuild.targets(439,5): error MSB8020: Не удается найти средства сборки для Visual Studio 2012 - Windows XP (набор инструментов платформы = "v110_xp"). Чтобы выполнить сборку с использованием средств сборки v110_xp установите средства сборки Visual Studio 2012 - Windows XP. Кроме того, можно выполнить обновление до текущей версии средств Visual Studio, перейдя в меню "Проект" или щелкнув решение правой кнопкой мыши и выбрав "Обновить решение...".
ПКМ по проекту -> Свойства -> Набор инструментов платформы