ORG

quake.net.pl » Polskie Centrum Quake od 1998 roku



Q3cpma Hud Editor nie tylko dla maluczkich.

wto, 01 styczeń 2008 14:00:01 | Autor: Xsi

Witam wszystkich!

Podczas świątecznego okresu wolnego od nauki
postanowiłem napisać drobny tutorial, który przedstawi wam w łatwy i
szybki sposób podstawowe założenia funkcjonowania SuperHuda oraz pokaże
jak za pomocą programu Q3cpma Hud Editor stworzyć swój własny układ
ikonek. Jak dobrze wiemy SuperHud to system umożliwiający nam
stworzenie huda wedle naszego gustu, napisany przez szanownego arQona i
jego drużynę odpowiedzialną za stworzenie modu CPMA. Standardowo mamy dostępnych kilka gotowych zestawów, które jednak nie każdemu mogą się podobać, z racji ich mało czytelnego wyglądu. Graczom, którzy wcześniej mieli do czynienia z modem OSP najbardziej przypadnie do gustu hud oznaczony nazwą: old. Jednak domyślam się, że mało kto używał tak dużych ikon, większość graczy przerabiała ich wygląd za pomocą opcji dostępnych w OSP.
Mam zamiar pokazać Wam jak stworzyć hud, który swoim wyglądem będzie nawiązywał do tego standardowego z OSP, a jednocześnie będzie bardziej przejrzysty i praktyczny w użytkowaniu. Po przeczytaniu całego kursu każdy z Was będzie mógł zacząć tworzyć swoje układy, lub skorzysta z tego, który zostanie przezemnie przedstawiony.
Oczywiście nie obejdzie się bez wspomnianego już programu, który ściągniemy z jego strony domowej: LINK. Wybieramy wersję odpowiednią dla naszego systemu i instalujemy, bądź rozpakowujemy program. Podczas pierwszego uruchomienia zostaniemy poproszeni o podanie ścieżki dostępu do folderu z grą, co jest operacją kluczową gdyż edytor korzysta w plików zawartych w grze do wizualizacji naszych dokonań. Od razu ustawiany jest także folder zapisu pliku cfg, który zostanie przez nas stworzony.
Cały program składa się z trzech zasadniczych części: obszaru roboczego, listy elementów oraz okna edycji.


Rys.1. Obszar roboczy.



W tym oknie wizualizowanie są wszelkie zmiany, jakie wprowadzamy w wyglądzie huda.


Rys.2. Lista elementów.



Okno to pełni rolę menedżera elementów, które mogą być przez nas użyte (bądź też nie) i zmodyfikowane.

