Sign In

Sign In

    1. Created 15 September 2025

    CSHOT

    Siec tworzona z pasja, prężnie rozwijajacą się. Posiadamy serwery CS 1.6. Każdy znajdzie u nas coś dla siebie. Profesjonalne podejście administracji jak i adminów tworzy wspaniałą atmosferę na sieci. Jeśli masz

    1. Created 15 September 2025

    CSHOT

    Siec tworzona z pasja, prężnie rozwijajacą się. Posiadamy serwery CS GO. Każdy znajdzie u nas coś dla siebie. Profesjonalne podejście administracji jak i adminów tworzy wspaniałą atmosferę na sieci. Jeśli masz c

Partners

Awatar autora

Challenge

Created Today  in PLUGINY  by Poster
[TITLE] Challenge
[URL] https://amxx.pl/topic/46963-challenge-wy...i-nagrody/


**Challenge**
v.0.6.1
Z powodu sposobu konfiguracji przeznaczony jest dla osób obeznanych z pisaniem
własnych pluginów.
Zainteresowanych zapraszam do tematu: [[Challenge] Gotowce i przykłady -
AMXX.pl: Support AMX Mod X](http://amxx.pl/topic/54152-challenge-gotowce-i-
przyklady)

Pomysłem zarzucił: [Skull3D - Przeglądanie profilu - AMXX.pl: Support AMX Mod
X](http://amxx.pl/user/15036-skull3d/)

[Image: opis.png]

Platforma do tworzenia wyzwań i nagradzania za ich spełniania. Używa bazy
danych do gromadzenia statystyk graczy dla konkretnych broni i tylko tych,
które wybierzemy. Oprócz tego sumuje czas spędzony na serwerze oraz zapisuje
datę pierwszego połączenia, dzięki temu możemy wykryć kto gra długo / od dawna
i też przypisać takim graczom jakiś bonus.

Można udostępnić graczom listę wyzwań:
[![Dołączona
grafika](http://amxx.pl/uploads/imgs/thumb_amxx_1...898__3.jpg)

Przewidziałem 3 przypadki zapisywania statystyk:

* statystyki broni standardowych

* czyli zabicia z kałacha czy m4, DeathMsg łapane zawsze
* statystyki broni niestandardowych

* czyli zabicia z magicznych przedmiotów czy skilli, DeathMsg łapane zawsze tylko z użyciem Orpheu, bez tego modułu trzeba używać Ham_TakeDamage lub emessagebegin()
* statystyki broni własnych

* czyli staty za cokolwiek chcemy, sami dodajemy punkty funkcją ch_add_user_stats()


Wyzwania definiujemy w osobnym pluginie. Mogą one łączyć opisane wyżej
przypadki, a także uwzględniać czas gry na serwerze.

Włączenie zapisywania statystyk danej broni to wywołanie w plugin_init()




challenge_uses_stats(wid);

np.



challenge_uses_stats(CSW_KNIFE);


oznacza, że plugin będzie zbierał informację o zabiciach z noża.

Pobranie zgromadzonych statystyk gracza umożliwia funkcja




ch_get_user_stats(id, wid, hs=0);


Od wersji 0.2 możemy dodawać własne pola statystyk, nie koniecznie związane z
zabijaniem. Wśród przykładów dałem opcję zapisywania ilości rozbrojonych i
podłożonych bomb (folder custom/).

**Ważne**
Skompilowanie z dołączeniem orpheu spowoduje łapanie wszystkich informacji o
zabójstwach, bez nich zapisywane są tylko te wyrządzone Ham_TakeDamage lub z
użyciem emessagebegin()
Sygnatury funkcji zapożyczone z [Funkcja you] Advanced - AMXX.pl: Support AMX
Mod X](http://amxx.pl/topic/43554-funkcja-you-advanced/)

[Image: instalacja.png]
Standardowa


**Opcje kompilacji**

wersja 0.5 i starsze

Odkomentuj



//#define USING_ORPHEU

jeśli chcesz użyć modułu Orpheu
([http://forums.allied...ad.php?t=103855](http://forums.alliedmods.net/showthread.php?t=103855
"Zewnętrzny odnośnik"))


Odkomentuj



//#define USING_DHUD

jeśli chcesz użyć efektów [Dynamiczny HUD - AMXX.pl: Support AMX Mod
X](http://amxx.pl/topic/31262-dynamiczny-hud/)

Wygląda to mniej więcej tak: [ YouTube - Challenge DHUD.wmv
](http://www.youtube.com/watch?v=mAZpkjlnSkg "Zewnętrzny odnośnik")

od 0.5.1
dostępne są 2 cvary: amx_challenge_useorpheu i amx_challenge_usedhud
aby użyć orpheu należy go zainstalować na serwerze i ustawić pierwszy cvar na
1
to samo z dhud, należy go zainstalować na serwerze i ustawić ten drugi cvar na
1

[Image: konfiguracja.png]
Dane mogą być zapisywane na 2 sposóby:

SQLite (domyślnie)

* w pliku na serwerze
* wymaga odblokowanego modułu sqlite w modules.ini
* plik bazy może zostać stworzony przez plugin tylko jeśli ma do tego prawo (chmod 600), możliwe, że trzeba będzie wrzuć pusty plik o podanej w cvarze nazwie na FTP


Ustawienia:



//SQLite
amx_challenge_sqltype "sqlite"
amx_challenge_host ""
amx_challenge_user ""
amx_challenge_pass ""
amx_challenge_db "addons/amxmodx/data/challenge.db"
amx_challenge_prefix ""



MySQL

* osobny serwer bazy danych
* wymaga odblokowanego modułu mysql w modules.ini
* łatwiej o prezentację na stronie WWW i jest bardziej niezawodny


Ustawienia:



//MySQL
amx_challenge_sqltype "mysql"
amx_challenge_host "localhost"
amx_challenge_user "root"
amx_challenge_pass "root"
amx_challenge_db "challenge"
amx_challenge_prefix ""





> amx_challenge_save 1|2|3

* typ zapisu

* 1 - steamid
* 2 - nick
* 3 - ip



> amx_challenge_list_available 0|1

* włącz/wyłącz możliwość podglądu wyzwań, ustawienie na 0 blokuje komendę /challenge




> amx_challenge_bots 0|1|2

* zapisywanie statystyk botów

* 0 - nie zapisu
* 1 - tylko grające
* 2 - wszystkie



> amx_challenge_minplayers 0

* wymagana ilość grających graczy na serwerze do zliczania statystyk




> amx_challnege_usedhud 0

* czy używać DHUD (jeśli dostępne)



> amx_challnege_orpheu 0

* czy używać Orpheu (jeśli dostępne)


Zmiany:

0.6.1
\- poprawiona numeracja
\- nowa funkcjonalność: możliwość podania koloru wiadomości



native challenge_show_custom_info(id, const szChallenge[], const szAward[], const iColor[3] = {255, 255, 255});


0.6.0
\- poprawiona kolejka DHUD

0.5.2
\- bugfix: plugin tworzył zbędny, kumulujący się plik temp.txt

0.5.1
\- usunięty bug z motd po wyjściu z menu challenge
\- nowy cvar: amx_challenge_minplayers
\- nowy cvar: amx_challenge_useorpheu
\- nowy cvar: amx_challenge_usedhud
\- nowy natyw: challenge_get_state
\- nowy natyw: ch_set_user_stats
\- forward client_gain_point : można zablokować dodanie punkty zwracając
PLUGIN_HANDLED

0.5
\- możliwość tworzenia grup wyzwań
wystarczy je przypisać funkcją challenge_set_group() z tą samą nazwą grupy

0.4
\- rozszerzone API
\- nowy funkcja: client_data_loaded(id){} informuje o wczytaniu danych z bazy
\- nowa funkcja: client_gain_point(id, wid, hs){} informuje o przyznaniu
punktu


0.3.1
\- informacje o zdobytych osiągnięciach (klient może wyłączyć je komendą
/infooff)
\- lista wyzwań i postęp: komenda /challenge

0.3
\- współpraca z SQLite,

0.2.2
\- bugfix, nie zliczało statów
\- automatyczne zapisywanie niestandardowych broni do pliku

0.2.1
\- wrzucało zbędne wpisy w logach, teraz już nie

0.2
\- możliwa współpraca z Orpheu
\- funkcja zmiany statystyk

0.1.2
\- nie dodaje istniejącej już niestandardowej broni



**Gotowe wyzwania:**

* Kilka Misieq`owych
* Coś o bombie, też Misieq
Załączone pliki

* [url=https://amxx.pl/index.php?app=core&module=attach&section=attach&attach_id=15122 "Pobierz załącznik"][Image: zip.gif][/url] [url=https://amxx.pl/index.php?app=core&module=attach&section=attach&attach_id=15122 "Pobierz załącznik"]**php-api.zip**[/url] **2,17 KB** 498 Ilość pobrań

* [url=https://amxx.pl/index.php?app=core&module=attach&section=attach&attach_id=15571 "Pobierz załącznik"][Image: zip.gif][/url] [url=https://amxx.pl/index.php?app=core&module=attach&section=attach&attach_id=15571 "Pobierz załącznik"]**Examples.zip**[/url] **8,03 KB** 519 Ilość pobrań

* [url=https://amxx.pl/index.php?app=core&module=attach&section=attach&attach_id=22477 "Pobierz załącznik"][Image: zip.gif][/url] [url=https://amxx.pl/index.php?app=core&module=attach&section=attach&attach_id=22477 "Pobierz załącznik"]**Challenge-0.6.1.zip**[/url] **58,67 KB** 654 Ilość pobrań







Załączniki:
Challenge-0.6.1.zip
Examples.zip
php-api.zip