GTA Builder Форум

GTA Vice City => Идеи => Тема начата: xanser от Ноябрь 26, 2013, 05:02:00 pm

Название: Пора сделать нормальный танк
Отправлено: xanser от Ноябрь 26, 2013, 05:02:00 pm
Давно вынашиваю мысль сделать рабочие гусеницы у танка. Пока в голову приходит только создать звено гусеницы в виде отдельного объекта и сложным алгоритмом двигать кучу звеньев относительно модели танка по двум сторонам в соответствии со скоростью танка.
Задача усложняется тем, что при шести звездах понадобится такое же проделывать с танками военных, что почти нереально, может стоит оставить танк только игроку, а военные заменить на БэТэРы.
Похожей привязкой я делал когда-то МАЗ с краном, который автор не разрешал вскрывать, модель не поддавалась взлому. МАЗ изначально был самосвалом, я сделал прозрачную текстуру кузова, чтобы он исчез и привязал на его место кран, работало вполне сносно, из трафика я его конечно исключил.
Может есть другие идеи по поводу гусениц, как-то же их делают в танковых симуляторах.
Название: Re: Пора сделать нормальный танк
Отправлено: graveman от Ноябрь 26, 2013, 05:10:06 pm
Смотря какие гусеницы - просто анимированные или как физические объекты. Если физический движок игры способен обрабатывать гибко сцепленные объекты, хотя я не уверен в этом. В GTA VC, по-моему, даже рэгдолл-смерти педов нет. Например, когда педа сбивает автомобиль, то мертвый пед как-будто лежит на плоскости, а должен по идее распластаться по капоту. По-ходу для гусениц придется дописывать физику.
Название: Re: Пора сделать нормальный танк
Отправлено: xanser от Ноябрь 26, 2013, 05:24:44 pm
Хотя бы сделать имитацию гусениц, например 100 как будто бы сцепленных звеньев расположены под разными углами вокруг колес, можно расчитать градус каждого, привести в движение по скорости...
Название: Re: Пора сделать нормальный танк
Отправлено: Sektor от Ноябрь 26, 2013, 05:32:41 pm
(http://btvt.narod.ru/4/kontakt5_.files/t80ud_1.jpg)

Типа что-то такого замутить, для начала. Плюс не плохо было бы, что-бы можно было менять на танки камуфляж в игре. Например зимний, пустынный, летний и прочее...
Название: Re: Пора сделать нормальный танк
Отправлено: Sanek777 от Ноябрь 26, 2013, 10:50:05 pm
Скрипт для управления вращением башни уже запилен , и при разработке танковой фишки будет польза с реализации такого способа .
А если уж менять танк на бэтэр , то стоит так же учесть характер вооружения машины .
БТР - 70 со скриптом RF 1 (http://www.youtube.com/watch?v=vQUr99rQaY4#noexternalembed)
Название: Re: Пора сделать нормальный танк
Отправлено: xanser от Ноябрь 27, 2013, 05:34:03 am
Лучше вращение башни мышкой дописать туда же к гусеницам, не догружая лишним cleo-модом, достаточно привязать движение мышки к углу башни
0x936910 - [float] - Mouse X movement
0x936914 - [float] - Mouse Y movement

0x7E49C0 - [pointer] - Player's car pointer
  +0x5B0 - [float] - Rhino & Fire truck Cannon horisontal angle
  +0x5B4 - [float] - Fire truck Cannon vertical angle
Название: Re: Пора сделать нормальный танк
Отправлено: xanser от Декабрь 08, 2013, 08:46:31 am
Напишу дабл пост, поскольку пришла еще одна мысль.
Посмотрел на бульдозер из GTA 5, и похоже у него вращаются не сами гусеницы, а только их текстура вдоль одной из осей модели, т.е. если сделать хотя бы примитивные гусеницы одной затекстуренной лентой, то достаточно двигать координаты текстуры, чтобы получить видимость движения. Вроде задача кажется довольно простой, если добраться до UV маппинга прямо в игре.
У кого есть какая-то информация по этому поводу?

А это набросок на скорую руку вращения башни (и гидранта):
Код: C++
  1. void CannonMouseControl()
  2. {
  3.         int MouseSensitivity = 300;
  4.         float * fMouseX = (float *)(0x936910);
  5.         float * fMouseY = (float *)(0x936914);
  6.  
  7.         DWORD * dwPlayerCar = (DWORD *)(0x7E49C0);
  8.         BYTE  * bCarBlock = (BYTE *)(*dwPlayerCar);
  9.         DWORD * dwCarID = (DWORD *)(bCarBlock+0x5C);
  10.  
  11.         int CannonDirection = (*dwCarID==137)-(*dwCarID==162);
  12.         if (CannonDirection)
  13.         {
  14.                 float * fCannonAngleX = (float *)(bCarBlock+0x5B0);
  15.                 float * fCannonAngleY = (float *)(bCarBlock+0x5B4);
  16.                 *fCannonAngleX += (*fMouseX/MouseSensitivity)*CannonDirection;
  17.                 *fCannonAngleY += (*fMouseY/MouseSensitivity);
  18.         }
  19. }
  20.  
Название: Re: Пора сделать нормальный танк
Отправлено: Sektor от Декабрь 09, 2013, 12:47:16 am
Хороший набросок кода, зачетно!
Название: Re: Пора сделать нормальный танк
Отправлено: xanser от Декабрь 16, 2013, 09:08:46 am
Я надеюсь, авторы этой модельки разрешат мне ее сконвертировать в вайс. Вот как я планирую двигать текстуру, единственно я не уверен, может ли движок на лету ее двигать или сначала идет загрузка модели и потом с ней уже ничего нельзя сделать. Еще интересует где хранится модель в памяти, если есть указатель на авто, можно ли сместиться на его модель?

(http://s6.postimg.org/q467p8mbl/t72.jpg) (http://s6.postimg.org/urc9r09oh/T_72.gif)
Название: Re: Пора сделать нормальный танк
Отправлено: Sektor от Декабрь 16, 2013, 02:41:51 pm
Код: C++
  1. 005BAA40         No Category     CVehicle::SetModelIndex (( uint ))

Скорее всего, нужно хвататься за этот метод и смотреть как там модель устанавливается, исходя из чего и.т.п.

Цитировать
Еще интересует где хранится модель в памяти, если есть указатель на авто, можно ли сместиться на его модель?
Скорее всего, может быть так:

1. В полях у машины, есть указатель на 3D модель.
2. Модели могут находиться в другом месте, типа как в менеджере.

Пока такие варианты думаю...
Название: Re: Пора сделать нормальный танк
Отправлено: xanser от Декабрь 19, 2013, 05:02:25 pm
Тут http://www.gamemodding.net/ru/gta-san-andreas/gta-sa-other-transport/7883-t-90-iz-battlefield-3.html (http://www.gamemodding.net/ru/gta-san-andreas/gta-sa-other-transport/7883-t-90-iz-battlefield-3.html) утверждается, что для SA запилили рабочие гусеницы через CLEO. Я не смог проверить, интересно как оно работает, на представленном видео я ничего не разглядел, может кто покажет?

По поводу танка, который я взял, я уже сомневаюсь в целесообразности движения гусениц, их все равно не видно под броней. Если ничего не выйдет, просто выложу тут его конверт.

(http://s6.postimg.org/qfo4ldjpd/scr0002.jpg) (http://s6.postimg.org/ozcm38gsh/scr000.jpg)

Пытался связаться с авторами:
Авторы: DCS Ка-50: Чёрная акула
Конверт и доработка в GTA San Andreas:
s762x39s (s762x39s@mail.ru)
alkashbutovo (alkashbutovo@bk.ru)

Один адрес мертв, второй ответил, что не помнит про конверт и ему все равно, оригинальная модель получается вообще из игры DCS Ка-50: Чёрная акула, так что не вижу препятствий для конверта в вайс.
Название: Re: Пора сделать нормальный танк
Отправлено: Sektor от Декабрь 21, 2013, 11:57:26 pm
xanser Забыл все сказать, посмотри тут (http://gtabuilder.ru/address_memory_gtavc_functions_1/) адреса RWG-шных функций, может помогут чем нибудь тебе для реализации твоей идеи.
Название: Re: Пора сделать нормальный танк
Отправлено: xanser от Декабрь 23, 2013, 05:16:05 am
Я сравнил dff-файлы при смещении координат текстуры, слишком много адресов задействовано, я как-то рассчитывал обойтись двумя параметрами x и y.
У меня появился еще вариант, сделать анимацию спрайтами, т.е. менять у модели указатель на текстуру, а текстуры подставлять как в мультике покадрово. Кроме гусениц, можно так менять еще текстуры самого танка, можно сделать вращение колес у пассажирских самолетов, поездов, прицепов, если не через авто их делать, можно сделать развивающиеся флаги, много возможностей открывается. Осталось понять, как найти этот указатель.
Название: Re: Пора сделать нормальный танк
Отправлено: DK от Декабрь 23, 2013, 06:59:56 pm
Самые удобные - 2 варианта.
1) Добавить новые компоненты в иерархию автомобиля. Написать алгоритм движения этих компонентов.
Плюсы - самый простой вариант.
Минусы - надо создавать огромное кол-во компонентов, а это скажется и на размере файла модели.
2) Сделать анимацию текстурных координат.
Плюсы - фактически, не надо будет долго разбираться с самой моделью. Достаточно выделить отдельный компонент под гусеницы и применить к нему нужную текстуру.
Минусы - сложно сделать разную анимацию для одновременно созданных автомобилей. Текстурные координаты хранятся в обьекте геометрии, а он не клонируется для каждого созданного экземпляра модели. Это значит, что при изменении информации о текстурных координатах для модели одного автомобиля, эти же изменения коснутся других автомобилей с этой моделью. Решается данная проблема сохранением координат до рендера транспорта, и восстновлением после.
Название: Re: Пора сделать нормальный танк
Отправлено: xanser от Декабрь 26, 2013, 12:05:26 pm
Никак не могу найти адрес оффсета выстрела. По логике его должен определять в самой модели barrel_dummy c координатами примерно (0; 2.7395; 1.8027). Вращение башни, определяющей угол выстрела, должно быть вокруг windscreen_dummy, который явлется центром вращения (0; -1.3940; 1.0960). Но это все не работает от dff-модели и зашито в exe. Тем не менее, думаю эти координаты должны примерно совпадать, по крайней мере центр вращения, их разница должна давать радиус вращения. В игре координаты выстрела несколько смещены вперед-вверх от barrel_dummy. И все это пересчитывается через угол башни, я уже и в полярных координатах пробовал написать формулу, но так и не приблизился к нужным адресам  :-[

(http://s6.postimg.org/jr1uhd05d/scr004.jpg)
Название: Re: Пора сделать нормальный танк
Отправлено: DK от Декабрь 26, 2013, 02:52:04 pm
Управление башней
Код: C++
  1. 0x5864C0 CAutomobile::TankControl(void) > 0x5CA8B0 CWeapon::DoTankDoomAiming(CEntity *, CEntity *, CVector *, CVector *)
Партиклы выстрела создаются в CAutomobile::TankControl(void).
Название: Re: Пора сделать нормальный танк
Отправлено: xanser от Декабрь 27, 2013, 08:06:47 am
Спасибо, наставили на путь истинный.
Вот адреса, значения которых можно рассчитать по модели танка:

0x5864F4 (float) - смещение центра вращения башни от центра танка (windscreen_dummy.Y = -1.394)
0x586518 (float) - смещение выстрела от центра танка вперед (barrel_dummy.Y = 2.95)
0x586523 (float) - смещение выстрела по высоте башни (barrel_dummy.Z? = 2.97)

(http://s6.postimg.org/q6enj9b0h/scr008.jpg)
Название: Re: Пора сделать нормальный танк
Отправлено: Sektor от Декабрь 27, 2013, 09:45:35 pm
xanser - ты не перестаешь меня удивлять! Великолепно! 
Название: Re: Пора сделать нормальный танк
Отправлено: xanser от Декабрь 28, 2013, 11:22:03 am
Теперь можно создать несколько танков и бтр-ов, для каждого задать координаты выстрела. Адреса характеристик танка известны. Например интересно было бы угнать какой-нибудь Т-34 из музея. Хочу попробовать через MVL поработать с танками, чтобы не занимать машины из трафика.
Название: Re: Пора сделать нормальный танк
Отправлено: Sanek777 от Январь 26, 2014, 06:05:26 pm
На одном из форумов затрагивали вопрос гусениц .
Может быть , появятся ещё какие-нибудь соображения по этой тематике .
Ссылка на тему (http://www.gforums.ru/topic/15730-kak-sdelat-podvizhnie-gusenici-na-modeli-tanka/page__fromsearch__1)
Название: Re: Пора сделать нормальный танк
Отправлено: xanser от Январь 27, 2014, 05:24:40 am
Вариант с экстрами понравился, вполне жизнеспособный, хотя не очень рациональный. Если через него делать, можно тогда задействовать и все 16 колес.

P.S. Что-то на лету не получается экстры менять.
Название: Re: Пора сделать нормальный танк
Отправлено: DK от Февраль 19, 2014, 04:44:19 am
Sanek777, я всё расписал по гусеницам.
Название: Re: Пора сделать нормальный танк
Отправлено: Sanek777 от Февраль 19, 2014, 11:01:39 am
Sanek777, я всё расписал по гусеницам.
Это хорошо  :)
Название: Re: Пора сделать нормальный танк
Отправлено: xanser от Февраль 24, 2014, 12:11:15 pm
DK, ты конечно все верно говоришь, но думаю, вряд ли кто-то реально сможет это реализовать на сегодняшний день. С дополнительными компонентами наиболее доступным мог бы быть способ через экстры, если понять, как ими управлять после создания машины. Фэйк основан на том, что после каждого реплея эктры меняются, но боюсь что вместе с пересозданием самой машины.

(http://s6.postimg.org/4w7dkcnep/image.gif) (http://s6.postimg.org/ug9nqs8sh/scr00.gif)
Название: Re: Пора сделать нормальный танк
Отправлено: Shagg_E от Март 18, 2014, 11:17:43 am
xanser, Танк - очень сложное животное: к сожалению, придется запилить каждую гусеницу отдельно, если стремишься к реализму(я про движение гусениц на повороте). А это - в два раза больше экстр
Название: Re: Пора сделать нормальный танк
Отправлено: xanser от Март 18, 2014, 12:26:56 pm
Ну если до такой степени реалистичность делать, тогда придется собирать еще весь экипаж: командир, механик, наводчик, заряжающий. Еще сделать, чтобы грязь из под гусениц летела во все стороны, и при наезде на машины чтобы они плющились в лепешку.
Название: Re: Пора сделать нормальный танк
Отправлено: Shagg_E от Март 18, 2014, 02:26:33 pm
(http://img0.joyreactor.cc/pics/comment/видео-youtube-forever-alone-мемы-839860.png)

Но... Ключевая фишка гусеничного танка - разворот на месте...
Название: Re: Пора сделать нормальный танк
Отправлено: xanser от Май 07, 2014, 05:42:52 am
Не нашел ни одного видео разворота танка на месте, как это вообще выглядит, гусеницы в противоположные стороны движутся?
Вот еще подумал как можно сделать, колеса оставить обычными, а 3-4 покадровые гусеницы/компоненты масштабировать в ноль и обратно, подставляя попеременно.
Название: Re: Пора сделать нормальный танк
Отправлено: Shagg_E от Май 14, 2014, 04:10:50 pm
Разворот Т44 на месте. День танкиста - WG (http://www.youtube.com/watch?v=6LduqxcpSUg#ws)
к сожалению, не смог надыбать видео по-лучше. Но смысл в том, что гусеницы двигаются с разными скоростями, а иногда - и направлениями.
Иначе нельзя было бы сделать что-то типа этого: Полицейский разворот на Т-72 (http://www.youtube.com/watch?v=h33sa3KuYpU#)

В общем, разворот на месте будет выглядеть как-то так:
Танк радиоуправляемый с инфракрасным датчиком (http://www.youtube.com/watch?v=IAwuLbth7QA#ws) (с 49 секунды)

Я не любитель танков и всего такого, просто если делать такую детализацию, то наверное стоит делать полноценную аниму.
Название: Re: Пора сделать нормальный танк
Отправлено: xanser от Май 14, 2014, 04:23:54 pm
Похоже, одна сторона действительно обратно вращается на развороте, придется колеса все-таки контролировать.
А кто-нибудь пробовал на ходу менять скриптом угол машины, какая физика получится интересно.
Название: Re: Пора сделать нормальный танк
Отправлено: Shagg_E от Май 14, 2014, 09:13:44 pm
Нормальная, если менять не сам угол, а силу поворота:

 +0x84 - [float] - Z turn speed

Вот пример использования - стабилизация автомобиля при дрифте(чтобы не разворачивало):
HP_Drift (http://www.youtube.com/watch?v=E3cGq5FZ9sc#ws)

Скрипт пока не релизил, но вот его код(просто пока работаю над нюансами):

thread 'HP_DRFT'

:HP_DRFT_12
wait 0
if and
   Player.Defined($PLAYER_CHAR)
00E0:   player $PLAYER_CHAR driving
jf @HP_DRFT_12
if and
84AA:   not player $PLAYER_CHAR driving_heli
84A8:   not player $PLAYER_CHAR driving_boat
84C9:   not player $PLAYER_CHAR driving_plane
jf @HP_DRFT_12
03C1: 0@ = player $PLAYER_CHAR car_no_save
13@ = 0 // integer values

:HP_DRFT_78
if
   not Car.Wrecked(0@)
jf @HP_DRFT_12
if
is_player_driving $PLAYER_CHAR 0@
jf @HP_DRFT_12
if and
82BF:   not car 0@ sunk
020D:   car 0@ flipped
81F3:   not car 0@ airborne
jf @HP_DRFT_12
Car.StorePos(0@, 2@, 3@, 4@)
05E7: 12@ = car 0@ struct
0084: 14@ = 12@ // integer values and handles
0084: 15@ = 12@ // integer values and handles
12@ += 112 // integer values
14@ += 116 // integer values
15@ += 132 // integer values
05E0: 12@ = read_memory 12@ size 4 virtual_protect 0
05E0: 14@ = read_memory 14@ size 4 virtual_protect 0
05E0: 15@ = read_memory 15@ size 4 virtual_protect 0
wait 0
if
   not Car.Wrecked(0@)
jf @HP_DRFT_12
if
is_player_driving $PLAYER_CHAR 0@
jf @HP_DRFT_12
if and
82BF:   not car 0@ sunk
020D:   car 0@ flipped
81F3:   not car 0@ airborne
jf @HP_DRFT_12
02E3: 1@ = car 0@ speed
if and
  1@ > 10.6 // floating-point values
00E1:   player 0 pressed_button 16
jf @HP_DRFT_12
Car.StorePos(0@, 5@, 6@, 4@)
0407: create_coordinate 8@ 9@ 4@ from_car 0@ offset 0.0 0.1 0.0
0067: 8@ -= 5@ // floating-point values
0067: 9@ -= 6@ // floating-point values
0067: 5@ -= 2@ // floating-point values
0067: 6@ -= 3@ // floating-point values
05A4: get_angle_between_vectors_origin_to 5@ 6@ and_origin_to 8@ 9@ store_to 11@ // never used in VC
Car.StorePos(0@, 5@, 6@, 4@)
0407: create_coordinate 8@ 9@ 4@ from_car 0@ offset -0.02 0.1 0.0
0067: 8@ -= 5@ // floating-point values
0067: 9@ -= 6@ // floating-point values
0067: 5@ -= 2@ // floating-point values
0067: 6@ -= 3@ // floating-point values
05A4: get_angle_between_vectors_origin_to 5@ 6@ and_origin_to 8@ 9@ store_to 7@ // never used in VC
Car.StorePos(0@, 5@, 6@, 4@)
0407: create_coordinate 8@ 9@ 4@ from_car 0@ offset 0.02 0.1 0.0
0067: 8@ -= 5@ // floating-point values
0067: 9@ -= 6@ // floating-point values
0067: 5@ -= 2@ // floating-point values
0067: 6@ -= 3@ // floating-point values
05A4: get_angle_between_vectors_origin_to 5@ 6@ and_origin_to 8@ 9@ store_to 10@ // never used in VC
11@ *= 1000.0 // floating-point values (never used in VC or GTA 3)
7@ *= 1000.0 // floating-point values (never used in VC or GTA 3)
10@ *= 1000.0 // floating-point values (never used in VC or GTA 3)
if and
  996.0 > 11@ // floating-point values
  11@ > 25.0 // floating-point values
jf @HP_DRFT_12
13@ += 1 // integer values
if
  13@ > 3 // integer values
jf @HP_DRFT_78
if and
80E1:   not player 0 pressed_button 10
80E1:   not player 0 pressed_button 11
jf @HP_DRFT_956

:HP_DRFT_720
05E7: 1@ = car 0@ struct
0084: 2@ = 1@ // integer values and handles
0084: 3@ = 1@ // integer values and handles
1@ += 112 // integer values
2@ += 116 // integer values
3@ += 132 // integer values
05E0: 4@ = read_memory 1@ size 4 virtual_protect 0
05E0: 5@ = read_memory 2@ size 4 virtual_protect 0
05E0: 6@ = read_memory 3@ size 4 virtual_protect 0
0063: 12@ -= 4@ // floating-point values (never used in VC or GTA 3)
0063: 14@ -= 5@ // floating-point values (never used in VC or GTA 3)
12@ *= 0.2 // floating-point values (never used in VC or GTA 3)
14@ *= 0.2 // floating-point values (never used in VC or GTA 3)
6@ *= 0.95 // floating-point values (never used in VC or GTA 3)
005B: 4@ += 12@ // floating-point values (never used in VC or GTA 3)
005B: 5@ += 14@ // floating-point values (never used in VC or GTA 3)
02E3: 8@ = car 0@ speed
if
  30.0 > 8@ // floating-point values
jf @HP_DRFT_913
4@ *= 1.008 // floating-point values (never used in VC or GTA 3)
5@ *= 1.008 // floating-point values (never used in VC or GTA 3)

:HP_DRFT_913
05DF: write_memory 3@ size 4 value 6@ virtual_protect 0
05DF: write_memory 1@ size 4 value 4@ virtual_protect 0
05DF: write_memory 2@ size 4 value 5@ virtual_protect 0
jump @HP_DRFT_78

:HP_DRFT_956
if and
00E1:   player 0 pressed_button 10
80E1:   not player 0 pressed_button 11
jf @HP_DRFT_1013
if and
0025:   7@ > 11@ // floating-point values (never used in VC or GTA 3)
0025:   11@ > 10@ // floating-point values (never used in VC or GTA 3)
jf @HP_DRFT_720
jump @HP_DRFT_1063

:HP_DRFT_1013
if and
80E1:   not player 0 pressed_button 10
00E1:   player 0 pressed_button 11
jf @HP_DRFT_720
if and
0025:   10@ > 11@ // floating-point values (never used in VC or GTA 3)
0025:   11@ > 7@ // floating-point values (never used in VC or GTA 3)
jf @HP_DRFT_720

:HP_DRFT_1063
05E7: 1@ = car 0@ struct
0084: 2@ = 1@ // integer values and handles
0084: 3@ = 1@ // integer values and handles
1@ += 112 // integer values
2@ += 116 // integer values
3@ += 132 // integer values
05E0: 4@ = read_memory 1@ size 4 virtual_protect 0
05E0: 5@ = read_memory 2@ size 4 virtual_protect 0
05E0: 6@ = read_memory 3@ size 4 virtual_protect 0
0063: 12@ -= 4@ // floating-point values (never used in VC or GTA 3)
0063: 14@ -= 5@ // floating-point values (never used in VC or GTA 3)
0063: 15@ -= 6@ // floating-point values (never used in VC or GTA 3)
12@ *= 0.05 // floating-point values (never used in VC or GTA 3)
14@ *= 0.05 // floating-point values (never used in VC or GTA 3)
15@ *= 0.02 // floating-point values (never used in VC or GTA 3)
005B: 4@ += 12@ // floating-point values (never used in VC or GTA 3)
005B: 5@ += 14@ // floating-point values (never used in VC or GTA 3)
005B: 6@ += 15@ // floating-point values (never used in VC or GTA 3)
02E3: 8@ = car 0@ speed
if
  30.0 > 8@ // floating-point values
jf @HP_DRFT_1272
4@ *= 1.002 // floating-point values (never used in VC or GTA 3)
5@ *= 1.002 // floating-point values (never used in VC or GTA 3)

:HP_DRFT_1272
05DF: write_memory 3@ size 4 value 6@ virtual_protect 0
05DF: write_memory 1@ size 4 value 4@ virtual_protect 0
05DF: write_memory 2@ size 4 value 5@ virtual_protect 0
jump @HP_DRFT_78


Название: Re: Пора сделать нормальный танк
Отправлено: Sektor от Май 14, 2014, 09:21:53 pm
Цитировать
Вот пример использования - стабилизация автомобиля при дрифте(чтобы не разворачивало):
По моему это выглядит круто! Хороший мод.
Название: Re: Пора сделать нормальный танк
Отправлено: Shagg_E от Май 14, 2014, 09:23:20 pm
Sektor, спс)

xanser: вообще, если бы ты подготовил гусеницы к работе в скриптах, я бы сделал всё остальное: и скрипт, управляющий их движением, и физику и все остальное.
Мне проще будет работать над этим, т.к. я давно занимаюсь "изменением физики" авто скриптами, и есть вся необходимая база.
Но ты не любишь скриптинг ???, а я просто не могу делать что-то более-менее серьезное в asi
Название: Re: Пора сделать нормальный танк
Отправлено: Shagg_E от Май 15, 2014, 12:26:08 am
Recoil (http://forum.gtabuilder.ru/index.php?action=profile;u=219) говорит, что он с kenking-ом
Цитировать
делали танк, там был разворот на месте и соответствующее движение гусениц, катков и колес в "Раздрай"
в общем у совр. танков с ГОП на нейтралке при повороте рулевого колеса(к примеру) и нажатии на педаль газа тоже гусеницы в раздрай идут


но разработки затерялись у этого kenking-а, так что если что - xanser, попробуй обратиться к нему
Название: Re: Пора сделать нормальный танк
Отправлено: xanser от Май 15, 2014, 05:26:35 am
Но ты не любишь скриптинг ???, а я просто не могу делать что-то более-менее серьезное в asi
Особой разницы в этом плане не будет, скрипт можно потом переписать в си-код, и наоборот код в скрипт если понадобится, работа только с адресами и опкодами.
Название: Re: Пора сделать нормальный танк
Отправлено: xanser от Декабрь 01, 2014, 01:43:17 pm
Вот что получилось пока

GTA Vice City Танк T-72 (http://www.youtube.com/watch?v=9-eClJpKIO8#)
Название: Re: Пора сделать нормальный танк
Отправлено: mfisto от Декабрь 01, 2014, 02:23:47 pm
Ну, ты как всегда не перестаешь удивлять! ;)
Название: Re: Пора сделать нормальный танк
Отправлено: mike43842 от Декабрь 02, 2014, 12:05:42 am
Супер!
Название: Re: Пора сделать нормальный танк (почти реализовано)
Отправлено: xanser от Март 21, 2015, 02:17:28 pm
Для тех, кто считает, что выстрел танка выглядит слабовато, можно кое-что улучшить:

0x5866A2 (int) - интервал между выстрелами 800 мс
0x69A610 (float) - дальность выстрела 60.0
0x5869AC (byte) - тип взрыва, 6 и 7 выглядят куда мощнее, для базуки то же самое тут 0x5C6F39, к сожалению никак не могу найти для hunter-а

(http://s6.postimg.org/4525qcirl/scr_20150321095129767.jpg)
Название: Re: Пора сделать нормальный танк (почти реализовано)
Отправлено: Shagg_E от Март 21, 2015, 09:44:56 pm
У хантера вроде(насколько я помню) взрыв от rocket launcher-а, так что вот адресок: 6057785(dec)
Название: Re: Пора сделать нормальный танк (почти реализовано)
Отправлено: xanser от Март 23, 2015, 09:29:54 am
Так-то оно так, но смена взрыва базуки не влияет на взрыв от хантера, у меня по крайней мере.
Сразу не заметил условие там, вот этот адресок для хантера 0x5C6F2B