Opis elementów:

  • !DEFAULT – w tym elemencie deklarujemy ustawienia standardowe dla wszystkich elementów znajdujących się poniżej niego na liście; może być używany kilkukrotnie podczas tworzenia huda.
  • NetGraph – doskonale wszystkim znany lagometer.
  • NetGraphPing – element wyświetlający nam opóźnienie w czasie rzeczywistym (odpowiednik cg_drawping 1 w OSP).
  • WeaponList – lista broni aktualnie posiadanych; przy odpowiednich ustawieniach pokazuje także, którą broń aktualnie używamy.
  • StatusBar_HealthIcon – ikona wyświetlana obok miernika poziomu żywotności; standardowo jest to ikona postaci Mynx, ale mamy możliwość ustawienia każdej grafiki lub modelu 3d, jaki znajdziemy w pakach gry.
  • StatusBar_HealthCount – poziom żywotności.
  • Statusbar_HealthBar – poziom żywotności w postaci paska, który dobrze znamy z Promode’a.
  • StatusBar_ArmorIcon – przydatna podczas grania w Promode’a, gdyż pokazuje rodzaj armora, jaki posiadamy, w vq3 pełni jedynie rolę dekoracji, dlatego w tym miejscu możemy użyć dowolnej grafiki lub modelu.
  • StatusBar_ArmorCount – poziom armora.
  • StatusBar_ArmorBar – poziom armora wyświetlany za pomocą paska.
  • StatusBar_AmmoIcon – ikona aktualnie używanej broni.
  • StatusBar_AmmCount – ilość amunicji.
  • StatusBar_ AmmoBar – ilość amunicji wyświetlana w postaci paska.
  • AttackerIcon – ikona przeciwnika, który nas ostatnio zaatakował.
  • AttackerName – pole wyświetlające nick przeciwnika, który nas zaatakował.
  • Console – wszelkie napisy pojawiające się w konsoli.
  • FPS – licznik FPS.
  • GameTime – licznik czasu.
  • GameType – tryb gry, w jakim aktualnie uczestniczymy.
  • WarmupInfo – informacja o rozgrzewce.
  • FollowMessage - napis informujący nas, z perspektywy którego gracza oglądamy rozgrywkę podczas „Spectowania” lub oglądania dema.
  • SpectMessage – informuje nas o tym, że znajdujemy się w trybie spectowania.
  • FragMessage – informacja o zdobyciu fraga.
  • RankMessage – informacja o pozycji, którą obecnie zajmujemy w rankingu, najczęściej wyświetlana razem z FragMessage.
  • PlayerSpeed – licznik prędkości w UPS.
  • ItemPickup – nazwa przedmiotu aktualnie podniesionego.
  • ItemPickupIcon – ikona przedmiotu aktualnie podniesionego.
  • TargetName – nick gracza wyświetlany podczas wskazania celownikiem; do poprawnego działania wymaga cg_drawCrosshairNames 1.
  • TargetStatus – ilość armora i poziom żywotności gracza naszej drużyny przy wskazaniu go celownikiem; do poprawnego działania wymaga cg_drawCrosshairNames 1 oraz ch_crosshairTeamInfo 1.
  • VoteMessageArena – głosowanie podczas rozgrywki na tzw. Multiarenach.
  • VoteMessageWorld – głosowanie podczas zwykłej rozgrywki.
  • Score_limit – limit punktów (fragów/flag) potrzebnych do zwycięstwa, „fraglimit”.
  • Score_OWN – ilość punktów posiadana przez nas lub naszą drużynę.
  • Score_NME – ilość punktów posiadanych przez przeciwników.
  • FlagStatus_OWN – status własnej flagi.
  • FlagStatus_NME – status flagi przeciwnika.
  • TeamCaount_OWN – członkowie drużyny, którzy nie są wyeliminowani z rozgrywki.
  • TeamIcon_OWN – ikona drużyny, standardowo Mynx, możemy zmienić na dowolną grafikę.
  • TeamCount_NME – przeciwnicy, którzy nie zostali wyeliminowani z rozgrywki.
  • TeamIcon_NME – działanie podobne do TeamIcon_OWN tylko odnoszące się do drużyny przeciwnej.
  • !PreDecorate1-8 oraz _PostDecorate1-8 – elementy, których nie możemy używać w wersjach CPMA wyższych niż 1.40, jednak występujące w Hud Editorze z powodu braku uwzględnienia zmian przez twórcę edytora.
  • PreDecorate – poprawna opcja dla wersji moda wyższych niż 1.43, deklaruje prostokątny, pusty element, który wyświetlany jest w kolejności: przed elementami, możemy użyć go do tworzenia separatorów lub innych kolorowych elementów.
  • PostDecorate – posiada podobne znaczenie, co element powyżej, z tym, że wyświetlany jest on w kolejności: za obiektami.
Obie powyższe opcje nie są dostępne z poziomu edytora do czasu aż autor nie uwzględni zmian, które zaszły w modzie. Możemy ich jednak użyć edytując plik cfg z naszym hudem i własnoręcznie wprowadzając wartości. Ten sposób zostanie opisany po koniec całego tutoriala.
  • AmmoWarning – ostrzeżenie o małej ilości amunicji.
  • PowerUP1_IconPowerUP4_Icon – ikony aktualnie używanych powerupów:
  1. Quad Damage
  2. Regeneration
  3. Haste
  4. Battle Suit
  • PowerUP1_TimePowerUP4_Time – czas trwanie powerupów, odpowiednio dla każdego z powyższych.
  • Chat1Chat8 – 8 linii, które wyświetlają rozmowę, mogą być używane niezależnie od siebie (przy cg_teamChatsOnly 1 wyświetlany jest tylko chat drużynowy).
  • Team1Team8 – 8 linii wyświetlających informacje o członkach drużyny (zazwyczaj stosuje się 4 linie dla trybu TDM i 5 linii dla CTF).



Rys.3. Okno edycji.



Każdy z elementów modyfikujemy za pomocą opcji dostępnych na zakładkach tego okna. Aby odblokować dany element konieczne jest zaznaczenie opcji Enable, natomiast opcja Duration określa czas, po jakim element samoczynnie zniknie z ekranu, standardowo opcja ta jest wyłączona, więc elementy pozostają na swoich miejscach.
W zakładce Position mamy opcje odpowiadające za położenie elementu (Position) oraz jego wielkość (Size).



Rys.4. Zakładka Font



Tutaj określamy wygląd elementów składających się z napisów.
  • Type – typ czcionki.
  • Size – rozmiar czcionki, podawany w pikselach lub punktach.
  • Style – styl napisu, w tym przypadku mamy jedynie wybór cieniowania.
  • Align – wyrównanie tekstu: do prawej, do środka, do lewej.
  • Monospace – ustawienie wymuszające takie same odstępy między literami.

Rys.5. Zakładka Color



