• Я зарабатываю 100 000 RUB / месяц на этом сайте!

    А знаешь как? Я всего-лишь публикую (создаю темы), а админ мне платит. Трачу деньги на мороженое, робуксы и сервера в Minecraft. А ещё на паль из Китая. 

    Хочешь так же? Пиши и узнавай условия: https://t.me/alex_redact
    Реклама: https://t.me/yougame_official

Dota2VPKLoader

Сделать ли автоматический баг репорт? Файл с отчетом об ошибке будет приходить мне в тг бота.

  • Да

    Голосов: 8 100.0%
  • Нет

    Голосов: 0 0.0%

  • Всего проголосовало
    8
0x25E90B80
Пользователь
Пользователь
Статус
Оффлайн
Регистрация
12 Апр 2021
Сообщения
61
Реакции
37
Всем привет.
Как вы знаете, недавно в тиктоке моды на Dota 2 начали резко набирать популярность.
Часто новички не могут установить моды, и поэтому я решил сделать вот такую утилиту.
1. Скачайте последнюю стабильную сборку скрипта (Файл: Dota2VPKLoader-версия.zip)
2. Распакуйте архив в отдельную папку
3. Поместите ваш мод в папку со скриптом. (Ваш мод должен называться pak01_dir.vpk)
4. Запустите Dota2VPKLoader.exe и следуйте инструкции в открывшемся окне.

Пример использования:
ss.png
Скрипт автоматически ищет файлы игры Dota 2 с помощью реестра Windows, проверяет наличие и валидность папки игры, наличие необходимых файлов мода, создает соответствующие папки и копирует файлы мода в нужные директории. Эти функции предназначены для упрощения установки и использования модов для игры Dota 2.
При запуске скрипт проверяет наличие обновлений для вашей сборки. Если таковые есть, скрипт предложить вам их установить.
Скрипт также включает функцию для создания отчета об ошибке (bug report) в случае возникновения исключения или ошибки во время выполнения программы. Вот как это выглядит в скрипте:
Баг репорт:
Expand Collapse Copy
try:
    if __name__ == "__main__":
        main()
except:
    now = datetime.now().strftime("%Y-%m-%d_%H-%M-%S")
    filename = f"{now}-dump.txt"
    with open(filename, "w") as f:
            f.write(f"Exception occurred: {datetime.now()}\n")
            f.write(f"{sys.exc_info()}\n")
    print(f"\n[!] Во время выполнения программы возникла ошибка. Отчет об ошибке сохранен в {filename}.\n[~] Вы можете прислать этот файл мне в телеграм, чтобы я вам помог.\n[~] @staticsyscall")
    input("[~] Нажмите Enter чтобы закрыть окно.")
    os._exit(0)
Если во время выполнения программы возникает исключение, код в блоке except сохраняет информацию об ошибке в текстовый файл с именем вида YYYY-MM-DD_HH-MM-SS-dump.txt. Затем скрипт выводит сообщение, информирующее пользователя о возникновении ошибки и предлагает отправить отчет об ошибке мне в телеграм для получения помощи.

Ссылки:
Скачать:
Пожалуйста, авторизуйтесь для просмотра ссылки.
/
Пожалуйста, авторизуйтесь для просмотра ссылки.
/
Пожалуйста, авторизуйтесь для просмотра ссылки.

Исходный код:
Пожалуйста, авторизуйтесь для просмотра ссылки.
(буду рад если вы поставите звезду<3)

Простите за внимание
 
Последнее редактирование:
Это типа для инжекта синего сфа например?
 
мог бы и автодетект папки инсталла сделать
Пожалуйста, авторизуйтесь для просмотра ссылки.
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Манипулируешь с CRC gameinfo или как белый человек патчишь client.dll?
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Сделай

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

Ну тоже вариант. Вроде как gameinfo раз в год обновляется. Клиент патчить есть смысл разве что на рантайме в читах.
я знаю про проверку целостности, я же написал "не хочу в стиме кнопки клацать"
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
я знаю про проверку целостности, я же написал "не хочу в стиме кнопки клацать"
Лентяй ебаный. Учитывая манипуляции с CRC32, тут только бэкапить оригинальный GAYmeinfo.
 
Лентяй ебаный. Учитывая манипуляции с CRC32, тут только бэкапить оригинальный GAYmeinfo.
я идею автору даю, мне лично - 0 затруднений, но сам подумай, от этого это чудотворение станет удобнее и тебе придётся делать меньше действий
и автор подкачает свои навыки
 
в некст апдейте сделаю!
Дык там делать то нечего по большему счёту.
Ищешь по пути \HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\Shell\MuiCache ключ реестра со значение бинарника игры, получаешь нейм кея, удаляешь из строки ".FriendlyAppName" и сё.
Если не нашло - вот тогда запрашиваешь у юзера самому ввести путь до папки с игрой.
Python:
Expand Collapse Copy
import winreg

def dota2_dir():
    registry_path = r"Local Settings\Software\Microsoft\Windows\Shell\MuiCache"
    registry_key = winreg.OpenKey(winreg.HKEY_CLASSES_ROOT, registry_path, 0, winreg.KEY_READ)
    index = 0
    while True:
        try:
            key_name, key_value, key_type = winreg.EnumValue(registry_key, index)
            if key_value == "dota2.exe":
                winreg.CloseKey(registry_key)
                return key_name
            index += 1
        except OSError:
            winreg.CloseKey(registry_key)
            break
    return None

dir = input("[!] Путь до папки с игрой не найден! Введите путь к файлам игры dota2.exe: ") if dota2_dir() is None else dota2_dir().replace("dota2.exe.FriendlyAppName", "")
print(f"[+] Путь до папки с игрой: {dir}")
Делал по аналогии с сиесгоу, я ни разу не играл в доку2, не ебу как там бинарник называется. Разберешься, думаю
 
Для тех, у кого не работал лоадер:

Благодаря @Virus4alich пофиксил самую тупую ошибку которую мог допустить. В релизах лежит новый билд. Все должно работать.
Пожалуйста, авторизуйтесь для просмотра ссылки.

А все из-за того что писал скрипт на компе без доты...
 
Обновление!

Код:
Expand Collapse Copy
[+] Добавлен Dota 2 path autofinder (реализован с помощью реестра Windows)
[+] Небольшой рефакторинг кода (изменение названий функций, переменных)
[+] Почистил код

Пожалуйста, авторизуйтесь для просмотра ссылки.

Пожалуйста, авторизуйтесь для просмотра ссылки.


Приятного использования! <3
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
  • Вау!
Реакции: xmr
А где брать модельки и тд
 
Назад
Сверху Снизу