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

EclipsedFlow

Известный
Проверенный
1,038
462
Для std::string следует использовать метод .c_str()
C++:
lines.c_str()
Для выводы HDD скорее тебе требуется: "%X"
Краш игры, и
1635629569073.png
 

EclipsedFlow

Известный
Проверенный
1,038
462
когда в лог выводишь....
После проверки, 7 строка.
C++:
std::ifstream file(license_txt);
    if (file.is_open())
    {
        std::string lines;
        while (std::getline(file, lines)) // Перебирает строки и потом сравнивает с hdd_now
        {
            if (lines == hdd_now) {
                SF->Log("Путь к файлу: %s\nHDD: %s\nТекст: %s", license_txt, hdd_now, lines);
                msg("Подписки куплена, приятного использования");
            }
            else
            {
                SF->Log("Путь к файлу: %s\nHDD: %s\nТекст: %s", license_txt, hdd_now, lines);
                msg("Подписки нету, её нужно купить");
            }
        }
        file.close();
    }
 

kin4stat

mq-team
Всефорумный модератор
2,730
4,710
После проверки, 7 строка.
C++:
std::ifstream file(license_txt);
    if (file.is_open())
    {
        std::string lines;
        while (std::getline(file, lines)) // Перебирает строки и потом сравнивает с hdd_now
        {
            if (lines == hdd_now) {
                SF->Log("Путь к файлу: %s\nHDD: %s\nТекст: %s", license_txt, hdd_now, lines);
                msg("Подписки куплена, приятного использования");
            }
            else
            {
                SF->Log("Путь к файлу: %s\nHDD: %s\nТекст: %s", license_txt, hdd_now, lines);
                msg("Подписки нету, её нужно купить");
            }
        }
        file.close();
    }
C++:
std::ifstream file(license_txt);
    if (file.is_open())
    {
        std::string lines;
        while (std::getline(file, lines)) // Перебирает строки и потом сравнивает с hdd_now
        {
            if (lines == hdd_now) {
                SF->Log("Путь к файлу: %s\nHDD: %s\nТекст: %s", license_txt.c_str(), hdd_now.c_str(), lines.c_str());
                msg("Подписки куплена, приятного использования");
            }
            else
            {
                SF->Log("Путь к файлу: %s\nHDD: %s\nТекст: %s", license_txt.c_str(), hdd_now.c_str(), lines.c_str());
                msg("Подписки нету, её нужно купить");
            }
        }
        file.close();
    }
 

EclipsedFlow

Известный
Проверенный
1,038
462
При добавлении этой функции в исполнение, плагин SF не загружается вообще.

C++:
size_t write_data_file(void* ptr, size_t size, size_t nmemb, FILE* stream) {
    size_t written = fwrite(ptr, size, nmemb, stream);
    return written;
} // Доп. функция, строка 14

void download_file()
{
    std::string file_txt = game_directory() + "\\SAMPFUNCS\\lic.txt";

    CURL* curl = curl_easy_init();
    if (curl) {
        FILE* fp = fopen(file_txt.c_str(), "wb");
        curl_easy_setopt(curl, CURLOPT_URL, "url");
        curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data_file);
        curl_easy_setopt(curl, CURLOPT_WRITEDATA, fp);
        CURLcode res = curl_easy_perform(curl);
        SF->Log(curl_easy_strerror(res)); // Вывод лога

        curl_easy_cleanup(curl);
        fclose(fp);
    }
 

F0RQU1N and

Известный
1,310
494
При добавлении этой функции в исполнение, плагин SF не загружается вообще.

C++:
size_t write_data_file(void* ptr, size_t size, size_t nmemb, FILE* stream) {
    size_t written = fwrite(ptr, size, nmemb, stream);
    return written;
} // Доп. функция, строка 14

