witajcie.
Od paru dni siedzę nad prostym scriptem odtwarzającym dźwięk podczepiony do punktu w siatce. Przeglądam www, jakieś scripty i za diabła nie mogę tego zrobić:-/ includuje się biblioteki których funkcji się używa na początku scriptu prawda?
Np. include "world.gs" Ciekawi mnie jaki dać wpis potem w class coś tam isclass World. Nie da rady bo to klasa statyczna. Co tam wstawić? Chodzi o użycie funkcji World.Playsound i Sleep.
Asset meAsset = GetAsset();
Sleep(World.PlaySound(meAsset, "ep09spr.wav", 1000.0f, 20.0f, 100.0f, me, "a.doors"));
Sleep(240.0);
Wiem, że do configu wpisujemy script "nazwa scriptu" i chyba jeszcze wpis class czyli to "coś tam".
Niby są tutoriale ale ani trochę mi one nie pomogły. Proszę Was o pomoc. Może parę słów wyjaśnienia co kiedy jak.
W lokach Sir-M np sprężarka była słyszana latając po całej mapie, lub np konwerter.
Dodanie punktu attachmentPoint powoduje, że działają te wcześniejsze wpisy float volume, float minDistance, float maxDistance i dźwięk słyszymy tylko w pobliżu pociągu.
Serdecznie Pozdrawiam
witajcie.
Od paru dni siedzę nad prostym scriptem odtwarzającym dźwięk podczepiony do punktu w siatce. Przeglądam www, jakieś scripty i za diabła nie mogę tego zrobić:-/ includuje się biblioteki których funkcji się używa na początku scriptu prawda?
Np. include "world.gs" Ciekawi mnie jaki dać wpis potem w class coś tam isclass World. Nie da rady bo to klasa statyczna. Co tam wstawić? Chodzi o użycie funkcji World.Playsound i Sleep.
Jeśli to scenery to musisz użyć klasy meshoject. Pamiętaj, że klasy dziedziczą pola i metody z klas nadrzędnych. MeshObject dziedziczy z TrainzGameObject, ten z klasy Trainz, a ta (między innymi) z World. Więc w klasie MeshObject możesz używać wszystkich metod z klas nadrzędnych (w tym i z World). Zresztą w folderze Scripts masz pliki gs, przejrzyj je sobie i zobacz jak mają powpisywane include
Nie to będzie podpięte pod lokomotywę. Po zabawie z includami i pewnie dlatego, że dałem MeshObject wyrzuca mi błąd i w ogóle danym pojazdem nie da się nic zrobić. Strasznie to zagmatwane :) Próbuje dalej :).
Thread Exception ER NullReference, line 1345, file
Stack dump:
function $Permit[]@Train::Take{ermitOnTrack(bool), line -1
Function $void@Train::Init(), line 1416
Nie to będzie podpięte pod lokomotywę. Po zabawie z includami i pewnie dlatego, że dałem MeshObject wyrzuca mi błąd i w ogóle danym pojazdem nie da się nic zrobić. Strasznie to zagmatwane :) Próbuje dalej :).
Thread Exception ER NullReference, line 1345, file
Stack dump:
function $Permit[]@Train::Take{ermitOnTrack(bool), line -1
Function $void@Train::Init(), line 1416
Do lokomotyw jest class locomotive
Ta dziedziczy po kolei także z MeshObjest - więc i z world
Jeśli chodzi o include to wystarczy
include "locomotive.gs"
a potem użyć klasy
mojlok isclass locomotive { };
Powtórzę - otwórz folder gry, popatrz na pliki biblioteki (folder Scripts), jak przebiega dziedziczenie. No i obowiązkowo
hehe dzięki, naprawdę byłem na tej stronie już x razy wcześniej... przeglądam już te pliki też x razy.. nie wiem chyba po prostu jestem niekumaty :D. Ale się nie poddaje. Dalej mam ten błąd. Nie patrz na nazwę pliku bo to niby do En57 a plik jest z Ep09 :D na razie po prostu próbuje:) Mógłbyś zerknąć?
Udało mi się jeszcze edytować post:)
Według mnie ten błąd jest związany z tym, (nie wiem czy dobrze rozumuje), ale tworząc script do lokomotywy musimy także dodać w nim te wszystkie parametry dotyczące samego pojazdu, te które są np w tych scriptach w grze dotyczących pojazdów. Nie można dać tylko i wyłącznie scriptu z dźwiękiem? Akurat próbuje to na En57 Skupy który ma np kabinę z Sir-M En57, ale nie był oscriptowany. Stąd ten błąd i unieruchomienie pojazdu po dodaniu scriptu tylko z odtwarzaniem dźwięku? Bo dodając wpis script w configu trainz szuka tych wszystkich ustawień dotyczących samego pojazdu tak?
Ostatnio zmieniony przez Maverick 15-02-2011, 12:52, w całości zmieniany 3 razy
Ok sam sobie pomogłem :P:D
Słuchajcie, a myśleliście kiedyś o zastosowaniu scriptu dźwiękowego zamiast enginesound? Myślę, że może udało by się coś takiego stworzyć jak w maszynie lub coś podobnego ale bardziej realistycznego niż ten enginesound. Trochę mam za mało wiedzy żeby coś takiego stworzyć, na razie jestem na etapie dodawania dźwięków i nawet fajnie to wychodzi, konwerter, spreżarka. Kwestia tylko nie wiem zbytnio w rzeczywistości jak te dźwięki są odtwarzane. Wiadomo sprężarkę można dać np co ileś tam minut, ale np konwerter :-/, przetwornice czy on jest słyszalna zawsze, gdy lok jest uruchomiony i ma patyki w górze. Musze zerknąć jak to odbywa się w maszynie. Można myślę od prędkości uzależnić dźwięki i chyba od pozycji nastawnika. Jestem noga z programowania. Czy kiedyś coś takiego próbowaliście? Może podzielicie się jakimiś spostrzeżeniami. Pozdrawiam
a w siódemkach HDM jak masz zrobione? sprężarkę uruchamiasz pstryczkiem
Hmm nie przerabiałem jeszcze Eu07 HDM. Musze spróbować, dodać sprężarke i np przetwornice. Bo tam chyba nie ma tych dzwięków juz nie pamiętam.
Natomiast był problem w En57 i 71 SirM, że sprężarkę było słychać na całej mapie (rozwiązuje to dodanie do funkcji World.PlaySound punktu np "a.cabback" z loka). Jest tam uruchamiana pstryczkiem. Ostatnio dodałem do loków zgred07. Załącza mi się co 4 min mniej więcej sprężarka. Ale, żeby to działało musi być podniesiony pantograf. Nie ważne w jakiej pozycji. Tak miał zrobione SirM w lokach. Jest też możliwość wykorzystania pstryczków.. ale musi być kabina. Dodałem też konwerter. Kwestia jest tylko zapętlanych dźwięków. TC dziwnie je odtwarza, tzn słychać takie pyknięcie między dźwiękami, znika na setne sekundy i znowu odtwarza się. Ale taka potrzeba jest np przy zastosowaniu przetwornicy, którą słychać cały czas. Przy sprężarce itp nie ma to zastosowania.
Ostatnio zmieniony przez Maverick 26-02-2011, 13:27, w całości zmieniany 2 razy
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach