HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 09.04.2016, 16:05
Dark_Knight
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами: 6921957

Репутация: 183


По умолчанию

Как по мне она у тебя кривая, легенд. Ты заюзал 2 слеша, а это уже ты ишешь символ \, а не слова. Так же такая регулярка не сможешь пропустить ники с символами.

Такие будут получше ловить

^\[Рация\] (.+)\[(\d+)\]\: ([А-Яа-я]+)$

^\[Рация\] (.+)\[(\d+)\]\: (.+)$
 
Ответить с цитированием

  #2  
Старый 09.04.2016, 16:06
itsLegend
Флудер
Регистрация: 23.03.2013
Сообщений: 2,696
С нами: 6915558

Репутация: 183


По умолчанию

Хз как у тебя, но у меня VS жалуется на то, что без двух бэкслэшей.
 
Ответить с цитированием

  #3  
Старый 09.04.2016, 16:19
Dark_Knight
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами: 6921957

Репутация: 183


По умолчанию

Ставишь 2013 ВС с апдейтом 5 и не паришься.
 
Ответить с цитированием

  #4  
Старый 09.04.2016, 18:05
zikekazil
Новичок
Регистрация: 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" целиком, а не один его элемент. Почему так?
 
Ответить с цитированием

  #5  
Старый 09.04.2016, 18:56
Dark_Knight
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами: 6921957

Репутация: 183


По умолчанию

str().c_str() заюзай
 
Ответить с цитированием

  #6  
Старый 11.04.2016, 17:07
Dydaev
Новичок
Регистрация: 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;

}
 
Ответить с цитированием

  #7  
Старый 13.04.2016, 14:31
AWRage
Постоянный
Регистрация: 10.07.2015
Сообщений: 642
С нами: 5706781

Репутация: 43


По умолчанию

Решил создать .asi плагин. В DllMain в DLL_PROCESS_ATTACH создал поток и в главной функции этого потока написал самое простое, логирование строки "loop", но когда увидел лог, охуел. 155 mb за минуту работы плагина. Понятно, что с такой скоростью игра зависнет, если я буду добавлять функции. Как это решить, юзать Sleep(1); ?

C++:





Код:
void
Loop
(
LPVOID pArg
)
{
while
(
bThreadStatus
)
{
Log
(
"Loop"
)
;
}
_endthread
(
)
;
}
 
Ответить с цитированием

  #8  
Старый 13.04.2016, 15:56
Dark_Knight
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами: 6921957

Репутация: 183


По умолчанию

Не зависнет. И надо юзать таймеры, а не слипы.
 
Ответить с цитированием

  #9  
Старый 13.04.2016, 20:01
AWRage
Постоянный
Регистрация: 10.07.2015
Сообщений: 642
С нами: 5706781

Репутация: 43


По умолчанию

Цитата:
Сообщение от Dark_Knight  

Не зависнет. И надо юзать таймеры, а не слипы.
Понял. Но появилась другая проблемка. Создал пустой проект, добавил DllMain, но появилась ошибка entry point must be defined. В настройках тип конфигурации dll, исходное расширение .asi. Искал в интернете, не нашёл ничего.

P.S. Где подчеркнуто, писал /ENTRY: DllMain, тоже не помогло.

Цитата:
Сообщение от Спойлер  




 
Ответить с цитированием

  #10  
Старый 13.04.2016, 20:15
Dark_Knight
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами: 6921957

Репутация: 183


По умолчанию

 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.

×

Внести депозит

Введите сумму USDT:

Принимается только USDT TRC20. Fake/Flash USDT не засчитывается.

×

Вывести депозит

Сумма USDT:

Ваш USDT TRC20 кошелек:

Заявка будет отправлена администратору.