Pierw otwieramy nasze *.sma CodModa i tworzymy nową zmienną globalną poprzez dodanie nad plugin_init() tego :
new blokada_broni[33];Na sam koniec kodu dodajemy następujące publici :
public UstawBlokadeBroni(id, wartosc) blokada_broni[id] = wartosc; public SprawdzBlokadeBroni(id) return blokada_broni[id];
W publicu CurWeapon edytujemy odpowiednio warunek, aby nie wyrzucało broni przy ich podniesieniu
if(!(1<<bron & bronie))trzeba zamienić na
if(!(1<<bron & bronie) && blokada_broni[id])
W publicu DotykBroni, dodajemy warunek, który zabrania podneszenia broni, gdy mamy włączoną blokade, a więc pod :
if(!is_user_connected(id)) return HAM_IGNORED;dodajemy
if(!blokada_broni[id]) return HAM_IGNORED;
Teraz do publica UsunUmiejetnosci(id) dodajemy to :
blokada_broni[id] = 1;
Dzięki temu, kiedy gracz wejdzie na serwer, bedzie miał od razu włączoną blokade.
Na koniec wystarczy zarejestrowac natywy, robimy to poprzez dodanie do plugin_natives() tego :
register_native("cod_set_user_weaponsblocking", "UstawBlokadeBroni", 1); register_native("cod_get_user_weaponsblocking", "SprawdzBlokadeBroni", 1);
Koniec edycji sma, przechodzimy do codmod.inc oraz na jego koniec dodajemy takie linijki :
native cod_set_user_weaponsblocking(id, wartosc); //Ustawia graczowi blokade broni (1 włącza, 0 wyłącza) native cod_get_user_weaponsblocking(id); // Zwraca 1, jezeli gracz ma wł. blokade, w przeciwnym wypadku zwraca 0Okej, juz prawie gotowe, wystarczy zrobić np. klase, ktora bedzie mogla podniesc kazdą broń, robimy to poprzez dodanie do cod_class_enabled(id) tego
cod_set_user_weaponsblocking(id, 0);a także w cod_class_disabled dodajemy to
cod_set_user_weaponsblocking(id, 1);
Oczywiście należy także cvar cod_weaponsblocking ustawić na 0 w addons/amxmodx/configs/codmod.cfg
Koniec, nie zapomnijcie przekompilowac sma codmoda a takze klasy
Użytkownik d0n tHe Pr0oo edytował ten post 02.07.2012 21:00