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

kishemishe

Новичок
1
0
Как сделать табы (вкладки) в ImGui? Я делаю свой чит на кс2 на c++, считай только учусь, пока что делаю гуи и остановился на том когда нужно было сделать табы, мне нужно чтобы можно было менять и их размер, и их расположение, и шрифт текста в нем
 

tanksoftik

Участник
19
5
Как сделать табы (вкладки) в ImGui? Я делаю свой чит на кс2 на c++, считай только учусь, пока что делаю гуи и остановился на том когда нужно было сделать табы, мне нужно чтобы можно было менять и их размер, и их расположение, и шрифт текста в нем

C++:
int tabb = 0;

ImGui::Begin("##1", 0)
    
if(ImGui::Button(u8"player", ImVec2(SizeX, SizeY)))
{
    tabb = 0;
}

ImGui::PushFont(fontname);
if(ImGui::Button(u8"veh", ImVec2(SizeX, SizeY)))
{
    tabb = 1;
}
ImGui::PopFont();

if(tabb == 0) { ImGui::Text("open tab: player"); }
else if(tabb == 1) { ImGui::Text("open tab: veh); }
    
ImGui::End();
 

AdCKuY_DpO4uLa

Адский дрочер
Друг
369
817
че делать, я юзаю https://github.com/DpO4uLa/SAMP_API если на р1 то все заебись, а если переключу на р3 то крашит при

SAMP::CallBacks::pCallBackRegister->RegisterRakClientCallback(RakClientRecvHook);//registed RakClient Recv Hook
SAMP::CallBacks::pCallBackRegister->RegisterRakClientCallback(RakClientRPCHook);//registed RakClient RPC Hook

и при SAMP::pSAMP->getRakNet()->EmulPacket

хотя остальное работает нормально
Это очень старая поеботина, тогда уже лучше https://github.com/DpO4uLa/samp_sdk
 

s.fridom

Новичок
10
11
как можно анимировать текстуры? например смена цвет градиентом
 

вайега52

Налуашил состояние
Модератор
2,996
3,124
как можно анимировать текстуры? например смена цвет градиентом
Это если речь идет про анимацию на уровне картинок (GIF довольно таки тяжелый, кстати, но для того, чтобры разобраться. пойдет). В других же случаях либо на CPU генерируешь пиксели для RwTexture->raster, либо пытаешься прикрутить шейдеры и вычислять тот же градиент на GPU
 
  • Влюблен
Реакции: s.fridom

AdCKuY_DpO4uLa

Адский дрочер
Друг
369
817
Решил я, с великого и неповторимого ассемблера, с целью интереса перейти на время на Си
Программа простая
1) Подключаб user32.dll
2) Вызываю оттуда функцию MessageBoxA чтобы вывести на экран сообщение
3) Выделяю виртуальную память в размере 256 байт
4) Создаю указатели типа char, передаю туда байты
5) Использую strcpy с целью заполнения значениями функцию MessageBoxA, чтобы на экране вывело:
Заголовок: ShellCode Works
А текст: test

А далее уже идет сам шеллкод, с ним вроде с норм, основная проблема заключается хер пойми в чем
Сам код:

С:
#include <windows.h>
#include <stdio.h>

int main()
{
    HMODULE hUser32 = LoadLibraryA("user32.dll");
    FARPROC pMessageBoxA = GetProcAddress(hUser32, "MessageBoxA");

    printf("MessageBoxA address: 0x%p\n", pMessageBoxA);
    PVOID pMemory = VirtualAlloc(NULL, 256, MEM_COMMIT, PAGE_EXECUTE_READWRITE);

    char* caption = (char*)pMemory + 100;
    char* text = (char*)pMemory + 120;  

    strcpy(caption, "Shellcode Works!");
    strcpy(text, "test");


    unsigned char shellcode[50];
    int pos = 0;


    shellcode[pos++] = 0x6A; shellcode[pos++] = 0x00;


    shellcode[pos++] = 0x68;
    memcpy(shellcode + pos, &caption, 4); pos += 4;

    shellcode[pos++] = 0x68;
    memcpy(shellcode + pos, &text, 4); pos += 4;


    shellcode[pos++] = 0x6A; shellcode[pos++] = 0x00;

    // тут вызываю messagebox
    shellcode[pos++] = 0xB8;
    memcpy(shellcode + pos, &pMessageBoxA, 4); pos += 4;

    // call eax
    shellcode[pos++] = 0xFF; shellcode[pos++] = 0xD0;

    // ret
    shellcode[pos++] = 0xC3;


    memcpy(pMemory, shellcode, pos);
    HANDLE hThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)pMemory, NULL, 0, NULL);

    if (hThread) {
        WaitForSingleObject(hThread, INFINITE);
        CloseHandle(hThread);
        printf("Shellcode executed successfully\n");
    }

    VirtualFree(pMemory, 0, MEM_RELEASE);
    FreeLibrary(hUser32);

    return 0;
}

