 |
|

08.04.2016, 22:02
|
|
Новичок
Регистрация: 17.03.2016
Сообщений: 7
С нами:
5345406
Репутация:
0
|
|
Есть такая строка:
Код:
Код:
[Рация] Ivan_Ivanov[17]: тест
Как используя RegEx можно извлечь и ник, и сообщение (где "тест")? Перепробовал все, но чет не могу сам дойти до этого. 
|
|
|

08.04.2016, 22:09
|
|
Новичок
Регистрация: 26.11.2015
Сообщений: 7
С нами:
5506252
Репутация:
0
|
|
1. Как сделать админ чекер в m0d_sa?
|
|
|

09.04.2016, 00:35
|
|
Участник форума
Регистрация: 14.05.2014
Сообщений: 149
С нами:
6314183
Репутация:
68
|
|
Сообщение от Dydaev
1. Как сделать админ чекер в m0d_sa?
https://www.blast.hk/threads/1549/
|
|
|

09.04.2016, 15:57
|
|
Флудер
Регистрация: 23.03.2013
Сообщений: 2,696
С нами:
6915558
Репутация:
183
|
|
Сообщение от zikekazil
Есть такая строка:
Код:
Код:
[Рация] Ivan_Ivanov[17]: тест
Как используя RegEx можно извлечь и ник, и сообщение (где "тест")? Перепробовал все, но чет не могу сам дойти до этого.
Код:
Код:
([\\w]+)\\[(\\d+)\\]\\: ([^$]+)
Код:
Код:
Result of search: 1 match(-es)
Match #0: Ivan_Ivanov[17]: test
Match #1: Ivan_Ivanov
Match #2: 17
Match #3: test
|
|
|

09.04.2016, 16:05
|
|
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами:
6921957
Репутация:
183
|
|
Как по мне она у тебя кривая, легенд. Ты заюзал 2 слеша, а это уже ты ишешь символ \, а не слова. Так же такая регулярка не сможешь пропустить ники с символами.
Такие будут получше ловить
^\[Рация\] (.+)\[(\d+)\]\: ([А-Яа-я]+)$
^\[Рация\] (.+)\[(\d+)\]\: (.+)$
|
|
|

09.04.2016, 16:06
|
|
Флудер
Регистрация: 23.03.2013
Сообщений: 2,696
С нами:
6915558
Репутация:
183
|
|
Хз как у тебя, но у меня VS жалуется на то, что без двух бэкслэшей.
|
|
|

09.04.2016, 16:19
|
|
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами:
6921957
Репутация:
183
|
|
Ставишь 2013 ВС с апдейтом 5 и не паришься.
|
|
|

09.04.2016, 18:05
|
|
Новичок
Регистрация: 17.03.2016
Сообщений: 7
С нами:
5345406
Репутация:
0
|
|
спасибо, сделал как-то так:
Код:
Код:
std::string chatm = "[Рация] Ivan_Ivanov[17]: тест";
std::smatch chatres;
if (std::regex_match(chatm, chatres, std::regex(R"(^\[Рация\] (.+)\[(\d+)\]\: (.+)$)")))
SF->getSAMP()->getChat()->AddChatMessage(-1, "Ник: %s", chatres[1].str());
но после проверки всего этого в игре, происходит зависание. Смог вывести только "chatres" целиком, а не один его элемент. Почему так? 
|
|
|

09.04.2016, 18:56
|
|
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами:
6921957
Репутация:
183
|
|
str().c_str() заюзай
|
|
|

11.04.2016, 17:07
|
|
Новичок
Регистрация: 26.11.2015
Сообщений: 7
С нами:
5506252
Репутация:
0
|
|
Помогите исправить код, всё объявлено и код работает, но при активации телепортирует под землю и не замирает, то есть, если не поставить метку - в чат пишет, но самой телепортации не происходит, войд ниже.
Код:
Код:
void cheat_handle_coordmaster()
{
static int time=0;
if(cheat_state->_generic.coordmaster == 1) {
if(GetTickCount()-set.coord_time > time) {
if (*(int *)0xBA6774 != 0)
{
float mapPos[3];
for ( int i = 0; i GetWorld()->FindGroundZForPosition( mapPos[0], mapPos[1] ) + 2.0f;
float cpos[3] = {pPedSelf->GetPosition()->fX,pPedSelf->GetPosition()->fY,pPedSelf->GetPosition()->fZ};
char opa=0;
if(cpos[0] > mapPos[0]) {
if(cpos[0]-mapPos[0] > set.coord_distance) cpos[0] -= set.coord_distance;
else {
cpos[0] = mapPos[0];
opa++;
}
} else {
if(mapPos[0]-cpos[0] > set.coord_distance) cpos[0] += set.coord_distance;
else {
cpos[0] = mapPos[0];
opa++;
}
}
if(cpos[1] > mapPos[1]) {
if(cpos[1]-mapPos[1] > set.coord_distance) cpos[1] -= set.coord_distance;
else {
cpos[1] = mapPos[1];
opa++;
}
} else {
if(mapPos[1]-cpos[1] > set.coord_distance) cpos[1] += set.coord_distance;
else {
cpos[1] = mapPos[1];
opa++;
}
}
if(opa == 2) {
cpos[2] = mapPos[2];
cheat_state->_generic.coordmaster = 0;
GTAfunc_TogglePlayerControllable(0);
GTAfunc_LockActor(0);
}
else cpos[2] = pGameInterface->GetWorld()->FindGroundZForPosition( cpos[0], cpos[1] )-20;
cheat_teleport(cpos,0);
}
}
} else {
addMessageToChatWindow("Поставьте метку на карте!");
cheat_state->_generic.coordmaster = 0;
}
time = GetTickCount();
}
}
return;
}
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|