Klasa Truciciel i perk
Intex
17.02.2012
Dodałem tutorial jak dodać do klasy moc zatruwania, teraz dodam klasę i perk z tą mocą, dla osób, które nie potrafią same tego dodać.
Klasa, która po naładowaniu noża zatruwa. Ładując moc nie można się ruszać.
Perk, robi to samo co wyżej. Ładując moc nie można się ruszać.
Standardowa
Jak w perku tak samo i w klasie, tu zmieniamy długość czasu ładowania mocy. Czas podajemy w sekundach.
X - tu podajecie czas w sekundach.
Należy potem ponownie skompilować.
Klasa, która po naładowaniu noża zatruwa. Ładując moc nie można się ruszać.
Perk, robi to samo co wyżej. Ładując moc nie można się ruszać.
Standardowa
Jak w perku tak samo i w klasie, tu zmieniamy długość czasu ładowania mocy. Czas podajemy w sekundach.
#define CZAS_LADOWANIA X
X - tu podajecie czas w sekundach.
Należy potem ponownie skompilować.
Załączone pliki
JawoR1337
17.02.2012
W jaki sposób ona zatruwa? Wszystkich z przeciwnego teamu? Czy jak naładuje się a następnie będe strzelać w gracza?
Oczywiście zassysam
Oczywiście zassysam
Intex
17.02.2012
Jak naładujesz moc na nożu i strzelisz w gracza. To co x sekund zabiera mu wyznaczoną ilość hp. A to ustawisz w SMA
Intex
17.02.2012
Nie wiem:P ja nie lubię się bawić w cvary wolę zmienić w sma i mieć święty spokój Jak ktoś woli to przecież może sobie dodać albo poprosić o dodanie
LionHeart
18.02.2012
Przydała by się jeszcze informacja dla gracza atakującego ta klasa jakiego gracza zaraził. Czyli strzelam w gracza o nicku Player i wyświetla się napis ; Zaraziłeś Player.
ZarzadCSB
18.02.2012
Zrób może tak że jak się naładuje na nożu to może otruć jednego gracza aż do 1 hp.
A nie że naładuje raz poskanuje wszyscy otruci
A nie że naładuje raz poskanuje wszyscy otruci
korski
06.03.2012
Nie kampią z tego co zauważyłem, lecz strzelają i uciekają ,ale gdzie mogę zmienić wartość zabieranego hp? Jest ona aktualnie zależna od inteligencji ,więc pewni gracze robią /reset dodają 100 inty i zabierają 200 życia.
niemamkonta
10.03.2012
Jak zmniejszyć ilość zabieranego hp po zatruciu?
Wrzucam sma bo załączniki z pierwszego postu nie działają.
Wydawało mi się że chodzi o tą ostatnią funkcję i podejrzewam(nie pamietam dokładnie) że gdy próbowałem to zmieniłem
Ale to chyba nic nie dało To hp za szybko schodzi.
Edit: nieaktualne
poszukałem natywu cod_inflict_damage i znalazłem że to 8.0 jest odpowiedzialne za obrażenia, a ta druga wartość za inteligencję
Użytkownik niemamkonta edytował ten post 10.03.2012 21:37
Wrzucam sma bo załączniki z pierwszego postu nie działają.
/* Plugin generated by AMXX-Studio */ #include <amxmodx> #include <codmod> #include <fakemeta> #define TASK_ID 128000 #define CZAS_LADOWANIA 10 // Jak dlugo ma sie ladowac moc w sekundach new bool:moc_zaladowana[33]; new bool:ma_klase[33]; new msg_bartime; new const nazwa[] = "Truciciel"; new const opis[] = "AK47, 1 HE, 1SG, po naladowaniu noza - zatruwa swoich wrogow pociskami."; new const bronie = 1<<CSW_HEGRENADE | 1<<CSW_SMOKEGRENADE | 1<<CSW_AK47; new const zdrowie = 20; new const kondycja = 10; new const inteligencja = 2; new const wytrzymalosc = 0; public plugin_init() { register_plugin(nazwa, "1.0", "QTM_Peyote"); register_event("CurWeapon", "CurWeapon", "be", "1=1"); register_event("ResetHUD", "ResetHUD", "abe"); register_event("Damage", "Damage", "be", "2!0", "3=0", "4!0") msg_bartime = get_user_msgid("BarTime"); register_forward(FM_PlayerPreThink, "client_PreThink"); 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 client_PreThink(id) { if(!task_exists(id+TASK_ID)) return; if(pev(id, pev_button) & (IN_MOVELEFT+IN_MOVERIGHT+IN_FORWARD+IN_BACK+IN_JUMP+IN_DUCK)) { change_task(id+TASK_ID, CZAS_LADOWANIA.0); set_bartime(id, CZAS_LADOWANIA); } } public CurWeapon(id) { if(get_user_weapon(id) == CSW_KNIFE && !moc_zaladowana[id] && ma_klase[id]) { set_task(CZAS_LADOWANIA.0, "MocZaladowana", id+TASK_ID); set_bartime(id, CZAS_LADOWANIA); } else { remove_task(id+TASK_ID); set_bartime(id, 0); } } stock set_bartime(id, czas) { message_begin((id)?MSG_ONE:MSG_ALL, msg_bartime, _, id) write_short(czas); message_end(); } public MocZaladowana(id) { id -= TASK_ID; if(!ma_klase[id]) return; moc_zaladowana[id] = true; client_print(id, print_center, "POCISKI ZOSTALY ZATRUTE!"); CurWeapon(id); } public ResetHUD(id) moc_zaladowana[id] = false; #define TASK_ZATRUCIE 64000 new zatruwajacy[33]; public Damage(id) { new attacker = get_user_attacker(id); if(!is_user_alive(attacker)) return; if(!moc_zaladowana[attacker]) return; zatruwajacy[id] = attacker; if(!task_exists(id+TASK_ZATRUCIE)) set_task(1.0, "Zatruj", id+TASK_ZATRUCIE, _, _, "a", 5); } public Zatruj(id) { id -= TASK_ZATRUCIE; client_print(id, print_center, "Zostales zatruty!!"); cod_inflict_damage(zatruwajacy[id], id, 8.0, 0.15); }
Wydawało mi się że chodzi o tą ostatnią funkcję i podejrzewam(nie pamietam dokładnie) że gdy próbowałem to zmieniłem
cod_inflict_damage(zatruwajacy[id], id, 8.0, 0.3);na
cod_inflict_damage(zatruwajacy[id], id, 8.0, 0.15);
Ale to chyba nic nie dało To hp za szybko schodzi.
Edit: nieaktualne
poszukałem natywu cod_inflict_damage i znalazłem że to 8.0 jest odpowiedzialne za obrażenia, a ta druga wartość za inteligencję
Użytkownik niemamkonta edytował ten post 10.03.2012 21:37