←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Długość trwania display fade

  • +
  • -
SeeK's Photo SeeK 09.09.2014

Jak zrobić, aby fade trwał 30 sekund?

stock displayFade(id, duration, holdtime, fadetype, red, green, blue, alpha) {
	if( !is_user_alive(id) )
		return;

	message_begin(MSG_ONE, get_user_msgid("ScreenFade"), _, id);
	write_short(duration); // czas zanikania
	write_short(holdtime); // czas wyświetlania
	write_short(fadetype);
	write_byte(red);
	write_byte(green);
	write_byte(blue);
	write_byte(alpha); // przezroczystość
	message_end();
}

Coś takiego niestety nie działa:

displayFade(id, 2*(1<<12), 30*(1<<12), 1<<16, 0, 0, 0, 255);

Dorwałem temat: http://amxx.pl/topic...ć-czas-trwania/

Teraz pytanie, jak zrobić to o czym pisał GwynBleidD? "Screenfade można ustawić na nigdy nie wygasający, a następnie po 80 sekundach rozpocząć fadeout drugim screenfade."


Edited by SeeK, 09.09.2014 02:47.
Quote

  • +
  • -
GwynBleidD's Photo GwynBleidD 09.09.2014

https://wiki.alliedm...ents#ScreenFade

 

Ustaw parametr fadetype na 4 (ewentualnie 1<<3 żeby było czytelniej), nie wiem skąd Ci tam się 1<<16 wzięło, skoro flagi się kończą na 3 bicie...

 

Poza tym parametr holdtime jest poza zakresem, maksymalna jego wartość to 32767, u Ciebie wychodzi po przeliczeniu 122880.

 

 

Quote

  • +
  • -
GwynBleidD's Photo GwynBleidD 09.09.2014

Nie.

 

Spróbuj ustawić czas dłuższy, niż 8 sekund używając twojego ScreenFade :)


sharkowy (09.09.2014 10:01):
Nigdy nie próbowałem na tyle ustawiać ;P
Quote

  • +
  • -
Puchate's Photo Puchate 09.09.2014

https://wiki.alliedm...ents#ScreenFade

 

Ustaw parametr fadetype na 4 (ewentualnie 1<<3 żeby było czytelniej), nie wiem skąd Ci tam się 1<<16 wzięło, skoro flagi się kończą na 3 bicie...

 

Poza tym parametr holdtime jest poza zakresem, maksymalna jego wartość to 32767, u Ciebie wychodzi po przeliczeniu 122880.

Nie jest to dobry pomysl na wykonanie czegos takiego. Takie screenfade bardzo latwo jest ominac po stronie gracza.

 

Jednym sensownym sposobem jest wysylanie co sekunde nowego screenfade.

Quote

  • +
  • -
SeeK's Photo SeeK 10.09.2014

Tak też ostatecznie postanowiłem zrobić. Wysyłam po prostu fadea co sekundę.
Quote

  • +
  • -
Puchate's Photo Puchate 10.09.2014

 

Tak też ostatecznie postanowiłem zrobić. Wysyłam po prostu fadea co sekundę. 
 
 

Polecam zrobil "nakladke" nawet na 0.1 sekundy aby graczom ekran nie migal ;)

Quote

  • +
  • -
GwynBleidD's Photo GwynBleidD 10.09.2014

Przy ustawieniu fadetype na 4 nie powinien mrugać. no chyba, że ktoś próbuje to obejść.
Quote