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

SR_team

like pancake
BH Team
4,720
6,374
Так дхут же wchar хранит....
У калкора он как-то странно собран. Там в одних местах wchar_t, а в других char. Хотя по сурсам MS, там везде TCHAR, который должен развернуть только во что-то одно - везде wchar_t, либо везде char
 
  • Нравится
Реакции: kin4stat

greamc

Новичок
1
0
Объясните пожалуйста,в чем проблема
 

Вложения

  • Screenshot_1.png
    Screenshot_1.png
    10.2 KB · Просмотры: 59

DS.

Участник
48
0
1.Проверка на черный индикатор над головой(когда чел дохнет)
2.Проверка на ближайшего игрока.
3.Рестарт сервера(только у себя), то есть как отключить инет для сервера хоть на 1 секунду.
 

dekname

Участник
44
2
Можно ли где-то посмотреть логику, каким образом выдается стан и какие анимки при этом выдает игра/SA-MP?
 

manukhov

Известный
125
128
Привет. Это код который записывает игровые координаты педа в файл. После чего читает коорды и бегает по ним, но читается только первая строка.
Как можно перейти к следующей строке после выполнения проверки на дистанцию.

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]++;
}
}
 

Musaigen

abobusnik
Проверенный
1,585
1,309
Привет. Это код который записывает игровые координаты педа в файл. После чего читает коорды и бегает по ним, но читается только первая строка.
Как можно перейти к следующей строке после выполнения проверки на дистанцию.

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
 

iliyasyeskhatov

Участник
89
6
stRemotePlayer* pPlayer = SF->getSAMP()->getPlayers()->pRemotePlayer;
SF 5.5.0 не работает функция или у него другая функция ?