Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

ShaZii - zdjęcie

ShaZii

Rejestracja: 17.03.2013
Aktualnie: Nieaktywny
Poza forum Ostatnio: 23.11.2015 07:01
-----

#429504 Najlepszy gracz mapy

Napisane przez Gość w 07.07.2012 12:07

Najlepszy gracz mapy
opis
Plugin pokazuje na 5 sekund przed końcem mapy nick
najlepszego gracza na środku ekranu zielonym hudem.

Najlepszy gracz typowany jest na podstawie wielu
czynników regulowanych do woli cvarami, tj.
  • zabiciami w głowę
  • zabiciami zwykłymi
  • zabiciami towarzyszy
  • zginięciami w głowę
  • zginięciami zwykłymi
  • samobójstwami
  • podkładaniami bomb
  • podłożeniami bomb
  • detonacjom bomb
  • rozbrajanym bombom
  • rozbrojonym bombom
  • ratowanym zakładnikom
  • uratowanym zakładnikom
Za każdy z ww. czynników możemy przyznać dowolną liczbę
punktów, które w przypadku zielonego koloru, dodawane są
do punktów pozytywnych, czerwonego zaś do negatywnych.

Mamy do wyboru dwie opcje:
  • Sumaryczną, która zwraca różnicę sumy punktów
    pozytywnych i punktów negatywnych dla każdego gracza
  • Sortowaną, która w pierwszej kolejności bierze pod uwagę
    sumę punktów pozytywnych, a w drugiej kolejności dopiero
    sumę punktów negatywnych dla każdego z graczy.
Aby mieć pewność, że wyłoniony zostanie jeden jedyny zwycięzca,
ostatnim kryterium, dla obu tych opcji, jest kryterium pierwszeństwa,
co oznacza, że w przypadku identycznych statystyk, zwycięzcą
zostanie gracz, który jako pierwszy zyskał pozytywne punkty.

Do tego mamy możliwość co rundę wyświetlać graczowi liczbę posiadanych punktów na koncie.

screenshot
2012-07-12_00003.jpg 2012-07-12_00004.jpg

wymagane moduly
amxmodx
amxmisc
hamsandwich
csx

cvary
ngm_frag_pts 2 // liczba pozytywnych punktów przyznawana za zwykłe zabójstwo
ngm_frag_hs_pts 3 // liczba pozytywnych punktów przyznawana za zabójstwo w głowę
ngm_tk_pts 3 // liczba pozytywnych punktów przyznawana za zabójstwo w głowę
ngm_zgon_pts 1 // liczba negatywnych punktów przyznawana za zostanie zabitym
ngm_zgon_hs_pts 2 // liczba negatywnych punktów przyznawana za zostanie zabitym w głowę
ngm_plant 1 // liczba pozytywnych punktów przyznawana za rozpoczęcie podkładania bomby
ngm_planted 2 // liczba pozytywnych punktów przyznawana za podłożenie bomby
ngm_explode 5 // liczba pozytywnych punktów przyznawana za zdetonowanie bomby
ngm_defuse 3 // liczba pozytywnych punktów przyznawana za rozpoczęcie rozbrajania bomby
ngm_defused 5 // liczba pozytywnych punktów przyznawana za rozbrajenie bomby
ngm_hostage 1 // liczba pozytywnych punktów przyznawana za rozpoczęcie ratowania zakładnika
ngm_resque 2 // liczba pozytywnych punktów przyznawana za uratowanie zakładnika
ngm_typ 0 // 0 - tryb sumowanych punktów, 1 - tryb punktów sortowanych
ngm_punkty 1 // 1 - pokazuje punkty, 0 - nie pokazuje punktów
ngm_samobojstwo 2 // liczba negatywnych punktów przyznawana za popełnienie samobójstwa / zabicie się


instalacja
Wersja dla końca mapy wraz z końcem czasu:
  • najlepszygraczmapy.amxx kopiujemy do amxmodx/plugins
  • do amxmodx/plugins.ini dodajemy najlepszygraczmapy.amxx
  • do amxmodx/amxx.cfg dodajemy powyższe cvary (ustawione wg własnych upodobań)
  • najlepszygraczmapy.sma kopiujemy do amxmodx/scripting (opcjonalnie)
