FORUM PTT -  Strona Główna
FAQFAQ  SzukajSzukaj  UżytkownicyUżytkownicy  GrupyGrupy RejestracjaRejestracja  ZalogujZaloguj

Odpowiedz do tematu
Poprzedni temat :: Następny temat
A to suka!
Autor Wiadomość
adamstan 
znawca
dłubacz kabinowy



Pomógł: 63 razy
Wiek: 42
Dołączył: 18 Lis 2010
Posty: 1753
Skąd: Legnica
Wysłany: 12-12-2017, 18:09   

fotomh-s napisał/a:
Czyli każdy dźwięk w Trainz ma swój osobny config w którym jest długość dźwięku? Czy może trzeba by było ten config z długościami dźwięków wygenerować?

W obydwu sytuacjach można proces zautomatyzować. Napisać program który to wszystko przerobi.


Tabelkę z długościami dźwięków trzeba dopisać w sekcji "extensions" w configu lokomotywy.
_________________
Na warsztacie:
Ty2, EU07,ET22v2
wydane:
SN61, SU45v3, ET21, ET22, EN57, TKt48,SU46,SM/SP/SU42

http://adamstan-trainz.pl/
 
 
 
fotomh-s
nowy


Dołączył: 03 Lip 2009
Posty: 23
Skąd: Tychy
Wysłany: 12-12-2017, 18:22   

Jeszcze 2 pytania.

Czy można zrobić to w jednej linijce? Np.:
Kod:
World.PlaySound(meAsset, "start2begin.wav",12000.0f,15.0f,300.0f,me,"a.srodek"); Sleep(4.3);


No i czy komenda sleep() ma być za komendą playsound jak wyżej, czy może przed jak np:
Kod:
 Sleep(4.3); World.PlaySound(meAsset, "start2begin.wav",12000.0f,15.0f,300.0f,me,"a.srodek");


Co do generowania tabelki z długościami plików .WAV to znalazłem taki przykład kodu w VB.net: http://www.xtremevbtalk.c...audio-file.html
Proste sprawdzenie długości pliku .WAV, kod wygląda na gotowy do działania.
Coś podobnego powinno się dać napisać w innych językach. Ja programuję w VB.net. Nie powinno być problemów z napisaniem prostej aplikacji która to zrobi.


EDIT:
Przerobiłem lekko sekcję skryptu odpowiedzialną za uruchamianie i wygląda na to że sleep() ma być za komendą od dźwięku a nie przed tak jak to pisałeś w jednym z postów. Jak miałem komendę sleep() przed to dźwięki się nie odtwarzały poprawnie. Teraz wydają się działać OK, oczywiście mówię tu tylko o sekwencji startu. Komendy są w jednej linii oddzielone znakiem ; i wydają się działać dobrze :-)
Ostatnio zmieniony przez fotomh-s 12-12-2017, 19:01, w całości zmieniany 5 razy  
 
 
adamstan 
znawca
dłubacz kabinowy



Pomógł: 63 razy
Wiek: 42
Dołączył: 18 Lis 2010
Posty: 1753
Skąd: Legnica
Wysłany: 12-12-2017, 20:21   

Tak jest, jeżeli pisałem że przed, to ewidentnie się pomyliłem. Ma być PlaySound, i za nim Sleep. Oczywiście można pisać w jednej linijce oddzielając średnikami - pewnie nawet cały kod dałoby się w jednej linii upchnąć jakby się kto uparł :D
_________________
Na warsztacie:
Ty2, EU07,ET22v2
wydane:
SN61, SU45v3, ET21, ET22, EN57, TKt48,SU46,SM/SP/SU42

http://adamstan-trainz.pl/
 
 
 
fotomh-s
nowy


Dołączył: 03 Lip 2009
Posty: 23
Skąd: Tychy
Wysłany: 12-12-2017, 21:51   

Kolejny robal łazi po kabinie ;-)

Chodzi o bezpiecznik (u nas się na to mówiło wyłącznik nadprądowy) oświetlenia przedzału maszynowego.
Tak samo jak wspomniany wcześniej WSS(chyba 4) nie daje się go wyłączyć i odbija do góry. Co ciekawe po jego ruszeniu, mimo że dźwignia jest na górze światło w maszynowni przestaje działać na wieki (nie ma sposobu na jego ponowne załączenie, poza uruchomieniem sesji na nowo oczywiście)...

