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

Dynamiczny HUD


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
11 odpowiedzi w tym temacie

#1 R3X

    Godlike

  • Przyjaciel

Reputacja: 2 987
Godlike

  • Postów:4 248
  • Lokalizacja:Nie
Offline

Napisano 24.08.2010 22:55

*
Popularny

Dynamiczny HUD
dHUD.inc
v.1.03

Temat w budowie, stworzenie dokumentacji potrwa pewnie dłużej niż pisanie kodu :P
Tymczasem angielski opis wszystkich funkcji można znaleźć w pliku .inc

Dołączona grafikaDemonstracja

Eksperymentalna biblioteka do tworzenia różnych efektów na wiadomościach HUD. Jej głównym (lecz nie jedynym) zadaniem jest zautomatyzowanie ruchu i zmian koloru wyświetlanych komunikatów.



Plugin udostępnia szereg funkcji do pracy z efektami. Podstawowe operacje odbywają się na pojedynczych klatkach animacji, jak we flashu. Tak też wyświetlana jest wiadomość - klatka po klatce - zastąpienie napisu jego kopią w innym miejscu czy kolorze stworzy wrażenie ruchu i przekształceń kolorystycznych.

Download



Instalacja
Plik dHUD.sma należy skompilować i zainstalować na serwerze. Plugin korzystający z efektów skompiluje się wyłącznie lokalnie z dostępem do dHUD.inc.


Interfejs

Wszystkie udostępniane funkcje mają prefiks DHUD_*.

Pierwsze co trzeba zrobić to stworzyć 'obiekt' dhud. DHUD_create() zwraca uchwyt, którego używa się z pozostałymi funkcjami. Można utworzyć kopię istniejącego obiektu przez podanie jego uchwytu DHUD_create(dhud) [działa to podobnie jak konstruktor kopiujący w językach obiektowych].


Animację możemy zaprojektować manualnie przypisując właściwości każdej klatce z osobna (dHUD_test -> dhud) lub użyć filtrów (dHUD_test -> dhud3).

  • klatka po klatce
Wystarczy kilka wywołań DHUD_setFrame, każde przypisze kolor i położenie napisu tworząc animację

DHUD_setFrame(dhud, frame, iColor[3], Float:x, Float:y, iLen = 1);
dhud - uchwyt
frame - numer klatki, zaczynają się od 0, w przypadku numeru większego niż liczba dostępnych akurat klatek animacja zostaje wypełniona pustymi klatkami aż do podanego rozmiaru
iColor[3] - kolor napisu
x, y, - położenie napisu
iLen - długość klatki; w miejsce dwóch identycznych klatek z iLen=1 można dać jedną z iLen=2




  • filtry

Filtry służą do przetwarzania kilku klatek zgodnie z danym algorytmem.

DHUD_applyFilter(dhud, const szFilter[], startFrame, endFrame, Float:dx=D_LONG, Float:dy=D_ZERO, any:...)
dhud - uchwyt
szFilter[] - nazwa filtra, lista dostępnych jest drukowana po użyciu komendy "dhud info" przez admina z flagą od konfiguracji (H)
startFrame, endFrame - przedział klatek
dx, dy - przyrost wartości x i y, przydatne w funkcjach, funkcja realizująca filtr otrzymuje współrzędne x i y, z których może wyliczyć nowe położenie (przykład z sinusem w dHUD_test), każda ramka dostaje wartości x<poprzedniej ramki> + dx i y<poprzedniej ramki> + dy
any:.. dodatkowe parametry filtrów, opisane także w "dhud info"



Dwoma podstawowymi filtrami dHUD są SetPosition i SetColor. Dzięki nim, możemy ustawić kolor i położenie w wielu klatkach jednocześnie.

SetPosition ustawia podaną pozycję wszystkim klatkom z zakresu startFrame-endFrame
SetColor ustawia podany kolor wszystkim klatkom z zakresu startFrame-endFrame

Ten kod ustawi dhud długości 50 klatek w pozycji 0.5 0.5 w kolorze białym (255, 255, 255)
DHUD_setFrame(dhud, 50, {0,0,0}, 0.0, 0.0);
DHUD_applyFilter(dhud, "SetPosition", 0, 50, D_ZERO, D_ZERO, 0.5, 0.5);
DHUD_applyFilter(dhud, "SetColor", 0, 50, D_ZERO, D_ZERO, 255, 255, 255);



Jak już zbudujemy animację nadejdzie mement na wyświetlenie jej graczowi:
DHUD_display(id, dhud, Float:fInterval = 0.1, channel = 4, const szMessage[], any:...)
id - id gracza lub 0 - do wszystkich
dhud - uchwyt
fInterval - długość trwania klatki w sekundach; czas od pokazania pewnej ramki do następnej mnożony przez wartość iLen klatki
channel - kanał HUD, 1-4
szMessage[], ... - wiadomość; można użyć ciągów formatujących; %L + LANG_PLAYER z id = 0 niestety nie zadziała! może w przyszłym wydaniu


Forward
W momencie zakończenia animacji wykonywany jest forward
forward fwStopAnimation(id, dhud, bool:finished);

czyli w pluginie można dopisać publiczną funkcję, która zareaguje na to zdarzenie
public fwStopAnimation(id, dhud, bool:finished){}

parametr finished jest ustawiany na true, kiedy animacja zostanie zakończona zgodnie z planem i false jeśli zostanie zatrzymana/zastąpiona nową


Historia

1.03
- poprawione: rejestrowanie filtrów z parametrami w zewnętrznych pluginach

