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
 

psilocybe - zdjęcie

psilocybe

Rejestracja: 17.12.2011
Aktualnie: Nieaktywny
Poza forum Ostatnio: 24.02.2015 14:09
-----

Moje tematy

[4FUN] GHW RedBull (Spolszczony)

28.01.2015 01:11

opis

 

Plugin autorstwa GHW_Chronic z AM: https://forums.allie...ead.php?t=16986

 

Plugin daje możliwość zakupu 'RedBulla', przez określony czas mamy zwiększoną prędkość biegania, mniejszą grawitację i dostajemy 1hp na sekundę dopóki napój działa ;)

 

Dodałem do pliku GHW_Red_Bull.txt polskie tłumaczenie.

 

Komenda /RedBull - kupujemy napój ;)

 

 

cvary

 

RB_Cost "2000" // Ustawiamy ile kosztuje Redbull
RB_Lasts "20.0" // Czas trwania 'efektów'
RB_Speed "650.0" // Max prędkość gracza 'na Redbullu'

 

 

instalacja

 

Standardowa.

Plik Załączony plik  GHW_Red_Bull.txt   1,49 KB  489 Ilość pobrań
wrzucamy do ../amxmodx/data/lang/

 

 

download

 

Załączony plik  GHW_Red_Bull.sma   2,45 KB  411 Ilość pobrań
  GHW_Red_Bull.amxx

 

Załączony plik  GHW_Red_Bull.txt   1,49 KB  489 Ilość pobrań

 

 

Podmiana dźwięków broni.

21.01.2015 14:38

Witam, dziś opiszę proces podmiany dźwięków w modelach, na potrzeby serwerów Counter Strike 1.6.

Spora część użytkowników ma problem z tym zagadnieniem więc postanowiłem w końcu opisać to dokładniej.

Jest to mój pierwszy poradnik.

 

Będzie nam potrzebne:
Halflife Model Viewer 1.3 (w paczce)
GUI Studio (w paczce)
MDL Decompiler (w paczce)
Notepad++ (Do pobrania z oficjalnej strony: link)

 

Załączony plik  HLMV13+decompiler.rar   609,59 KB  251 Ilość pobrań

1. Rozpakuj archiwum z załącznika.

2. Uruchom hlmv.exe (folder ../hlmv13_setup/hlmv.exe)

3. Wchodzimy w Menu > Tools > Configure Tools
    
    Pokaże nam się okienko, gdzie podajemy ścieżki do kompilatora i dekompilatora (folder ../GUI StudioMDL 1.0/)
    
    amxx_1421846978__1.jpg
    
    Wskazujemy pliki, klikamy OK i możemy przystąpić do dekompilacji modelu.
    
    Uwaga: Przed dekompilacją modelu, warto stworzyć osobny folder dla każdego przerabianego modelu ponieważ dekompilator tworzy sporo plików, nie chcemy bałaganu.
    
    Np. Tworzymy folder Ak47 i kopiujemy do niego model który będziemy dekompilować.

    

 

4. Wchodzimy w Menu > Tools > Decompile Model...

    Wyskoczy okienko gdzie wskazujemy nasz model, pamiętajcie że zawsze będzie to model v_, ja wybrałem orygianlny v_ak47.mdl
    
    Klikamy OK, po chwili w folderze obok v_ak47.mdl pokaże się sporo plików
    
    amxx_1421847009__2.jpg
    
    Nas interesuje tylko jeden plik, ten z rozszerzeniem *.qc - w tym przypadku będzie to v_ak47.qc
    

 