Wersja z pozwoleniem na dokończenie rundy po końcu czasu:
  • najlepszygraczmapy_pdr.amxx kopiujemy do amxmodx/plugins
  • do amxmodx/plugins.ini dodajemy najlepszygraczmapy_pdr.amxx
  • do amxmodx/amxx.cfg dodajemy powyższe cvary (ustawione wg własnych upodobań)
  • najlepszygraczmapy_pdr.sma kopiujemy do amxmodx/scripting (opcjonalnie)
  • get_seconds_left.amxx kopiujemy do amxmodx/plugins (koniecznie!)
  • do amxmodx/plugins.ini dodajemy get_seconds_left.amxx (koniecznie!)
  • secondsleft.inc kopiujemy do amxmodx/scripting/include (opcjonalnie)
[warn='Uwaga']Dla wersji z pozwoleniem na dokończenie rundy po końcu czasu konieczne jest wgranie także pluginu get_seconds_left![/warn]
inne informacje
Autor: Benio101
Licencja: PAL (Uznanie autorstwa)
Wersja: 1.1
Język: Polski

Changelog
v. 1.0   07.07.12   N   Wydanie pluginu
   v. 1.1   12.07.12   +   {
	  Dodanie cvaru ngm_tk_pts, ktory dodaje negatywne punkty za TK
	  Dodanie wersji kompatybilnej z pluginami, pozwalajacymi dokonczyc runde na koniec czasu
   }

download
Wersja dla końca mapy wraz z końcem czasu:
Załączony plik  najlepszygraczmapy.sma   6,42 KB  745 Ilość pobrań
  najlepszygraczmapy.amxx

Wersja z pozwoleniem na dokończenie rundy po końcu czasu:
Załączony plik  najlepszygraczmapy_pdr.sma   7,1 KB  502 Ilość pobrań
  najlepszygraczmapy_pdr.amxx
Załączony plik  get_seconds_left.sma   1,96 KB  469 Ilość pobrań
  get_seconds_left.amxx
Załączony plik  secondsleft.inc   152 bajtów  480 Ilość pobrań



#426314 Polskie końcówki wyrazów w zależności od wartości

Napisane przez Gość w 30.06.2012 18:10

Wstęp
Na pewno nieraz widzieliście napisy typu:
  • Koszt przesyłki wynosi 24 złotych
  • Na Twoim koncie jest 1 punktów
  • Sesja wygaśnie za 4 minut
Nie potrafiliście sobie z tym poradzić,
lub po prostu problem Was przerastał.

Mam dla Was wspaniałą nowinę:
Od dziś będziecie spać spokojnie!
Albowiem przedstawiam rozwiązanie.

Stock wybiera odpowiednią końcówkę na podstawie podanej wartości.

Mamy do czynienia z dwoma stockami:
  • dkoncowka() dla liczb całkowitych (integer, decimal)
  • fkoncowka() dla dla liczb zmiennoprzecinkowych (float)
Zastosowanie

dkoncowka(ile, czlon[], zero[], jeden[], dwa[]);
fkoncowka(Float:ile, czlon[], zero[], pol[], jeden[], dwa[]);


Opis
  • ile [liczba całkowita dla dkoncowka(), zmiennoprzecinkowa dla fkoncowka()] → wartość, na podstawie której wybierana będzie końcówka
  • czlon [ciąg znaków] → wbrew nazwie humanistycznej, początek wyrazu wyświetlanego, identyczny dla wszystkich kolejnych argumentów
  • zero [ciąg znaków] → końcówka, którą przyjmuje wyraz dla wartości ile równej 0, która dołączona do członu da pełny, odmieniony wyraz
  • pol [ciąg znaków] → końcówka, którą przyjmuje wyraz dla wartości ile równej 0.5, która dołączona do członu da pełny, odmieniony wyraz
  • jeden [ciąg znaków] → końcówka, którą przyjmuje wyraz dla wartości ile równej 1, która dołączona do członu da pełny, odmieniony wyraz
  • dwa [ciąg znaków] → końcówka, którą przyjmuje wyraz dla wartości ile równej 2, która dołączona do członu da pełny, odmieniony wyraz
Uwaga
Zmienna czlon służy zaoszczędzeniu czasu w używaniu funkcji, pozostawienie jej pustej i podanie pełnych odmian słów pozostałych zmiennych
w zupełności spełni swoje zadanie, choć zazwyczaj zwyczajnie przysporzy nam niepotrzebnego pisania kilkakrotnie początku tego samego wyrazu.

