Czy wiesz, że... możesz podsyłać newsy, artykuły, pliki i zdjęcia?
Strona główna forum Szukaj Rejestracja
Witaj, nieznajomy!
Poprzedni 1 Następny
Postów: 13 Dołączył: 2011-12-07
#
Witam.
Jako, że tworzę mod w stylu Resident Evil, to tym razem chciałbym dodać zmieniającą się muzykę podczas gry. Na zewnątrz powinny się powtarzać 3 utwory, a w kryjówce (dom z zapisem) - 1, inny utwór. W modzie w 3 miejscach dodałem bossów, więc bardzo zależy mi na tym, żeby po zbliżeniu się do któregoś z nich muzyka przestała grać (bo każdy z tych boss'ów ma swój unikalny utwór podczas walki). Podaję ich współrzędne:

1. 287.6322 1839.766 7.72656
2. 1764.887 -2282.461 26.79602
3. -1930.182 644.7468 46.5625

Taki skrypt jest możliwy?
Postów: 52 Dołączył: 2012-11-18
#
Podpinam się pod prośbę. Jak będzie wyglądał skrypt na muzykę płynącą z danego modelu? na bank da się to zrobić, w gta 3 muzyka leciała 24/7 gdy podszeszło się do jednego z kilku ciemnoczerwonych bloków nieopodal naszej pierwszej kryjówki.
Postów: 109 Dołączył: 2009-04-25
#
Ja bym zrobił to tak:

Kod:


:petla
wait 
1
if
    
00EC:   actor $PLAYER_ACTOR 0 near_point 287.6322 1839.766 radius 20.0 20.0 
jf 
@petla
018E: stop_sound 1@ 


:petla2
wait 
1
if
    
00EC:   actor $PLAYER_ACTOR 0 near_point 1764.887 -2282.461 radius 20.0 20.0 
jf 
@petla2
018E: stop_sound 1@

:petla3
wait 
1
if
    
00EC:   actor $PLAYER_ACTOR 0 near_point -1930.182 644.7468 radius 20.0 20.0 
jf 
@petla3
018E: stop_sound 1@

//DALSZY KOD



zaratustra napisał(a):
Jak będzie wyglądał skrypt na muzykę płynącą z danego modelu? na bank da się to zrobić


Według mnie, nie da się tak zrobić aby muzyka leciała z modelu. Ja zrobiłbym to za pomocą 00EC i 018C.
Postów: 52 Dołączył: 2012-11-18
#
źle się wyraziłem, chodziło mi o właśnie obszar w koło modelu, czyli po prostu radius w okół współrzędnych. a czy dźwięk będzie zanikał w miarę oddalania? czy zniknie całkowicie, gdy postawimy krok za daleko?
Postów: 109 Dołączył: 2009-04-25
#
zaratustra napisał(a):
czy dźwięk będzie zanikał w miarę oddalania? czy zniknie całkowicie, gdy postawimy krok za daleko?


Tego nie wiem, wydaje mi się, że nie.
Postów: 628 Dołączył: 2009-01-22
#
To tylko albo domyślne dźwięki z SA, albo CLEO4 i audiostreamy 3d.

___________________
Moderator
http://i.imgur.com/Abvv63y
Śledź mój kanał Twitter by być na bieżąco ze wszystkimi aktualizacjami moich modów!
Postów: 52 Dołączył: 2012-11-18
#
W moim przypadku chodzi o to,żeby w miarę zbliżania się do danego punktu, zgłaśniała się muzyka. Zależy mi na tym, żeby owe dźwięki były czerpane z jakiegoś pliku, niekoniecznie mp3, jakiegokolwiek. chciałbym zrobić takie miejsce (halę) z głośnikami itp, gdzie non stop leciałaby muzyka, stałby ped za konsoletą itp.. chciałbym jednak żeby nie był to interior, tylko na zewnątrz, pod namiotem..
Postów: 878 Dołączył: 2009-01-20
#
Skorzystaj z odtwarzania plików MP3 w CLEO. Sprawdzaj, jak blisko jest gracz od obiektu i ustawiaj odpowiednio głośność:
Kod:
0ABC: set_audiostream $hMP3 volume 0@


Reszta funkcji związanych z MP3:
http://www.gta-mods.pl/baza-opcodow/szukaj?search=mp3

___________________
Administrator
Postów: 628 Dołączył: 2009-01-22
#
Lepiej użyć audiostreamów 3d, je da się podstawić pod obiekt lub współrzędne.

___________________
Moderator
http://i.imgur.com/Abvv63y
Śledź mój kanał Twitter by być na bieżąco ze wszystkimi aktualizacjami moich modów!
Postów: 13 Dołączył: 2011-12-07
#
To może ja odświeżę moje pytanie - jak zrobić, żeby we wszystkich domach do zapisywania odtwarzał się ciągle 1 utwór? Sorry, ale jestem zielony, jeśli chodzi o tworzenie skryptów od podstaw.
Postów: 13 Dołączył: 2011-12-07
#
Odświeżam i przy okazji dodaję skrypt, który próbowałem zrobić. Zrobiłem to tak, żeby mp3 odtwarzało się w domu CJ'a na GS. No i jak załaduję zapis w tym domu, to słychać muzykę, ale jednocześnie wyskakuje błąd gta_sa.exe. Co trzeba poprawić, albo dodać?

Kod:
{$VERSION 3.1.0027}
{$CLEO .cs}

//-------------MAIN---------------
0000: NOP 

:NONAME_2
wait 250 
if 
   Player.Defined(0)
if 
00FE:   actor $PLAYER_ACTOR sphere 0 in_sphere 2495.996 -1699.918 1014.742 radius 50.0 50.0 40.0 
0AAC: $HMP3 = load_mp3 "CLEO\MUSIC\SAVEROOM.MP3" 
0AAD: set_mp3 0@ perform_action 1 
if 
   Player.Defined(0)
00F2:   actor $PLAYER_ACTOR near_actor 0 radius 60.0 60.0 50.0 
0AAD: set_mp3 0@ perform_action 0 
jump @NONAME_2


Wiem, że jest prymitywny, ale sklejałem to z kilku innych skryptów. Mam jeszcze pytanie, jak zmniejszyć głośność odtwarzanego mp3?
Postów: 878 Dołączył: 2009-01-20
#
To cud, że w ogóle było słychać tę muzykę.

1. Nie używaj zmiennych globalnych w CLEO.
2. Strasznie nieczytelnie skonstruowałeś te warunki.
3. Twój kod ładuje i odtwarza plik MP3 w kółko - bezsensu.
4. Kod SCM dawaj w znacznik BBcode scm.

Tutaj poprawiony kod, który powinien działać, przeanalizuj sobie go:

Kod:
{$CLEO .cs}

1@ = 0 // Flaga do odtwarzania/pauzowania dźwięku


:isPlayerDefined
wait 
0
if 
  
Player.Defined(0)
jf 
@isPlayerDefined

0AAC: 0@ = load_mp3 "CLEO\MUSIC\SAVEROOM.MP3" 

:isActorInArea
wait 
0
if 
  
00FE:   actor $PLAYER_ACTOR sphere 0 in_sphere 2495.996 -1699.918 1014.742 radius 50.0 50.0 40.0
jf 
@stopMusic

// Jeżeli MP3 nie jest odtwarzane, to dajemy play, a jeżeli jest, to nic nie robimy

if
  
1@ == 0
then
  
0AAD: set_mp3 0@ perform_action 1
end
jump @isActorInArea

:stopMusic
if
  
1@ == 1
then
  
0AAD: set_mp3 0@ perform_action 0
end

jump @isActorInArea

___________________
Administrator
Postów: 13 Dołączył: 2011-12-07
#
Dziękuję za pomoc i rady, działa elegancko. Tylko, że efekt jest inny od zamierzonego, ponieważ muzyka odtwarza się na zewnątrz, a chciałem aby była w domu CJ'a. Następna sprawa to to, że właśnie zależy mi na tym, żeby mp3 odtwarzało się cały czas. No i czy da się ją zciszyć którymś z tych opcodów?

Kod:
0ABB 0@ = audiostream $hMP3 volume

Kod:
0ABC set_audiostream $hMP3 volume 0@


Postów: 878 Dołączył: 2009-01-20
#
Opisy są w bazie opcodów. Pierwszy odczytuje bieżący poziom głośności, a drugi ustawia na podany.

Zapomniałem poustawiać flagi 1@.

Kod:
{$CLEO .cs}

1@ = 0 // Flaga do odtwarzania/pauzowania dźwięku


:isPlayerDefined
wait  
0
if 
   
Player.Defined(0)
jf  
@isPlayerDefined

0AAC: 0@ = load_mp3 "CLEO\MUSIC\SAVEROOM.MP3" 

:isActorInArea
wait  
0
if 
   
00FE:   actor $PLAYER_ACTOR sphere 0 in_sphere 2495.996 -1699.918 1014.742 radius 50.0 50.0 40.0
jf  
@stopMusic

// Jeżeli MP3 nie jest odtwarzane,  to  dajemy play, a jeżeli jest,  to  nic nie robimy

if
   
1@ == 0
then
   
0AAD: set_mp3 0@ perform_action 1
   1@ = 1
end
jump @isActorInArea

:stopMusic
if
   
1@ == 1
then
   
0AAD: set_mp3 0@ perform_action 0
   1@ = 0
end

jump @isActorInArea

___________________
Administrator
Postów: 628 Dołączył: 2009-01-22
#
Pierwsze sprawdzenie (Player.Defined) i inicjalizacja wartości flagi 1@ na 0 są tu zbędne.

___________________
Moderator
http://i.imgur.com/Abvv63y
Śledź mój kanał Twitter by być na bieżąco ze wszystkimi aktualizacjami moich modów!
Poprzedni 1 Następny
Zaloguj się lub zarejestruj się, żeby pisać na forum.
Created & Powered by MakG