Автор Тема: Выкладываем наработки по анализу кода, дизассемблированные базы, адреса  (Прочитано 31294 раз)

Оффлайн daniel_360

  • Прохожий
  • *
  • Сообщений: 100
  • Репутация: +4/-0
    • daniel360465
    • Просмотр профиля
Помню, как-то пытался сделать по совету =SpitFire=, поставить время 99 99, вроде сработало, но на оушен бич были чёрные текстуры, и я отказался от этой идеи.

Оффлайн Shagg_E

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 705
  • Репутация: +24/-4
  • Изобретательный Рукожопъ
    • Просмотр профиля
    • NewRockstar
Не обязательно 99 99 - достаточно 0 0, чтобы отключить объект

Оффлайн Saint

  • Прохожий
  • *
  • Сообщений: 83
  • Репутация: +1/-0
  • Saint Games
    • saint36rus
    • Просмотр профиля
тоесть если мы будем нажимать кнопку огонь (ЛКМ) то игрок не будет выполнять никаких действий?
Да. Будто и нет такой механики. При этом, в отличии от отключения всех драк(ранее в этой теме) - педы не теряют возможности атаковать. Да и игрок под управлением ИИ сможет атаковать.
Т.е. выключается только сама привязка контроллера к атакам.

а не подскажешь пожалуйста участок кода который отвечает за посадку игрока в Авто когда он нажимает F

Оффлайн Shagg_E

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 705
  • Репутация: +24/-4
  • Изобретательный Рукожопъ
    • Просмотр профиля
    • NewRockstar
а не подскажешь пожалуйста участок кода который отвечает за посадку игрока в Авто когда он нажимает F
Пока это не разбирал, к сожалению. Ты есть на Discord сервере SDK? Там могут помочь найти этот участок.

Оффлайн Saint

  • Прохожий
  • *
  • Сообщений: 83
  • Репутация: +1/-0
  • Saint Games
    • saint36rus
    • Просмотр профиля
а не подскажешь пожалуйста участок кода который отвечает за посадку игрока в Авто когда он нажимает F
Пока это не разбирал, к сожалению. Ты есть на Discord сервере SDK? Там могут помочь найти этот участок.

пользуюсь только ВК

Оффлайн Shagg_E

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 705
  • Репутация: +24/-4
  • Изобретательный Рукожопъ
    • Просмотр профиля
    • NewRockstar
пользуюсь только ВК
Жаль. В Дискорде есть много спецов. Целые группы, полные опытными модмейкерами.

Оффлайн daniel_360

  • Прохожий
  • *
  • Сообщений: 100
  • Репутация: +4/-0
    • daniel360465
    • Просмотр профиля
Поделюсь тоже, что нашёл:
P.S версия GTA Vice City - 1.0
05DF: write_memory 0x69A1D8 size 4 value 150.0 virtual_protect 1 // LOD людей и машин(70.0 default)
05DF: write_memory 0x687138 size 4 value 150.0 virtual_protect 1 // Удаляет транспорт, когда игрок повёрнут спиной к машине(40.0 default)
05DF: write_memory 0x6871F8 size 4 value 150.0 virtual_protect 1 // Удаляет транспорт, в зоне видимости игрока(120.0 default)
05DF: write_memory 0x687200 size 4 value 150.0 virtual_protect 1 // Удаляет транспорт, когда игрок смотрит под ноги(70.0 default)
« Последнее редактирование: Май 11, 2020, 10:33:55 pm от daniel_360 »

Оффлайн Shagg_E

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 705
  • Репутация: +24/-4
  • Изобретательный Рукожопъ
    • Просмотр профиля
    • NewRockstar
05DF: write_memory 0x69A1D8 size 4 value 150.0 virtual_protect 1 // LOD людей и машин(70.0 default)
05DF: write_memory 0x687138 size 4 value 150.0 virtual_protect 1 // Удаляет транспорт, когда игрок повёрнут спиной к машине(40.0 default)
05DF: write_memory 0x6871F8 size 4 value 150.0 virtual_protect 1 // Удаляет транспорт, в зоне видимости игрока(120.0 default)
05DF: write_memory 0x687200 size 4 value 150.0 virtual_protect 1 // Удаляет транспорт, когда игрок смотрит под ноги(70.0 default)
Тогда не обратил внимание, но сейчас заметил: с этими адресами есть нюанс. Если у всех выставить одинаковое значение - могут возникать ситуации, когда транспорт будет появляться и сразу же исчезать, так что лучше, чтобы первое значение было меньше остальных. Т.е. либо его уменьшить, либо остальные увеличить (хотя бы на 10 юнитов, но разница быть должна).

