
08.05.2018, 17:13
|
|
Постоянный
Регистрация: 13.02.2016
Сообщений: 532
С нами:
5392682
Репутация:
93
|
|
Вообщем, проблема такая. RegEx не может найти ник в чате. Что не так?
Код:
Код:
std::string chatm = msg;
std::smatch chatres;
std::regex poisk(R"(Samuel_Revalto)");
if (std::regex_match(chatm, chatres, poisk))
SF->getSAMP()->getChat()->AddChatMessage(-1, "Найдено");
SF->getSAMP()->getChat()->AddChatMessage(-1, "%s", poisk);
Пробовал даже выводить его в AddChatMessage, на что я получал это:
Пример сообщения:
Администратор Samuel_Revalto[235] для Paolo_Boone[133]: Транслит офф
|
|
|

08.05.2018, 17:20
|
|
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами:
6921957
Репутация:
183
|
|
Сообщение от Bazzl
Вообщем, проблема такая. RegEx не может найти ник в чате. Что не так?
Дай всю строку.
|
|
|

09.05.2018, 14:25
|
|
Постоянный
Регистрация: 13.02.2016
Сообщений: 532
С нами:
5392682
Репутация:
93
|
|
Сообщение от Dark_Knight
Дай всю строку.
Спасибо, я забыл, что создавал подобную тему в SF API, вы мне тогда ответили, все прекрасно работает!
Код:
Код:
#include
#include
using namespace std;
bool CALLBACK incomingRPC(stRakNetHookParams *params) {
if (params->packetId == ScriptRPCEnumeration::RPC_ScrClientMessage) {
DWORD len, color;
char msg[144];
BitStream *bs = params->bitStream;
bs->Read(color);
bs->Read(len);
bs->Read(msg, len);
msg[len] = '\0';
string str = msg;
try {
if (color == 0xFF5030AA &&
regex_search(msg, res, regex(R"(Администратор (.*) выдал бан чата игроку)"))){
SF->getSAMP()->getChat()->AddChatMessage(-1, "%s", res[1].str().c_str());
}
}
catch (const exceptions &e){
SF->Log("%s | %s", __FUCTION__, e.what());
}
};
return true; // успешно завершаем обработку RPC.
};
Уже нашел ответ...
|
|
|

08.05.2018, 18:30
|
|
Постоянный
Регистрация: 16.07.2017
Сообщений: 310
С нами:
4645623
Репутация:
58
|
|
Сообщение от Bazzl
Вообщем, проблема такая. RegEx не может найти ник в чате. Что не так?
Код:
Код:
std::string chatm = msg;
std::smatch chatres;
std::regex poisk(R"(Samuel_Revalto)");
if (std::regex_match(chatm, chatres, poisk))
SF->getSAMP()->getChat()->AddChatMessage(-1, "Найдено");
SF->getSAMP()->getChat()->AddChatMessage(-1, "%s", poisk);
Пробовал даже выводить его в AddChatMessage, на что я получал это:
Пример сообщения:
Администратор Samuel_Revalto[235] для Paolo_Boone[133]: Транслит офф
C++:
|
|
|

13.05.2018, 18:29
|
|
Участник форума
Регистрация: 06.01.2016
Сообщений: 154
С нами:
5447649
Репутация:
28
|
|
В чем тут проблема?
При нажатии клавиши "1", "2" или "3" должна эмулироватся игровая клавиша под номером "1", которая заставляет игрока бежать вперед/назад.
Писал код на CLEO - все работает безупречно, персонаж бежит.
Писал код на SF API, используя SF->getGame()->emulGTAKey() - персонаж не бежит
Писал код на SF API, используя SF->getCLEO()->callOpcode() - персонаж не бежит
Проверял, что функции SF API вызываются, выводя в чат сообщение перед и после их вызова - сообщения в чат выводились, но игрок так же не бежал.
Код CLEO:
CLEO:
Код:
while
true
wait
0
key_down
49
jf
continue
0B56:
set_game_key
1
state -
128
end
Код SF API:
C++:
Код:
void
CALLBACK
mainloop
(
)
{
static
bool
init
=
false
;
if
(
init
)
{
if
(
SF
->
getGame
(
)
->
isKeyDown
(
50
)
)
SF
->
getGame
(
)
->
emulateGTAKey
(
1
,
-
128
)
;
if
(
SF
->
getGame
(
)
->
isKeyDown
(
51
)
)
SF
->
getCLEO
(
)
->
callOpcode
(
"0B56: set_game_key 1 state -128"
)
;
return
;
}
if
(
!
init
)
{
if
(
GAME
==
nullptr
||
GAME
->
GetSystemState
(
)
!=
eSystemState
::
GS_PLAYING_GAME
||
!
SF
->
getSAMP
(
)
->
IsInitialized
(
)
)
return
;
init
=
true
;
}
}
|
|
|

15.05.2018, 17:55
|
|
Новичок
Регистрация: 01.12.2009
Сообщений: 0
С нами:
8654409
Репутация:
0
|
|
Вопрос, почему зависает при использовании рендера у Windows XP? На 7, 8, 10 всё нормально работает, а на XP - зависание.
|
|
|

15.05.2018, 19:59
|
|
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами:
6921957
Репутация:
183
|
|
Потому, что ХП - уже мертвая система. Забей на её поддержку.
|
|
|

15.05.2018, 23:34
|
|
Постоянный
Регистрация: 17.02.2014
Сообщений: 611
С нами:
6438231
Репутация:
133
|
|
Есть у кого функция удаления пикапов?
|
|
|

16.05.2018, 16:55
|
|
Участник форума
Регистрация: 06.01.2016
Сообщений: 154
С нами:
5447649
Репутация:
28
|
|
Сообщение от iAmerican
Есть у кого функция удаления пикапов?
Эмулируй RPC_DestroyPickup
|
|
|

16.05.2018, 22:48
|
|
Постоянный
Регистрация: 17.02.2014
Сообщений: 611
С нами:
6438231
Репутация:
133
|
|
Сообщение от _Vine_
Эмулируй RPC_DestroyPickup
Хорошо , скинь мне эмуляцию не на SF.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|