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

EclipsedFlow

Известный
Проверенный
1,047
476
Как можно скачать txt файл и записать в переменную, запись в переменную второстепенное, главное как скачать?
cURL?
 

DarkP1xel

Сила воли наше всё.
BH Team
3,635
4,988
Как можно скачать txt файл и записать в переменную, запись в переменную второстепенное, главное как скачать?
cURL?
Ты каждое действие спрашивать будешь?
Используя сокеты (recv) и запись полученных данных в файл (fstream), но тебе скорее подойдет URLDownloadToFile...
 
  • Нравится
Реакции: EclipsedFlow

yung milonov

Известный
1,010
521
как получить координаты метки на карте с адекватной координатой Z?
 

DarkP1xel

Сила воли наше всё.
BH Team
3,635
4,988
как получить координаты метки на карте с адекватной координатой Z?
После получения координат, надо отрендерить сцену в месте где нужно получить правильную координату Z (CStreaming::LoadScene 0x40EB70/CStreaming::LoadSceneCollision 0x40ED80), а после используя функцию (CWorld::FindGroundZFor3DCoord 0x5696C0/CWorld::FindGroundZForCoord 0x569660) получить правильное значение.
 

EclipsedFlow

Известный
Проверенный
1,047
476
При чтении строк библиотекой fstream, плагин СФ выводит иероглифы, как исправить?
 

EclipsedFlow

Известный
Проверенный
1,047
476
Куда выводит? код? многобайтовая кодировка? что читаешь? может там и записаны иероглифы
Пробовал в консоль и в чат выводить, многобайтовая кодировка стоит, читаю txt по строкам анг. буквы и цифры.
 

EclipsedFlow

Известный
Проверенный
1,047
476
При компиляции вот такого кода ( SFPlugin )
cod:
#include <Windows.h>
#include "main.h"

SAMPFUNCS *SF = new SAMPFUNCS();

void __stdcall mainloop()


void CALLBACK cmd_show_info_player(std::string param);
{
    if (param.empty()) return;
    int    i = std::stoi(param);

    char buf[128];

    stRemotePlayer *pPlayer = SF->getSAMP()->getPlayers()->pRemotePlayer[i];

    if (!pPlayer) return;

    sprintf(buf, "Nickname - %s, Ping - %d, Score - %d, isNPC - %d, AFKState - %d",
        pPlayer->szPlayerName,
        pPlayer->iPing,
        pPlayer->iScore,
        pPlayer->iIsNPC,
        pPlayer->pPlayerData->iAFKState == 2);

    SF->getSAMP()->getChat()->AddChatMessage(-1, buf);
};


{
    static bool initialized = false;
    if (!initialized)
    {
        if (GAME && GAME->GetSystemState() == eSystemState::GS_PLAYING_GAME && SF->getSAMP()->IsInitialized())
        {
            initialized = true;
            SF->getSAMP()->getChat()->AddChatMessage(D3DCOLOR_XRGB(0, 0xAA, 0), "SAMPFUNCS Plugin loaded.");
            SF->getSAMP()->registerChatCommand("showinfo", cmd_show_info_player);
        }
    }
}

BOOL APIENTRY DllMain(HMODULE hModule, DWORD dwReasonForCall, LPVOID lpReserved)
{
    if (dwReasonForCall == DLL_PROCESS_ATTACH)
        SF->initPlugin(mainloop, hModule);
    return TRUE;
}

Выдаёт такую ошибку:

1>------ Сборка начата: проект: SFPlugin, Конфигурация: Release Win32 ------
1> main.cpp
1>main.cpp(9): error C2144: синтаксическая ошибка: перед "void" требуется ";"
1>main.cpp(10): error C2447: {: отсутствует заголовок функции (возможно, используется формальный список старого типа)
1>main.cpp(31): error C2447: {: отсутствует заголовок функции (возможно, используется формальный список старого типа)
========== Сборка: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
Ну хотябы озы c++ поучи