Ustawienia kolorów:
  • Foreground – kolor wybranego elementu; opcja Special umożliwia nam ustawienie kolorów zależnych od drużyny, w jakiej się znajdujemy.
  • Background – jeśli obiekty posiadają tło, to tutaj określamy jego kolor i za pomocą opcji Fill Background je wypełniamy.
  • Fade – kolor, w jaki przejdzie element wraz z upływem czasu, opcja działa jedynie, jeśli dla elementu mamy włączoną opcję Duration.
  • Opaque – ustawia przezroczystość wyznaczonej części.


Rys.6. Zakładka Model/Image



W tym miejscu określamy ścieżki do plików, których chcielibyśmy użyć w naszym hudzie. Edytor umożliwia nam korzystanie z zarówno z plików 2D jak i 3D, które znajdziemy w pakach gry. Przykładowo, jeżeli chcemy, aby obok miernika żywotności wyświetlała nam się twarz Sarge’a w czerwonym stroju, to wybieramy z listy element StatusBar_HealthIcon, zaznaczamy w tej zakładce, iż chodzi nam o Image i w polu do tego przeznaczonym wpisujemy ścieżkę: models/players/sarge/icon_pm.tga. Po krótkiej chwili edytor sam doda obraz i odświeży go w obszarze roboczym. W ten sposób możemy wstawić ikonę każdego modelu, występującego w Q3 lub w CPMA.
Podobnie jest z modelami, zaznaczamy opcję Model oraz Specify any model, a następnie podajemy ścieżki do modelu i skina, czyli odpowiednio: models/players/sarge/head.md3 oraz models/players/sarge/head_red.skin. Opcja Angles pozwala nam obrócić model: Pitch – w górę lub w dół, Yaw – w lewo lub w prawo, Roll – pochylanie modelu . Najlepszym rozwiązaniem wydaje się ustawienie opcji Yaw na 180 przy jednoczesnym pozostawieniu pozostałych dwóch opcji na 0.
Jeżeli chcemy, aby nasz model „rozglądał” się na przemian w lewo i prawo ustawiamy wartość opcji +Pan/-Rotate na różną od 0. Im większa wartość, tym szybsze „rozglądanie” się modelu.
Opcja Offset pozwala na przesuwanie modelu w przestrzeni 3D.

Oczywiście musimy pamiętać, że jeżeli chcemy używać modeli lub ikon to musimy także wiedzieć, który z elementów najlepiej się do tego nadaje. Wystrzegajcie się prób wstawiania wszelkiego rodzaju modeli do elementów tekstowych, gdyż mija się to z celem i najzwyczajniej w świecie nie będzie działać.


Rys.7. Zakładka Misc



Ta zakładka oferuje nam tylko dwie opcje. Pierwsza z nich pozwala na dwuliniowy pasek przy elementach takich jak: StatusBar_HealthBar, StatusBar_ArmorBar oraz StatusBar_Ammobar. Druga opcja natomiast zamienia nam płaskie obrazy na modele 3D, oczywiście tylko w przypadkach, jeżeli takowe są dostępne. Przykładowo wykorzystać ją możemy przy elemencie StatusBar_ArmorIcon lub StatusBar_AmmoIcon.


Po "krótkim" wstępie i pokazaniu możliwości Hud Editora możemy w końcu zabrać się za tworzenie huda. Z racji tego, iż hud, który Wam przedstawię ma być łatwy w wykonaniu oraz czytelny i przejrzysty, nie będę wykorzystywał wszystkich elementów, które są dostępne. Niektóre z nich nie mają zbyt dużego znaczenia podczas gry. Nie znaczy to jednak, że Wy projektując swój hud nie możecie ich użyć, wręcz przeciwnie zachęcam do tego. Sposób działania i ustawiania wszystkich opcji jest taki sam, więc nie powinno to sprawiać większych problemów podczas własnych przeróbek.

Naszym celem będzie stworzenie czegoś, co będzie wyglądało mniej więcej tak:


Poniżej przedstawie sposób ustawiania wartości dla kolejnych elementów. Pierwszym od którego zaczniemy jest element !Default, jak widzimy jest on już aktywny, więc nie musimy zaznaczać opcji Enable. Ograniczymy się do zmian w zakładkce Font oraz Color.

!Default

Zakładka Font:

Type: id
Size: pixel – 10, 14

Zakładka Color:

Foreground: Change-> biały


NetGraph

Wybieramy z listy i aktywujemy, dwukrotnym kliknięciem lub zaznaczając opcję Enable. Proceder ten powtarzamy dla każdego elementu, jaki chcemy użyć.

Zakładka Position:

Zaznaczamy opcję Overwrite a następnie przechodzimy do ustawiania pozycji elementu.

Position: X – 592, Y – 432
Size: Width – 48, Height – 48

Zakładka Color:

Zaznaczamy Background i zmieniamy kolor na czerwony, następnie zaznaczamy opcję Fill background a wartość Opaque ustawiamy na 25%.


NetGraphPing

Zakładka Position:

Position: X – 592, Y – 432
Size: Width – 48, Height – 12

Zakładka Font:

Align: do prawej