void download_file()
{
    std::string file_txt = game_directory() + "\\SAMPFUNCS\\lic.txt";

    CURL* curl = curl_easy_init();
    if (curl) {
        FILE* fp = fopen(file_txt.c_str(), "wb");
        curl_easy_setopt(curl, CURLOPT_URL, "url");
        curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data_file);
        curl_easy_setopt(curl, CURLOPT_WRITEDATA, fp);
        CURLcode res = curl_easy_perform(curl);
        SF->Log(curl_easy_strerror(res)); // Вывод лога

        curl_easy_cleanup(curl);
        fclose(fp);
    }
компиль курл статически
 
  • Нравится
Реакции: EclipsedFlow

EclipsedFlow

Известный
Проверенный
1,038
462
компиль курл статически
Если я думаю правильно где-то была строка со слово Static, после инициализации библиотеки, её нежно добавить или как правильно?
#define CURL_STATICLIB
 
Последнее редактирование:

EclipsedFlow

Известный
Проверенный
1,038
462
  • Bug
Реакции: F0RQU1N and

loganhackerdff

Известный
868
517
Нихера не работает друг, я уже как только не пробовал, failed и все
Значит не правильно ты используеш urldownloadtofile, надо там указывать адрес на файл, чтоб в конце было filename.txt

Там вроде цифру в конце надо менять, ты изменил? Когда с дропбокса качаеш
 

EclipsedFlow

Известный
Проверенный
1,038
462
Как проверить, если точка на экране для рендера, аналог isPointOnScreen() на Lua
 

kin4stat

mq-team
Всефорумный модератор
2,730
4,710
Как проверить, если точка на экране для рендера, аналог isPointOnScreen() на Lua
C++:
CVector2D get_screen_coords(CVector vecWorld) {
    float x, y, z;
    double fRecip;
  
    const D3DXMATRIX m{ reinterpret_cast<float*>(0xB6FA2C) };
    unsigned long dwLenX = *reinterpret_cast<unsigned long*>(0xC17044);
    unsigned long dwLenY = *reinterpret_cast<unsigned long*>(0xC17048);
  
    x = (vecWorld.z * m._31) + (vecWorld.y * m._21) + (vecWorld.x * m._11) + m._41;
    y = (vecWorld.z * m._32) + (vecWorld.y * m._22) + (vecWorld.x * m._12) + m._42;
    z = (vecWorld.z * m._33) + (vecWorld.y * m._23) + (vecWorld.x * m._13) + m._43;
  
    fRecip = 1.0 / z;
    x *= static_cast<float>(fRecip * dwLenX);
    y *= static_cast<float>(fRecip * dwLenY);
    return { x, y };
}

bool is_point_on_screen(CVector vecWorld) {
    const D3DXMATRIX m{ reinterpret_cast<float*>(0xB6FA2C) };
    const unsigned long dwLenX = *reinterpret_cast<unsigned long*>(0xC17044);
    const unsigned long dwLenY = *reinterpret_cast<unsigned long*>(0xC17048);
  
    float z;
    z = (vecWorld.z * m._33) + (vecWorld.y * m._23) + (vecWorld.x * m._13) + m._43;
    return z >= 1.0f;
}
 

EclipsedFlow

Известный
Проверенный
1,038
462
Вы выводит строку в игре

C++:
// mainloop
char buf[128];
sprintf(buf, "~r~Good send: ~w~%d~n~~r~Speed: ~w~%d", unc_fuck.vehicleId, unc_fuck.speed);
printStringNow(buf, 300, NULL, false);

//fuction
void printStringNow(const char* text, unsigned int time, unsigned short flag, bool bPreviousBrief)
{
    ((void(__cdecl*)(const char*, unsigned int, unsigned short, bool))0x69F1E0)(text, time, flag, bPreviousBrief);
}
 

S0Ft1k1337

Новичок
11
3
Подскажите патч Anti bike fall, этот не работает
C++:
memsafe::copy((void*)0x522F6A, "\xE9\xA7\x03\x00\x00\x90", 6);
memsafe::copy((void*)0x4B3296, "\x90\x90\x90", 3);