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] ScreenFade - jak dokładnie ustawić czas trwania?


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

#1 venom1324

    Życzliwy

  • Użytkownik

Reputacja: -7
Nowy

  • Postów:20
  • Imię:Czolikanus
  • Lokalizacja:Chiny
Offline

Napisano 30.05.2013 01:05

Witam, mam pytanie. Jak dokładnie ustawić czas trwania ScreenFade? Chcę tak, aby Hold time trwał 80 sekund, a na operacjach bitowych mi to nie wychodzi, proszę o pomoc.

 

    message_begin( MSG_ONE, g_msg_screenfade,{0,0,0},id )
    write_short( 1<<15)    // Duration of fadeout
    write_short( 1<<13)    // Hold time of color - Tutaj ma być 80 s, ale nie wiem jak to zrobić ;/
    write_short( 1<<12 )    // Fade type
    write_byte ( random_num(0,255 ))        // Red
    write_byte ( random_num(0,255 ))        // Green
    write_byte ( random_num(0,255 ))        // Blue
    write_byte ( 255 )    // Alpha
    message_end()
}


Użytkownik venom1324 edytował ten post 30.05.2013 01:07

  • +
  • -
  • 0

#2 radim

    Godlike

  • Moderator

Reputacja: 939
Master

  • Postów:2 725
  • Steam:steam
  • Imię:Arkadiusz
  • Lokalizacja:Janów Lub.
Offline

Napisano 30.05.2013 09:07

1<<12 == 1 sekunda
2 sekundy to 2*(1<<12) = 1<<13
3 sekundy to 3*(1<<12)
4 sekundy to 4*(1<<12) = 1<<14

Lub zajrzyj tu: 
http://darkgl.amxx.p...-ekranu-gracza/ ; ))


  • +
  • -
  • 0

Chcąc napisać do mnie prywatną wiadomość, wpierw zapoznaj się ze stroną "O mnie" w moim profilu użytkownika [ radim ] !


#3 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

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

Napisano 30.05.2013 10:00

A najlepiej zrobić coś takiego
#define bitfloatvalue(%1) floatround((%1)*(1<<12))

a potem używamy tego tak
bitfloatvalue(1.0) // 1 sekunda
bitfloatvalue(0.5) // pół sekundy
// itd.

  • +
  • -
  • 0

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


#4 Gość_21977_*

  • Gość

Reputacja: 0

Offline

Napisano 30.05.2013 12:16


write_short( 1<<13)    // Hold time of color - Tutaj ma być 80 s, ale nie wiem jak to zrobić ;/

 

Dobrze myślisz. Jednakże, HoldTime to short int, a więc przyjmuje maksymalną wartość 32767.

 

Innymi słowy, jesteś w stanie za pomocą jednej wiadomości zakryć ekran na maksymalnie 32767/1!12 = ~5 sekund.

Aby osiągnąć dłuższy efekt, musisz wysłać wiadomość kilkukrotnie, tutaj aż kładnia się funkcja set_task z flagą "a".

 

Problem, pamiętam, był już kiedyś poruszany na AMXX.pl, musisz dobrze poszukać albo pobawić się z funkcjami czasowymi.



#5 GwynBleidD

    Godlike

  • Przyjaciel

Reputacja: 1 869
Godlike

  • Postów:3 066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 30.05.2013 14:24

Wystarczy użyć dwukrotnie ;) Screenfade można ustawić na nigdy nie wygasający, a następnie po 80 sekundach rozpocząć fadeout drugim screenfade.


  • +
  • -
  • 0

NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
 
1988650.png?theme=dark


#6 venom1324

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: -7
Nowy

  • Postów:20
  • Imię:Czolikanus
  • Lokalizacja:Chiny
Offline

Napisano 30.05.2013 18:30

 


write_short( 1<<13)    // Hold time of color - Tutaj ma być 80 s, ale nie wiem jak to zrobić ;/

 

Dobrze myślisz. Jednakże, HoldTime to short int, a więc przyjmuje maksymalną wartość 32767.

 

Innymi słowy, jesteś w stanie za pomocą jednej wiadomości zakryć ekran na maksymalnie 32767/1!12 = ~5 sekund.

Aby osiągnąć dłuższy efekt, musisz wysłać wiadomość kilkukrotnie, tutaj aż kładnia się funkcja set_task z flagą "a".

 

Problem, pamiętam, był już kiedyś poruszany na AMXX.pl, musisz dobrze poszukać albo pobawić się z funkcjami czasowymi.

 

Ok, dzięki, zrobiłem z set_taskiem. Do zamknięcia.


  • +
  • -
  • 0

#7 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

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

Napisano 30.05.2013 19:26

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, report.png raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 0

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





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

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