Przykłady
if(is_user_alive(id)){
new hp=get_user_health(id);
client_print(id,print_chat,"Masz %d %s zycia", hp, dkoncowka(hp, "punkt", "ow", "", "y"));
}

if(is_user_connected(id)){
new frags=get_user_frags(id);
if(frags)
client_print(id,print_chat,"Zdobyles %d %s", frags, dkoncowka(frags, "frag", "ow", "a", "i"));
else
client_print(id,print_chat,"Nie zdobyles jeszcze zadnego fraga");
}


Stocki do skopiowania
stock dkoncowka(ile, czlon[], zero[], jeden[], dwa[]){
new str[1024];
ile=abs(ile);
if(ile==1){
format(str,1023,"%s%s",czlon,jeden);
return str;
}
if((ile%10==2 || ile%10==3 || ile%10==4) && (!(ile%100==12 || ile%100==13 || ile%100==14))){
format(str,1023,"%s%s",czlon,dwa);
return str;
}
format(str,1023,"%s%s",czlon,zero);
return str;
}

stock fkoncowka(Float:ile, czlon[], zero[], pol[], jeden[], dwa[]){
new str[1024];
ile=floatabs(ile);
if(ile==1.0){
format(str,1023,"%s%s",czlon,jeden);
return str;
}
if(ile!=floatround(ile)){
format(str,1023,"%s%s",czlon,pol);
return str;
}
new num=floatround(ile);
if((num%10==2 || num%10==3 || num%10==4) && (!(num%100==12 || num%100==13 || num%100==14))){
format(str,1023,"%s%s",czlon,dwa);
return str;
}
format(str,1023,"%s%s",czlon,zero);
return str;
}


Stocki do pobrania
Załączony plik  koncowka.inc   1,02 KB  133 Ilość pobrań

Implementacja (koncowka.inc)
  • Kopiujemy stock do folderu scripting/include i dodajemy na początku kodu
    #include <koncowka>
    
  • Lub kopiujemy potrzebne stocki do naszego kodu



#414061 Deathrun Rangi [AMXX + SQL + WWW]

Napisane przez Gość w 24.05.2012 22:38

opis
Plugin Deathrun Rangi liczy skoki wykonane Bunny Hopem na serwerze.
Przekraczając kolejne progi wykonanych skoków, zdobywamy kolejne rangi.
Skacząc, w czasie rzeczywistym widzimy, ile mamy wykonanych skoków i jaką rangę.

Menu. Konfiguracja
W przystępnym Menu możemy zobaczyć statystyki oraz wymagania do rang.
Ponadto, dostępna jest konfiguracja opcji wyświetlania i powiadomień.

[warn='Zalecenie']Plugin idealny na serwery Deathrun, choć nadaje się do każdej rozgrywki[/warn]Statystyki. Online
Wszystkie statystyki, w tym top10, możemy obejrzeć zarówno w grze,
jak i online na serwerze WWW, wyszukując, sortując i filtrując wyniki.

[info='Pełna integracja']Plugin posiada 2 natywy oraz 2 forwardy (opisane niżej),
pozwalając na sukcesywną współpracę z innymi pluginami.[/info]Dodatki
Do pluginu udostępnione są 2 dodatki, wykorzystujące forwardy:
  • Muzyka wyświetlana w momencie zdobycia nowej rangi (muzyka załączona poniżej)
  • Informacja dla najlepszego gracza w rankingu (pluginy załączone są poniżej)
wymagane moduly
amxmodx
fakemeta
engine
sqlx

Baza danych SQL
Serwer z obsługą PHP*

*opcjonalnie dla statystyk online


cvary

// CVARy ogólne
amx_dr_rangi_speed 290 // minimalna prędkość wykonywanych skoków Bunny Hopem liczonych do rankingu
amx_dr_rangi_team 2 // drużyna, której Bunny Hop jest liczony (0 - wszyskie, 1 - tylko Terro, 2 - tylko CT, 3 - żadna)
amx_dr_rangi_show_best 1 // [0|1] czy pokazywać (1) najlepszego skoczka na serwerze, czy nie (0)
amx_dr_rangi_prefiks "[Deathrun_Rangi]" // prefiks pokazywany w informacjach na sayu

// CVARy jako dane do bazy danych, w której przechowujemy statystyki
amx_dr_rangi_host "localhost" // adres do bazy danych
amx_dr_rangi_user "root" // użytkownik bazy danych
amx_dr_rangi_pass "root" // hasło do bazy danych
amx_dr_rangi_db "db" // nazwa bazy danych


