- 1,709
- 1,601
ПопробуйПривет. Это код который записывает игровые координаты педа в файл. После чего читает коорды и бегает по ним, но читается только первая строка.
Как можно перейти к следующей строке после выполнения проверки на дистанцию.
А вот так только последняя.C++:{ std::ofstream cfg("n1ght.txt"); static std::string writestr; if (g_class.events->gameKeyState(SRKeys::GameKeysOnFoot::Forward_or_Backward) || g_class.events->gameKeyState(SRKeys::GameKeysOnFoot::Left_or_Right)) { static ULONGLONG iTick = GetTickCount64(); if (GetTickCount64() - iTick > (ULONGLONG)2000) { writestr += (std::to_string(LOCAL_PLAYER->getPosition().fX) + ":" + std::to_string(LOCAL_PLAYER->getPosition().fY) + "\n"); iTick = GetTickCount64(); } } cfg.write(writestr.c_str(), writestr.length()); } std::ofstream rd("read.txt"); static std::string writestr; { std::cmatch result; std::regex reg("(.*):(.*)"); //Файл откуда берутся координаты std::ifstream fileread("n1ght.txt"); //Делаем перебор всех строк в файле for (std::string line; std::getline(fileread, line);) { //Получаем две координаты в виде чисел из регекса и записываем их в result[1] и result[2] std::regex_match(line.c_str(), result, reg); //Переводим наши координаты из string в float для дальнейшей работы float posX = std::stof(result[1].str()); float posY = std::stof(result[2].str()); float dist = dist2D(LOCAL_PLAYER->getPosition().fX, LOCAL_PLAYER->getPosition().fY, posX, posY); /* По идеии мы должны сделать проверку на расстояние между педом и самими координатами * Если пед ближе к нашей точке то переключаем на следующие координаты из файла * только я хз как) */ if (dist >= 1.5f) continue; } //Направляем нашу камеру на координаты из файла CameraSet(posX, posY);
C++://Получаем две координаты в виде чисел из регекса и записываем их в result[1] и result[2] std::regex_match(line.c_str(), result, reg); //Переводим наши координаты из string в float для дальнейшей работы posX = std::stof(result[1].str()); posY = std::stof(result[2].str()); float dist = dist2D(LOCAL_PLAYER->getPosition().fX, LOCAL_PLAYER->getPosition().fY, posX, posY); if (dist <= 1.5f) { line[i]++; } }
C++:
std::ifstream stream("n1ght.txt");
std::string line;
while(std::getline(stream, line))
// code