GTA Builder Форум
GTA Vice City => Скриптинг => Тема начата: Greecko от Июль 24, 2016, 12:05:59 pm
-
Всем привет.
Я делаю сборку из разных элементов дорелизной и ps2-версии, а так же щепотку HD-текстур, не нарушающих атмосферу оригинала.
Хочется со всех сторон улучшить свою любимую игру, и поэтому, когда я наткнулся на дорелизные модели бандитов, сделанные на gtagarage.com, я задумался над тем, а можно ли их добавить без замены?
Внёс модели в img, в default.ide прописал, начал искать, где производится их спавн на карте - мне дали наводку на то, что это делается через main.scm. Я прошерстил весь файлик и нашёл только одну строчку, которая, как мне кажется, могла бы отвечать за их появление на улицах (ибо сам в скриптинге ноль)
(http://i013.radikal.ru/1607/36/1da9b4989a6d.png)
Вроде модель свою SGD прописал, а в игре всё равно не появляется бандит - видимо, не всё так просто.
Не подскажете, каким тогда образом это можно реализовать? (Учитывая то, что я не собираюсь добавлять новую банду, а просто хочу разбавить несколько старых)
-
Опкод 0235: имеет только 3 параметра. Поэтому когда ты добавляешь еще #SGD толку ноль. Через опкод это не сделать, иначе говоря через стандартную систему не получится. В структуре банд под модели в Вайсе выделяется только 2 ячейки - 2 модели и как ты не крути не выйдет. Но несмотря на это, добавить новую модель можно скриптом. Сворганить скрипт, который будет менять случайным образом модель текущей банды на ту которую ты захочешь.
-
Добавлю к сказанному mfisto, что если через память(посредством скрипта, например) менять модели банд быстро туда-сюда(старые на новые и обратно) каждые 0 ms(скриптовая пауза), то можно добиться того, чтобы на одной улице гуляли множество моделей одной банды(но не в группах, т.к. спавнятся группы сразу целиком, и скрипт сработать не успеет).
К примеру, если это проделать с копами - их будет гулять по одной улице несколько видов, притом все - нормально функционирующие:
скрин (http://newrockstar.do.am/Images/LostCitydev/clp1147.jpg)(правда, тут показаны лишь 2 модели копа: давно этим занимался, так что более подходящего скрина не нашел).
Тем же способом можно постоянно менять модели транспорта банд, и добиться того, что на одной улице будут разьезжать несколько разных тачек(мотаков) у одной банды: скрин (http://newrockstar.do.am/Images/LostCitydev/clp1164.jpg).
Вот пример кода:
:PRIMER
wait 0
05DF: write_memory 5166946 size 1 value 14 virtual_protect 0 // policeman skin
0236: set_gang 5 car_to #ANGEL // Bikers gang's vehicle
wait 0
05DF: write_memory 5166946 size 1 value 1 virtual_protect 0 // policeman skin
0236: set_gang 5 car_to #FREEWAY // Bikers gangs's vehicle
jump @PRIMER
В коде выше представлен пример, как заменить ID модели копа(1) на бабу(14) и обратно, однако бывают случаи, когда нам нужна абсолютно новая модель. Для этого нужно загрузить специального актера(Special Actor) перед тем, как менять в памяти ID модели копа.
ID специальных актеров, как и всех остальных педов, представлены в default.ide. Пример:
:1
load_special_actor 1 'OLOLO'
load_requested_models
:2
wait 0
if
023D: special_actor 1 loaded
jf @2
05DF: write_memory 5166946 size 1 value 109 virtual_protect 0 // специальный актер 1 в default.ide имеет номер 109
Выгружать спец. актера можно ТОЛЬКО после того, как вы вернете ID модели копа на место, иначе новые копы будут появляться с моделью, которую вы выгрузили=> краш.
-
Спасибо за помощь, постараюсь это как-нибудь так и реализовать.