[error='Ostrzeżenie']W przypadku problemów z konfiguracją lub pytaniem
dotyczącym implementacji natywów bądź forwardów, załóż nowy temat.

Nie dość, że zachowasz przejrzystość w tym dziale, to prosząc o pomoc
w odpowiednim dziale, uzyskasz ją dużo szybciej i unikniesz ostrzeżenia.[/error]komendy
/rangi - pokazuje Menu Deathrun Rang, w którym można:
  • sprawdzić najlepszych skoczków na serwerze
  • sprawdzić swój własny ranking
  • opis rang i ich wymagania
  • ustawić miejsce wyświetlania informacji o skokach
  • ustawić, czy ranga ma się pokazywać przy ilości skoków
Forwardy:
dr_rangi_new_lvl(id) // Wbicie nowej rangi
dr_rangi_best_player(id) // Index gracz który ma najwięcej skoków ( warunek musi być on połączony ). Wywołanie co rundę.


Natywy:
get_user_jumps(id) // Zwraca ilość skoków gracza
get_user_rang(id) // Zwraca rangę gracza


screenshot
Dołączona grafika

instalacja
Plugin podstawowy Deathrun Rangi (wymagane):
  • Rangi_Deathrun.amxx kopiujemy do amxmodx/plugins (wymagane, podstawowe)
  • do amxmodx/plugins.ini dodajemy Rangi_Deathrun.amxx (wymagane, podstawowe)
  • do amxmodx/amxx.cfg dodajemy wyżej opisane cvary (ustawione wg własnych upodobań, wymagane, podstawowe)
Plugin dodatkowy, odgrywa muzyczkę przy awansie do nowej rangi (opcjonalnie):
  • lvl_up.mp3 kopiujemy do sound/misc (opcjonalnie, odgrywa muzyczkę przy awansie do nowej rangi)
  • Muzyka_na_wbicie_nowej_rangi.amxx kopiujemy do amxmodx/plugins (opcjonalnie, odgrywa muzyczkę przy awansie do nowej rangi)
  • do amxmodx/plugins.ini dodajemy Muzyka_na_wbicie_nowej_rangi.amxx (opcjonalnie, odgrywa muzyczkę przy awansie do nowej rangi)
Plugin dodatkowy, wyświetla informację o najlepszym graczu (opcjonalnie):
  • Best_Player.amxx kopiujemy do amxmodx/plugins (opcjonalnie, wyświetla informację o najlepszym graczu)
  • do amxmodx/plugins.ini dodajemy Best_Player.amxx (opcjonalnie, wyświetla informację o najlepszym graczu)
Opcjonalne pliki SMA dla programistów w celu przejrzenia kodu i ewentualnej modyfikacji (opcjonalnie):
  • Rangi_Deathrun.sma kopiujemy do amxmodx/scripting (opcjonalnie)
  • db.inl kopiujemy do amxmodx/scripting (opcjonalnie)
  • Deathrun_Rangi.inc kopiujemy do amxmodx/scripting/includes (opcjonalnie)
  • Muzyka_na_wbicie_nowej_rangi.sma kopiujemy do amxmodx/scripting (opcjonalnie, odgrywa muzyczkę przy awansie do nowej rangi)
  • Best_Player.sma kopiujemy do amxmodx/scripting (opcjonalnie, wyświetla informację o najlepszym graczu)
konfiguracja
Na serwer WWW kopiujemy zawartość folderu WWW (4 pliki)
z czego edytujemy jedynie plik Konfiguracja.php
Instrukcja znajduje się w środku ww. pliku.