5. Otwieramy plik *.qc programem Notepad++ - teraz następuje właściwa edycja dźwięków przypisanych do danego modelu.

    Odnajdujemy w pliku *.qc (z reguły na końcu) fragment z sekwencjami, w moim przypadku wygląda on tak:
    
    


    // 6 animation sequence(s)

    $sequence "idle1" "idle1" fps 30

    $sequence "reload" "reload" fps 37 { event 5004 13 "weapons/ak47_clipout.wav" } { event 5004 57 "weapons/ak47_clipin.wav" }

    $sequence "draw" "draw" fps 30 { event 5004 11 "weapons/ak47_boltpull.wav" }

    $sequence "shoot1" "shoot1" fps 20 { event 5001 0 "22" }

    $sequence "shoot2" "shoot2" fps 20 { event 5001 0 "22" }

    $sequence "shoot3" "shoot3" fps 20 { event 5001 0 "22" }

    

    
    Uwaga: Treść pliku *.qc może znacznie różnić się od przykładu, szczególnie w przypadku niestandardowych modeli, jednak zasada edycji pozostaje taka sama.
    

 

    Zajmiemy się dźwiękami strzałów, ponieważ jak widać do sekwencji "shoot1" "shoot2" i "shoot3" nie ma przypisanych dźwięków "po ścieżce", zamiast tego mamy tajemnicze "22" ;)
    
    Zmieniamy:
    
    


    $sequence "shoot1" "shoot1" fps 20 { event 5001 0 "22" }

    $sequence "shoot2" "shoot2" fps 20 { event 5001 0 "22" }

    $sequence "shoot3" "shoot3" fps 20 { event 5001 0 "22" }

    

    
    Na:
    
    


    $sequence "shoot1" "shoot1" fps 20 { event 5004 0 "weapons/new_sounds/ak47_strzal.wav" }

    $sequence "shoot2" "shoot2" fps 20 { event 5004 0 "weapons/new_sounds/ak47_strzal.wav" }

    $sequence "shoot3" "shoot3" fps 20 { event 5004 0 "weapons/new_sounds/ak47_strzal.wav" }

    

    
    Co zmieniliśmy? Poza podaniem ścieżki do *.wav zamiast "22", zmieniamy event 5001 na 5004
    
    Uwagi: -W przypadku sekwencji 'event 5004' czyli np. "draw", gdzie mamy podaną ścieżkę do dźwięku, zmieniamy tylko ścieżkę
           -Liczba pomiędzy event 5004 a ścieżką to opóźnienie odegrania dźwięku w ms, nie polecam zmieniać :)
           -Nowe dźwięki warto umieszczać w podfolderze np. cstrike/sound/weapons/new_sounds/..

        

 

   

6. Po zakończeniu edycji pliku *.qc zapisujemy zmiany i wracamy do Half-life Model Viewer

    Wchodzimy w Menu > Tools > Compile Model... i wskazujemy nasz edytowany plik *.qc
    
    Pokaże się okienko kompilatora:
    
    amxx_1421847035__3.jpg
    
    Jeżeli wszystko jest w porządku zobaczymy tekst:
    
    


    [Opening QC file - C:\Users\amxx\Desktop\v_ak47\v_ak47.qc]

    [QC loaded O.K!]

    

    
    Klikamy przycisk Compile
    
    Jeżeli wszystko jest ok to po chwili na dole zobaczymy tekst:
    
    


    [Compiler execution completed]

    

    
    Co oznacza że model skompilował się poprawnie, a w folderze którym był plik *.qc mamy swój nowy plik *.mdl (poprzedni został nadpisany)
    

 

 

7. Instalacja nowego modelu i dźwięków.

    Do podmiany modeli na serwerach polecam plugin GHW Weapon Replacement
    
    Przykładowy model z podmienionymi dźwiękami oraz instrukcją: M4A1 z dźwiękami CS:GO
    

Uwagi:

    -Pamiętajcie że nowe dźwięki muszą być w formacie *.wav oraz odpowiednio zresamplowane:

    


    Channel(s)                  : 1 channel

    Sampling rate               : 22.05 KHz

    Bit depth                   : 8 bits

    

    
    -Warto zachować porządek w folderach, nowe modele wrzucajcie np. do /cstrike/models/new_models/.. dźwięki do /cstrike/sound/weapons/new_sounds/..
    
    -Podmienione dźwięki będziemy słyszeć poprawnie ale inni gracze nasze strzały usłyszą już normalne (nie da się tego obejść w żaden sposób jeżeli chodzi o HLDS)

    

 


Jeżeli czegoś brakuje, proszę pisać. Pozdrawiam i powodzenia w edycji.

 

