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

SAMP.ASI

Известный
223
53
Можно к .dll\.asi прикрутить консоль парралельно игре? Либо как легко рендерить текст поверх игры, как например это делают читы с bandicam bypass? Желательно первое.
 

CleanLegend

Известный
Всефорумный модератор
476
928
Можно к .dll\.asi прикрутить консоль парралельно игре? Либо как легко рендерить текст поверх игры, как например это делают читы с bandicam bypass? Желательно первое.
Работа с консолью из dll:
C++:
//Открывает консоль
AllocConsole();
//Перенаправляет вызовы:
freopen("CONIN$", "r", stdin);
freopen("CONOUT$", "w", stdout);
freopen("CONOUT$", "w", stderr);

Для рендера текста можно создавать оверлей поверх игры или хукать функции отрисовки d3d9.
https://blast.hk/threads/32712/
 
  • Нравится
Реакции: checkdasound и SiTrak

DarkP1xel

Сила воли наше всё.
BH Team
3,635
4,961
  • Нравится
Реакции: atizoff и Cake_

AnWu

Guardian of Order
Всефорумный модератор
4,687
5,167
Чтобы вывести свои данные вот код:
C++:
char* name = SF->getSAMP()->getPlayers()->pszLocalPlayerName;
    int id = SF->getSAMP()->getPlayers()->sLocalPlayerID;
    int score = SF->getSAMP()->getPlayers()->iLocalPlayerScore;
    int ping = SF->getSAMP()->getPlayers()->iLocalPlayerPing;

    char buffer[228];
    sprintf(buffer, "NickName: %s , ID: %d , Ping: %d , Score: %d , ", name, id, ping, score);
    SF->getSAMP()->getChat()->AddChatMessage(-1, buffer);
Не советую юзать pszLocalPlayerName. Зачастую там какой-то баганый мусор. Получать своё ник лучше через getPlayerName.
 

_=Gigant=_

Известный
134
191
[QUOTE = "ALF, post: 341084, member: 162843"] * (float *) 0x858A10 = X;
* (float *) 0x866B70 = Y; [/ QUOTE]

Thanks, btw

PS y works fine, but x position position textdraw height ...

sa-mp-178.png
 
Последнее редактирование:

_=Gigant=_

Известный
134
191
C++:
std::ifstream readfile_shet;
std::string shet_filename;
char  reading_file_get[256];

                snprintf(reading_file_get, sizeof(reading_file_get), "%s\\" M0D_FOLDER "%s", g_szWorkingDirectory, "text.txt");
                readfile_shet.open(reading_file_get);

                    while (std::getline(readfile_shet, shet_filename))
                    {
                            ImGui::Text(shet_filename.c_str());
                            ImGui::SameLine();
                            if (ImGui::Button("Say", ImVec2(50.0f, 20.0f)))
                            {
                                say("%s", shet_filename.c_str());
                            }       
                    }
                    readfile_shet.close();

when I click on the first button 'Say' it only shows text which is in the first line when i click on buttons which are on the other lines nothing shows how to make it to go through all lines ? it only gets first line...
 

index

Известный
126
82
Скиньте, пожалуйста, оффсеты координат транспорта.
vehPtr + ?
 

Vadim.dll

Известный
168
80
C++:
typedef int(__cdecl * func)(int someint, const char* data);

func f = (func)(dwSamp + 0x57F0);
f(1, "pidor");

samp+0x57F0 - функция для отправления сообщения в чат. Когда пробую вызвать - крашит. Что я делаю неправильно?