Odtwarzanie losowej muzyki w menu głównym 2402 5

O temacie

Autor Zucklov

Zaczęty 19.01.2014 roku

Wyświetleń 2402

Odpowiedzi 5

Zucklov

Zucklov

Quest Pack Team
Sztywniutko
posty1220
Propsy1241
ProfesjaSkrypter
  • Quest Pack Team
  • Sztywniutko
Otóż ostatnio pomyślałem sobie, że może bym w menu głównym dodał randomowe odtwarzanie utworów. Tak więc zdefiniowałem parę utworów w MusicInst.d i przeszedłem do Menu_Main.d i zdefiniowałem randomizer. Całość wygląda tak:
// *********************************************************************
// main menu (startup)
// *********************************************************************

INSTANCE MENU_MAIN(C_MENU_DEF)
{
backpic = MENU_BACK_PIC;

var int musicmenu;
musicmenu = Hlp_Random (10);
if (musicmenu < 5)
{
musictheme = "SYS_Menu";
}
else if (musicmenu < 10)
{
musictheme = "SYS_Menu1";
};
//RESZTA SKRYPTU
Jednak w czasie parsowania pojawił się błąd "undefined function Hlp_Random" (czego się w sumie spodziewałem). Funkcja randomizera jest wbudowana od początku w Gothica i jest zdefiniowana oraz błąd leży na 90% w kolejności parsowania, dlatego moje pytanie brzmi raczej: czy i jak da się zmienić kolejność parsowania, by randomizer był przed menu?
 
Lieb Vaterland magst ruhig sein

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja
Funkcje w menu a skrypty gry Gothica są rozdzielone i "się nie widzą". Nie można za pomocą samych skryptów wywołać funkcji z jednego "pakietu" w drugim.

inż. Avallach

inż. Avallach

Administrator
posty7661
Propsy5239
NagrodyV
ProfesjaProgramista
  • Administrator
Nie chodzi o kolejność parsowania. Skrypty są podzielone na kilka odrębnych paczek, z których każda jest przetwarzana przez odrębny parser. Każdy z nich ma trochę inną funkcjonalność, m.in. parser skryptów menu ma dostępne inne externale niż parser skryptów rozgrywki. Nie da się zrobić tego co chcesz bez korzystania z systemu (jak g2ext czy Ikarus) który pozwoliłby na komunikację między tymi paczkami lub korzystanie z funkcji silnika lub zdefiniowanych w twojej własnej bibliotece .dll.
W menu masz dostępne tylko te funkcje zewnętrzne:
Apply_Options_Audio ()
Apply_Options_Controls  ()
Apply_Options_Game ()
Apply_Options_Performance ()
Apply_Options_Video ()
PlayVideo (var string name)
Update_ChoiceBox (var string name)

Zucklov

Zucklov

Quest Pack Team
Sztywniutko
posty1220
Propsy1241
ProfesjaSkrypter
  • Quest Pack Team
  • Sztywniutko
Dobra, chyba sobie to odpuszczę. Przy okazji, też się spytam: czy ogólnie odtwarzanie losowej muzyki np. podczas walki (jak w CZ) jest możliwe bez tworzenia komunikacji między paczkami?
 
Lieb Vaterland magst ruhig sein

Splash

Splash

Moderator
posty4209
Propsy3412
ProfesjaNierób
  • Moderator
To jest to samo co z twoim poprzednim problemem. Te dwie "paczki" to foldery content i system.
 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...
Ps. Siemekk ma downa i śpi w pufie

inż. Avallach

inż. Avallach

Administrator
posty7661
Propsy5239
NagrodyV
ProfesjaProgramista
  • Administrator
Ogólnie zmiana tematów muzycznych to straszny ból dupy. Orc w CZ rozwiązał to wywalając stary system i programując proste odtwarzanie plików .ogg korzystając z libki wstrzykiwanej Ikarusem.

Splash, z tego co kojarzę, to by nie wystarczyło. Paczka z muzyką o ile pamiętam jest czytana inaczej niż ta z menu czy rozgrywką, jednorazowo - zmiana jej zawartości i tak nie miałaby praktycznych skutków.


0 użytkowników i 1 Gość przegląda ten wątek.
0 użytkowników
Do góry