StatusBar_HealthCount

Zakładka Position:

Position: X – 300, Y – 460
Size: Width – 40, Height – 20

Zakładka Font:

Type: idblock
Size: pixel – 20, 20
Align: do środka


StatusBar_AmmoIcon

Zakładka Position:

Position: X – 250, Y – 460
Size: Width – 20, Height – 20


StatusBar_AmmCount

Zakładka Position:

Position: X – 210, Y – 460
Size: Width – 40, Height – 20

Zakładka Font:

Type: idblock
Size: pixel – 20, 20
Align: do prawej


StatusBar_ArmorCount


Zakładka Position:

Position: X – 370, Y – 460
Size: Width – 40, Height – 20

Zakładka Font:

Type: idblock
Size: pixel – 20, 20
Align: do środka


FPS

Zakładka Position:

Position: X – 0, Y – 0
Size: Width – 640, Height – 16

Zakładka Font:

Size: pixel – 16, 16
Align: do prawej
Monospace: zaznaczone


GameTime

Zakładka Position:

Position: X – 0, Y – 20
Size: Width – 640, Height – 16

Zakładka Font:

Size: pixel – 16, 16
Align: do prawej
Monospace: zaznaczone


GameType

Zakładka Position:

Position: X – 0, Y – 10
Size: Width – 640, Height – 24

Zakładka Font:

Size: pixel – 16, 24
Align: do środka
Monospace: zaznaczone

Zakładka Color:

Foreground: Change-> żółty


WarmupInfo

Zakładka Position:

Position: X – 0, Y – 40
Size: Width – 640, Height – 24

Zakładka Font:

Size: pointsize – 14
Align: do środka
Monospace: zaznaczone

Zakładka Color:

Foreground: Change-> czerwony


SpecMessage

Zakładka Position:

Position: X – 0, Y – 56
Size: Width – 640, Height – 16

Zakładka Font:

Size: pointsize – 16
Align: do środka


FragMessage

Duration: 1500 ms

Zakładka Position:

Position: X – 0, Y –100
Size: Width – 640, Height – 16

Zakładka Font:

Size: pointsize – 8
Align: do środka
Monospace: zaznaczone


RankMessage

Duration: 1500 ms

Zakładka Position:

Position: X – 0, Y –110
Size: Width – 640, Height – 12

Zakładka Font:

Size: pointsize – 8
Align: do środka
Monospace: zaznaczone


FollowMessage

Zakładka Position:

Position: X – 0, Y – 44
Size: Width – 640, Height – 12

Zakładka Font:

Size: pointsize – 18
Align: do środka
Monospace: zaznaczone


TargetName

Duration: 500 ms

Zakładka Position:

Position: X – 0, Y – 200
Size: Width – 640, Height – 12

Zakładka Font:

Size: pointsize – 12
Align: do środka
Monospace: zaznaczone


TargetStatus

Duration: 500 ms

Zakładka Position:

Position: X – 0, Y – 268
Size: Width – 640, Height – 12

Zakładka Font:

Size: pointsize – 12
Align: do środka

Zakładka Color:

Foreground: Change-> cyan


ItemPickup

Duration: 1500 ms

Zakładka Position:

Position: X – 25, Y – 333
Size: Width – 640, Height – 12

Zakładka Font:

Size: pixel – 10, 10
Align: do lewej
Monospace: zaznaczone


ItemPickupIcon

Duration: 1500 ms

Zakładka Position:

Position: X – 10, Y – 333
Size: Width – 10, Height – 10


VoteMessageArena

Zakładka Position:

Position: X – 0, Y – 72
Size: Width – 640, Height – 16

Zakładka Font:

Size: pointsize – 14
Align: do środka


VoteMessageWorld

Zakładka Position:

Position: X – 0, Y – 72
Size: Width – 640, Height – 16

Zakładka Font:

Size: pointsize – 14
Align: do środka

Zakładka Color:

Foreground: Change-> jasny żółty


Score_Limit

Zakładka Position:

Position: X – 545, Y – 390
Size: Width – 32, Height – 16

Zakładka Font:

Size: pixel – 10, 14
Align: do środka

Zakładka Color:

Background: Change-> ciemny szary
Fill background: zaznaczone
Background -> Opaque: 50%


Score_OWN

Zakładka Position:

Position: X – 577, Y – 390
Size: Width – 32, Height – 16

Zakładka Font:

Size: pixel – 10, 14
Align: do środka

Zakładka Color:

Foreground: Special -> Team
Background ->Opaque: 50%
Fill background: zaznaczone


Score_NME

Zakładka Position:

Position: X – 607, Y – 390
Size: Width – 32, Height – 16

Zakładka Font:

Size: pixel – 10, 14
Align: do środka

Zakładka Color:

Foreground: Special -> Enemy
Background ->Opaque: 50%
Fill background: zaznaczone


Chat1

Duration: 3000 ms