M4A1 z dźwiękami CS:GO na serwery 1.6

17.01.2015 11:16

opis

 

Wrzucam model którego używam na serwerze BF4. Jest to oryginalne M4A1 z Condition Zero na animacjach Valve ale z podmienionymi dźwiękami strzałów - dźwięki pochodzą z Global Offensive ;)

 

Zmienione zostały tylko dźwięki strzałów.

 

amxx_1421489251__20140715021702.png
 
Uwaga: do poprawnego działania najlepiej używać pluginu GHW Weapon Replacement, jeżeli podmieniasz modele innym pluginem pamiętaj by precache'ować podmienione dźwięki.

 

 

instalacja

 

Wrzuć rozpakowane archiwum z załącznika zgodnie ze strukturą katalogów na swój serwer.

 

Jeżeli używasz GHW Weapon Replacement, wystarczy dodać do pliku amxmodx/configs/new_weapons.ini poniższy fragment:

;M4A1 CS:CZ GO SOUNDS
"models/v_m4a1.mdl" "models/new_weapons/v_m4a1.mdl"
"sound/weapons/m4a1-1.wav" "sound/weapons/m4a1-s.wav"
"sound/weapons/m4a1_unsil-1.wav" "sound/weapons/m4a1-u.wav"
"sound/weapons/m4a1_unsil-2.wav" "sound/weapons/m4a1-u.wav"

download

[ROZWIĄZANE] Usuwanie stworzonego 'entity' po określonym czasie

15.01.2015 13:37

Nie mogę znaleźć dobrego przykładu.

 

Sprawa wygląda tak:

 

Na mapie tworzy się jakaś liczba entity 'info_target' ze zmienionym stringiem 'classname', na koniec rundy usuwam w pętli enty z tym 'classname' i wszystko jest ok.

 

Teraz chcę napisać funkcję która usunie mi mój entity np. 5 sekund po jego spawnie, myślałem że to proste będzie ale coś jest bardzo nie tak :D

 

 

Moment utworzenia entity:

new ent = create_entity("info_target")
entity_set_string(ent, EV_SZ_classname, "w_box")

No i tu dałem taska za 5 sekund, a funkcja którą uruchamiał to coś takiego:

public killBox(ent)
{
    if(is_valid_ent(ent))
    {
        remove_entity(ent);
    }
}

Funkcja usuwała wybranego enta który "uruchomił" task, ale np. w losowym momencie (ok. 1-2 minut od startu mapy) crash serwera, brak logów a w konsoli serwera tylko 'Segmentation Fault'.

 

Jeszcze raz w skrócie, tworzę enta (create_entity), nadaję mu swój classname (w_box) i nakazuje mu za 5 sekund (set_task) zniknąć z mapy (remove_entity)

 

Jak to wykonać? :D

[ROZWIĄZANE] Liczba całkowita na zmiennoprzecinkową

12.01.2015 22:10

Zacznę od tego że matematyka to czarna magia dla mnie :)

 

Więc tak, chcę ustawić grawitację graczowi w zależności od tego jaki ma level - problem jest taki że level rośnie a grawitacja ma spadać więc trzeba matematyki :D

 

No i mamy tak:

 

zmienna: knife_kills[] (posiadany level, liczba całkowita)

funkcja: set_user_gravity

 

Wymyśliłem coś takiego:

 

new Float:grawi = 1000.0 - knife_kills[id] * 0.001;

 

Załóżmy że knife_kills[id] to 250, więc 1000-250 * 0.001 powinno dać 0.75

 

Teraz wystarczy set_user_gravity(id, grawi) ale mi nie zwraca dobrego wyniku powyższe działanie.

 

Nie potrafię tego rozgryźć, chodzi o to że w fukcnji set_user_gravity nie mogę użyć liczb całkowitych typu 700, 500 tylko zmiennoprzecinkowej.

 

Więc pytanie brzmi jak to ogarnąć, by w zmiennej Float:grawi otrzymać liczbę x.xx czyli np. 0.75 w przypadku gdy knife_kills = 250