Ошибка:
Посмотреть вложение 279395

Я пытался через memcpy передать значения для MessageBox, не помогло


Шатал я ваши языки выше асма)
C++:
// Перед подключением всех заголовков / инклюдов

#define _CRT_SECURE_NO_WARNINGS

Либо используй безопасные функции
 
  • Нравится
Реакции: Поздняков

AdCKuY_DpO4uLa

Адский дрочер
Друг
369
817
У меня есть некие скопированные данные, как сделать так чтобы эти данные отправлялись моему боту в тг по апи его?
Я пытался через winhttp, но чет не работает.
На Си
Жески тип, юзай плюсы https://github.com/reo7sp/tgbotcpp
Весь остальной код можешь писать на си, компилятор спокойно сожрет
 

AdCKuY_DpO4uLa

Адский дрочер
Друг
369
817
Мужики все делают на TCP 😎
Тогда уж на curl + openssl писать, как раз под си, но все апи придется самому реализовывать, параллельно читая доку к бот апи тг. Как по мне, легче взять готовое, отработанное решение, чем городить лясопеды
 
  • Нравится
Реакции: вайега52

0xff65

Участник
36
2
Приветствую, пытаюсь собрать загрузчик состоящих из двух частей - серверной и клиентской, с клиентской стороны все нормально клиент лоадер собран, а вот с серверной возникли проблемы, собрал директорию с помощью cmake, далее пытался собрать sln решение, но как мне подсказал интернет оно написано для linux -
C++:
#include <arpa/inet.h>
#include <netdb.h>
#include <netinet/in.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <unistd.h>
Как мне быть? Скачать образ и накатить на виртуальную машину? Или собрать через Windows Subsystem for Linux? Какого формата будет скомпилированный файл и как его запустить на локалке?

Или я движусь совсем не в том направлении? Типо как мне собрать sln файл на линукс (этого я не понимаю) если там 2к ошибок, что-то не так явно

Сурс (https://github.com/EquiNoxAdv/loader-master)
 
Последнее редактирование:

AdCKuY_DpO4uLa

Адский дрочер
Друг
369
817
Приветствую, пытаюсь собрать загрузчик состоящих из двух частей - серверной и клиентской, с клиентской стороны все нормально клиент лоадер собран, а вот с серверной возникли проблемы, собрал директорию с помощью cmake, далее пытался собрать sln решение, но как мне подсказал интернет оно написано для linux -
C++:
#include <arpa/inet.h>
#include <netdb.h>
#include <netinet/in.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <unistd.h>
Как мне быть? Скачать образ и накатить на виртуальную машину? Или собрать через Windows Subsystem for Linux? Какого формата будет скомпилированный файл и как его запустить на локалке?

Или я движусь совсем не в том направлении? Типо как мне собрать sln файл на линукс (этого я не понимаю) если там 2к ошибок, что-то не так явно

Сурс (https://github.com/EquiNoxAdv/loader-master)
Все инструкции есть в репозитории. Ставь WSL с ubuntu какой-нибудь и на ней собирай
 
  • Нравится
Реакции: 0xff65 и вайега52

fuldic

Новичок
27
4
Скиньте основу ASI плагина для Visual Studio
 
Последнее редактирование:

malonex

Новичок
4
1
Как проверить, была ли отпущена определённая клавиша? Например: wasKeyReleased(vkeys.VK_RBUTTON)