Zakładka Position:

Position: X –0, Y – 405
Size: Width – 640, Height – 12

Zakładka Font:

Size: pixel – 8, 12
Align: do lewej
Monospace: zaznaczone


Chat2

Duration
: 3000 ms

Zakładka Position:

Position: X –0, Y – 415
Size: Width – 640, Height – 12

Zakładka Font:

Size: pixel – 8, 12
Align: do lewej
Monospace: zaznaczone


Chat3

Duration: 3000 ms

Zakładka Position:

Position: X –0, Y – 425
Size: Width – 640, Height – 12

Zakładka Font:

Size: pixel – 8, 12
Align: do lewej
Monospace: zaznaczone


Team1

Zakładka Position:

Position: X – 0, Y – 396
Size: Width – 640, Height – 12

Zakładka Font:

Size: pixel – 8, 10
Align: do lewej
Monospace: zaznaczone


Zakładka Color:

Background: Change - > kolor dowolny (polecam granatowy)
Background ->Opaque: 30%


Team2

Zakładka Position:

Position: X – 0, Y – 384
Size: Width – 640, Height – 12

Zakładka Font:

Size: pixel – 8, 10
Align: do lewej
Monospace: zaznaczone


Zakładka Color:

Background: Change - > kolor dowolny (najlepiej stosować taki sam jak w przypadku 1)
Background ->Opaque: 30%


Team3

Zakładka Position:

Position: X – 0, Y – 372
Size: Width – 640, Height – 12

Zakładka Font:

Size: pixel – 8, 10
Align: do lewej
Monospace: zaznaczone

Zakładka Color:

Background: Change - > kolor dowolny (najlepiej stosować taki sam jak w przypadku 1)
Background ->Opaque: 30%


Team4

Zakładka Position:

Position: X – 0, Y – 360
Size: Width – 640, Height – 12

Zakładka Font:

Size: pixel – 8, 10
Align: do lewej
Monospace: zaznaczone


Zakładka Color:

Background: Change - > kolor dowolny (najlepiej stosować taki sam jak w przypadku 1)
Background ->Opaque: 30%


Team5

Zakładka Position:

Position: X – 0, Y – 348
Size: Width – 640, Height – 12

Zakładka Font:

Size: pixel – 8, 10
Align: do lewej
Monospace: zaznaczone


Zakładka Color:

Background: Change - > kolor dowolny (najlepiej stosować taki sam jak w przypadku 1)
Background ->Opaque: 30%


Pozostałe 3 elementy typu Team możemy dodać, jeżeli dojdziemy do wniosku, że będą nam one potrzebne. W przypadku, jeżeli planujemy brać udział tylko w rozgrywkach TDM lub CTF więcej niż 5 linii nam się do niczego nie przyda. Jeśli jednak ktoś chciałby dodać kolejne linie to nie ma żadnych przeszkód, ich tworzenie przebiegać będzie w taki sam sposób, jedynie współrzędna Y w zakładce Position zmniejszać się będzie o 12 jednostek.


PowerUp1_Icon

Zakładka Position:

Position: X – 608, Y – 264
Size: Width – 32, Height – 32


PowerUp2_Icon

Zakładka Position:

Position: X – 608, Y – 232
Size: Width – 32, Height – 32


PowerUp3_Icon

Zakładka Position:

Position: X – 608, Y – 200
Size: Width – 32, Height – 32



PowerUp4_Icon

Zakładka Position:

Position: X – 608, Y – 168
Size: Width – 32, Height – 32


PowerUp1_Time

Zakładka Position:

Position: X – 544, Y – 264
Size: Width – 64, Height – 32

Zakładka Font:

Type: idblock
Size: pixel – 24, 32
Align: do prawej

Zakładka Color:

Background: Change - > kolor dowolny (zalecany czarny)
Background ->Opaque: 0%


PowerUp2_Time

Zakładka Position:

Position: X – 544, Y – 232
Size: Width – 64, Height – 32

Zakładka Font:

Type: idblock
Size: pixel – 24, 32
Align: do prawej

Zakładka Color:

Background: Change - > kolor dowolny (zalecany czarny)
Background ->Opaque: 0%


PowerUp3_Time

Zakładka Position:

Position: X – 544, Y – 200
Size: Width – 64, Height – 32

Zakładka Font:

Type: idblock
Size: pixel – 24, 32
Align: do prawej

Zakładka Color:

Background: Change - > kolor dowolny (zalecany czarny)
Background ->Opaque: 0%


PowerUp4_Time

Zakładka Position:

Position: X – 544, Y – 168
Size: Width – 64, Height – 32

Zakładka Font:

Type: idblock
Size: pixel – 24, 32
Align: do prawej

Zakładka Color:

Background: Change - > kolor dowolny (zalecany czarny)
Background ->Opaque: 0%


FlagStatus_OWN

Zakładka Position:

