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

F11GAR0.

Потрачен
0
59
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
0393: actor $PLAYER_ACTOR perform_animation "Gun_2_IDLE" at 4@ times_normal_rate
адрес хуйни плиз
 

LaRossa

Потрачен
429
117
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Подскажите как понять, что установлен SAMP ADDON
 
Последнее редактирование:

index

Известный
125
82
Подскажите как понять, что установлен SAMP ADDON
У последних версий audio.asi имеет такой Version Info. У предыдущих - не знаю, возможно тоже самое.
Код:
1 VERSIONINFO
FILEVERSION 2,1,0,0
PRODUCTVERSION 0,0,0,0
FILEOS 0x0
FILETYPE 0x0
{
BLOCK "StringFileInfo"
{
    BLOCK "04090025"
    {
        VALUE "FileDescription", "SA-MP Addon library"
        VALUE "LegalCopyright", "Copyright © Absolute Play www.gta-samp.ru"
        VALUE "CompanyName", "Absolute Play www.gta-samp.ru"
        VALUE "ProductName", "SA-MP Addon"
        VALUE "InternalName", "audio"
        VALUE "ProductVersion", "v2.4"
        VALUE "Comments", "Modification for GTA San Andreas"
    }
}

BLOCK "VarFileInfo"
{
    VALUE "Translation", 0x0409 0x0025
}
}
Но это не гарантирует установленный включенный аддон на 100%, этот файл могут просто оттуда использовать. Еще множно в реестре поискать, при установке туда информация для деинсталляции аддона пишется.
 
Последнее редактирование:
  • Нравится
Реакции: LaRossa

vasiliy130198

Новичок
27
0
Подскажите пожалуйста нормальные примеры проектов для гта, где используется рендер directx. Sobeit, plugin sdk знаю, нужны еще варианты)
Есть еще Samp Omega, там очень круто всё рассписано, но при создании шрифта (D3DXCreateFont) происходит краш именно на этой функции.. :wall:

И такой вопрос: бывали раньше случаи такие, когда рендер не рисовал текст на экране, а как только уберу какую-то дллку с папки игры -- всё окей. Что это значит, и в каком проекте можно подсмотреть решение?

Спасибо. :thank_you:
 

Akatosh

Известный
21
0
Появилась необходимость реализовать на С++ консольном приложении систему горячих клавиш. Если принимать сообщения через WndProc о нажатиях, всё работает нормально, но до тех пор, пока я не сверну/уберу фокус с моего приложения.
Вопрос: как можно сделать так, чтобы моё приложения после скрытия продолжало принимать события нажатия клавиши/мыши, как это сделано в AHK?
 

Stiopko

Известный
Проверенный
307
218
Как можно расположит текст по центру форми в ImGui?
 

ae1c2a

Известный
195
6
Код:
#define _SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS 1
#include "imgui.h"
#include <d3d9.h>
#define DIRECTINPUT_VERSION 0x0800
#include <dinput.h>
#include <tchar.h>
#define _SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS 1
#include <windows.h>
#include <string>
#include <assert.h>
#include <process.h>
#include "SAMPFUNCS_API.h"
#include "game_api\game_api.h"
SAMPFUNCS *SF = new SAMPFUNCS();

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), "SAMPFUNCS Plugin loaded.");
        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;
}
Как пофиксить?
Imgur(https://imgur.com/a/vOrjMjA)
 
1,417
1,032
Код:
#define _SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS 1
#include "imgui.h"
#include <d3d9.h>
#define DIRECTINPUT_VERSION 0x0800
#include <dinput.h>
#include <tchar.h>
#define _SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS 1
#include <windows.h>
#include <string>
#include <assert.h>
#include <process.h>
#include "SAMPFUNCS_API.h"
#include "game_api\game_api.h"
SAMPFUNCS *SF = new SAMPFUNCS();

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), "SAMPFUNCS Plugin loaded.");
        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;
}
Как пофиксить?
Imgur(https://imgur.com/a/vOrjMjA)
14 строку удали.
 

Harryss

Участник
233
26
Я криворукий шушуть, поэтому буду признателен за объяснение этой херни:
Imgur(https://imgur.com/a/nxPA8KT)
При использовании cmd? Параметр функции у тебя принимает целочисленные значения, а на скриншоте используешь строковые значения < >, оттого и крашит.
 
У

Удалённый пользователь 123482

Гость
Как получить ближайшею машину?
 

Woofing Giraffe

Активный
402
49
Как получить ближайшею машину?
Код:
int GetNearestVehicle() {
    int nearestVehicle = -1;
    double closestDistance = -1;
    typedef long double(__thiscall* GetDistance)(stSAMPVehicle*);
    for (int vID = 1; vID <= MAX_VEHICLES; vID++) {
        static stVehiclePool *allVehicles;
        allVehicles = SF->getSAMP()->getVehicles();
        if (allVehicles->iIsListed[vID] != 1 || allVehicles->iIsListed2[vID] != 1)
            continue;
        if (allVehicles->pSAMP_Vehicle[vID] == 0 || allVehicles->pSAMP_Vehicle[vID]->pGTA_Vehicle == 0)
            continue;
        static double currentDistance;
        static GetDistance getDistanceToLocalPlayer = (GetDistance)(SF->getSAMP()->getSAMPAddr() + 0x9A700);
        currentDistance = getDistanceToLocalPlayer(allVehicles->pSAMP_Vehicle[vID]);
        if (closestDistance == -1) {
            closestDistance = currentDistance;
            nearestVehicle = vID;
        }
        else if (currentDistance < closestDistance) {
            closestDistance = currentDistance;
            nearestVehicle = vID;
        }
    }
    return nearestVehicle;
}
 
Последнее редактирование: