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

Stiopko

Известный
Проверенный
307
218
А что это за элементы ? Дай код
Вот
C++:
#define RGBA_TO_FLOAT(r,g,b,a) (float)r/255.0f, (float)g/255.0f, (float)b/255.0f, (float)a/255.0f
void PlayerItem(const char* str_id, bool *online = nullptr, bool *spectate = nullptr)
    {
        ImVec2 p = ImGui::GetCursorScreenPos();
        ImDrawList* draw_list = ImGui::GetWindowDrawList();

        float height = ImGui::GetFrameHeight() + 0.001;
        float width = ImGui::GetWindowContentRegionWidth() + 0.001 - height / 2;
        p.x += height / 2;

        ImGui::InvisibleButton(str_id, ImVec2(width, height));
       

        ImGuiContext& g = *GImGui;
        float t = ImGui::IsItemHovered() ? 1.0f : 0.0f;
        float ANIM_SPEED = 0.00001f;
        if (g.LastActiveId == g.CurrentWindow->GetID(str_id))
        {
            float t_anim = ImSaturate(g.LastActiveIdTimer / ANIM_SPEED);
            t = ImGui::IsItemHovered() ? (t_anim) : (1.0f - t_anim);
        }

        ImU32 col_bg;
        const ImVec2 text_size = CalcTextSize(str_id);
        col_bg = ImGui::GetColorU32(ImLerp(ImVec4(RGBA_TO_FLOAT(19, 26, 19, 255)), ImVec4(RGBA_TO_FLOAT(15, 40, 15, 255)), t));

        draw_list->AddRectFilled(p, ImVec2(p.x + width, p.y + height), col_bg, height * 0.2f);
       
        RenderTextClipped(ImVec2(p.x + height / 2, p.y + (height - text_size.y)/2), ImVec2(p.x + width - height - height / 4, p.y + height / 2 + height / 4), str_id, (const char *)0, &text_size);

        if (online != nullptr) {
            draw_list->AddCircleFilled(ImVec2(p.x + width - height/2, p.y + height / 2), height / 4, ImGui::GetColorU32(*online ? ImVec4(RGBA_TO_FLOAT(2, 114, 6, 255)) : ImVec4(RGBA_TO_FLOAT(184, 19, 19, 255))));
        }

        if (spectate != nullptr && *spectate) {
            draw_list->AddTriangleFilled(
                ImVec2(p.x + width - height - height / 4, p.y + height / 2 + height / 4),
                ImVec2(p.x + width - height, p.y + height / 2 - height / 4),
                ImVec2(p.x + width - height + height / 4, p.y + height / 2 + height / 4),
                ImGui::GetColorU32(ImVec4(RGBA_TO_FLOAT(224, 217, 15, 255))));
        }
    }
Как можно проверить подключение к серверу?
 
Последнее редактирование:

Vadim.dll

Известный
168
81
Где находится функция, которая обрабатывает RPC в samp.dll R1 или любой другой версии? Мне бы хотя бы наводку, как ее искать
 

Stiopko

Известный
Проверенный
307
218
Почему ошибка где-то в вот в этих строках
C++:
typedef HRESULT(WINAPI* _EndScene)(IDirect3DDevice9*); //прототип
typedef HRESULT(WINAPI* _Reset)(IDirect3DDevice9*, D3DPRESENT_PARAMETERS*);

// они в разных файлах

typedef void(* _MyEndScene)(IDirect3DDevice9*);
typedef void(* _MyReset)(IDirect3DDevice9*, D3DPRESENT_PARAMETERS*);

Ошибка

34528


____

Прикрепил исходник
_
Пофиксил
 
Последнее редактирование:

FYS

Потрачен
982
236
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
C#:
namespace RakNet
{
    class Program
    {

        static void Main(string[] args)
        {
            RakClientNET rakNet = new RakClientNET();
            Console.Title = "RakNet";
            Console.WriteLine("RakNet Started...");
            Console.ReadKey();
        }
    }
}