[success='Dane SQL']Pamiętaj, aby pobierać dane na serwer WWW z tej samej bazy danych, do której statystyki zapisuje plugin Deathrun Rangi.
Upewnij się też, czy użytkownik bazy danych posiada dostęp do bazy danych zarówno z serwera gry, jak i serwera WWW.[/success]
Zmiana rang i wymagań
Aby zmienić rangi lub wymagania, należy edytować plik główny Rangi_Deathrun.sma
1. Znajdujemy linijkę new const g_Rangi[][] = i pod nią mamy nazwy kolejnych rang. Bez problemu możemy ich nazwy zmieniać, usuwać i dodawać nowe.
Należy jednak pamiętać, aby znajdowały się one w cudzysłowie i po każdej randze, porócz ostatniej, znajdował się przecinek, jak w oryginale.
2. Tak samo postępujemy z wymogami znajdującymi się poniżej linijki new const g_Wymogi[] =, gdzie kolejne od góry liczby odpowiadają kolejnym
rangom i wyrażają liczbę skoków wymaganą do zdobycia kolejnej rangi. należy pamiętać, by liczba rang była identyczna, jak liczba wymogów.
3. Na końcu zliczamy nową liczbę rang i aktualizujemy max_level z linijki 13.: #define max_level 16, zmieniając 16 na nową liczbę rang do zdobycia.
4. Gdy już wprowadzimy wszystkie zmiany, zapisujemy plik, kompilujemy lokalnie, aktualizujemy DeathrunRanking.amxx na serwerze i zmieniamy mapkę.
inne informacje
Autorzy: speedkill i benio101
Podziękowanie dla Fili:P za wycięcie muzyki
Język: polski
Wersja: 1.2.1

Changelog:
v. 1	  N Wersja inicjalizacyjna
v. 1.1	  $ Poprawiono obsługę błędów
	  $ Poprawiono numerację paginacji
v. 1.2	  + Dodanie numeracji miejsc
	  $ Poprawiono algorytm sortowania
	  $ Zoptymalizowano kod
	  $ Zmniejszono liczbę zapytań do bazy danych
	  + Dodano informację o liczbie wpisów w bazie danych
v. 1.2.1  ! Aktualizacja krytyczna
	  $ Zoptymalizowano kod
	  $ Dodano zabezpieczenie cvarów (FCVAR_PROCETED)

download

Załączony plik  Rangi_Deathrun.rar   121,93 KB  1324 Ilość pobrań
Załączony plik  Rangi_Deathrun.sma   10,59 KB  951 Ilość pobrań
  Rangi_Deathrun.amxx


#475259 [TuT] Jak naprawić perk Nano Kamizelka.

Napisane przez Pan PrO w 04.11.2012 19:53

Witam. W tym poradniku pokarzę wam jak naprawić perk Nano Kamizelka oraz dodać tę zdolność innym klasą.

1. Pod
new bool:freezetime = true;
dodajemy
new odpornosc_gracza[33];


2. w plugin_natives() na samym dole dodajemy


register_native("cod_get_user_odpornosc", "SprawdzOdpornosc", 1);
register_native("cod_set_user_odpornosc", "UstawOdpornosc", 1);


3. W UsunUmiejetnosci(id) na samym dole dodajemy
odpornosc_gracza[id] = 0;


4. Ten public znajdujący sie prawie na samym dole

public ZadajObrazenia(atakujacy, ofiara, Float:obrazenia, Float:czynnik_inteligencji, byt_uszkadzajacy, dodatkowe_flagi)
ExecuteHam(Ham_TakeDamage, ofiara, byt_uszkadzajacy, atakujacy, obrazenia+PobierzInteligencje(atakujacy, 1, 1, 1)*czynnik_inteligencji, /*1<<31 |*/ dodatkowe_flagi);


Zmieniamy na to

public ZadajObrazenia(atakujacy, ofiara, Float:obrazenia, Float:czynnik_inteligencji, byt_uszkadzajacy, dodatkowe_flagi)
{
if(!odpornosc_gracza[ofiara])
ExecuteHam(Ham_TakeDamage, ofiara, byt_uszkadzajacy, atakujacy, obrazenia+PobierzInteligencje(atakujacy, 1, 1, 1)*czynnik_inteligencji, /*1<<31 |*/ dodatkowe_flagi);
}


5. Na samym końcu .sma dodajemy to

public UstawOdpornosc(id, wartosc)
odpornosc_gracza[id] = wartosc;

public SprawdzOdpornosc(id)
return odpornosc_gracza[id];


Sposób użycia

W cod_perk_enabled lub cod_class_enabled dodajemy

cod_set_user_odpornosc(id, 1);


a w cod_perk_disabled lub cod_calss_disabled

cod_set_user_odpornosc(id, 0);



Naprawiona Nano Kamizelka

Załączony plik  codperk_nanokamizelka.sma   746 bajtów  392 Ilość pobrań
  codperk_nanokamizelka.amxx


Zakaz kopiowania na inne forum. Poradnik wykonany dla amxx.pl
  • +
  • -
  • 11