Последние сообщения

Страницы: 1 2 3 [4] 5 6 ... 10
31
Общие вопросы / Re: Шифрование IMG архивов
« Последний ответ от Saint Августа 12, 2025, 10:40:57 pm »
32
Общие вопросы / Шифрование IMG архивов
« Последний ответ от Saint Августа 12, 2025, 10:31:57 pm »
Добрый день если тут остались живые...

в SA / SAMP / MTA шифрование IMG архивов очень распрастронено чтобы другие люди не воровали ваши модели (на серверах) или игровых сборках или глобальных модах.

но как я понял в SA используется 2я версия IMG, когда в вайсе 1я и метод который используется в SA, для VC не подходит.

знаю есть мод GTA VC Criminal Russia и там как раз таки используется зашифрованный IMG архив, но прикол в том что он ещё и 2й версии...

в чём разница между 1й и 2й версиями я так понял что в 1й версии это GTA 3 / VC используются IMG файл и DIR файл, а во 2й версии SA DIR файл уже как бы встроен в сам IMG.

кто что знает по этой теме?

мой товарищ предлагает шифровать именно DIR файл и тогда извлекать модели из IMG архива уже неполучится..
он даже реализовал полу рабочий способ и попросил меня помочь его доработать...

ковыряясь в исходникак reVC я обнаружил что DIR файлы игра читает в событии void CFileLoader::LoadLevel(const char *filename)
функцией

      if(strncmp(line, "IMAGEPATH", 9) == 0)
      {
         RwImageSetPath(line + 10); // .DIR
      }

вот адресс из базы где вызывается эта функция

.text:0048D9C9 E8 B2 3E 1C 00 call    RwImageSetPath

и адресс самой функции 0x651880

мы хотим сделать перехват этой функции и сделать проверку если файл зашифрован то читаем шифр
а если нет то вызывать оригинальную функцию

перехват функции я вроде как сделал и написал обвёртку для вызовала оригианльной функции

void CallOriginalRwImageSetPath( char * path )
{
    ((void(__cdecl *)(char *))0x651880)(path);
}

но что-то до ума довести немогу ибо того самого ума нехватает...

может кто поможет как это правильно сделать?

кто что подскажет?
33
Справочная информация / Re: Вылеты при рисовании на экране (text draw)
« Последний ответ от Shagg_E Августа 05, 2025, 12:23:59 am »
Я так и знал, что UAL вызывает больше проблем, чем решает.
У меня когда-то Main Menu Scene перестал работать с очередным обновлением этого загрузчика. Сначала я думал, что проблема во мне, в моем коде и т.п. (хотя у меня там ничего преступного и не было), но спустя время стал замечать и другие странности.
И вот, наконец, еще одно конкретное подтверждение.

Спасибо за статью, буду знать!
34
Общие вопросы / Re: Структура .WFT файла и офсеты в нём (GTA IV)
« Последний ответ от aleks926820 Июля 29, 2025, 05:22:02 pm »
Недавно обнаружил чудовищную ошибку, которую сам же заложил в код скрипта. При разблокировке файлов по адресу ZmodelerLock прописывались нули ВСЕГДА, независимо от наличия блокировки, что неумолимо вело к порче файлов, сделанных не в ZModeler2 (оригинальные файлы игры также портились). При релизе раскомментировал строку, отвечающую за ZModelerLock, и забыл дописать одно условие.
Прикладываю исправленный вариант скрипта.
Также добавил в скрипт возможность выбора уровня сжатия ресурсов. Доступно 4 уровня:Z_NO_COMPRESSION, Z_BEST_SPEED, Z_BEST_COMPRESSION, Z_DEFAULT_COMPRESSION. По умолчанию стоит Z_BEST_COMPRESSION.
Библиотеку zlib.net.dll можно найти в этой теме. DLL положить в папку *директория 3dsmax*/Scripts/.
Просьба всем перекачать исправленный скрипт.
35
Справочная информация / Вылеты при рисовании на экране (text draw)
« Последний ответ от daniel_360 Июля 27, 2025, 11:57:55 pm »
При рисовании текста (text draw), VC может вылететь в любой момент. Особенно заметно, если зайти в меню паузы или свернуться на рабочий стол и зайти обратно в игру, и она не развернётся. Спустя пару секунд закроется. Есть несколько способов решить вылеты:

1. Отключить вывод текста зоны нахождения и наименование автомобиля. Необходимо занопить вызов названия района и имя машины, когда садишься в неё. Прикрепил архив (CarNZoneShow), автор kenking.

2. Не использовать Ultimate ASI Loader от ThirteenAG. В новых версиях этого loader'а, автор что-то не так сделал и из-за этого рисование работает некорректно. Лучше использовать ASI Loader for RenderWare GTA (прикрепил архив) от DK22Pac или Fast Loader ASI от Sektor. Плагины надо поместить в папку plugins. Если какой-то плагин не работает в папке, то просто поместите его в корень игры.

