CSowicze.pl - Sieć serwerów Counter-Strike. Serwery forum CS 1.6 i CS:GO
Skocz do zawartości

Zmiana modeli broni dla klas/perków.


davise
 Udostępnij

Rekomendowane odpowiedzi

Poradnik jest autorstwa @daring. autor dużo czytał na ten temat aby napisać poradnik, proszę zostaw mi reputację oraz jak chcesz skopiować na inną stronę to proszę abyś skontaktował się ze mną.


 


Może zacznijmy od tego który model broni za co odpowiada.


 


v_* = Jest to taki model który widzimy tylko my z perspektywy pierwszej osoby.


p_* = Jest to model naszej broni który widzi cały serwer na którym owe modele są zainstalowane oraz podmienione ( Podam teraz przykład broni podmienionej ).


 


IAFZzBH.jpg


 


 


w_* = Jest to model broni który widzimy kiedy broń leży itp. na ziemi.


 


To może zacznijmy od przygotowania pliku .sma ( Nazwa klasy w której będzie podmieniony model broni to będzie Kucacz ).


 


/* Plugin generated by AMXX-Studio */


#include <amxmodx>


#include <codmod>


new const nazwa[] = "Kucacz";


new const opis[] = "Brak";


new const bronie = 1<<CSW_M3;


new const zdrowie = 0;


new const kondycja = 55;


new const inteligencja = 10;


new const wytrzymalosc = 0;


public plugin_init() {


register_plugin(nazwa, "1.1", "QTM_Peyote");


 


cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);


}


 


Dodajmy teraz pośród zmiennych warunek zwany true/false, ( Klasa musi się nazywać ma_klase, perk ma_perk ).


Wrzućmy teraz do forwardów -


Jeśli chodzi o klasę to : cod_class_enabled i cod_class_disabled


Jeśli chodzi o perk to : cod_perk_enabled i cod_perk_disabled


 


Po wrzuceniu forwardów musimy zaincladować potrzebną bibliotekę fakemeta oraz dodać modele do plugin_precache.


 


/* Plugin generated by AMXX-Studio */


 


#include <amxmodx>


#include <codmod>


#include <engine>


#include <fakemeta>


new const nazwa[] = "Kucacz";


new const opis[] = "Brak";


new const bronie = 1<<CSW_M3;


new const zdrowie = 0;


new const kondycja = 55;


new const inteligencja = 10;


new const wytrzymalosc = 0;


new bool:ma_klase[33];


public plugin_init() {


register_plugin(nazwa, "1.1", "QTM_Peyote");


 


cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);


}


public cod_class_enabled(id)


{


ma_klase[id] = true;


}


 


public cod_class_disabled(id)


{


ma_klase[id] = false;


}


public plugin_precache()


{


precache_model("models/cod/w_m3.mdl");


precache_model("models/cod/p_m3.mdl");


precache_model("models/cod/v_m3.mdl");


//powyżej zmieniasz ścieżki do nowych modeli


}


 


Teraz zróbmy zmiane modelów p_* i v_*. 


Dodajemy tą linijkę do  plugin_init -



register_event("CurWeapon", "CurWeapon", "be", "1=1")

Tak powinien wyglądać koniec pliku.



public CurWeapon(id)
{
new weapon = read_data(2);

if(ma_klase[id]) //tutaj wstawiamy ma_klase lub ma_perk
{
if(weapon == CSW_M3) //tutaj ustawiamy broń, jakiej model będziemy zmieniać
{
set_pev(id, pev_viewmodel2, "models/cod/v_m3.mdl")
//tu dajemy ścieżkę do nowego modeli v_
set_pev(id, pev_weaponmodel2, "models/cod/p_m3.mdl")
//tu dajemy ścieżkę do nowego modeli p_
}
}

Całość prezentuje się właśnie tak -



/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <codmod>
new const nazwa[] = "Kucacz";
new const opis[] = "Brak";
new const bronie = 1<<CSW_M3;
new const zdrowie = 0;
new const kondycja = 55;
new const inteligencja = 10;
new const wytrzymalosc = 0;
public plugin_init() {
register_plugin(nazwa, "1.1", "QTM_Peyote");
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);}






#include <amxmodx>
#include <codmod>
#include <engine>
#include <fakemeta>
new const nazwa[] = "Kucacz";
new const opis[] = "Brak";
new const bronie = 1<<CSW_M3;
new const zdrowie = 0;
new const kondycja = 55;
new const inteligencja = 10;
new const wytrzymalosc = 0;
new bool:ma_klase[33];
public plugin_init() {
register_plugin(nazwa, "1.1", "QTM_Peyote");

cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
}
public cod_class_enabled(id)
{
ma_klase[id] = true;
}

public cod_class_disabled(id)
{
ma_klase[id] = false;
}
public plugin_precache()
{
precache_model("models/cod/w_m3.mdl");
precache_model("models/cod/p_m3.mdl");
precache_model("models/cod/v_m3.mdl");
//powyżej zmieniasz ścieżki do nowych modeli
public CurWeapon(id)
{
    new weapon = read_data(2);

    if(ma_klase[id]) //tutaj wstawiamy ma_klase lub ma_perk
    {
        if(weapon == CSW_M3) //tutaj ustawiamy broń, jakiej model będziemy zmieniać
        {
            set_pev(id, pev_viewmodel2, "models/cod/v_m3.mdl")
            //tu dajemy ścieżkę do nowego modeli v_
            set_pev(id, pev_weaponmodel2, "models/cod/p_m3.mdl")
            //tu dajemy ścieżkę do nowego modeli p_
        }
    }


Jeszcze raz proszę przed skopiowaniem skontaktować się ze mną, starałem się to pisząc oraz mogłem się pomylić bo to pisałem z głowy a takie rzeczy mam średnio opanowane.


 


#Pomocnicze źródło - amxx.pl


Odnośnik do komentarza
Udostępnij na innych stronach

  • 3 miesiące później...

Wiadomość wygenerowana automatycznie

 

temat_zamkniety.png
Powód: zamykam

 

Jeżeli się z tym nie zgadzasz raportuj ten post a moderator lub administrator rozpatrzy go ponownie.
Z pozdrowieniami.
Administracja CSowicze.pl

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
 Udostępnij

×
×
  • Dodaj nową pozycję...