Показать сообщение отдельно

  #3513  
Старый 15.05.2019, 14:10
Cake_
Участник форума
Регистрация: 04.04.2017
Сообщений: 263
С нами: 4793630

Репутация: 133
По умолчанию

Цитата:
Сообщение от HanPrincess  

Почему не работает это? Если попробовать вот так компилить, то выдаёт ошибку про hash_map, а если компилить с "
#define _SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS 1", то при входе в игру пишется "Test", а команда /showinfo просто не работает

Код:





Код:
#include 
#include 
#include 
#include 

#include "SAMPFUNCS_API.h"
#include "game_api\game_api.h"

SAMPFUNCS *SF = new SAMPFUNCS();

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);
};

void CALLBACK mainloop()
{
    static bool init = false;
    if (!init)
    {
        if (GAME == nullptr)
            return;
        if (GAME->GetSystemState() != eSystemState::GS_PLAYING_GAME)
            return;
        if (!SF->getSAMP()->IsInitialized())
            return;
        SF->getSAMP()->getChat()->AddChatMessage( D3DCOLOR_XRGB( 0, 0xAA, 0 ), "Test." );
        SF->getSAMP()->registerChatCommand("showinfo", cmd_show_info_player);
        init = true;
    }
}

BOOL APIENTRY DllMain(HMODULE hModule, DWORD dwReasonForCall, LPVOID lpReserved)
{
    switch (dwReasonForCall)
    {
        case DLL_PROCESS_ATTACH:
            SF->initPlugin(mainloop, hModule);
            break;
        case DLL_THREAD_ATTACH:
        case DLL_THREAD_DETACH:
        case DLL_PROCESS_DETACH:
            break;
    }
    return TRUE;
}

Первой строкой поставь. Нужно вводить не просто /showinfo, в команде должен быть один параметр, в данном случае это id игрока ( 0 - 1000).







C++:





Код:
#define _SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS 1


 
Ответить с цитированием