Position: X – 577, Y – 370
Size: Width – 30, Height – 19

Zakładka Color:

Foreground: Change - > niebieski


FlagStatus_NME

Zakładka Position:

Position: X – 609, Y – 370
Size: Width – 30, Height – 19

Zakładka Color:

Foreground: Change - > czerwony


TeamCount_OWN

Zakładka Position:

Position: X – 620, Y – 48
Size: Width – 20, Height – 20

Zakładka Font:

Type: threewave
Size: pixel – 12, 16
Align: do lewej

Zakładka Color:

Background: Change - > kolor dowolny (zalecany szary lub biały)
Background ->Opaque: 50%
Fill background - zaznaczone


TeamCount_NME

Zakładka Position:

Position: X – 620, Y – 72
Size: Width – 20, Height – 20

Zakładka Font:

Type: threewave
Size: pixel – 12, 16
Align: do lewej

Zakładka Color:

Background: Change - > kolor dowolny (zalecany szary lub biały)
Background ->Opaque: 50%
Fill background - zaznaczone


TeamIcon_OWN

Zakładka Position:

Position: X – 600 Y – 48
Size: Width – 20, Height – 20


TeamIcon_NME

Zakładka Position:

Position: X – 600 Y – 72
Size: Width – 20, Height – 20


WeaponList

Duration: 1500 ms

Zakładka Position:

Position: X – 320 – 440
Size: Width – 50, Height – 10

Zakładka Font:

Size: pointsize - 9
Align: do środka
Monospace: zaznaczone

Zakładka Color:

Foreground: Change - > kolor dowolny (zalecany zielony lub czerwony)
Foreground -> Opaque: 50%

Background: Change - > kolor dowolny (zalecany szary lub biały)
Background ->Opaque: 50%
Fill background - zaznaczone


Console

Zakładka Font:

Size: pointsize - 10


Po wszystkich zabiegach obszar roboczy edytora powinien wyglądać tak:



Zapisujemy plik w folderze cpma/hud i całość uruchamiamy poprzez wpisanie w konsoli, lub dopisanie w swoim konfigu dwóch komend:
  1. ch_file nazwa_huda
  2. reloadHud


Zawartość pliku, który stworzyliśmy powinna wyglądać następująco:


# written by q3cpmahudeditor v0.2.0 on 2007-12-30 22:37:32
# http://www.plrf.org/q3cpmahudeditor/

!DEFAULT
{
font id
fontsize 12 12
textstyle 0
color 1 1 1 1
}


NetGraph
{
rect 592 432 48 48
bgcolor 1 0 0 0.25
fill
}


NetGraphPing
{
rect 592 432 48 12
textalign R
}


StatusBar_HealthCount
{
rect 300 460 40 20
font idblock
fontsize 20 20
textalign C
}


StatusBar_AmmoIcon
{
rect 250 460 20 20
}


StatusBar_AmmoCount
{
rect 210 460 40 20
font idblock
fontsize 20 20
textalign R
}


StatusBar_ArmorCount
{
rect 370 460 40 20
font idblock
fontsize 20 20
textalign C
}


FPS
{
rect 0 0 640 16
font id
fontsize 16 16
monospace
textalign R
}


GameTime
{
rect 0 20 640 16
font id
fontsize 16 16
monospace
textalign R
}


GameType
{
rect 0 10 640 24
fontsize 16 24
monospace
textalign C
color 1 1 0 1
}


WarmupInfo
{
rect 0 40 640 32
font id
fontsize 14
monospace
textalign C
color 1 0 0 1
}


SpecMessage
{
rect 0 56 640 16
fontsize 16
textalign C
}


FragMessage
{
rect 0 100 640 16
time 1500
fontsize 8
monospace
textalign C
}


RankMessage
{
rect 0 110 640 12
fontsize 8
monospace
textalign C
}


FollowMessage
{
rect 0 44 640 12
font id
fontsize 18
monospace
textalign C
}


TargetName
{
rect 0 200 640 12
time 500
fontsize 12
monospace
textalign C
}


TargetStatus
{
rect 0 268 640 12
time 500
fontsize 12
textalign C
color 0 1 1 1
}


ItemPickup
{
rect 25 333 640 12
time 1500
fontsize 10 10
monospace
textalign L
}


ItemPickupIcon
{
rect 10 333 10 10
time 1500
}


VoteMessageArena
{
rect 0 72 640 16
fontsize 14
textalign C
}


VoteMessageWorld
{
rect 0 72 640 16
fontsize 14
textalign C
color 1 1 0.502 1
}

