Вопрос Sv_cheats 1 для dota_use_particle_fow 0

Начинающий
Статус
Оффлайн
Регистрация
4 Авг 2021
Сообщения
49
Реакции[?]
2
Поинты[?]
0
Я вообще полный 0 в c++, пытаюсь разобраться. Не понимаю как можно включить dota_use_particle_fow 0 без св чита в паблике. Буду пытаться найти через оффсеты с помощью чит энжина
 
https://qweme.dev
Пользователь
Статус
Оффлайн
Регистрация
25 Май 2022
Сообщения
165
Реакции[?]
87
Поинты[?]
21K
Я вообще полный 0 в c++, пытаюсь разобраться. Не понимаю как можно включить dota_use_particle_fow 0 без св чита в паблике. Буду пытаться найти через оффсеты с помощью чит энжина
нахуй вы плодите столько одинаковых топиков ну ладно

1. заходишь чит енжин
2. заходишь в доту и в меню ставишь sv_cheats 998
3. полрубаешь чит енжин к доте и ищешь значение 998
4. альтабаешься в доту и ставишь в консоле уже sv_cheats 228
5. в читенжинине ставишь 228 и нажимаешь некст

(если у тебя там по прежнему 10+ адресов - сортируешь дальше по способу 3-5)

ты нашел этот адрес можешь на него тыкнуть и скопировать рва (релейтив вирутал адрес) что то типо client.dll + 0x2281337

дальше ты можешь просто перезаписывать память (ака pm.write_int(client + offset, 1 чтобы св читс было 1)) чел в прошлом топике делал это через питон решений масса если ты нихуя не знаешь сделай как он через питон (контро ц контрл в)

есть минус такой хуйни этот рва тобишь оффсет будет меняется каждый микроапдейт в доте(каждую неделю) если ты не хочешь обновлять его каждую неделю сделай сигу на конвар (sv_cheats) гайд по сиге на конвар уже писал либералист топиком ниже почитай

приеду домой сделаю более подробный гайд в топике гайдов (уж слишком много однотипных тем) а пока думаю и так разбершсч
 
Последнее редактирование:
🤡
Пользователь
Статус
Оффлайн
Регистрация
28 Апр 2014
Сообщения
127
Реакции[?]
163
Поинты[?]
21K
нахуй вы плодите столько одинаковых топиков ну ладно

1. заходишь чит енжин
2. заходишь в доту и в меню ставишь sv_cheats 998
3. полрубаешь чит енжин к доте и ищешь значение 998
4. альтабаешься в доту и ставишь в консоле уже sv_cheats 228
5. в читенжинине ставишь 228 и нажимаешь некст

(если у тебя там по прежнему 10+ адресов - сортируешь дальше по способу 3-5)

ты нашел этот адрес можешь на него тыкнуть и скопировать рва (релейтив вирутал адрес) что то типо client.dll + 0x2281337

дальше ты можешь просто перезаписывать память (ака pm.write_int(client + offset, 1 чтобы св читс было 1)) чел в прошлом топике делал это через питон решений масса если ты нихуя не знаешь сделай как он через питон (контро ц контрл в)

есть минус такой хуйни этот рва тобишь оффсет будет меняется каждый микроапдейт в доте(каждую неделю) если ты не хочешь обновлять его каждую неделю сделай сигу на нетвар (sv_cheats) гайд по сиге на нетвар уже писал либералист топиком ниже почитай

приеду домой сделаю более подробный гайд в топике гайдов (уж слишком много однотипных тем) а пока думаю и так разбершсч
Не нетвар, а конвар, но в целом ты прав. (Соре, приебался, но чтоб точно чел понимал о чем идет речь).

sv_cheats -- конвар. А в нем ты ищешь скорее всего value которое лежит в структуре конвара для sv_cheats. Так правильнее будет сказать.

И меняться будет именно положение конвара, когда же структура самого конвара раз в 5 лет меняется.

Самый лучший вариант для экстерна, это как реализовывают нормальные люди в ксго:

Находишь оффсет где лежит CCVar структура, в ней если отреверсить - можно сделать итератор по всем convar\concommand, следом в нужном менять value\flags (Value - чтобы вкл\выкл или еще чот, а flags - чтобы убрать например флаг на то, что это CHEAT_COMMAND или DEVELOPER_ONLY)

Но если лень заниматься вариантом выше, то можно рил паттерн на оффсет и надеятся, что сига будет жить долго.
 
Последнее редактирование:
https://qweme.dev
Пользователь
Статус
Оффлайн
Регистрация
25 Май 2022
Сообщения
165
Реакции[?]
87
Поинты[?]
21K
Не нетвар, а конвар, но в целом ты прав. (Соре, приебался, но чтоб точно чел понимал о чем идет речь).

sv_cheats -- конвар. А в нем ты ищешь скорее всего value которое лежит в структуре конвара для sv_cheats. Так правильнее будет сказать.

