Вопрос Как анлокнуть sv_cheats?

Участник
Статус
Оффлайн
Регистрация
23 Май 2019
Сообщения
779
Реакции[?]
331
Поинты[?]
63K
ну я кароче обычный тупой школьник, хочу погонять с dota_camera_distance и dota_use_particle_fow, а для них нужен конвар sv_cheats 1. Раньше можно было в dota 2 beta\game\core\scripts\vscripts создать луа файлик, запихать туда
Код:
ListenToGameEvent('tipa_event', function()
    Convars:SetBool('sv_cheats',true);
end,self)
и джаваскриптом отправить этот ивент. Щас чета не робит ((
Как теперь анлокнуть sv_cheats? Может быть это обходится изменением каких-то файлов игры? Если да,то каких?
 
Участник
Статус
Оффлайн
Регистрация
23 Май 2019
Сообщения
779
Реакции[?]
331
Поинты[?]
63K
проблема решена: спиздил способ у кратчес и изменил client.dll и engine2.dll
 
Участник
Статус
Оффлайн
Регистрация
23 Май 2019
Сообщения
779
Реакции[?]
331
Поинты[?]
63K
если кому надо, вот говноскрипт на питоне, у меня вроде работает.
Python:
def clientdlledit():
    bytesdefc =  b'\x83\xec\x38\x48\x85\xd2\x74\x1c\x4d\x85\xc0\x74\x17\x4d\x8b\xc8\x48\x8d\x0d' # оригинал
    bytesrepc =  b'\x8b\x0d\xe1\xdc\xdd\x01\x49\x8b\xd0\x48\x8b\x01\x48\xff\xa0\x30\x01\x00\x00' # на что заменяем
    clientdll =  r"F://SteamLibrary//steamapps//common//dota 2 beta//game//dota//bin//win64//client.dll" # наш клиент.длл
    modclient =  0 # с помощью переменной проверяем, нужно ли нам изменять файл или нет
    with open(clientdll,'rb') as f:
        s = f.read() # содержимое файла
        f.close()
    if not bytesdefc in s:
        modclient = 1 # файл уже был изменен, расходимся
    if not modclient: # файл еще не был изменен
        s = s.replace(bytesdefc,bytesrepc) # заменяем в содержимом нужные нам значения
        with open(clientdll, 'wb') as file:
          file.write(s) # записываем новое содержимое
          file.close()
def enginedlledit():
    bytesdefe1 = b'\x00\xe9\x59\x01\x00\x00\xba\x00\x40\x00\x00\xff\x50\x18\x84\xc0\x74\x76\xe8' # первая пачка оригинальных значений
    bytesrepe1 = b'\x00\xe9\x59\x01\x00\x00\xba\x00\x40\x00\x00\xff\x50\x18\x84\xc0\xeb\x76\xe8' # первая пачка желаемых значений
    bytesdefe2 = b'\x48\x8b\x07\xba\x00\x20\x00\x00\x48\x8b\xcf\xff\x50\x18\x84\xc0\x74\x54\x48' # вторая пачка оригинальных значений
    bytesrepe2 = b'\x48\x8b\x07\xba\x00\x20\x00\x00\x48\x8b\xcf\xff\x50\x18\x84\xc0\xeb\x54\x48' # вторая пачка желаемых значений
    enginedll =  r"F://SteamLibrary//steamapps//common//dota 2 beta//game//bin//win64//engine2.dll" # наш енджин.длл
    mode1 =      0 # проверяем, нужно ли заменять первую пачку
    mode2 =      0 # проверям, нужно ли заменять вторую пачку
    with open(enginedll,'rb') as fe:
        se = fe.read() # содержимое файла
        fe.close()
    if not bytesdefe1 in se:
        mode1 = 1 # первая пачка уже модифицирована, проверяем вторую
    if not bytesdefe2 in se:
        mode2 = 1 # вторая пачка уже модифицирована, расходимся
    if not mode1:
        se = se.replace(bytesdefe1,bytesrepe1) # заменяем значения
        with open(enginedll, 'wb') as file:
          file.write(se) # записываем новое содержимое в наш файл
          file.close()
    if not mode2:
        se = se.replace(bytesdefe2,bytesrepe2) # заменяем значения
        with open(enginedll, 'wb') as file:
          file.write(se) # записываем новое содержимое в наш файл
          file.close()
clientdlledit()
enginedlledit()
запускаю доту батником вместе со скриптом, тем самым не парясь с обновлениями:
Bash:
"C:\Users\User\Desktop\trashahk\Dota.py"

timeout 5 > NUL

"F:\SteamLibrary\steamapps\common\dota 2 beta\game\bin\win64\dota2.exe" -console -high
P.S. хз откуда кратчесы берут эти значения, я слишком тупой для этого.
 
Сверху Снизу