Автор Тема: DriveBy Mod  (Прочитано 929 раз)

Оффлайн Tommi4kaVar4etti

  • Прохожий
  • *
  • Сообщений: 55
  • Репутация: +0/-0
    • Просмотр профиля
DriveBy Mod
« : Ноябрь 04, 2015, 12:12:41 pm »
Не так давно, я начал работать с памятью игры GTA 3 и Vice City. Я еще совсем не опытный в этом деле, поэтому, прошу помощи здесь. Буквально вчера, я выпустил вторую версию своего DriveBy мода, пофиксил пару багов, уменьшил скорость стрельбы, но однако, есть такие вещи, которые я не могу исправить: первое - это баганный выход из авто, второе - это отсутствие анимаций, и третье - это то, что пули летят не из дула оружия, а из шеи. Анимацию можно взять из GTA Sa, затем сделать поворот тела с помощью мыши и наконец - вызвать функцию полёта пули, но я не знаю как это реализовать. http://www.gtagarage.com/mods/show.php?id=27543

Оффлайн Sektor

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 512
  • Репутация: +33/-0
    • Просмотр профиля
Re: DriveBy Mod
« Ответ #1 : Ноябрь 05, 2015, 05:13:45 pm »
Цитировать
затем сделать поворот тела с помощью мыши и наконец
Это будет не много сложновато. Принцип делается такой, у нас есть анимация A (пусть будет, это когда томми сидит на сиденье), затем есть анимация B (Это у нас и есть анимация прицела, когда чувак рукой целиться с пистолета). Ну а далее это делается блендингом (Blending Animation) анимация A и B смешиваются, получается что мужик сидя целиться. Ну а далее, остается последнее, это выделить нужные кости начиная от поясницы и до верха, ну и вращать их с нужными весами (Weight) относительно того, куда целиться игрок.

Цитировать
вызвать функцию полёта пули
Это не сложно. У меня было это так:

Код: C++
  1. CBulletInfo::AddBullet(CEntity *, eWeaponType, CVector, CVector);
  2.  
  3. void CBulletInfo::AddBullet(CEntity* pEntity, eWeaponType eW, CVector v, CVector v2){
  4.         ((void(__cdecl*)(CEntity *, eWeaponType, CVector, CVector))0x05C47C0)(pEntity, eW, v, v2);
  5. }

Или же, другим методом, когда не посредственно выстрел делается CWeapon-ом класса.
Однако классы с анимациями, придется переписывать в сорцы, для того, что-бы с ними начать работать.

Оффлайн Tommi4kaVar4etti

  • Прохожий
  • *
  • Сообщений: 55
  • Репутация: +0/-0
    • Просмотр профиля
Re: DriveBy Mod
« Ответ #2 : Ноябрь 05, 2015, 06:11:23 pm »
С c++ я совершенно не знаком, так что для меня это слишком сложно. Мне всё это нужно реализовать через CLEO. Либо мне нужен человек, который умеет писать .asi плагины.

На счёт анимаций, я тебя понял. Но анимации лучше брать с Sa, т.к Томми будет просто высовывать оружие с лобового стекла.
« Последнее редактирование: Ноябрь 05, 2015, 09:34:00 pm от Tommi4kaVar4etti »

Оффлайн Tommi4kaVar4etti

  • Прохожий
  • *
  • Сообщений: 55
  • Репутация: +0/-0
    • Просмотр профиля
Re: DriveBy Mod
« Ответ #3 : Ноябрь 08, 2015, 08:40:44 pm »
Есть еще идея поменять id Player Status'a в авто, по умоланию он 50. Надо поставить его на 1 и будет стрельба с анимацией. Однако, управление будет баганное.

Оффлайн Sektor

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 512
  • Репутация: +33/-0
    • Просмотр профиля
Re: DriveBy Mod
« Ответ #4 : Ноябрь 09, 2015, 12:45:02 am »
Да, это не лучший вариант. Тут нужно как то работать с анимациями ну и писать код уже для стрельбы...

Оффлайн Tommi4kaVar4etti

  • Прохожий
  • *
  • Сообщений: 55
  • Репутация: +0/-0
    • Просмотр профиля
Re: DriveBy Mod
« Ответ #5 : Ноябрь 09, 2015, 11:29:17 pm »
Однако, если в авто сменить player status с 50 на 1 и поменять пару значений камеры, то можно будет стрелять из любого оружия из любого вида транспорта, даже от первого лица. Довольно забавно стрелять с вертолёта с рпг:
46C63A byte = 116
68ACAC float = 2.3
68AC9C float = 5.5