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

Odpowiedz do tematu
Poprzedni temat :: Następny temat
World.PlaySound
Autor Wiadomość
zgred
znawca
freelancer


Pomógł: 25 razy
Wiek: 34
Dołączył: 19 Lut 2008
Posty: 1328
Skąd: Wrocław
Wysłany: 21-05-2011, 15:28   World.PlaySound

Do tej pory sobie radziłem z skryptem ale to mnie chyba pokonało.

Mam problem z funkcją playsound. Chce ją dodać do funkcji, która jest wywoływana z karty lokomotywy (tam gdzie ustawianie drzwi, swiateł itp) .

Mam zrobione coś takiego:

Cytat:

void Oenn(bool sta)
{
World.PlaySound(meAsset, "e_petla.wav", 5000.0f, 2.0f, 800.0f, me, "");
}


I problem jest taki że jest nie zadeklarowana fukcja Playsound . Biblioteke world.gs podpiąłem pod skrypt. Same dźwieki hamulców działają na podobnej funkcji ale ta już nie ma ochoty współpracować.

Pomoże ktoś? wiem że skrypty na polskiej scenie to czarna magia dla niemal wszystkich :P
_________________
www.14d40.pl - Sklep Miłośnika Kolei
www.trainzmarket.com - Dodatki do Trainz
Żadnej roboty nie wezmę, nie wiem, nie znam się, nie orientuję się, zarobiony jestem.
Ostatnio zmieniony przez zgred 21-05-2011, 15:30, w całości zmieniany 1 raz  
 
 
 
RBach 
Administrator
Toromistrz


Pomógł: 309 razy
Wiek: 50
Dołączył: 26 Lut 2008
Posty: 4522
Skąd: Gościcino Centralne
Wysłany: 21-05-2011, 17:28   Re: World.PlaySound

zgred napisał/a:
Do tej pory sobie radziłem z skryptem ale to mnie chyba pokonało.


Pomoże ktoś? wiem że skrypty na polskiej scenie to czarna magia dla niemal wszystkich :P


Pytanie podstawowe - plik wav ma właściwy format? Wiem, że to dziwne pytanie do autora modeli, ale czasami zdarza się przeoczyć takie pierdoły :-)

Poza tym - sprawdź, czy podpiąłeś pod właściwy obiekt - ten parametr "me". No i parametry liczbowe - to "f" na końcu na 100% ma być?
_________________
Moje dodatki
Instrukcje kolejowe
KUID:263713
Aktualny release skryptów sygnalizacji:
v5.6:26.12.2025
Ostatnio zmieniony przez RBach 21-05-2011, 17:37, w całości zmieniany 1 raz  
 
 
zgred
znawca
freelancer


Pomógł: 25 razy
Wiek: 34
Dołączył: 19 Lut 2008
Posty: 1328
Skąd: Wrocław
Wysłany: 21-05-2011, 18:02   

Tak to było ok...

brakowało przed World.Play.....
wpisu:
Asset meAsset = GetAsset();

Nie wiem co to i po co ale już dzięki temu funkcja PlaySound jest zadeklarowana.

Pozostał teraz problem z tym ze dzwiek nie odtwarza sie w petli po zaznaczeniu "ptaszka"...
_________________
www.14d40.pl - Sklep Miłośnika Kolei
www.trainzmarket.com - Dodatki do Trainz
Żadnej roboty nie wezmę, nie wiem, nie znam się, nie orientuję się, zarobiony jestem.
Ostatnio zmieniony przez zgred 21-05-2011, 18:04, w całości zmieniany 1 raz  
 
 
 
RBach 
Administrator
Toromistrz


Pomógł: 309 razy
Wiek: 50
Dołączył: 26 Lut 2008
Posty: 4522
Skąd: Gościcino Centralne
Wysłany: 21-05-2011, 18:12   

zgred napisał/a:
Tak to było ok...

brakowało przed World.Play.....
wpisu:
Asset meAsset = GetAsset();

Nie wiem co to i po co ale już dzięki temu funkcja PlaySound jest zadeklarowana.


Przypisuje zmiennej meAsset obiekt, którego dotyczy skrypt (czyli obiekt, który odpala dany skrypt). W tym przypadku ten obiekt, który ten skrypt w sobie zawiera (samego siebie).


zgred napisał/a:

Pozostał teraz problem z tym ze dzwiek nie odtwarza sie w petli po zaznaczeniu "ptaszka"...


Wprowadź zmienną boolean (true/false), zależną od ptaszka. I tą zmienną podstaw jako ostatni parametr wywołania playsound, który właśnie pętlowaniem dźwięku steruje.

Z TrainzDev Wiki:

Kod:
(Asset asset, string wave, float vol, float near, float far, GameObject target, string pt, bool loop)



czyli


Kod:
World.PlaySound(meAsset, "e_petla.wav", 5000.0f, 2.0f, 800.0f, me, "",zmiennazaleznaodptaszka);
_________________
Moje dodatki
Instrukcje kolejowe
KUID:263713
Aktualny release skryptów sygnalizacji:
v5.6:26.12.2025
 
 
zgred
znawca
freelancer


Pomógł: 25 razy
Wiek: 34
Dołączył: 19 Lut 2008
Posty: 1328
Skąd: Wrocław
Wysłany: 21-05-2011, 18:27   

dodałem, a raczej wpisałem zmienną bool 'en' na końcu.

Teraz dźwięk jest w petli po zaznaczeniu ptaszka ale po jego odznaczeniu dźwięk dalej działa w pętli...
_________________
www.14d40.pl - Sklep Miłośnika Kolei
www.trainzmarket.com - Dodatki do Trainz
Żadnej roboty nie wezmę, nie wiem, nie znam się, nie orientuję się, zarobiony jestem.
 
 
 
RBach 
Administrator
Toromistrz


Pomógł: 309 razy
Wiek: 50
Dołączył: 26 Lut 2008
Posty: 4522
Skąd: Gościcino Centralne
Wysłany: 21-05-2011, 22:46   

zgred napisał/a:
dodałem, a raczej wpisałem zmienną bool 'en' na końcu.

Teraz dźwięk jest w petli po zaznaczeniu ptaszka ale po jego odznaczeniu dźwięk dalej działa w pętli...


To przepatrz kod, czy przypadkiem nie zginęło gdzieś przypisanie zmiennapętlowa=false. Teraz prawdopodobnie jest tak, że jak zaptaszczysz, to zmienna dostaje TRUE, ale jak odptaszczysz - to nie dostaje FALSE. Druga możliwość to taka, że funkcja playsound się "zapamiętuje" i nadanie zmiennej FALSE nie zatrzymuje pętli. W tym wypadku trzeba dojśc, jak zatrzymać odtwarzanie - możesz spróbować np wywołać jeszcze raz playsound ale ze zmiennapetlowa=false (można tez wywołać bezpośrednio z true albo false):

czyli:
Kod:

if zaptaszczone
   {
    playsound(wszystkie_inne_parametry,TRUE);
    }
else
   {
    playsound(wszystkie_inne_parametry,FALSE);
   }
;
_________________
Moje dodatki
Instrukcje kolejowe
KUID:263713
Aktualny release skryptów sygnalizacji:
v5.6:26.12.2025
Ostatnio zmieniony przez RBach 21-05-2011, 22:47, w całości zmieniany 1 raz  
 
 
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