Co ciekawe wentylatory ostatnio wyłączyły się przy wyłączaniu silników. Wcześniej nie chciały i się cały czas kręciły co było typowym bugiem.
Jednak dalej zawsze się kręcą jak się wstawi w geodecie loka zgaszonego i przejdzie do maszynisty.
Wskaźniki od tego obiegu wentylatorów (te manometry o które pytałem) wydają się zawsze działać poprawnie (zawsze są na 0 przy niedziałającym silniku i wydają się także reagować na temperaturę), czyli to bug związany czysto z obsługą animacji wentylatorów.

Swoją drogą czy to normalne że jak poziom naładowania (wyświetlany w tym menu) spadnie poniżej okoo 65% czy jakoś tak to już nie zapali (nie podtrzymuje przekaźników bo jak prądnica kręci to napięcie mocno spada)? Czy może to anomalie u mnie? Bo 65% to nie wydaje się być tak mało. Na voltomierzu jest wtedy prawie 80V przy braku obciążenia.

No i prąd ładowania jest bardzo mały, nie wiem czy nie za mały. Jak bateria jest na 80% to wskazówka ledwo się podnosi ponad 0 przy ładowaniu.
Ostatnio zmieniony przez fotomh-s 12-12-2017, 21:58, w całości zmieniany 5 razy  
 
 
adamstan 
znawca
dłubacz kabinowy



Pomógł: 63 razy
Wiek: 42
Dołączył: 18 Lis 2010
Posty: 1753
Skąd: Legnica
Wysłany: 12-12-2017, 23:55   

Bateria jest dość "na pałę" robiona, także procenty mogą być nie do końca dobre. W każdym razie, jak nie chce odpalić bo puszczają przekaźniki od spadku napięcia, to podeprzyj - jakmutambyło, chyba PR - powinno ruszyć.

W każdym razie, o ile pamiętam z książki - poniżej 80V to już trochę nie teges, więc być może jesteśmy usprawiedliwieni ;-) Zwłaszcza, że wraz z rozładowaniem spada nie tylko napięcie bez obciążenia, ale także rośnie opór wewnętrzny baterii - przez co spadek napięcia pod obciążeniem jest większy niż dla w pełni naładowanej. Po złożeniu tych dwóch czynników, wychodzi to co jest.

Co do prądu ładowania, chyba jakoś wcześniej dyskutowaliśmy o tym - tu albo przy fiatach - i o ile pamiętam, stanęło na tym, że ma być taki niewielki, i oczywiście dążący do 0 przy pełnym naładowaniu.

Z tymi bezpiecznikami i animacją wiatraczków obadam, ocb. Chociaż u mnie chyba się nie kręcą na starcie sesji - wydaje mi się, że zwróciłbym na to uwagę.
_________________
Na warsztacie:
Ty2, EU07,ET22v2
wydane:
SN61, SU45v3, ET21, ET22, EN57, TKt48,SU46,SM/SP/SU42

http://adamstan-trainz.pl/
Ostatnio zmieniony przez adamstan 12-12-2017, 23:58, w całości zmieniany 2 razy  
 
 
 
fotomh-s
nowy


Dołączył: 03 Lip 2009
Posty: 23
Skąd: Tychy
Wysłany: 13-12-2017, 15:14   

Skoro 70% naładowania to trochę mało to wydaje mi się że prąd ładowania powinien być większy i spadać do prawie zera przy powiedzmy 90% SOC (State Of Charge).

Swoją droga to chyba zacznę prace nad automatem do przeróbki skryptów. Obmyślałem już jak to ma wyglądać i są szanse że się uda bo mam już w głowie procedury.
 
 
fotomh-s
nowy


Dołączył: 03 Lip 2009
Posty: 23
Skąd: Tychy
Wysłany: 14-12-2017, 16:13   

Robię w ten program i już mam tak zwany działający prototyp.

Nie ogarniam jednak tych dźwięków które nie są bezpośrednio wpisane w skrypt. Chodzi mi o takie komendy:

Sleep(World.PlaySound(meAsset, "G" + w7,12000.0f,3.0f,100.0f,me,"a.bog1"));

Co to jest to "G" + w7? Jak to rozszyfrować i gdzie szukać odpowiedzialnego za to pliku dźwiękowego?
Podejrzewam że gdzieś musi być lista która przypisuje do tych zagadkowych nazw pliki dźwiękowe, tylko gdzie się ona znajduje?


Ponadto gdzie są pliki dźwiękowe od przekładni?
Np. plik oznaczony przekladnia/P3-4.wav, dzie go szukać? Jakoś nie mogę tych plików znaleźć. Nie widzę nigdzie w paczce SU-46 folderu przekladnia.
Ostatnio zmieniony przez fotomh-s 14-12-2017, 16:28, w całości zmieniany 2 razy  
 
 
fotomh-s
nowy