Вылезает вот такая вот ошибка:
34535

(C# если шо)
 

Musaigen

abobusnik
Проверенный
1,606
1,361
Есть функция для конвертации игровых координат в экранные в собе?
 

Неадекватная сова

Известный
Проверенный
208
147
Есть функция для конвертации игровых координат в экранные в собе?
Посиди потыкай. Авось оно
Код:
\src\game_sa\CHudSA.cpp - CHudSA::CalcScreenCoors (Line 130)
\src\proxyIDirect3DDevice9.cpp - CalcScreenCoors (Line 97)
\src\proxyIDirect3DDevice9.cpp - CalcWorldCoors (Line 122)
 
  • Нравится
Реакции: ШPEK

Stiopko

Известный
Проверенный
307
218
Почему возникают эти ошибки?

34550


везде где я использую имгуи сверху файла я прописал

C++:
#define _SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS 1
 

CleanLegend

Известный
Всефорумный модератор
477
935
Не, нужно как в sf SF->getGame()->convertGameCoordsToWindow
Он тебе всё верно скинул
Почему возникают эти ошибки?

Посмотреть вложение 34550

везде где я использую имгуи сверху файла я прописал

C++:
#define _SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS 1
Не правильно подключил инклуды, посмотри примеры тут:
 
  • Нравится
Реакции: Stiopko

Stiopko

Известный
Проверенный
307
218
Он тебе всё верно скинул

Не правильно подключил инклуды, посмотри примеры тут:

я сравнил в роде все правильно

C++:
#pragma once
#ifndef _STDLLPROGECT_H_
#define _STDLLPROGECT_H_

#define _SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS 1
#include <process.h>
#include "stPlugin.h"
#include "../Hook/d3dhook.h"

#include <dinput.h>
#include <tchar.h>

#include "../ImGui/imgui.h"
#include "../ImGui/imgui_impl_win32.h"
#include "../ImGui/imgui_impl_dx9.h"
#include "../ImGui/imgui_stdlib.h"
#include "../ImGui/imgui_internal.h"

typedef void(_MyEndScene)(IDirect3DDevice9*);

typedef void(_MyReset)(IDirect3DDevice9*, D3DPRESENT_PARAMETERS*);

class stDLLProject {
    // helpThread
    BOOL threadState = TRUE;
    HANDLE mainThread;

    // mainThread
    LONG PrevWndFunc = NULL;

    Plugin* pPlug = nullptr;

    // D3D9 Hook
    static _EndScene* oEndScene;
    static _Reset* oReset;
    static _MyEndScene* endScene;
    static _MyReset* reset;

    static HRESULT WINAPI myReset(IDirect3DDevice9* m_pDevice, D3DPRESENT_PARAMETERS* pPresentationParameters);
    static HRESULT WINAPI myEndScene(IDirect3DDevice9* m_pDevice);
public:
    // SAMP window
    HWND m_pGameWindow = NULL;

    // D3D9
    IDirect3DDevice9* device = nullptr;

    stDLLProject(_beginthread_proc_type func);

    // Initialization only in ather thread
    void Init(const uint32_t& timeout = 100);
    void InitHookGameDestructor(void(__stdcall destructor)(void));
    void InitD3D9();
    void InitD3D9hook(_MyEndScene* eendScene, _MyReset* rreset);
    void InitSAMPWindow(const uint32_t& timeout = 100);
    void InitImGUI();
    void InitilizingPlugin();

    Plugin* GetPlugin() const;
    BOOL GetThreadState() const;

    ~stDLLProject();
};

#endif // _STDLLPROGECT_H_

d3dhook.h

C++:
#pragma once
#ifndef _D3DHOOK_H_
#define _D3DHOOK_H_

#include <windows.h>
#include <d3d9.h>
#define DIRECTINPUT_VERSION 0x0800
#include <d3dx9.h>


typedef HRESULT(WINAPI _EndScene)(IDirect3DDevice9*);
typedef HRESULT(WINAPI _Reset)(IDirect3DDevice9*, D3DPRESENT_PARAMETERS*);

void InitHook(IDirect3DDevice9* device, _EndScene* myEndScene, _Reset* myReset, _EndScene** _endScene, _Reset** _reset);

#endif // _D3DHOOK_H_
 

_Vine_

Активный
154
57
я сравнил в роде все правильно

C++:
#pragma once
#ifndef _STDLLPROGECT_H_
#define _STDLLPROGECT_H_

#define _SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS 1
#include <process.h>
#include "stPlugin.h"
#include "../Hook/d3dhook.h"

#include <dinput.h>
#include <tchar.h>

#include "../ImGui/imgui.h"
#include "../ImGui/imgui_impl_win32.h"
#include "../ImGui/imgui_impl_dx9.h"
#include "../ImGui/imgui_stdlib.h"
#include "../ImGui/imgui_internal.h"

typedef void(_MyEndScene)(IDirect3DDevice9*);

typedef void(_MyReset)(IDirect3DDevice9*, D3DPRESENT_PARAMETERS*);

class stDLLProject {
    // helpThread
    BOOL threadState = TRUE;
    HANDLE mainThread;

    // mainThread
    LONG PrevWndFunc = NULL;

    Plugin* pPlug = nullptr;

    // D3D9 Hook
    static _EndScene* oEndScene;
    static _Reset* oReset;
    static _MyEndScene* endScene;
    static _MyReset* reset;

    static HRESULT WINAPI myReset(IDirect3DDevice9* m_pDevice, D3DPRESENT_PARAMETERS* pPresentationParameters);
    static HRESULT WINAPI myEndScene(IDirect3DDevice9* m_pDevice);
public:
    // SAMP window
    HWND m_pGameWindow = NULL;

    // D3D9
    IDirect3DDevice9* device = nullptr;

    stDLLProject(_beginthread_proc_type func);

    // Initialization only in ather thread
    void Init(const uint32_t& timeout = 100);
    void InitHookGameDestructor(void(__stdcall destructor)(void));
    void InitD3D9();
    void InitD3D9hook(_MyEndScene* eendScene, _MyReset* rreset);
    void InitSAMPWindow(const uint32_t& timeout = 100);
    void InitImGUI();
    void InitilizingPlugin();

    Plugin* GetPlugin() const;
    BOOL GetThreadState() const;

    ~stDLLProject();
};

#endif // _STDLLPROGECT_H_

d3dhook.h

C++:
#pragma once
#ifndef _D3DHOOK_H_
#define _D3DHOOK_H_

#include <windows.h>
#include <d3d9.h>
#define DIRECTINPUT_VERSION 0x0800
#include <d3dx9.h>


typedef HRESULT(WINAPI _EndScene)(IDirect3DDevice9*);
typedef HRESULT(WINAPI _Reset)(IDirect3DDevice9*, D3DPRESENT_PARAMETERS*);

void InitHook(IDirect3DDevice9* device, _EndScene* myEndScene, _Reset* myReset, _EndScene** _endScene, _Reset** _reset);

#endif // _D3DHOOK_H_
Не добавил .cpp файлы имгуи в проект
 
  • Нравится
Реакции: Stiopko

damag

Женюсь на официантке в моем любимом баре
Проверенный
1,152
1,199
Ку, может кто-то знает, как выглядят эти функи на с++
applyForceToCar
setCarRotationVelocity
addToCarRotationVelocity
 

Stiopko

Известный
Проверенный
307
218
Почему при попытке использовать имгуи все летит сюда

34697


Инициализация

C++:
ImGui::CreateContext();
    ImGui_ImplWin32_Init(GetActiveWindow());
    ImGui_ImplDX9_Init(*(IDirect3DDevice9**)0xC97C28);