Skocz do zawartości

Rekomendowane odpowiedzi

Cześć,

Tworzę ten poradnik, z tego powodu, że na internecie ciężko znaleźć cokolwiek o overlay'ach, nie mówiąc już o poradniku jak wszystko stworzyć i skonfigurować, a dla mnie było to piekielnie ciężkie i męczyłem się z tym naprawdę długo. Skoro już ogarnąłem jak to wszystko działa dziś pokażę Wam od zera jak zrobić i skonfigurować overlay'e na serwer. Napiszemy bardzo prosty plugin, który po zabójstwie headshot'em będzie wyświetlał overlay'a "Headshot" przez 2 sekundy, a także w tym momencie będzie efekt dźwiękowy "Headshot".

 

1. PRZYGOTOWANIE WŁASNEGO OVERLAY'A

1. Zaczniemy od przygotowania overlay'a takiego, jakiego chcemy. Do tego celu będziemy potrzebować jakiś program do obróbki zdjęć: najlepiej Gimp. Moim overlay'em będzie napis, więc zaopatrzam się w ładną czcionkę [https://fonts.google.com/
Hej! Skorzystałeś z linku lub pobrałeś załącznik? Uhonoruj naszą pracę poprzez rejestrację na forum i rośnij razem z nami!]

 

2. Tworzę nowy plik w Gimpie, według mnie najlepsze wymiary są takie jak na zdjęciu, bo wszystko jest wyraźne (im większa rozdzielczość tym więcej plik końcowy będzie ważył)

629898934_gimpnowyplik.png.16518b3b4346a9a84ce26c5fa9234f78.png

 

3. Jeśli naszym overlay'em jest napis - piszemy coś na pustej stronie, jeśli obrazek - wklejamy go na nowo utworzony plik [Otwórz -> wybieramy obrazek]

239834550_overlayzrobionyztlem.thumb.png.83c59c505bd2596f1b2a0418ac384b66.png

 

4. Usuwamy warstwę "Tło"

    1. PPM na "tło"             2. Usuń warstwę

tlo.thumb.png.65a649cbb343b920f38579885a4ea94f.png474193779_usunwarstwe.thumb.png.fa2d65b8bb18618bb2d75a87f0672d2d.png

 

5. Powinniśmy otrzymać taki efekt:

1448530621_overlayzrobionybeztla.thumb.png.18289d6554a153f247e7c3aebd294b9c.png

 

6. [BARDZO WAŻNE] Plik eksportujemy jako plik *.tga

44282596_wyeksportujjako.thumb.png.2d8693a368d88e8f7b53316d9e9b1215.pngeksport.thumb.png.1f1f8e1b44691f8856f63f3bf21434e7.png

 

7. Graficznie nasz overlay jest zrobiony, pozostało umożliwić serwerowi odczyt i wyświetlenie tego pliku. Do tego potrzebny jest nam edytor tekstur przeznaczony m.in. do CS:GO - jest to VTFEdit (Valve Texture File Editor). Gdy już pobierzemy oprogramowanie, otwieramy nasz plik *.tga za pomocą VTFEdit. Możemy to zrobić na 2 sposoby:

• Otwórz VTFEdit -> CTRL + I -> Wybierz plik do zaimportowania

• Kliknij PPM na plik *.tga, który przedtem utworzyłeś -> Otwórz za pomocą -> VTFEdit

Wyświetli się kontrolka odnośnie ustawień. Można otworzyć na fabrycznych ustawieniach, natomiast ja używam tych

1384238543_vtfoptions.thumb.png.aad67d99dfa5931444559ebebfa1c0c8.png

Ważne jest też to, żeby nie panikować, gdy w pliku *.vtf będzie wszystko czarne (w miejscu zdjęcia). Tło jest czarne więc jeśli napis jest czarny to zlewają się ze sobą, bo edytor ten w czasie gdy nie ma tła wstawia czarne pole. Finalnie pojawi się czarny napis, a nie czarny kwadrat

 

8. Zapisujemy plik jako *.vtf

1976468449_saveasvtf.thumb.png.6b2e16eb3dca57fc69ca9a334a5a0b44.png

 