Dołączył: 03 Lip 2009
Posty: 23
Skąd: Tychy
Wysłany: 14-12-2017, 20:27   

Strzelam że to "G" po prostu dodaje literę G do nazwy pliku podpiętej pod w7. Czyli mamy coś takiego Gnazwaplikupodpiętegopodw7?

Teraz trzeba ustalić co to jest ten w7 i gdzie znajdę informację jaki dźwięk mu odpowiada.
Wtedy powinno dać radę.

Aktualnie program jedynie mieli linijki gdzie w cudzysłowiu zapisano nazwę pliku .wav.
Trzeba będzie dorobić obsługę tych w7 i innych które są podpięte pod różne "wewnętrzne" nazwy i będzie gitara.

Wszystkie pliki dźwiękowe wrzucam do folderu i program robi ich listę, sprawdza długość i obcina o zadaną wartość (czyli np. tak jak sugerowałeś 50ms). Potem wyszukuje "stare" funkcje Sleep z podpiętym dźwiękiem w nawiasach, wywala Sleep( na początku, wywala jeden nawias na końcu i dodaje komendę Sleep() z obliczoną długością dźwięku.

Na końcu jest raport, pokazuje które linijki zmienił i na co, pokazuje też wszystkie "pozostałości" czyli linijki które mają trącącą myszą metodę sleep z dźwiękiem których program nie zmienił ponieważ wystąpił problem (np. mają one dźwięk który nie jest znany programowi).
Do tego zlicza linijki które zamienił oraz te które musiał pominąć z powodu problemów.
Generalnie w skrypcie dla SU-46 aktualnie udało się zamienić automatycznie 16 linijek. Do zamiany pozostało chyba jakieś 60, czyli te od tych w7 i innych nie bezpośrednio zapisanych plików dźwiękowych oraz te pliki których lokalizacji nie znam (jak ta przekładnia).
Ostatnio zmieniony przez fotomh-s 14-12-2017, 20:27, w całości zmieniany 1 raz  
 
 
adamstan 
znawca
dłubacz kabinowy



Pomógł: 63 razy
Wiek: 42
Dołączył: 18 Lis 2010
Posty: 1753
Skąd: Legnica
Wysłany: 14-12-2017, 21:45   

fotomh-s napisał/a:
Strzelam że to "G" po prostu dodaje literę G do nazwy pliku podpiętej pod w7. Czyli mamy coś takiego Gnazwaplikupodpiętegopodw7?


Dokładnie. wcośtam i zcośtam to zmienne tekstowe, do których podczas inicjalizacji zaczytywane są nazwy plików z przejściami z configu. A "G" jest dodawane, aby utworzyć nazwę odpowiadającego pliku z dźwiękami dla ogrzewania.

Dźwięków "Przekładni" w SU46 nie ma, jeżeli to jest w skrypcie, to jest to relikt po SU45, ale w suce niewykorzystywany.
_________________
Na warsztacie:
Ty2, EU07,ET22v2
wydane:
SN61, SU45v3, ET21, ET22, EN57, TKt48,SU46,SM/SP/SU42

http://adamstan-trainz.pl/
Ostatnio zmieniony przez adamstan 14-12-2017, 21:46, w całości zmieniany 1 raz  
 
 
 
fotomh-s
nowy


Dołączył: 03 Lip 2009
Posty: 23
Skąd: Tychy
Wysłany: 15-12-2017, 14:50   

No dobrze.
Znalazłem takie linijki w skrypcie:

Kod:
z4 = GetAsset().GetConfigSoup().GetNamedSoup("extensions").GetNamedSoup("sounds").GetNamedTag("z4-3");


Wydają się one przypisywać pliki do tych nazw.
Jednak nie widzę pliku z4-3.wav, jest jednak plik zejscie 4-3.wav czy to właśnie ten plik jest podpięty pod ten dźwięk?
 
 
adamstan 
znawca
dłubacz kabinowy



Pomógł: 63 razy
Wiek: 42
Dołączył: 18 Lis 2010
Posty: 1753
Skąd: Legnica
Wysłany: 15-12-2017, 14:54   

fotomh-s napisał/a:
No dobrze.
Znalazłem takie linijki w skrypcie:

Kod:
z4 = GetAsset().GetConfigSoup().GetNamedSoup("extensions").GetNamedSoup("sounds").GetNamedTag("z4-3");


Wydają się one przypisywać pliki do tych nazw.
Jednak nie widzę pliku z4-3.wav, jest jednak plik zejscie 4-3.wav czy to właśnie ten plik jest podpięty pod ten dźwięk?


Dokładnie. W configu lokomotywy, w sekcji "extensions" masz tabelkę "sounds", która robi te przypisania, i znajdziesz tam właśnie wpis
Kod:
z4-3       "zejscie 4-3.wav"


Jeżeli danego dźwięku nie ma, to ma wpis "null" i wtedy skrypt pomija jego odgrywanie.
_________________
Na warsztacie:
Ty2, EU07,ET22v2
wydane:
SN61, SU45v3, ET21, ET22, EN57, TKt48,SU46,SM/SP/SU42

http://adamstan-trainz.pl/
Ostatnio zmieniony przez adamstan 15-12-2017, 14:55, w całości zmieniany 3 razy  
 
 
 
fotomh-s
nowy


Dołączył: 03 Lip 2009
Posty: 23
Skąd: Tychy
Wysłany: 15-12-2017, 18:09   

Czyli jak jest null to mam nie dodawać komendy sleep()?

Po pierwszych testach turbiny wydają się przerywać, nie wiem co to podowuje.
Czy jest jakiś skrypt co odpowiada właśnie za turbiny?
Czy te linijki odpowiedzialne za przetwornicę mogę pominąć (nie konwertować ich i zostawić starą metodę)? Czy może muszę je przerobić aby się bałagan nie robił i skrypt się nie zacinał? Czy może być to powodem wieszania się dźwięków turbin?
No a jak już je konwertować to dodawać w sleep() długość dźwięku czy może dać brak komendy sleep?

No i czemu wyskakuje mi parse error co zmusza mnie do pozostawienia 2 linijek ze starą metodą (opisałem to zjawisko w filmie który dołączam)?

https://www.youtube.com/w...eature=youtu.be
Ostatnio zmieniony przez fotomh-s 15-12-2017, 18:20, w całości zmieniany 1 raz  
 
 
fotomh-s
nowy


Dołączył: 03 Lip 2009
Posty: 23
Skąd: Tychy
Wysłany: 15-12-2017, 22:20   

Chyba się udało. Turbiny fajnie świszczą, nie przerywają i dźwięki silnika chyba też są OK.


Kolejny skrypt został zmielony. Okazało się że turbiny oraz silnik są w skrypcie który jest ogólny dla całego taboru Adama. Plik ten poszedł pod młynek i przeszedł przez program bez konieczności wprowadzania ręcznych modyfikacji.


Sam skrypt SU-46 też został dopracowany. Usunięto linijki odpowiedzialne za dźwięki przekładni (właściwie to zmieniono je na komentarze tak aby nie były wykonywane). Zmianie uległy też linijki odpowiedzialne za te nieszczęsne przejścia od ogrzewania, czy jak im tam które wywoływały parse error. Po prostu te dwie linijki są teraz wykonywane bez komendy Sleep.

https://www.youtube.com/w...eature=youtu.be
 
 
JohnBrawo 
nowy


Wiek: 23
Dołączył: 07 Kwi 2019
Posty: 47
Skąd: poznań
Wysłany: 25-08-2020, 08:37   

szybkie pytanko, gdzie w tym wozie znajdę przekaźnik ZZ? wywaliło go, szukam i najwyraźniej ślepy jestem
 
 
 
adamstan 
znawca
dłubacz kabinowy



Pomógł: 63 razy
Wiek: 42
Dołączył: 18 Lis 2010
Posty: 1753
Skąd: Legnica
Wysłany: 25-08-2020, 09:54   

O ile dobrze pamiętam, w szafie NN od strony kabiny B (tam, gdzie wyłączniki baterii i bezpieczniki) powinien być, tak samo jak w fiacie, pakieciak WZZ służący do odblokowywania ZZ-ta.

Należy włączyć i wyłączyć. Wtedy ZZ powinien się odblokować. Jeżeli przy próbie jazdy walnie znowu, to znaczy, że nastąpiła jakaś awaria - np silnika trakcyjnego lub prądnicy.
_________________
Na warsztacie:
Ty2, EU07,ET22v2
wydane:
SN61, SU45v3, ET21, ET22, EN57, TKt48,SU46,SM/SP/SU42

http://adamstan-trainz.pl/
Ostatnio zmieniony przez adamstan 25-08-2020, 09:56, w całości zmieniany 2 razy  
 
 
 
JohnBrawo 
nowy


Wiek: 23
Dołączył: 07 Kwi 2019
Posty: 47
Skąd: poznań
Wysłany: 25-08-2020, 10:44   

Dzięki wielkie :-D . Oponent wyjaśniony, działa bez problemowo
 
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
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
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group