Skocz do zawartości

Powtórz dźwięk RAZ, Wrogowie krzyczą.


Ryuq666

Rekomendowane odpowiedzi

Witajcie :D

 

Pierwszy Głupi problem, mam skrypt:

 

[

GML
if in_sight=1

{

sound_play(radio_widzewroga1)

}

 

Po użyciu  tego skryptu kiedy wróg mnie widzi zamiast "Vrag Pyatnistaya!" słyszę "KRZRZYZRYZYSYRZYRYYZYYRYZYZ!!!!".

 

Dźwięk powtarza się Non Stop, w nieskończoność i wychodzi trzask. Jak zrobić aby ten "skrypt" powtarzał dźwięk Raz i ani razu więcej?

 

 

 

 

Drugi głupi problem:

 

Mam obiekt obj_granat_odl

 

Chce żeby moi kochani rosyjscy przeciwnicy krzyczeli "Granat, gleba!" czyli żeby został odtworzony dźwięk "radio_granat1" ?

 

Oczywiście, aby krzyczeli tylko ci soldaci którzy są w pobliżu granatu i żeby nie krzyczało 10 na raz.

 

Z tym ostatnim to już w ogóle nie wiem jak sobie poradzić, nawet kiedy jedna osoba widzi wroga, wszyscy drą się "Widzę Wroga!" a na planszy jest ok. 60 przeciwników więc jest chałas...

 

A co mam zrobić że jeśli jedna osoba powie radio_dostalem1 to żeby ten najbliżej tego który oberwał odpowiadał radio_okej1 i szedł w jego kierunku ?

 

Ciężko by było zapisać skrypt takiego "backupu" ?

Odnośnik do komentarza
Udostępnij na innych stronach

1.

GML
if in_sight=1 && zmienna=1

{

sound_play(radio_widzewroga1)

zmienna = 0

}

2.

GML
with(instance_nearest(x,y,przeciwnik))

{

sound_play(radio_granat1)

}

EDIT:

3.ranny

GML
sound_play(radio_dostalem1)

obj = instance_nearest(x,y,osoba)

obj.idzid = id

with(obj)

{

sound_play(radio_okej1)

}

kolega

GML
if idzid!=-1

{

mp_potential_step(idzid.x,idzid.y,3,1)

}

Odnośnik do komentarza
Udostępnij na innych stronach

1.

GML
if(in_sight)&&(!krzyknal) { sound_play(radio_widzewroga); krzyknal = 1 }

Oczywiście daj najpierw zmienną "krzyknal" w Create i ustaw na 0.

 

Tak samo z pozostałymi problemami, dodawaj zmienne sprawdzające, czy gość powiedział coś przez radio itd.

Odnośnik do komentarza
Udostępnij na innych stronach

zle do tego podchodzicie. takie rzeczy jak manager dzwiekow powinienm byc globalnym obiektem, czyli dajesz obiekt SoundManager do rooma, w tym obiekcie wykonujesz sobie polecenia obslugi dzwiekow, ktore wysylasz do obiektu z innych obiektow poprzez usereventy, w tym obiekcie sound managera sprawdzasz zmiennymi, czy dany dzwiek jest odtwarzany, jak tak, to zwiekszasz glosnosc, jak nie, to go odtwarzasz, ewentualnie sprawdzasz tez, czy roznica czasu, pomiedzy odtwarzanym obecne dzwekiem, a aktualna chwila jest wieksza niz iles milisekund i jesli tak, to odpalasz kolejny dzwiek, sciszajac nieco glosnosc wszystkich juz odtwarzanych. w ten sposob nie bedzie skrzeczenia.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...