И меняться будет именно положение конвара, когда же структура самого конвара раз в 5 лет меняется.

Самый лучший вариант для экстерна, это как реализовывают нормальные люди в ксго:

Находишь оффсет где лежит CCVar структура, в ней если отреверсить - можно сделать итератор по всем convar\concommand, следом в нужном менять value\flags (Value - чтобы вкл\выкл или еще чот, а flags - чтобы убрать например флаг на то, что это CHEAT_COMMAND или DEVELOPER_ONLY)

Но если лень заниматься вариантом выше, то можно рил паттерн на оффсет и надеятся, что сига будет жить долго.
я опечатался :) upd: исправил
 
Начинающий
Статус
Оффлайн
Регистрация
4 Авг 2021
Сообщения
49
Реакции[?]
2
Поинты[?]
0
я опечатался :) upd: исправил
Слушай Извини меня, я не могу понять, как можно сделать функцию в этот исходник? https://yougame.biz/threads/263327/page-3#post-2694713
Я хочу с помощью оффсетов включать св читс, оффсеты я получил но не понимаю как реализовать.. извини за то что так много вопросов
 
https://qweme.dev
Пользователь
Статус
Оффлайн
Регистрация
25 Май 2022
Сообщения
165
Реакции[?]
87
Поинты[?]
21K
Слушай Извини меня, я не могу понять, как можно сделать функцию в этот исходник? https://yougame.biz/threads/263327/page-3#post-2694713
Я хочу с помощью оффсетов включать св читс, оффсеты я получил но не понимаю как реализовать.. извини за то что так много вопросов
это интернал тобишь инжект длл там можно крейт интрефейс у конвара взять и даже искать ниче не нужно будет

base:
class ConCommandBase {
public:
    // Get
    float GetFloat() {
        typedef float (*Fn)(void*);
        return Memory::GetVFunc<Fn>(this, 13)(this);
    }
    int GetInt() {
        typedef int (*Fn)(void*);
        return Memory::GetVFunc<Fn>(this, 14)(this);
    }
    bool GetBool() {
        typedef bool (*Fn)(void*);
        return Memory::GetVFunc<Fn>(this, 15)(this);
    }
    // Set
    void SetString(const char* value) {
        typedef void (*Fn)(void*, const char*);
        Memory::GetVFunc<Fn>(this, 16)(this, value);
    }
    void SetFloat(float value) {
        typedef void (*Fn)(void*, float);
        Memory::GetVFunc<Fn>(this, 17)(this, value);
    }
    void SetInt(int value) {
        typedef void (*Fn)(void*, int);
        Memory::GetVFunc<Fn>(this, 18)(this, value);
    }
    void SetBool(bool value) {
        typedef void (*Fn)(void*, bool);
        Memory::GetVFunc<Fn>(this, 19)(this, value);
    }
};

class ICvar {
public:
    ConCommandBase* FindCommandBase(char const* convar) {
        typedef ConCommandBase* (*Fn)(void*, char const*);
        return Memory::GetVFunc<Fn>(this, 16)(this, convar);
    }
};
example:
void ConVars::FindConVars() {
    this->sv_cheats = vmt.cvar->FindCommandBase("sv_cheats");
    this->dota_camera_distance = vmt.cvar->FindCommandBase("dota_camera_distance");
    this->r_farz = vmt.cvar->FindCommandBase("r_farz");
    this->fog_enable = vmt.cvar->FindCommandBase("fog_enable");
    this->fow_client_nofiltering = vmt.cvar->FindCommandBase("fow_client_nofiltering");
    this->cl_weather = vmt.cvar->FindCommandBase("cl_weather");
    this->volume = vmt.cvar->FindCommandBase("volume");
    this->dota_range_display = vmt.cvar->FindCommandBase("dota_range_display");
    this->dota_use_particle_fow = vmt.cvar->FindCommandBase("dota_use_particle_fow");
}

void ConVars::SetConVars() {
    this->sv_cheats->SetInt(1);
    this->dota_camera_distance->SetFloat(static_cast<float>(Config::camera.camera_distance));
    this->r_farz->SetFloat(static_cast<float>(Config::camera.camera_distance * 2));
    this->fog_enable->SetInt(!Config::camera.fog_enable);
    this->fow_client_nofiltering->SetInt(Config::camera.fow_client_nofiltering);
    this->cl_weather->SetInt(Config::misc.cl_weather);
    this->dota_range_display->SetFloat(static_cast<float>(Config::ranges.dota_range_display));
    if (Protection::IsFree)
        this->dota_use_particle_fow->SetInt(!Config::camera.dota_use_particle_fow);
}
cvar interface:
vmt.cvar = tier0->LoadInterface<ICvar>("VEngineCvar007", 42);
 
