- 204
- 39
чат гпт дал такой код
проверьте запускается или нет
проверьте запускается или нет
C++:
#include <iostream>
#include "steam/steam_api.h"
#include "dota/dota_shared_enums.h"
#include "dota/dota_gcmessages_common.pb.h"
#include "dota/dota_gcmessages_client.pb.h"
#include "dota/dota_gcmessages_client_fantasy.pb.h"
#include "dota/dota_gcmessages_client_match_management.pb.h"
#include "dota/dota_gcmessages_client_team.pb.h"
void ApplySkin(const std::string& skin_name) {
ISteamClient* steam_client = SteamClient();
HSteamUser steam_user = steam_client->GetHSteamUser();
HSteamPipe steam_pipe = steam_client->GetHSteamPipe();
// Получаем интерфейс для работы с Dota 2
ISteamApps* steam_apps = steam_client->GetISteamApps(steam_user, steam_pipe, "STEAMAPPTICKET_INVALID");
if (!steam_apps) {
std::cout << "Failed to get ISteamApps interface" << std::endl;
return;
}
// Получаем ID приложения Dota 2
uint32 app_id = steam_apps->GetAppID();
// Получаем интерфейс для работы с Dota 2
ISteamGameCoordinator* game_coordinator = steam_client->GetISteamGameCoordinator(steam_user, steam_pipe, k_ESteamGameServer, k_unSteamAccountIDNotInitiated, app_id);
if (!game_coordinator) {
std::cout << "Failed to get ISteamGameCoordinator interface" << std::endl;
return;
}
// Создаем protobuf-сообщение для отправки команды применения скина
CMsgDOTASetItemSlotVisuals msg;
msg.set_item_name(skin_name);
// Отправляем сообщение в игру
uint32 msg_type = k_EMsgGC_DOTASetItemSlotVisuals;
EGCResults result = k_EGCResultOK;
bool send_result = game_coordinator->SendMessage(msg_type, msg.SerializeAsString().c_str(), msg.ByteSize(), k_EMsgSendTypeGC, &result);
if (!send_result || result != k_EGCResultOK) {
std::cout << "Failed to send message to game coordinator" << std::endl;
return;
}
// Выводим сообщение об успешном применении скина
std::cout << "Skin applied: " << skin_name << std::endl;
}
int main() {
// Инициализируем SteamAPI
if (!SteamAPI_Init()) {
std::cout << "Failed to initialize SteamAPI" << std::endl;
return 1;
}
// Применяем скин к персонажу
ApplySkin("MyCoolSkin");
// Выходим из SteamAPI
SteamAPI_Shutdown();
return 0;
}