Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

[ROZWIĄZANE] Jak przedłużyć Message Screen Shake?


Najlepsza odpowiedź K!113r, 16.05.2013 21:33

wszystko można zrobić taskiem i usuwaniem taska (dodatkowo wiadomością o efekcie zerowym, czyli usuwającą w tym wypadku screenshake)

Przejdź do postu


  • Zamknięty Temat jest zamknięty
3 odpowiedzi w tym temacie

#1 Niide

    *** it I'm done

  • Użytkownik

Reputacja: 86
Zaawansowany

  • Postów:216
  • Imię:Paweł
  • Lokalizacja:Holandia
Offline

Napisano 16.05.2013 20:56

Cześć. Mam takie nietypowe pytanko. Jak przedłużyć message Screen Shake?

public pijany(id)
{
	if(is_user_alive(id))
	{
		new gmsgShake = get_user_msgid("ScreenShake");
		message_begin(MSG_ONE, gmsgShake, {0,0,0}, id);
		write_short(255 << 14);
		write_short(10 << 14);
		write_short(255 << 14);
		message_end();
		set_task(10.0, "pijany", id+66, _, _, "b");
	}
}

Zrobiłem coś takiego ale po jednym razie się wyłącza i nie działa już następnym...

 

Czy dałoby się to także zrobić tak, że będzie nam się ekran trząsł aż do wyłączenia tego poprzez menu czy też innym sposobem? I czy dało by się to przerobić na takie bardziej kołysanie ekranem jak gdyby by się było pijanym?


Użytkownik Niide edytował ten post 16.05.2013 20:57

  • +
  • -
  • 0

kP8HWV.png


#2 K!113r

    Teraz to chyba Sławek kek

  • Power User

Reputacja: 387
Wszechpomocny

  • Postów:868
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Piotrków Tryb.
Offline

Napisano 16.05.2013 21:33   Najlepsza odpowiedź

wszystko można zrobić taskiem i usuwaniem taska (dodatkowo wiadomością o efekcie zerowym, czyli usuwającą w tym wypadku screenshake)


  • +
  • -
  • 1

DarkGL to mój autorytet.

skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować


#3 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

  • Postów:5 411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 16.05.2013 21:40

#define bitfloatvalue(%1) floatround((%1)*(1<<12))

public TrzesEkranem(id, Float:ampli, Float:dur, Float:freq) {
if(is_user_alive(id)) {
static gmsgShake;
if(!gmsgShake) gmsgShake = get_user_msgid("ScreenShake");
message_begin(MSG_ONE_UNRELIABLE, gmsgShake, _, id);
write_short(bitfloatvalue(ampli));
write_short(bitfloatvalue(dur));
write_short(bitfloatvalue(freq));
message_end();
}
}

I kombinuj z różnymi wartościami, szczególnie z tymi poniżej 1.
  • +
  • -
  • 1

Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo


#4 Niide

    *** it I'm done

  • Autor tematu
  • Użytkownik

Reputacja: 86
Zaawansowany

  • Postów:216
  • Imię:Paweł
  • Lokalizacja:Holandia
Offline

Napisano 16.05.2013 21:50

Dzięki wam :) Sebul, Twojego rozwiązania nie próbowałem, bo rozwiązanie Killera działa poprawnie. O coś takiego mi nawet chodziło. Obaj otrzymujecie plusiki :P

 

Jeżeli kogoś ciekawi jak to zrobiłem to tak:

public pijany(id)
{
	if(is_user_alive(id))
	{	
		set_task(4.0, "pijany_off", id);
		
		new gmsgShake = get_user_msgid("ScreenShake");
		message_begin(MSG_ONE, gmsgShake, {0,0,0}, id);
		write_short(255 << 14);
		write_short(10 << 14);
		write_short(255 << 14);
		message_end();
	}
	
}

public pijany_off(id)
{
	new gmsgShake = get_user_msgid("ScreenShake");
	message_begin(MSG_ONE, gmsgShake, {0,0,0}, id);
	write_short(0);
	write_short(0);
	write_short(0);
	message_end();
	
	pijany(id);
}

Może się komuś przyda moje rozwiązanie.


  • +
  • -
  • 0

kP8HWV.png





Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych