Strefa OMSI

Pełna wersja: Wyświetlanie napisów w .osc
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Stron: 1 2
Witam,

Co należy napisać w pliku .osc aby wyświetlił się tekst np. Na sterowniku? Jakie pliki dodatkowo muszę zmienić w przypadku dodawania nowej czcionki? (Tworzę nowa czcionkę i plik .oft, gdzie w plikach pojazdu dodać tą czcionkę i jak ją wyświetlić?)

Pozdrawiam
_SJaso
Czcionkę dodajesz w pliku model.cfg, wpisem u góry z oznaczeniem [texttexture] (w modelu który modyfikujesz powinny już jakieś być)

Kod:
12
[texttexture]
cockpit_temperatur1
LCD_7-Segment
256
64
0
50
50
50

Pierwsza cyfra to numer kolejny (bardzo ważny), musisz wpisać ją zgodnie z już istniejącymi w modelu (jeśli ostatnia jest z numerem 11 to Twoja powinna znaleźć się po niej i mieć numer 12).
Następnie mamy słowo kluczowe [texttexture], potem nazwa naszej tekstury, pod jaką chcemy z niej korzystać w skrypcie (czyli w plikach .osc, tutaj mamy: cockpit_temperatur1). Nazwa ta powinna być dopisana do któregoś z plików stringvarlist. Posługując się tą zmienną przypisujesz konkretny tekst, który sobie zaprogramujesz w skrypcie.
Następnie masz nazwę czcionki z pliku .oft (nazwę czcionki, nie nazwę pliku; tutaj: LCD_7-Segment). Dalej jest to bodajże rozdzielczość, a 3 ostatnie linijki to kolor (w RGB).

Żeby skorzystać z niej (obok działającego skryptu) musimy dopisać pod modelem .o3d (oczywiście w model.cfg) na którym tekst ma się wyświetlać linijki:

Kod:
[useTextTexture]
12

Gdzie liczba to numer naszej texttexture zdefiniowany wyżej. Do wyświetlania trzeba stworzyć sobie osobny plane i nasunąć go w miejsce, gdzie chcemy mieć tekst.

W skrypcie wykorzystujemy to, używając wcześniej zdefiniowanej nazwy zmiennej (u nas cockpit_temperatur1). Po tekście, który chcemy wyświetlić dajemy komendę (S.$.cockpit_temperatur1) i to tyle.

Na przykład zapisanie w linijce:
Kod:
"STOP" (S.$.test)
spowoduje wyświetlenie napisu STOP na miejscu, do którego przypisano czcionkę nazwaną test.
Tylko uzupełnię z pamięci

Cytat:Dalej jest to bodajże rozdzielczość, a 3 ostatnie linijki to kolor (w RGB).

Pierwsza to szerokość tekstu, druga to wysokość, a trzecia to zmienna włączająca/wyłączjąca [1/0] kolorową bitmapę czcionki.
Dzięki za odpowiedzi! A jest jakiś szybki sposób na wycentrowanie tekstu?

Pozdrawiam
_SJaso
wszystko masz tutaj:
https://strefa-omsi.pl/Watek-OMSI-1-2-Sy...eorii--509
W szczególności w dziale o operacjach na łańcuchach
Czyli rozumiem że jeśli wycentruje czcionkę w łańcuchu (np. W przypadku 16 znaków będzie 4 [......test......]) napisz wyświetli się na środku?)

Jeszcze co do przypisywania czcionki do obiektu, jak to się robi?

Pozdrawiam
_SJaso
W teorii chyba tak, najlepiej jak sam sprawdzisz.

Jak jak to się robi? Pablo Ci napisał:
Cytat:Żeby skorzystać z niej (obok działającego skryptu) musimy dopisać pod modelem .o3d (oczywiście w model.cfg) na którym tekst ma się wyświetlać linijki:

Kod:
[useTextTexture]
12

Gdzie liczba to numer naszej texttexture zdefiniowany wyżej. Do wyświetlania trzeba stworzyć sobie osobny plane i nasunąć go w miejsce, gdzie chcemy mieć tekst.
Faktycznie, dzięki za pomoc :E

Jeszcze co do tego co dodał @mati555
Cytat:zmienna włączająca/wyłączjąca [1/0] kolorową bitmapę czcionki

Jeśli będzie 0, czcionka będzie takiego koloru jakiego jest bitmapa, a jeśli będzie 1 kolor mogę ustalić kolejnymi trzema zmiennymi?

Pozdrawiam
_SJaso
Tak mniej więcej
Dobra, kolejne pytania: jak przeczytać w pliku .osc informacje z pliku hof (chodzi mi o to jak zdobyć informacje o tym co jest w pierwszej linijce kierunku i drugiej - oddzielnie)?

Jakie są skróty oprócz np. S.L, S.$ I co one oznaczają (możliwie wszystkie)?

Jak przypisać zmiennej x wartość zmiennej y?

Pozdrawiam
_SJaso
Stron: 1 2
Przekierowanie