Оффлайн xanser

  • Главный Модератор
  • Постоялец
  • *****
  • Сообщений: 598
  • Репутация: +92/-0
  • Есть такая профессия - на работе сидеть
    • Просмотр профиля
Забавный адрес 0x69207C, если поставить значение побольше, например 9999.0, то ущерб от падения с высоты усилится. Можно убиться метров с десяти. Кроме реалистичности особой пользы от этого нет, если только усложнить себе жизнь при прохождении, зато весело сталкивать других. Первоначальное значение тоже расшибает пешехода примерно с высоты 50 метров, есть небольшая рандомность. С вертолета разбиться скорее всего не получится, там анимация не та, но ее можно принудительно переключить на свободное падение, тогда получится. Во вложении плагин с этим адресом побаловаться.

Оффлайн aleks926820

  • Проверенный
  • *
  • Сообщений: 27
  • Репутация: +7/-0
    • Просмотр профиля
Не знаю может уже кто это знает, но на всякий случай скину сюда.
Нашел способ отключения короны и света практически у всех пикапов.
Прошерстил функцию CPickups::DoPickUpEffects в IDA.
Эти три адреса влияют на размер короны:
0x688308 float
0x688334 float
0x688300 float
Пишем в них 0.0 для отключения короны.
Далее адреса с байтовым значением влияют на свет от некоторых пикапов.
По умолчанию значения в адресах 1. Для отключения света пишем в них 0.
0x43F21F BYTE - отключает свет у пикапа сохранения.
0x43F14F BYTE - отключает свет у пикапа взятки.
0x43F1C1 BYTE - отключает свет у пикапа недоступной недвижимости.
0x43F1DF BYTE - отключает свет у пикапа wMIDBigdollar (пикап вырученных с недвижимости денег?).
0x43f243 BYTE - отключает свет у пикапа одежды.
Эти адреса вроде как тоже отключают свет (но толком не понял где именно) :
0x43f1ac BYTE. ?
0x43F17A BYTE. ?
0x43F11C BYTE. ?
https://sun9-13.userapi.com/impf/wF6081-x17ArfRiNJtBQULTTbfOF2jtu7JQkOA/nmdA8NL0Qz4.jpg?size=1280x1024&quality=96&sign=79e977ad43945502551d7c91f0326d73&type=album
https://sun9-20.userapi.com/impf/RYV5x2lHZG7RgvuWcVGTLciw2fs_fmpP7uJFgw/v7E_uOrX9ag.jpg?size=1280x1024&quality=96&sign=9cea2049f7c8a42af5bd5f699ff544cd&type=album

Оффлайн egor230

  • Новичок
  • **
  • Сообщений: 183
  • Репутация: +7/-0
    • Просмотр профиля
    • Mr
Не знаю может уже кто это знает, но на всякий случай скину сюда.
Нашел способ отключения короны и света практически у всех пикапов.
Прошерстил функцию CPickups::DoPickUpEffects в IDA.
Эти три адреса влияют на размер короны:
0x688308 float
0x688334 float
0x688300 float
Пишем в них 0.0 для отключения короны.
Далее адреса с байтовым значением влияют на свет от некоторых пикапов.
По умолчанию значения в адресах 1. Для отключения света пишем в них 0.
0x43F21F BYTE - отключает свет у пикапа сохранения.
0x43F14F BYTE - отключает свет у пикапа взятки.
0x43F1C1 BYTE - отключает свет у пикапа недоступной недвижимости.
0x43F1DF BYTE - отключает свет у пикапа wMIDBigdollar (пикап вырученных с недвижимости денег?).
0x43f243 BYTE - отключает свет у пикапа одежды.
Эти адреса вроде как тоже отключают свет (но толком не понял где именно) :
0x43f1ac BYTE. ?
0x43F17A BYTE. ?
0x43F11C BYTE. ?
https://sun9-13.userapi.com/impf/wF6081-x17ArfRiNJtBQULTTbfOF2jtu7JQkOA/nmdA8NL0Qz4.jpg?size=1280x1024&quality=96&sign=79e977ad43945502551d7c91f0326d73&type=album
https://sun9-20.userapi.com/impf/RYV5x2lHZG7RgvuWcVGTLciw2fs_fmpP7uJFgw/v7E_uOrX9ag.jpg?size=1280x1024&quality=96&sign=9cea2049f7c8a42af5bd5f699ff544cd&type=album

