Начинающий
- Статус
- Оффлайн
- Регистрация
- 23 Апр 2025
- Сообщения
- 3
- Реакции
- 0
Я только начинаю во всём разбираться, не судите строго!
Начну сразу с темы: я не понимаю как выставлять по путям из ConVars выбранный экран противника. Если с погодой и речкой ещё просто, то с versus(ами - экранами противника) я так и не разобрался..
Что я делал:
К примеру возьмём dota_hud_versus_scene_international2024 - инт 24 года, чекнул все convars и нашёл dota_versus_scene_override_layout_file - подумал что вставив в него путь на этот versus я смогу на клиенте сделать ченджер для экрана противников, но дота просто крашится
(путь нашёл через S2V: panorama/layout/hud/versus/dota_hud_versus_scene_international2024.vxml_c )
Пример кода:
Извиняюсь что так бредово написал, но я пытался показать что я не просто ктрл+ц/ктрл+в а реально пытаюсь разобраться и у меня просто не выходит в силу своего опыта.. Было-бы славно, если бы вы помогли мне решить эту проблему и заодно покидали гайдов по написанию недо-экстернал читов для доты если такие гайды вообще есть.
Не стоит мне рекомендовать делать инжектируемые читы пожалуйста, я не хочу из-за нескольких своих личных причин, лучше помучаюсь но напису экстернал
upd:и ещё - видел на форуме что можно легко "сделать" доту плюс в экстернал чите - есть пример кода? насколько я понимаю там нужен отдельный паттерн или нет?
Начну сразу с темы: я не понимаю как выставлять по путям из ConVars выбранный экран противника. Если с погодой и речкой ещё просто, то с versus(ами - экранами противника) я так и не разобрался..
Что я делал:
К примеру возьмём dota_hud_versus_scene_international2024 - инт 24 года, чекнул все convars и нашёл dota_versus_scene_override_layout_file - подумал что вставив в него путь на этот versus я смогу на клиенте сделать ченджер для экрана противников, но дота просто крашится
(путь нашёл через S2V: panorama/layout/hud/versus/dota_hud_versus_scene_international2024.vxml_c )

Пример кода:
example:
const std::string target_convar_name = "dota_versus_scene_override_layout_file";
const std::string layout_path_to_set = "hud/versus/dota_hud_versus_scene_default.vxml_c"; // я использовал разные варианты - везде крашило
if (vmt.cvar->g_convars.count(target_convar_name)) {
CCvarNode* convar_node = vmt.cvar->g_convars[target_convar_name];
if (convar_node) {
uintptr_t convar_value_storage_address = reinterpret_cast<uintptr_t>(convar_node) + 0x40;
if (Memory::write_string(convar_value_storage_address, layout_path_to_set)) {
LOG::INFO("ConVar '{}' set to: \"{}\"", target_convar_name, layout_path_to_set);
} else {
LOG::ERR("FAILED to set ConVar '{}' to: \"{}\"", target_convar_name, layout_path_to_set);
}
} else {
LOG::ERR("ConVar '{}' node is null.", target_convar_name);
}
} else {
LOG::ERR("ConVar '{}' not found.", target_convar_name);
}
Извиняюсь что так бредово написал, но я пытался показать что я не просто ктрл+ц/ктрл+в а реально пытаюсь разобраться и у меня просто не выходит в силу своего опыта.. Было-бы славно, если бы вы помогли мне решить эту проблему и заодно покидали гайдов по написанию недо-экстернал читов для доты если такие гайды вообще есть.
Не стоит мне рекомендовать делать инжектируемые читы пожалуйста, я не хочу из-за нескольких своих личных причин, лучше помучаюсь но напису экстернал
upd:и ещё - видел на форуме что можно легко "сделать" доту плюс в экстернал чите - есть пример кода? насколько я понимаю там нужен отдельный паттерн или нет?