Виправлення невидимого автомобіля
Привіт усім! Ви стикалися з такою проблемою - ви в якому-небудь інтер'єрі (стадіон, наприклад) і заспавнили автомобіль. Але його немає! Тобто, він є, просто став невидимим.
Цей фікс виправляє цю проблему, і ви можете спавнити «видимі» автомобілі у всіх інтер'єрах.
Це також можна вимкнути, ввівши чит-код «fixcars», при цьому почується характерний звук.
Для тих, хто хоче зрозуміти, як це працює...
Тепер по порядку. Спавнери автомобілів не враховують, що гравці можуть спавнити авто (і не тільки) в інтер'єрах. Через це всі автомобілі прикріплюються до інтер'єру 0 (вулиця),
але оскільки ми не знаходимося в інтер'єрі 0, то видимий автомобіль буде тільки в інтер'єрі 0 (тобто для нас він «невидимий»). Все це вирішується двома рядками коду після спавну авто.
Приклад:
:CarCreating //назва потоку
wait 0 // чекаємо, в іншому випадку гра зависне
if // якщо
0ADC: test_cheat «elegy» //чит-код написаний
jf @CarCreating //в іншому випадку переходимо на початок потоку «CarCreating»
jump @CarCreating2 //якщо чит-код написаний, переходимо в потік «CarCreating2»
:CarCreating2 //назва потоку
wait 0 //чекаємо, в іншому випадку гра зависне
model.load(#elegy) //завантажуємо модель \"elegy\"(модель автомобіля)
038B: load_requested_models //реєструємо модель в грі (без цього опкоду модель не завантажиться)
if //якщо
model.available(#elegy) //модель завантажена
jf @CarCreating2 //в іншому випадку переходимо на початок потоку «CarCreating2»
Car.create(0@ #elegy 1@ 2@ 3@) //створюємо автомобіль
077E: get_active_interior_to $ACTIVE_INTERIOR //дивимося, в якому інтер'єрі знаходиться гравець
0840: link_car 0@ to_interior $ACTIVE_INTERIOR //\"прикріплюємо\"(робимо її видимою для нас) автомобіль
car.RemoveReferences(0@) //видаляємо інформацію про автомобіль
jump @CarCreating //переходимо на початок скрипта
де 0@ - саме авто; #elegy - моделька авто; 1@ 2@ 3@ - змінні (в даному випадку - координати); $ACTIVE_INTERIOR - змінна номера інтер'єру.
Всього ось ці дві рядки:
077E: get_active_interior_to $ACTIVE_INTERIOR //дивимося, в якому інтер'єрі знаходиться гравець
0840: link_car 0@ to_interior $ACTIVE_INTERIOR //\"прикріплюємо\"(робимо її видимою для нас) автомобіль
де 0@ - потрібне ТС (транспортний засіб); $ACTIVE_INTERIOR - змінна номера інтер'єру.
Роблять авто «видимим» для нас. Але якщо ми змінимо інтер'єр, то автомобіль стане «невидимим».
Всем привет! Вы сталкивались с такой проблемой - вы в каком-нибудь интерьере(стадион, например) и заспавнили машину. Но её нет! Вернее она есть, просто стала невидимой.
Данный фикс исправляет эту проблему и вы можете спавнить «видимые» машины во всех интерьерах.
Также это можно отключить, введя чит-код «fixcars», при этом раздастся характерный звук.
Для тех, кто хочет разобраться, как это работает...
Теперь по порядку. Спавнеры машин не учитывают то, что игроки могут спавнить авто(и не только) в интерьерах. Из-за этого все машины прицепляются к интерьеру 0(улица),
но т.к. мы находимся не в интерьере 0, то и видимой машина будет только в интерьере 0(т.е для нас она «невидима»). Все это решается двумя строчками кода после спавна авто.
Пример:
:CarCreating //наименование потока
wait 0 // ждем, в противному случае игра зависнет
if // если
0ADC: test_cheat «elegy» //чит-код написан
jf @CarCreating //в противном случае переходим в начало потока «CarCreating»
jump @CarCreating2 //если чит-код написан, переходим в поток «CarCreating2»
:CarCreating2 //наименование потока
wait 0 //ждем, в противном случае игра зависнет
model.load(#elegy) //загружаем модель \"elegy\"(модель автомобиля)
038B: load_requested_models //регистрируем модель в игре(без этого опкода модель не загрузится)
if //если
model.available(#elegy) //модель загружена
jf @CarCreating2 //в противном случае переходим в начало потока «CarCreating2»
Car.create(0@ #elegy 1@ 2@ 3@) //создаем машину
077E: get_active_interior_to $ACTIVE_INTERIOR //смотрим, в каком интерьере находится игрок
0840: link_car 0@ to_interior $ACTIVE_INTERIOR //\"прицепляем\"(делаем ее видимой для нас) машину
car.RemoveReferences(0@) //удаляем инфу о машине
jump @CarCreating //переходим в самое начало скрипта
где 0@ - само авто; #elegy - моделька авто; 1@ 2@ 3@ - переменные(в данном случае - координаты); $ACTIVE_INTERIOR - переменная номера интерьера.
Всего вот эти две строчки:
077E: get_active_interior_to $ACTIVE_INTERIOR //смотрим, в каком интерьере находится игрок
0840: link_car 0@ to_interior $ACTIVE_INTERIOR //\"прицепляем\"(делаем ее видимой для нас) машину
где 0@ - нужное ТС(транспортное средство); $ACTIVE_INTERIOR - переменная номера интерьера.
Делают авто «видимым» для нас. Но если мы поменяем интерьер, то машина станет «невидимой»