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

kin4stat

mq-team
Всефорумный модератор
2,503
3,688
If I can get both values that would be great, if not enough with string hex color
C++:
ImVec4 color{};

// ImGui::ColorEdit

unsigned long u32_color = IM_COL32(color.x, color.y, color.z, color.w);
// or
auto u32_color = ImGui::ColorConvertFloat4ToU32(color);

convert to hex string:
C++:
std::string str_color{};
str_color.reserve(8); // SSO is used, there isn't allocation. Just in case

std::to_chars(str_color.data(), str_color.data() + str_color.capacity(), u32_color, 16);
 
  • Влюблен
Реакции: !Sam#0235

Savchik Blazer

Известный
633
192
C-Style string view:
C++:
const char* str = reinterpret_cast<const char*>(address);
string-view:
C++:
std::string_view str{reinterpret_cast<const char*>(address)/*, [optional] size*/};
string copy:
C++:
std::string str{reinterpret_cast<const char*>(address)/*, [optional] size*/};
main.cpp:
HMODULE samp = GetModuleHandle("samp.dll");
    const char* str = reinterpret_cast<const char*>(samp + 0x11A2F8);
    SF->getSAMP()->getChat()->AddChatMessage(-1, str);

первый кракозябры выводит

второй ошибку выдает о том что addchatmessage его не воспринимает
 

kin4stat

mq-team
Всефорумный модератор
2,503
3,688
первый кракозябры выводит
Он просто приводит адрес к сишной строке. Если там лежат кракозябры - ясен хуй кракозябры будут.
второй ошибку выдает о том что addchatmessage его не воспринимает
наверное потому что нужно сначала C++ изучить.
 
  • Нравится
Реакции: Scar_

Savchik Blazer

Известный
633
192
Как вывести переменную записаную определенное кол-во времени назад, допкстим по нажатию клавиши будет телепорт на позицию, в которой ты находился 10 секунд назад

И второй вопрос как мне вытащить id из rpc setPlayerTeam (sfapi)?
 
Последнее редактирование:

Daurin

Потрачен
10
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Всем привет,парни помогите пожалуйста,как использовать DRIVINGSTYLE_STOP_FOR_CARS_IGNORE_LIGHTS в CAutoPilot? мне нужно чтоб машина останавливалась перед светофором.Я сделал так
1656177075765.png
но чёт не воркает,помогите разобраться или вообще есть какой то другой способ?
 

Ltall

Новичок
10
5
Как вывести переменную записаную определенное кол-во времени назад
c++:
char buffer[64];
sprintf_s(buffer, "RPC id: %d", id); // id - переменная
g_Chat->AddMessage(-1, buffer);

Или


c++:
struct c_chat* g_chat{ nullptr };
uintptr_t base_address{ 0 };

unsigned long get_address(uintptr_t offset)
{
    return base_address + offset;
}

void initialize()
{
    base_address = reinterpret_cast<uintptr_t>(GetModuleHandleA("samp.dll"));
    g_chat = *reinterpret_cast<struct c_chat**>(get_address(0x26E8C8));
}

void add_chat_message(u_long color, const char* szText)
{
    ((void(__thiscall*)(c_chat*, unsigned long, const char*))get_address(0x679F0))(g_chat, color, szText);
}

void main()
{
    int id_banan = 2;
    
    initialize();
    
    char buffer[64];
    
    sprintf_s(buffer, "Banan id: %d", id_banan);
    
    add_chat_message(-1, buffer);
}
 
Последнее редактирование:
  • Нравится
Реакции: killian228

horacy

Известный
92
86
как я могу отправлять нажатия клавиш с помощью синхронизации в проекте mod_sa? Помните, что я работаю над 03DL, поэтому я не использую sampfuncs. Я хочу отправить клавишу SHIFT.
 

F0RQU1N and

Известный
1,073
351
как я могу отправлять нажатия клавиш с помощью синхронизации в проекте mod_sa? Помните, что я работаю над 03DL, поэтому я не использую sampfuncs. Я хочу отправить клавишу SHIFT.
в хуке player sync keysdata

how to register a command without sampfuncs? (r1) (.asi)
 

horacy

Известный
92
86
в хуке player sync keysdata


Я пытался отправить такой ключ, но я не знаю, как обратиться к stSAMPKeys, чтобы изменить этот параметр (компилятор показывает ошибку в коде). Можете ли вы привести пример, как изменить этот параметр?