1.02
- poprawione: pierwsza ramka wyświetlana bez opóźnienia
- poprawione: forward wykonywany dokładnie w momencie końca animacji (a nie po puszczeniu ostatniej klatki)
- dodane: ustawienie iLen na 0 usuwa klatkę z animacji
- dodane: stock DHUD_removeFrames
- dodane: stock DHUD_removeAllFrames

1.01
- poprawa interfejsu
- dodane: czyszczenie nieużywanych tablic Array:
- dodane: forward onStopAnimation
- dodane: komenda "dhud info"

1.0
- pierwsza, nie publikowana szerzej wersja
  • +
  • -
  • 37

#2 Dudix

    Zaawansowany

  • Użytkownik

Reputacja: 28
Życzliwy

  • Postów:101
  • Steam:steam
  • Imię:Kamil
  • Lokalizacja:Internet
Offline

Napisano 24.08.2010 23:52

Najs :) Kawał dobrej, solidnej roboty ;) + dla Ciebie i jeszcze dzisiaj sprobuje wytestowac :)
  • +
  • -
  • 0

#3 G[o]Q

    I'm G[o]Q

  • Przyjaciel

Reputacja: 1 344
Godlike

  • Postów:3 563
  • Steam:steam
  • Imię:Krzysiek
  • Lokalizacja:C: / program Files / Valve / Cstrike / G[o]Q.dem
Offline

Napisano 25.08.2010 00:09

Moje pierwsze wrazenia juz znasz hehe

ale pomysl jak juz pisalem ciekawy :D
  • +
  • -
  • 0
Manual ponad wszystko, konsola ponad manual :D :&

Chcesz wysłać do mnie PW ? użyj nazwy GoQ zamiast G[o]Q
Chcesz Kupić moduł płatności via Pukawka,Tserwery, Gamesol, Zabijaka do mojego sklepu? napisz PW cena to tylko 10 zł/sztuka

GG:6022845 (nie pomagam za free osobom ponizej rangi MoD) :D

#4 Dudix

    Zaawansowany

  • Użytkownik

Reputacja: 28
Życzliwy

  • Postów:101
  • Steam:steam
  • Imię:Kamil
  • Lokalizacja:Internet
Offline

Napisano 25.08.2010 00:28

Testowalismy i musze przyznac, ze nie wyobrazalem sobie, ze to bedzie mialo tak ogromne i ciekawe mozliwosci ;) Juz mam kilka pomyslow co dzięki temu zrobic ;)
Goraco polecam!
  • +
  • -
  • 0

#5 R3X

    Godlike

  • Autor tematu
  • Przyjaciel

Reputacja: 2 987
Godlike

  • Postów:4 248
  • Lokalizacja:Nie
Offline

Napisano 25.08.2010 00:53

:)

Nagrałem niskiej jakości film z testowego pluginu, który po konwersji na używany przez YT flv robi się całkiem paskudny :o Wrzucam .avi

Załączone pliki


  • +
  • -
  • 0

#6 hardbot

    Banned

  • Zbanowany

Reputacja: 0
Nowy

  • Postów:3 049
Offline

Napisano 25.08.2010 10:35

hahah Najs Najs Najs :) Dużo dobrej robótki.

#7 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 553
Godlike

  • Postów:11 976
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 25.08.2010 12:15

download celltrie prosze
  • +
  • -
  • 0

#8 G[o]Q

    I'm G[o]Q

  • Przyjaciel

Reputacja: 1 344
Godlike

  • Postów:3 563
  • Steam:steam
  • Imię:Krzysiek
  • Lokalizacja:C: / program Files / Valve / Cstrike / G[o]Q.dem
Offline

Napisano 25.08.2010 13:05

przeciez celltrie juz masz w s.../include :D

Załączone pliki


  • +
  • -
  • 0
Manual ponad wszystko, konsola ponad manual :D :&

Chcesz wysłać do mnie PW ? użyj nazwy GoQ zamiast G[o]Q
Chcesz Kupić moduł płatności via Pukawka,Tserwery, Gamesol, Zabijaka do mojego sklepu? napisz PW cena to tylko 10 zł/sztuka

GG:6022845 (nie pomagam za free osobom ponizej rangi MoD) :D

#9 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 553
Godlike

  • Postów:11 976
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 25.08.2010 14:03

własnie w tym problem że nie miałem
  • +
  • -
  • 0

#10 R3X

    Godlike

  • Autor tematu
  • Przyjaciel

Reputacja: 2 987
Godlike

  • Postów:4 248
  • Lokalizacja:Nie
Offline

Napisano 29.08.2010 14:38

No to zapomniałem dopisać, że wymaga AMXX 1.8.x :P

Edit.
Aktualizacja kodu do v1.02 i obszerniejszy opis

Edit.
Aktualizacja kodu do v1.03, naprawiłem spory błąd przy rejestrowaniu filtrów w innych pluginach
  • +
  • -
  • 0

#11 BlackMatt

    Nowy

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:8
  • Lokalizacja:Łódzkie :)
Offline

Napisano 28.03.2013 20:43

Można zmienić w jakiś sposób wielkość czcionki?
  • +
  • -
  • 0

#12 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 28.03.2013 22:49

Musisz sobie edytować pliki klienta, czyli samodzielnie. A jak z poziomu serwera zrobić to u wszystkich? Na szczęście się tego tutaj nie dowiesz.
  • +
  • -
  • 0

DarkGL to mój autorytet.

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





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

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