Круто, что Вы нашли эти адреса. Они пригодятся в модах.

Оффлайн aleks926820

  • Проверенный
  • *
  • Сообщений: 27
  • Репутация: +7/-0
    • Просмотр профиля
0x6954A8 float - скорость вращения облаков. По умолчанию значение 60.0. Для отключения вращения можно прописать 0.0.
0x6954AC float - высота облаков над уровнем моря. По умолчанию значение 40.0.
0x6958A4 float - отвечает за пульсации солнца. По умолчанию 0.0049.
0x6954C8 float - размер всех облаков. По умолчанию 55.0.
0x6954B0 float  - отвечает за прозрачность облаков. По умолчанию  320.0.
0x6954B4 float  - отвечает за прозрачность облаков.  По умолчанию  160.0.
0x6954AC float - тоже влияет на размер больших белых облаков.  По умолчанию  40.0.

Оффлайн Saint

  • Прохожий
  • *
  • Сообщений: 83
  • Репутация: +1/-0
  • Saint Games
    • saint36rus
    • Просмотр профиля
Re: Различные скрипты, программы и т.д
« Ответ #72 : Январь 08, 2023, 06:47:03 pm »
кто нибуть знает адресс памяти который отвечает за дистанцию отрисовки педа созданного скриптом она равна примерно 168,0

      // .data:0068D758 00 00 28 43             flt_68D758      dd 168.0

      // .data:0068D780 00 00 44 43             flt_68D780      dd 196.0

      // .data:00698E28 00 00 29 43             flt_698E28      dd 169.0

      // .data:0068D9AC 00 00 2A 43             flt_68D9AC      dd 170.0
      // .data:0068E5B8 00 00 2A 43             flt_68E5B8      dd 170.0
      // .data:0068FF04 00 00 2A 43             flt_68FF04      dd 170.0
      // .data:006B2628 00 00 2A 43             flt_6B2628      dd 170.0
      // .data:006DB5C0 00 00 2A 43             flt_6DB5C0      dd 170.0

эти не подходят

Оффлайн Shagg_E

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 705
  • Репутация: +24/-4
  • Изобретательный Рукожопъ
    • Просмотр профиля
    • NewRockstar
кто нибуть знает адресс памяти который отвечает за дистанцию отрисовки педа созданного скриптом она равна примерно 168,0
Честно говоря, до твоего сообщения я понятия не имел, что у созданных скриптом педов какие-то другие дистанции прорисовки :D
Исходники плагина VC:Traffic не помогли? (там есть адреса, связанные с дистанцией прорисовки педов и авто)

Оффлайн Shagg_E

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 705
  • Репутация: +24/-4
  • Изобретательный Рукожопъ
    • Просмотр профиля
    • NewRockstar
Тоже добавлю мелкие полезные вещи, мб кому пригодится (все адреса для VC):

1) 0x97F2B4 (int) - адрес, в котором прописано, сколько миллисекунд в одной игровой минуте. Поставив 3000, вы можете увеличить время игровой минуты (а значит и целого дня) в 3 раза (1000 миллисекунд по-умолчанию).

2) Небольшой код в SCM (спс за адрес SpitFire), показывающий, как сделать персонажа (не обязательно игрока) полупрозрачным (прозрачность задается от 0 до 255):
Код: Text
  1. 0A96: 6@ = actor $PLAYER_ACTOR struct
  2. 0AA6: call_method 0x487990 struct 6@ num_params 1 pop 1 127 // Actor's visibility 0 to 255

3) Ну и последнее на сегодня:
2 адреса (размер byte), которые, если выставить по ним значение 1, запустят новую игру сразу после запуска игры, минуя главное меню:
0x869668
0x869641
В аттаче также прилагаю простенький плагин на C++, который патчит эти два адреса (тоже может пригодиться, как пример).