Автор Тема: Трансформация  (Прочитано 4823 раз)

Оффлайн xanser

  • Главный Модератор
  • Постоялец
  • *****
  • Сообщений: 598
  • Репутация: +92/-0
  • Есть такая профессия - на работе сидеть
    • Просмотр профиля
Трансформация
« : Ноябрь 27, 2013, 11:39:30 am »
Особого практического применения я пока в этом не вижу, за исключением может быть примера из SA, где игрок накачивался или толстел.
Но если разрабатывать специализированные моды на эту тему, то вот пара идей, может кто-то возмется.

Трансформация игрока (Hulk Mod)



Тут просто перебираем скины/модели игрока, имитируя анимацию. Я пробовал добавлять дополнительные скины, кроме 12-ти стандартных Player-Play12, например Play13, Play14 и т.д. все работает. Для Халка можно поставить имунитет ко взрывам, пулям, бесконечный бег. Прыжки можно отслеживать и корректировать координаты, чтобы можно было прыгать через дома. Силу удара тоже можно увеличить, чтобы люди разлетались, а при ударе по машине можно делать еще микровзрыв, так чтобы тачку сносило. Вобщем повеселиться, разрушая все вокруг.


Трансформация из тачки в игрока (Transformer Mod)



Тут посложнее. Надо иметь машину, куски той же машины в виде отдельных объектов, которые будут перемещаться и вращаться друг относительно друга. Когда все куски встанут на свои места, просто меняем их на скин/модель игрока-трансформера. Что касается роста, то игрок теперь должен быть с дом, тут можно попробовать увеличить скелет (как это отразится на игровом процессе я не проверял), либо попробовать смасштабировать игрока через память. Тут видео, где добрались до масштабирования объектов:

Minimega-Cheetah (GTA:VC)

Оффлайн Sektor

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 521
  • Репутация: +34/-0
    • Просмотр профиля
Re: Трансформация
« Ответ #1 : Ноябрь 27, 2013, 12:01:02 pm »
Все наверное помнят коды, на худого и толстого? Так вот там есть float переменная, которая отвечает за толщину плеера.

Оффлайн xanser

  • Главный Модератор
  • Постоялец
  • *****
  • Сообщений: 598
  • Репутация: +92/-0
  • Есть такая профессия - на работе сидеть
    • Просмотр профиля
Re: Трансформация
« Ответ #2 : Январь 13, 2014, 01:44:54 pm »
Все наверное помнят коды, на худого и толстого? Так вот там есть float переменная, которая отвечает за толщину плеера.

И интересно за счет чего модель пухнет. Я думал dff не умеет искажаться. Если поставить еще больше, станет колобком?


Оффлайн Sektor

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 521
  • Репутация: +34/-0
    • Просмотр профиля
Re: Трансформация
« Ответ #3 : Январь 13, 2014, 01:52:08 pm »
Угу есть такая штуковина, это обычный коэффициент:

0x068E058   float  PlayerFatness   1.0 
В этой функции можно капнуть все подробности:

.text:004FE4C0   ; int __fastcall CPed__PreRender(int)
« Последнее редактирование: Январь 13, 2014, 01:54:18 pm от Sektor »

Оффлайн xanser

  • Главный Модератор
  • Постоялец
  • *****
  • Сообщений: 598
  • Репутация: +92/-0
  • Есть такая профессия - на работе сидеть
    • Просмотр профиля
Re: Трансформация
« Ответ #4 : Январь 13, 2014, 04:54:26 pm »
Спасибо за адресок, вот ржака  :D

Оффлайн Sektor

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 521
  • Репутация: +34/-0
    • Просмотр профиля
Re: Трансформация
« Ответ #5 : Январь 13, 2014, 05:01:34 pm »
Заметь, что с этого адреска, можно сделать полноту игрока, типа как в GTA San Andreas.