3. Правильно использовать опкод 03F0: enable_text_draw 1. Лучше не использовать этот опкод в цикле рисования. После работы с рисованием ОБЯЗАТЕЛЬНО отключить рисование (03F0: enable_text_draw 0). Пример кода рисования:
Код: Text
  1. :TXT1_4514
  2. wait 0
  3. if
  4. 0ADC: test_cheat "test"
  5. jf @TXT1_4514
  6. 054C: use_GXT_table 'FINALE'
  7. 03F0: enable_text_draw 1  
  8.  
  9. :TXT1_15940
  10. wait 0
  11. gosub @TXT1_24
  12. 0340: set_text_draw_color 0 255 0 255
  13. 033E: text_draw 175.0 150.0 'FIN1_04'  
  14. gosub @TXT1_24
  15. 0340: set_text_draw_color 255 0 0 255
  16. 033E: text_draw 350.0 150.0 'FIN1_05'
  17. if
  18. 00E1:   player 0 pressed_button 10
  19. jf @TXT1_16066
  20. 03F0: enable_text_draw 0
  21. jump @TXT1_4514
  22.  
  23. :TXT1_16066
  24. if
  25. 00E1:   player 0 pressed_button 11
  26. jf @TXT1_15940 //15940
  27. 03F0: enable_text_draw 0
  28. jump @TXT1_4514
  29.  
  30. :TXT1_24
  31. 0341: set_text_draw_align_justify 1
  32. 03E4: set_text_draw_align_right 0  
  33. 0343: set_text_linewidth 500.0
  34. 0348: set_text_draw_proportional 1
  35. 0342: set_text_draw_centered 1
  36. 0345: set_text_draw_in_box 0
  37. 033F: set_text_draw_letter_width_height 0.8 1.6
  38. return

4. Использовать GXT текст из секции "MAIN". Можно попробовать использовать текст из главной секции игры. Не понадобится использовать опкод 054C: use_GXT_table 'FINALE' для задействования других секций. Замечал, что иногда игра вылетает при частом использовании этого опкода.
36
Общие вопросы / Re: Лимиты на оружие
« Последний ответ от daniel_360 Июля 08, 2025, 09:52:15 pm »
Блин, вот прикол с "при загрузке сохранения норм, при новой игре нет" у меня даже на reVC встречался, и с совсем другими вещами, но тоже связанными с рендером. И у некоторых знакомых - тоже.
Возможно, что-то с проблемами в самом графическом движке.
Я даже пробовал делать так, чтобы при старте новой игры выполнялся код, который стартует новую игру а потом перезагружает движок, типа загружая сохранение. Но и это далеко не всегда помогало... ужас, короче.
Странно, вот что заметил, при замене main'а на чистый или из какого-нибудь мода, то всё нормально, оружие спавнится, как при загрузке сохранения.
37
Общие вопросы / Re: Лимиты на оружие
« Последний ответ от Shagg_E Июля 08, 2025, 09:53:39 am »
Блин, вот прикол с "при загрузке сохранения норм, при новой игре нет" у меня даже на reVC встречался, и с совсем другими вещами, но тоже связанными с рендером. И у некоторых знакомых - тоже.
Возможно, что-то с проблемами в самом графическом движке.
Я даже пробовал делать так, чтобы при старте новой игры выполнялся код, который стартует новую игру а потом перезагружает движок, типа загружая сохранение. Но и это далеко не всегда помогало... ужас, короче.
38
Общие вопросы / Re: Лимиты на оружие
« Последний ответ от daniel_360 Июля 07, 2025, 11:42:25 pm »
Смог добавить новое оружие, расширил область хранения наименований оружий. В игре появляется, но только при загрузке сохранения, при новой игре, почему-то модель оружия появляется с какой-то ещё моделью и происходит вылет 0x53F1B0. Также при входе и выходе из транспорта игра вылетает по адресу 0x48927B и 0x4FF9BF. Что ещё надо увеличить? Прикрепил код. Требуется III.VC.SA.LimitAdjuster. Вот бы xanser исходниками поделился, если ещё остались...
39
Общие вопросы / Re: Лимит на максимальный ID модели
« Последний ответ от daniel_360 Июля 06, 2025, 08:00:21 pm »
Удалось переписать массив modelinfo, всё работает, но игра всё равно продолжает вылетать после изменений индексов. Ошибка 0x640D0B, если поставить фикс на эту ошибку, то будет вылет другой 0x7DB7AD. Не могу понять, с чем связано, но это точно происходит после изменений индексов. Прикрепил код, вдруг кто-то сможет исправить эту ошибку. Перед использованием, также необходимо повысить лимит streaminginfo, тоже прикреплён.
40
Наработки из этой темы (см.аттач) https://gtaforums.com/topic/237878-src-d3d9dll-skeleton-code может быть кому пригодится?
Страницы: 1 2 3 [4] 5 6 ... 10