9. Tworzymy plik *.vmt i zapisujemy go najlepiej w tym samym miejscu co *.vtf [BARDZO WAŻNE] ustawienia pliku *.vmt MUSZĄ być takie same jak na screenie drugim

229821461_createvmt.thumb.png.5324ee5047e6ef431af7f73433e32f58.png348678993_vmtfileoptions.png.3c7c1dd000cabdf43478f69b5904ae79.png

 

10. Tworzymy folder o nazwie "overlays" (można dać inną nazwę, ale ta jest najłatwiejsza i najłatwiej się odnaleźć) -> Oba pliki (*.vtf i *.vmt) wrzucamy do tego folderu -> Folder razem z plikami w środku przerzucamy do "materials" w plikach serwerowych -> PPM na plik *.vmt -> otwieramy za pomocą notatnika, lub innego edytora tekstowego -> wpisujemy odpowiednią ścieżkę:

634465235_vmtfileconfig.thumb.png.8ef336ab070d1f0d2a7c01fc7aa087ef.png

 

11. Zapisujemy zmiany. Zrobiliśmy właśnie własnego overlay'a i poprawnie go skonfigurowaliśmy. Najtrudniejsze za nami

 

2. NAPISANIE PLUGINU

Napiszemy teraz plugin, który opisałem na samym początku. Niezbędna do tego będzie odpowiednia biblioteka: overlays.inc, którą pobierzemy stąd: https://github.com/shanapu/overlays.inc
Hej! Skorzystałeś z linku lub pobrałeś załącznik? Uhonoruj naszą pracę poprzez rejestrację na forum i rośnij razem z nami!

Najpierw jednak przygotuję odpowiedni efekt dźwiękowy, który będzie towarzyszył mojemu overlay'owi. Wpisuję "Headshot Sound Effect" w Google i ściągam odpowiedni dźwięk (najlepiej w *.mp3); nazywam go "Headshot" i wrzucam do plików serwerowych: /csgo/sound/ [można utworzyć dodatkowy folder, żeby nie zrobił się bałagan w folderze sounds]

A więc możemy przejść do napisania pluginu:

#include <sourcemod>
#include <overlays>
#include <sdktools>
 
#define HEADSHOTPATH        "overlays/Headshot" //bez rozszerzeń
 
#define HEADSHOTSOUNDPATH   "*/ServerSounds/Headshot.mp3"       //ścieżka do dźwięku z
                                                                                                                    //poziomu folderu "sound"
#define HEADSHOTSOUNDPATH2  "sound/ServerSounds/Headshot.mp3" //ścieżka do dźwięku z
                                                                                                                       //poziomu folderu "materials"
 
public void OnPluginStart()
{
    HookEvent("player_death", OnHeadshot, EventHookMode_Post);
}
 
public void OnMapStart()
{
    PrecacheSound(HEADSHOTSOUNDPATH, true);       //te 3 linijki to pobieranie 
    AddFileToDownloadsTable(HEADSHOTSOUNDPATH2); //materiałów z plików
    PrecacheDecalAnyDownload(HEADSHOTPATH);     //serwera
}
 
public Action OnHeadshot(Event e, const char[] n, bool b)
{
    int attacker = GetClientOfUserId(e.GetInt("attacker"));
    bool hs = GetEventBool(e, "headshot");
 
    if(hs)
    {
        EmitSoundToClient(attacker, HEADSHOTSOUNDPATH);
        ShowOverlay(attacker, HEADSHOTPATH, 2.0);
    }
}

I OTO KONIEC!!! Tak to się prezentuje:

 

 

Mam nadzieję, że pomogłem komuś z Was kto miał taki sam problem jak ja. Zajęło mi to naprawdę dużo czasu i włożyłem w to serce. Liczę na dobre opinie. W razie pytań zapraszam do komentarzy.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Mega robota, na pewno przyda się wielu osobom. Sam się z tym męczyłem i gdybym zdał sobie sprawę, że inni też mogą mieć z tym problem, pewnie postąpiłbym podobnie

 

Good job :)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić obrazków. Dodaj lub załącz obrazki z adresu URL.


×
×
  • Dodaj nową pozycję...