Последнее редактирование:
Начинающий
Статус
Оффлайн
Регистрация
4 Авг 2021
Сообщения
49
Реакции[?]
2
Поинты[?]
0
это интернал тобишь инжект длл там можно крейт интрефейс у конвара взять и даже искать ниче не нужно будет

base:
class ConCommandBase {
public:
    // Get
    float GetFloat() {
        typedef float (*Fn)(void*);
        return Memory::GetVFunc<Fn>(this, 13)(this);
    }
    int GetInt() {
        typedef int (*Fn)(void*);
        return Memory::GetVFunc<Fn>(this, 14)(this);
    }
    bool GetBool() {
        typedef bool (*Fn)(void*);
        return Memory::GetVFunc<Fn>(this, 15)(this);
    }
    // Set
    void SetString(const char* value) {
        typedef void (*Fn)(void*, const char*);
        Memory::GetVFunc<Fn>(this, 16)(this, value);
    }
    void SetFloat(float value) {
        typedef void (*Fn)(void*, float);
        Memory::GetVFunc<Fn>(this, 17)(this, value);
    }
    void SetInt(int value) {
        typedef void (*Fn)(void*, int);
        Memory::GetVFunc<Fn>(this, 18)(this, value);
    }
    void SetBool(bool value) {
        typedef void (*Fn)(void*, bool);
        Memory::GetVFunc<Fn>(this, 19)(this, value);
    }
};

class ICvar {
public:
    ConCommandBase* FindCommandBase(char const* convar) {
        typedef ConCommandBase* (*Fn)(void*, char const*);
        return Memory::GetVFunc<Fn>(this, 16)(this, convar);
    }
};
example:
void ConVars::FindConVars() {
    this->sv_cheats = vmt.cvar->FindCommandBase("sv_cheats");
    this->dota_camera_distance = vmt.cvar->FindCommandBase("dota_camera_distance");
    this->r_farz = vmt.cvar->FindCommandBase("r_farz");
    this->fog_enable = vmt.cvar->FindCommandBase("fog_enable");
    this->fow_client_nofiltering = vmt.cvar->FindCommandBase("fow_client_nofiltering");
    this->cl_weather = vmt.cvar->FindCommandBase("cl_weather");
    this->volume = vmt.cvar->FindCommandBase("volume");
    this->dota_range_display = vmt.cvar->FindCommandBase("dota_range_display");
    this->dota_use_particle_fow = vmt.cvar->FindCommandBase("dota_use_particle_fow");
}

void ConVars::SetConVars() {
    this->sv_cheats->SetInt(1);
    this->dota_camera_distance->SetFloat(static_cast<float>(Config::camera.camera_distance));
    this->r_farz->SetFloat(static_cast<float>(Config::camera.camera_distance * 2));
    this->fog_enable->SetInt(!Config::camera.fog_enable);
    this->fow_client_nofiltering->SetInt(Config::camera.fow_client_nofiltering);
    this->cl_weather->SetInt(Config::misc.cl_weather);
    this->dota_range_display->SetFloat(static_cast<float>(Config::ranges.dota_range_display));
    if (Protection::IsFree)
        this->dota_use_particle_fow->SetInt(!Config::camera.dota_use_particle_fow);
}
cvar interface:
vmt.cvar = tier0->LoadInterface<ICvar>("VEngineCvar007", 42);
А куда это можно вставить? Я просто попытался, одни ошибки.. извини из за этих очень тупых вопросов
 
https://qweme.dev
Пользователь
Статус
Оффлайн
Регистрация
25 Май 2022
Сообщения
165
Реакции[?]
87
Поинты[?]
21K
А куда это можно вставить? Я просто попытался, одни ошибки.. извини из за этих очень тупых вопросов
ну создай файлик или найди как там в структуре интрефейсы расписаны и сделай я не могу тебе подсказывать как в детском садике
 
Участник
Статус
Оффлайн
Регистрация
2 Фев 2019
Сообщения
1,156
Реакции[?]
233
Поинты[?]
3K
Советую тебе плюсы выучить что бы что то понимать в этом
Сурсы можешь отсюда спиздить
Пожалуйста, авторизуйтесь для просмотра ссылки.
 
Начинающий
Статус
Оффлайн
Регистрация
4 Авг 2021
Сообщения
49
Реакции[?]
2
Поинты[?]
0
https://qweme.dev
Пользователь
Статус
Оффлайн
Регистрация
25 Май 2022
Сообщения
165
Реакции[?]
87
Поинты[?]
21K
https://qweme.dev
Пользователь
Статус
Оффлайн
Регистрация
25 Май 2022
Сообщения
165
Реакции[?]
87
Поинты[?]
21K
может быть выучить плюсы и затем поймёшь как зафиксить ошибки?
да не нахуй надо я лучше пойду еще 300 тем создам про конвары ) а потом на 2 обязательно спрошу как же сделать скин ченджр
 
Сверху Снизу