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

Sasiko1

Новичок
24
0
Хочу выводить квадрат по команде, но чёт делаю не правильное укажите на ошибки))
C++:
#include <windows.h>
#include <string>
#include <assert.h>
#include <process.h>

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

using namespace std;

SAMPFUNCS *SF = new SAMPFUNCS();


bool CALLBACK Present(CONST RECT *pSourceRect, CONST RECT *pDestRect, HWND hDestWindowOverride,
    CONST RGNDATA *pDirtyRegion)
{
    if (SUCCEEDED(SF->getRender()->BeginRender()))
    {
        SF->getRender()->DrawBox(500, 500, 25, 25, D3DCOLOR_ARGB(255, 0, 255, 0));
        SF->getRender()->EndRender();
    };

    return true;
};

void CALLBACK cmd_show_info_player(std::string param)
{
    Present(); // ЧЁТ ДЕЛАЮ НЕ ПРАВИЛЬНО :)
};


void CALLBACK mainloop()
{
    static bool init = false;
    if (!init)
    {
        SF->getRender()->registerD3DCallback(eDirect3DDeviceMethods::D3DMETHOD_PRESENT, Present);
        SF->getSAMP()->registerChatCommand("ren", cmd_show_info_player);
    }
}


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

Dark_Knight

Me, me and me.
Друг
4,080
2,112
Хочу выводить квадрат по команде, но чёт делаю не правильное укажите на ошибки))
C++:
#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();
bool render = false;


bool CALLBACK Present(CONST RECT *pSourceRect, CONST RECT *pDestRect, HWND hDestWindowOverride,
    CONST RGNDATA *pDirtyRegion) {
    if (SUCCEEDED(SF->getRender()->BeginRender()) && render) {
        SF->getRender()->DrawBox(500, 500, 25, 25, D3DCOLOR_ARGB(255, 0, 255, 0));
        SF->getRender()->EndRender();
    };
    return true;
};

void CALLBACK cmd_show_info_player(std::string param) {
    render = !render;
};


void CALLBACK mainloop() {
    static bool init = false;
    if (!init){
        if (!GAME)
            return;
        if (GAME->GetSystemState() != eSystemState::GS_PLAYING_GAME)
            return;
        if (!SF->getSAMP()->IsInitialized())
            return;
        SF->getRender()->registerD3DCallback(eDirect3DDeviceMethods::D3DMETHOD_PRESENT, Present);
        SF->getSAMP()->registerChatCommand("ren", cmd_show_info_player);
    }
}


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

Ranto

Участник
45
1
Задался таким вопросом, как делают красивые GUI(ЮИ, точно не знаю) для всяких программ, могу пример привести:
1. Лаунчер EpicGames, у них хороший дизайн, моё внимание довольно таки привели.
2. Steam;Origin;Uplay =)
 

iAmerican

Известный
Друг
611
261
Задался таким вопросом, как делают красивые GUI(ЮИ, точно не знаю) для всяких программ, могу пример привести:
1. Лаунчер EpicGames, у них хороший дизайн, моё внимание довольно таки привели.
2. Steam;Origin;Uplay :)
Самописные
 

iAmerican

Известный
Друг
611
261
Задам тупой вопрос, это как? (просто не шарю)
Там сидит целая команда которая пишет интерфейс для этих лаунчеров. Они не брали готовое API.

Исходник - [SF-Plugin] Menu + function(https://blast.hk/threads/12290/) - как пример. Только что ты перечислил у них все гораздо сложнее.
 
  • Нравится
Реакции: Ranto

ALF

Известный
Проверенный
320
545
если ты не можешь скопировать одну функу, то просто забей и иди лучше погуляй)
 

Sasiko1

Новичок
24
0
Как получить ХП?
Пробовал вот так stPassengerData ->byteHealth; не получилось((
 

kawa operand

перерывпятьминут
602
333
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Свое хп?
 

kawa operand

перерывпятьминут
602
333
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Пассажиров своей машины ?
 
  • Нравится
Реакции: Sasiko1