#include <amxmodx> #include <fun> #include <colorchat> public plugin_init() { register_plugin("2 Fragi", "Autorska", "Mister Silenzo"); register_event("DeathMsg", "EventDeath", "a"); // Wydarzenie odpowiedzialne za wyłapywanie zabójstw } public EventDeath() { new kid = read_data(1); // Numer ID osoby, która zabiła new vid = read_data(2); // Numer ID osoby, która ZOSTAŁA zabita new hs = read_data(3); // Zwraca 1 jeżeli zabójstwo było przez headshot, lub 0 gdy było strzałem/kosą w ciało // read_data() służy do odczytywania parametrów wydarzenia, jeżeli użyłem złego słowa do opisania tej funkcji i jej funkcji to proszę o poprawienie mnie xd if(kid == vid || kid == 0) return; // Jeżeli OFIARĄ jest ZABÓJCA (czyt. samobójstwo) lub ZABÓJCA jest zerem (KID jest równe 0 gdy spada się z wysokości, lub admin używa SLAY ;-;) new name[2][32]; // Tablica dwuwymiarowa o dwóch polach z indeksami od 0 do 31 (Jeżeli źle wytłumaczyłem to proszę o poprawienie mnie ;/) if(get_user_weapon(kid) == CSW_KNIFE) { // Jeżeli bronią ZABÓJCY jest NÓŻ get_user_name(kid, name[0], 31); // Pobierz nick ZABÓJCY do pierwszego pola tablicy. get_user_name(vid, name[1], 31); // Pobierz nick OFIARY do drugiego pola tablicy. ColorChat(kid, RED, "^1Zdobywasz dodatkowego fraga za zabicie ^4%s^1 z ^4NOZA^1!", name[1]); // Wyświetl ZABÓJCY informację o dodaniu fraga for(new i = 0; i < get_maxplayers(); i++) { /* Tutaj spotykamy się ze słowem kluczowym "for", które definiuje pętlę. W pętli tworzymy nową zmienną "new i" i przypisujemy jej wartość zero "new i = 0;". Warunek obrotu pętli, czyli "i < get_maxplayers();", co ma się stać po obrocie pętli, czyli "i++".*/ if(!is_user_connected(i) || is_user_bot(i) || is_user_hltv(i) || i == kid) continue; /* I jest numerem ID gracza w tej pętli, więc jeżeli gracz z pętli jest zabójcą, jest niepołączony, jest botem lub hltv to go pomijamy :P Pomijamy zabójcę w pętli, ponieważ dla niego wiadomość została wyświetlona wcześniej, więc nie ma potrzeby pokazywać mu po raz kolejny tego samego, prawda? :P*/ ColorChat(i, RED, "^4%s ^1zdobywa dodatkowego fraga za zabicie ^4%s ^1NOZEM!", name[0], name[1]); } set_user_frags(kid, get_user_frags(kid) + 1); // Dodajemy do obecnej ilości fragów ZABÓJCY jednego fraga. return; // Przerywa dalsze działanie kodu, gdyż gdyby zabójstwo nożem odbyło by się poprzez HS gracz dostał by dwa dodatkowe fragi zamiast jednego. } // Tutaj robimy to samo co powyżej z tą różnicą, że funkcja nie rozpoczyna się od sprawdzenia czy gracz ma nóż, lecz czy zabójstwo odbyło się poprzez HS. if(hs == 1) { get_user_name(kid, name[0], 31); get_user_name(vid, name[1], 31); ColorChat(kid, RED, "^1Zdobywasz dodatkowego fraga za zabicie ^4%s HEADSHOTEM^1!", name[1]); for(new i = 0; i < get_maxplayers(); i++) { if(!is_user_connected(i) || is_user_bot(i) || is_user_hltv(i) || i == kid) continue; ColorChat(i, RED, "^4%s ^1zdobywa dodatkowego fraga za zabicie ^4%s ^1HEADSHOTEM!", name[0], name[1]); } set_user_frags(kid, get_user_frags(kid) + 1); return; } /* Mam nadzieję, że nauczyłeś się czegokolwiek XD Jeżeli czegoś nie wiesz to zapraszam na PW, bądź pisz w temacie, chętnie "pouczę" podstaw, gdyż jak na razie sam znam tylko podstawy :P */ }Proszę, oto kompletny kod z komentarzami, miłej lektury (o ile chcesz się czegoś nauczyć