Score_Limit { rect 545 390 32 16; fontsize 10 14; textalign C; bgcolor 0.502 0.502 0.502 0.5 ; fill; }
Score_OWN { rect 577 390 32 16; fontsize 10 14; textalign C; color T; bgcolor 1 1 1 0.5 ; fill; }
Score_NME { rect 607 390 32 16; fontsize 10 14; textalign C; color E; bgcolor 1 1 1 0.5 ; fill; }
Chat1 { rect 0 405 640 12; time 3000; fontsize 8 12; monospace; textalign L; }
Chat2 { rect 0 415 640 12; fontsize 8 12; monospace; textalign L; }
Chat3 { rect 0 425 640 12; fontsize 8 12; monospace; textalign L; }
Team1 { rect 0 396 640 12; fontsize 8 10; monospace; textalign L; bgcolor 0.251 0 0.502 0.3 ; }
Team2 { rect 0 384 640 12; fontsize 8 10; monospace; textalign L; bgcolor 0.251 0 0.502 0.3 ; }
Team3 { rect 0 372 640 12; fontsize 8 10; monospace; textalign L; bgcolor 0.251 0 0.502 0.3 ; }
Team4 { rect 0 360 640 12; fontsize 8 10; monospace; textalign L; bgcolor 0.251 0 0.502 0.3 ; }
Team5 { rect 0 348 640 12; fontsize 8 10; monospace; textalign L; bgcolor 0.251 0 0.502 0.3 ; }
PowerUp1_Icon { rect 608 264 32 32; }
PowerUp2_Icon { rect 608 232 32 32; }
PowerUp3_Icon { rect 608 200 32 32; }
PowerUp4_Icon { rect 608 168 32 32; }
PowerUp1_Time { rect 544 264 64 32; font idblock; fontsize 24 32; textalign R; bgcolor 0 0 0 0 ; }
PowerUp2_Time { rect 544 232 64 32; font idblock; fontsize 24 32; textalign R; bgcolor 0 0 0 0 ; }
PowerUp3_Time { rect 544 200 64 32; font idblock; fontsize 24 32; textalign R; bgcolor 0 0 0 0 ; }
PowerUp4_Time { rect 544 168 64 32; font idblock; fontsize 24 32; textalign R; bgcolor 0 0 0 0 ; }
FlagStatus_OWN { rect 577 370 30 19; color 0 0 1 1 ; }
FlagStatus_NME { rect 609 370 30 19; color 1 0 0 1 ; }
TeamCount_OWN { rect 620 48 20 20; font threewave; fontsize 12 16; textalign L; bgcolor 0.502 0.502 0.502 0.5 ; fill; }
TeamCount_NME { rect 620 72 20 20; font threewave; fontsize 12 16; textalign L; bgcolor 0.502 0.502 0.502 0.5 ; fill; }
TeamIcon_OWN { rect 600 48 20 20; }
TeamIcon_NME { rect 600 72 20 20; }

WeaponList
{
rect 320 440 50 10
time 1500
fontsize 9
monospace
textalign C
color 0 1 0 0.5
bgcolor 0.502 0.502 0.502 0.5
fill
}


Co zrobić, kiedy koniecznie chcemy użyć elementów PostDecorate lub PreDecorate?

Rozwiązanie jest bardzo proste, wystarczy, że otworzymy plik, który stworzyliśmy i wkleimy do niego kod, który odpowiada każdemu z tych elementów i ręcznie nadamy wartości, jakie nam odpowiadają.

Przykładowy kod:

PreDecorate { rect 64 457 100 2; bgcolor 1 1 1 1; fill; }

Taki kod odpowiadał będzie prostokątowi leżacemu we współrzędnych: X=64, Y=457, długości 100 pikseli, wysokości 2 pikseli i wypełnionemu białym kolorem.

Należy pamiętać, że w sumie wszystkich elementów obu rodzajów możemy utworzyć maksymalnie 64.

W tym miejscu chciałem zakończyć ten poradnik, gratuluję tym, którzy dotarli do samego końca. Mam nadzieję, że niejednemu z Was pomógł on w stworzeniu swojego wymarzonego huda. Pozdrawiam i życzę dużo fragów w Nowym Roku 2008.
Wyświetleń: 10489

THRAWN | 2008-01-01 16:37:00

piknie, ja musze sobie troszke poprawic 'zestaw informacji o teami' na hudzie i bedzie git :)

Yeltzyn | 2008-01-01 19:41:13

GJ za tyle pracy!

[w]sowa | 2008-01-02 08:37:52

Załączył byś gdzieś ten HUD który masz tam na screenach :) ? Jest fajny.

Xsi | 2008-01-02 11:05:26

caly kod do tego huda jest podany pod koniec tutoriala, wystarczy skopiowac i zapisac :)

[w]sowa | 2008-01-02 12:21:38

:) podziękowoł

ryyyAv | 2008-01-02 13:31:39

wszystko super fajnie i kolega sie na prawde napracowal, ale strasznie duzo tego : )

aiken | 2008-01-04 01:02:11

masochista :DDD

gbz1 | 2008-03-11 20:58:48

szacunek za trud i poswiecenie dla nieswiadomych owieczek :) pozdro

