![]() |
|
System perków - Printable Version +- CSHOT.PL - Pluginy amxx , plugins amxx , server game counter strike , serwery gier , forum (https://cshot.pl) +-- Forum: Counter-Strike (https://cshot.pl/forumdisplay.php?fid=54) +--- Forum: Counter-Strike 1.6 (https://cshot.pl/forumdisplay.php?fid=55) +---- Forum: PLUGINY (https://cshot.pl/forumdisplay.php?fid=62) +---- Thread: System perków (/showthread.php?tid=3069) |
System perków - Poster - 09-18-2025 [TITLE] System perków [URL] https://amxx.pl/topic/135342-system-perków/ ![]() Jest to zmodyfikowany plugin od [QTM. Peyote](https://amxx.pl/user/8794-qtm- peyote/ "Profil użytkownika"), dzięki której otrzymujemy tylko perk po zabiciu gracza. Perk ten dodaje nam dodatkowe atrybuty np. dodatkowe życie, bądź niewidzialność - jest ich wiele i każdy się czymś wyróżnia. W podstawce jest 27 zwykłych perków, 10 premium, 2 trudne do zdobycia oraz 1 premium i trudny do zdobycia. /perk - Pokazuje informacje o posiadanym perku. /perki - Otwiera menu opisów perków. /sprzedaj - Sprzedaje aktualny perk. /sell - Sprzedaje aktualny perk. /zamien - Możliwość zamiany perkami z graczami. /wymien - Możliwość zamiany perkami z graczami. /pomoc - Menu pomocy. ![]() /dajperk - Menu dawania perków ![]() money_sellperk "500" - Ile mamy otrzymać pieniędzy za sprzedanie perku. ![]() Ten system perków wykorzystuje moduł "perki" (nie "codmod" i tworzenie ich jest nieco inne, więcej informacji niżej). [](https://amxx.pl/index.php?app=core&module=attach§ion=attach&attach_id=66908 "Pobierz załącznik") [**perki.inc**](https://amxx.pl/index.php?app=core&module=attach§ion=attach&attach_id=66908 "Pobierz załącznik") **2,04 KB** 314 Ilość pobrań native get_user_perk(id, &wartosc=0); /*------------------------------ Zwraca perk gracza, oraz przypisuje zmiennej wartosc wartosc perku ------------------------------*/ native set_user_perk(id, perk, wartosc=-1, pokaz_info=1); /*------------------------------ Ustawia perk gracza. Jezeli wartosc = -1, wartosc perku bedzie losowa. Jezeli perk = -1 perk bedzie losowy ------------------------------*/ native get_perkid(const nazwa_perku[]); /*------------------------------ Zwaca numer perku o podanej nazwie ------------------------------*/ native get_perks_num(); /*------------------------------ Zwaca ilosc perkow ------------------------------*/ native get_perk_name(perk, Return[], len); /*------------------------------ Kopiuje nazwe perku do Return ------------------------------*/ native get_perk_desc(perk, Return[], len); /*------------------------------ Kopiuje opis perku do Return ------------------------------*/ native register_perk(const nazwa[], const opis[], min_wartosc=0, max_wartosc=0); /*------------------------------ Rejestruje nowy perk oraz zwraca jego numer ------------------------------*/ forward perk_changed(id, perk); /*------------------------------ Forward wysylany do wszystkich pluginów w momencie zmiany perku ------------------------------*/ forward perk_enabled(id, wartosc, perk); /*------------------------------ Forward wysylany do pluginu z ktorego zarejestrowany jest perk w momencie aktywacji ------------------------------*/ forward perk_disabled(id, perk); /*------------------------------ Forward wysylany do pluginu z ktorego zarejestrowany jest perk w momencie dezaktywacji ------------------------------*/ forward perk_used(id); /*------------------------------ Forward wysylany do pluginu z ktorego zarejestrowany jest perk w momencie uzycia perku ------------------------------*/ Jak widzicie, nie wszystkie natywy oraz forwardy tu się znajdują, dodatkowo nie mają przyrostka "cod_". Nie musimy nic dopisywać do plugins.ini Aby dodać nowy perk należy dopisać go w: **plugins-perki.ini** ![]() * Perki z codmod'a możemy swobodnie przerabiać usuwając wszędzie przyrostki "cod_" Spoiler **czyli na przykład:** cod_register_perk(nazwa, opis); na: register_perk(nazwa, opis); public cod_perk_enabled(id) na public perk_enabled(id) **oraz zamieniając moduł** #include <codmod> na #include <perki> * Nie istnieją natywy cod_give_weapon oraz cod_take_weapon, dlatego najlepiej zastosować give_item. * Aby zrobić perk premium: Spoiler Wystarczy zmodyfikować perk w "_public perk_enabled_ ", w taki podobny sposób: public perk_enabled(id, wartosc) { if(!(get_user_flags(id) & ADMIN_LEVEL_B)) // tu ustawiasz flage { client_print(id, "Ten perk jest premium, niestety nie mozesz go otrzymac!") return PERK_STOP } //kod, tu: ma_perk i co tam masz return PERK_CONTINUE } * Aby zrobić trudny perk do zdobycia: Spoiler Odbywa się w ten sposób, że gdy gracz dostanie dostanie perk zaczyna się losowanie czy go otrzyma. Możemy zmieniać wartości losowań (łatwiej, trudniej). Wystarczy zmodyfikować perk w "_public perk_enabled_ ", w taki podobny sposób: public perk_enabled(id, wartosc) { if(random_num(1, 5)==1 || 2 || 3 || 4) // losowanie jest od 1 do 5; jesli trafimy na 1,2,3,4 to nie otrzymamy perku, jesli trafimy na 5 to otrzymamy perk { client_print(id, "[Nazwa Perku] Niestety nie otrzymasz perku! Nie udalo ci sie go wylosowac!") return PERK_STOP } //kod, tu: ma_perk i co tam masz return PERK_CONTINUE } **Polecam na serwery 4fun.** Załączone pliki * [url=https://amxx.pl/index.php?app=core&module=attach§ion=attach&attach_id=66911 "Pobierz załącznik"] [/url] [url=https://amxx.pl/index.php?app=core&module=attach§ion=attach&attach_id=66911 "Pobierz załącznik"]**cstrike.rar**[/url] **691,36 KB** 531 Ilość pobrań Załączniki: cstrike.rar perki.inc |