Unsichtbares Auto Fix
Hallo zusammen! Hattet ihr schon einmal das Problem, dass ihr in einem Innenraum (zum Beispiel im Stadion) seid und ein Auto gespawnt habt? Aber es ist nicht da! Es existiert zwar, ist aber unsichtbar.
Dieser Fix behebt das Problem, sodass ihr "sichtbare" Autos in allen Innenräumen spawnen könnt.
Außerdem kann dies deaktiviert werden, indem ihr den Cheat-Code „fixcars“ eingibt, woraufhin ein charakteristisches Geräusch ertönt.
Für diejenigen, die verstehen möchten, wie das funktioniert...
Jetzt der Reihe nach. Die Autoschöpfer berücksichtigen nicht, dass Spieler Autos (und nicht nur) in Innenräumen spawnen können. Deshalb werden alle Autos an Innenraum 0 (Straße) angehängt,
aber da wir uns nicht in Innenraum 0 befinden, ist das Auto für uns nur in Innenraum 0 „unsichtbar“. Das lässt sich mit zwei Zeilen Code nach dem Spawn des Autos lösen.
Beispiel:
:CarCreating //Name des Streams
wait 0 // warten, sonst hängt das Spiel
if // wenn
0ADC: test_cheat „elegy“ //Cheat-Code geschrieben
jf @CarCreating //sonst zurück zum Anfang des Streams „CarCreating“
jump @CarCreating2 //wenn der Cheat-Code geschrieben wurde, wechseln wir zum Stream „CarCreating2“
:CarCreating2 //Name des Streams
wait 0 //warten, sonst hängt das Spiel
model.load(#elegy) //Lade das Modell \"elegy\" (Auto-Modell)
038B: load_requested_models //Registriere das Modell im Spiel (ohne diesen Opcode wird das Modell nicht geladen)
if //wenn
model.available(#elegy) //Modell geladen
jf @CarCreating2 //sonst zurück zum Anfang des Streams „CarCreating2“
Car.create(0@ #elegy 1@ 2@ 3@) //erstelle das Auto
077E: get_active_interior_to $ACTIVE_INTERIOR //sehen, in welchem Innenraum sich der Spieler befindet
0840: link_car 0@ to_interior $ACTIVE_INTERIOR //\"verbinden\" (sichtbar machen) das Auto
car.RemoveReferences(0@) //entferne die Informationen über das Auto
jump @CarCreating //gehe zum Anfang des Skripts
wo 0@ - das Auto selbst; #elegy - das Auto-Modell; 1@ 2@ 3@ - Variablen (in diesem Fall - Koordinaten); $ACTIVE_INTERIOR - die Variable für die Innenraumnummer.
Diese beiden Zeilen:
077E: get_active_interior_to $ACTIVE_INTERIOR //sehen, in welchem Innenraum sich der Spieler befindet
0840: link_car 0@ to_interior $ACTIVE_INTERIOR //\"verbinden\" (sichtbar machen) das Auto
wo 0@ - das benötigte Fahrzeug; $ACTIVE_INTERIOR - die Variable für die Innenraumnummer.
machen das Auto „sichtbar“ für uns. Aber wenn wir den Innenraum wechseln, wird das Auto „unsichtbar“.
Всем привет! Вы сталкивались с такой проблемой - вы в каком-нибудь интерьере(стадион, например) и заспавнили машину. Но её нет! Вернее она есть, просто стала невидимой.
Данный фикс исправляет эту проблему и вы можете спавнить «видимые» машины во всех интерьерах.
Также это можно отключить, введя чит-код «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 - переменная номера интерьера.
Делают авто «видимым» для нас. Но если мы поменяем интерьер, то машина станет «невидимой»