Zaloguj się by dodać komentarz.

Co nowego

  1. bfr_aka_pablonzo napisał post: @Requiem: ja ostatnio pogrywam ft melodeiro :D wciągnęło mnie na no... / hellou ludziska :)
  2. Requiem napisał post: Fajnie, że ktokolwiek tutaj bywa :D Co tak na co dzień w życiu pora... / hellou ludziska :)
  3. MucieK napisał post: o to już nas troje jest ;) / hellou ludziska :)
  4. bfr_aka_pablonzo napisał post: @MucieK: ja co parę dni też zaglądam :D / hellou ludziska :)
  5. MucieK napisał post: chyba co dwa dni :P ;) / hellou ludziska :)
  6. Requiem napisał post: Tutaj masz Patcha do Q3 oraz linka do ulepszonego silnika Quake3e: ... / eFreeze 1.31 proszę o pomoc.
  7. Requiem napisał post: Tak :D Ja tutaj bywam codziennie :D / hellou ludziska :)
  8. MucieK napisał post: żyje ktoś jeszcze ? ;) / hellou ludziska :)
  9. bit stworzył temat: eFreeze 1.31 proszę o pomoc.
  10. bfr_aka_pablonzo napisał post: @247_QL: qra1337 :D @LongeR HoQ to jest aktywny discord, ctf, tdm ... / Czy są tu jacyś aktywni gracze? :)
  11. LongeR napisał post: Też szukam kogoś z kim można pograć , jest jakoś aktywny discord z ql? / Czy są tu jacyś aktywni gracze? :)
  12. k3m napisał post: Dzień dobry :D / Powspominajmy ! :>
  13. Szczawson napisał post: trzeba zatem pograć / 05.06 (sobota) trening
  14. Requiem zaktualizował post: Na wieczór podzielę się z Wami moim nowym filmem - nagrałem kulisy ... / [FINAL] Blast from the Past - rocznicowa mapa Q3/QL
  15. 247_QL napisał post: @bfr_aka_pablonzo: wszystko jasne. Jaki masz tam NICK? / Czy są tu jacyś aktywni gracze? :)
  1. bfr_aka_pablonzo napisał post: @Requiem: ja ostatnio pogrywam ft melodeiro :D wciągnęło mnie na no... / hellou ludziska :)
  2. Requiem napisał post: Fajnie, że ktokolwiek tutaj bywa :D Co tak na co dzień w życiu pora... / hellou ludziska :)
  3. Requiem zaktualizował newsa: Quake Live Instagib Pickup 3v3 - dołącz do gry!
  4. MucieK napisał post: o to już nas troje jest ;) / hellou ludziska :)
  5. bfr_aka_pablonzo napisał post: @MucieK: ja co parę dni też zaglądam :D / hellou ludziska :)
  6. MucieK napisał post: chyba co dwa dni :P ;) / hellou ludziska :)
  7. Requiem napisał post: Tutaj masz Patcha do Q3 oraz linka do ulepszonego silnika Quake3e: ... / eFreeze 1.31 proszę o pomoc.
  8. Requiem napisał post: Tak :D Ja tutaj bywam codziennie :D / hellou ludziska :)
  9. MucieK napisał post: żyje ktoś jeszcze ? ;) / hellou ludziska :)
  10. bit stworzył temat: eFreeze 1.31 proszę o pomoc.
  11. bfr_aka_pablonzo napisał post: @247_QL: qra1337 :D @LongeR HoQ to jest aktywny discord, ctf, tdm ... / Czy są tu jacyś aktywni gracze? :)
  12. LongeR napisał post: Też szukam kogoś z kim można pograć , jest jakoś aktywny discord z ql? / Czy są tu jacyś aktywni gracze? :)
  13. k3m napisał post: Dzień dobry :D / Powspominajmy ! :>
  14. Szczawson napisał post: trzeba zatem pograć / 05.06 (sobota) trening

Pokaż więcej »

Gracze

  1. scisek +1 - 84 pkt
  2. Requiem - 30 pkt
  3. Czarna_Bakłażana - 22 pkt
  4. bfr_aka_pablonzo +5 - 8 pkt
  5. MucieK - 8 pkt
  6. bit - 2 pkt
Zobacz cały »
Zobacz wszystko »

Statystyki graczy ogółem:

  • Wygranych / przegranych: 163276 / 170973
  • Trafień / strzałów: 97258977 / 322570048
  • Fragów / zgonów: 5029245 / 4356508

Więcej statystyk już wkrótce...

Cytaty

Quakecon will soon start getting sponsored by hair loss solutions, erection pills, life insurance and QVC.

Źródło: http://esreality.com/post/2891023/clawz-everyone-can-give-me-a-hard-time-it-is-about/#pid2891208

Dodał: tath

Ankieta

OMPQ3 2023 - turniej 1v1 online (gracze sami się dogadują, finał 21 maja))

Głosów: 53