#include <amxmodx> #define USE_MP3 // dodaj 2 slahe ( // ) przed jesli dzwiek jest WAV new g_iC4Timer, g_iDefaultC4Timer, g_pCvarTimer; public plugin_init() { register_plugin("C4 Timer", "1.0", "asiap"); register_event("SendAudio", "EventBombPlanted", "a", "1=0", "2=%!MRAD_BOMBPL"); register_event("HLTV", "EventNewRound", "a", "1=0", "2=0"); register_logevent("EventRoundEnd", 2, "1=Round_End"); g_iDefaultC4Timer = get_pcvar_num(g_pCvarTimer = get_cvar_pointer("mp_c4timer")); } public plugin_precache() { #if defined USE_MP3 precache_generic("sound/misc/bomba.mp3"); #else precache_sound("misc/bomba.wav"); #endif } public EventNewRound() { if(g_iC4Timer) { remove_task(); g_iC4Timer = 0; } g_iDefaultC4Timer = get_pcvar_num(g_pCvarTimer); } public EventRoundEnd() { if(g_iC4Timer) { remove_task(); #if defined USE_MP3 client_cmd(0, "mp3 stop"); #else client_cmd(0, "stopsound"); #endif g_iC4Timer = 0; } } public EventBombPlanted() { g_iC4Timer = g_iDefaultC4Timer; set_task(1.0, "BombTimer", _, _, _, "a", g_iC4Timer); BombTimer(); } public BombTimer() { static szTime[6]; format_time(szTime, 5, "%M:%S", g_iC4Timer); if(g_iC4Timer == 15) { #if defined USE_MP3 client_cmd(0, "mp3 play sound/misc/bomba.mp3"); #else client_cmd(0, "spk misc/bomba"); #endif } set_hudmessage(random(256), random(256), random(256), -1.0, 0.4, 2, 1.0, 1.5, 0.01, 0.01); show_hudmessage(0, "C4: %s", szTime); --g_iC4Timer; }
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.
|
WeBsteR
Rejestracja: 23.02.2014Aktualnie: Nieaktywny
Poza forum Ostatnio: 17.11.2016 20:08





Statystyki
- Grupa: Użytkownik
- Całość postów: 297
- Odwiedzin: 9 454
- Tytuł: Wszechwidzący
- Wiek: Wiek nie został ustalony
- Urodziny: Data urodzin nie została podana
-
Imię
dawid
-
Płeć
Mężczyzna
-
Lokalizacja
Rzeszów
Kontakt
Narzędzia użytkownika
Ostatnio byli
#732409 Zatrzymanie muzyki gdy ktos rozbroił pake
Napisane przez Asiap
w 14.11.2016 06:54
#731918 Odczytywanie punktów drużyny
Napisane przez _McHappy
w 29.10.2016 11:44
Łap:
#include <amxmodx> #include <amxmisc> #include <cstrike> #include <orpheu> #include <orpheu_memory> #define TASK_SWITCH_TEAMS 777 #define TASK_SHOW_MESSAGE 778 #define set_mp_pdata(%1,%2) ( OrpheuMemorySetAtAddress( g_pGameRules, %1, 1, %2 ) ) #define get_mp_pdata(%1) ( OrpheuMemoryGetAtAddress( g_pGameRules, %1 ) ) #define CO_ILE 4 //Tu zmieniamy interwal zamian druzyn (w rundach) new g_pGameRules; new g_roundCount; public plugin_precache() { OrpheuRegisterHook( OrpheuGetFunction( "InstallGameRules" ), "OnInstallGameRules", OrpheuHookPost ); } public OnInstallGameRules() { g_pGameRules = OrpheuGetReturn(); } public plugin_init () { register_plugin( "Zamiana druzyn", "1.1.0", "Arkshine | _McHappy" ); register_event("TextMsg", "eRestart", "a", "2&#Game_C", "2&#Game_w"); register_event("HLTV", "event_new_round", "a", "1=0", "2=0"); register_logevent("GameCommencing", 2, "1=Game_Commencing"); register_event("SendAudio", "eEndRound", "a", "2&%!MRAD_terwin", "2&%!MRAD_ctwin", "2&%!MRAD_rounddraw"); } //Jezeli nastepna runda bedzie 'runda zamiany', to wykonujemy zamiane tuz przed nowa runda. public eEndRound() if( !( (g_roundCount+1) % CO_ILE) ) set_task(4.5, "SwitchTeams", TASK_SWITCH_TEAMS); //Funcja wlasciwej zamiany druzyn public SwitchTeams() { new maxP = get_maxplayers(); for(new i=1; i<=maxP; i++) { if(is_user_connected(i)) switch(get_user_team(i)) { case 1: cs_set_user_team(i, 2); case 2: cs_set_user_team(i, 1); } } //Wywolujemy zamiane wynikow SwitchTeamScores(); //Wyswietlamy odpowiednia informacje, aby gracze sie nie pogubili. if(task_exists(TASK_SHOW_MESSAGE)) remove_task(TASK_SHOW_MESSAGE); set_task(1.0, "ShowMessage", TASK_SHOW_MESSAGE); } public event_new_round() ++g_roundCount; public GameCommencing() g_roundCount=0; public eRestart() g_roundCount = 0; //Zamiana wynikow. Po wykonaniu tablica wynikow zostanie odswiezona samoczynnie poprzez event nowej rundy. public SwitchTeamScores() { new temp=get_mp_pdata("m_iNumCTWins"); set_mp_pdata( "m_iNumCTWins", get_mp_pdata("m_iNumTerroristWins")); set_mp_pdata( "m_iNumTerroristWins", temp); return PLUGIN_HANDLED; } public ShowMessage() { set_hudmessage(85, 255, 42, -1.0, 0.30, 2, 6.0, 5.0, 0.05, 2.0) show_hudmessage(0, "Zamiana druzyn!") //Tekst do wyswietlenia. }
Do poprawnego działania pluginu wymagany jest moduł Orpheu
Po pobraniu go i zainstalowaniu, pobierz pliki sygnatur i wypakuj je do folderu amxmodx.
Tyle, większość rzeczy w komentarzach
Załączone pliki
-
Sygnatury_ZamianaDruzyn.zip 3,22 KB 551 Ilość pobrań
#728153 CoD by RiviT (aka TibacK) - 9 różnych odmian i przeróbek + 4 paczki modeli!
Napisane przez Rivit
w 12.07.2016 10:24
Witam serdecznie!
Wszystko jest bazowane na CoD Nowy. 2 paczki są 'normalne'. Reszta już jest troszkę pokombinowana Paczka jest dość specyficzna i wiele rzeczy nie podejdzie ze standardowego coda
Może sprawić problemy w scriptingu (pozmieniane natywy itp). Sam uznaję, że paczka to nic specjalnego, ale wrzucę, szkoda żeby się zakurzyła. Myślę, że Wam się spodoba, może komuś się przyda.
Jak mówiłem jest 9 wersji paczek (jest też jako plik tekstowy w załącznikach) i dla każdej jest osobny opis.
Mała ściągawka:
ID 1 ---> CoD | klasy i staty i perki ID 2 ---> CoD | klasy i staty i 2 perki ID 3 ---> CoD bez statow | klasy i perki ID 4 ---> CoD bez statow | klasy i 2 perki ID 5 ---> CoD bez klas | staty i perki ID 6 ---> CoD bez klas | staty i 2 perki ID 7 ---> CoD bez klas i statow | perki ID 8 ---> CoD bez klas i statow | 2 perki ID 9 ---> CoD bez klas i perkow | staty
1.
version:
+klasy
+staty
+1 slot perk
Normalna paczka CoD.
___________________________ ZAWARTOSC PACZKI ___________________________
-/silnik CoD/
pod 201 - 601 lvl
procentowe pokazywanie expa;
szybkie rozdawanie statystyk;
nowa statystyka: obrażenia;
nowa statystyka: exp;
nowa statystyka: reload;
nowa statystyka: kevlar;
nowa statystyka: ekonomia;
nowa statystyka: kamuflaz;
nowa statystyka: krytyk;
nowa statystyka: unik;
rozwiązany problem z CurWeapon (zastosowanie innej metody);
dodana komenda na wyłaczanie/właczanie hud;
exp za headshot w silniku (cvar);
łatka 0 hp bug;
exp za podłożenie, rozbrojenie, uratowanie hostów w silniku (cvar);
exp za podniesienie/wyrzucenie paki (cvar) (zaleca się aby exp za podniesienie był mniejszy niż za upuszczenie, bo gracze wyrzucają i podnoszą) (#define do wyłaczania tej opcji);
kasa za wyrzucenie (sprzedanie) perku. Komenda /sell, /drop;
frakcje przy rejestracji klasy;
zablokowane kupowanie;
bonusy dla gracza premium i super premium zintegrowane z silnikiem
system renderingu! nigdy więcej problemów z niewidzialnością
pozbawiony zbędnych funkcji
poprawne ustawianie prędkości
-/czysciciel/
usuwa miny, apteczki, rakiety, dzialka na poczatku rundy;
usunieta dzięki temu kupa kodu z klas i perkow, ktory sie powtarzal ;
-/menu admina/
-/klany/
-/klasy zwykle, premium, super premium/
-/~110 perkow/
-/exp o godzinach/
-/wytrzymalosc perku/
naprawiony bug (po zmianie klasy odnawiala sie wytrzymalosc);
-/misje (questy)/
mozliwosc wylaczenia hud;
mozliwosc przerwania misji;
zapis postepu misji na nastepna mape;
specjane rozdzialy;
misje niezależne od poziomu!
-/sklep do CoD/
pod komenda /sklep, /shop;
osobny dla premium i super premium tzw. 3 w 1;
-/modele/
podmienione modele broni na bardziej CoD'owe;
gracz ma możliwość wyłączenia/włączenia nowych modeli;
dodano 4 paczki modeli (patrz folder configs/ghw);
-/bonusowe paczki/
zmieniony model ogromnej paczki na sakiewke (szybciej sie sciagnie i lepiej wyglada niz ogromna paczka);
-/aukcje/
wystawianie/kupowanie/wycofywanie perkow na aukcjach;
pisane od podstaw przeze mnie;
2.
+klasy
+staty
+2 slot perk
Normalna paczka CoD z dwoma slotami na perk.
___________________________ ZAWARTOSC PACZKI ___________________________
-/To co w 1/
-/PEŁNA OBSŁUGA DWÓCH PERKÓW (było kilka problemów, ale już działa)/
3.
+klasy
-staty
+1 slot perk
Paczka pozbawiona możlwości rozdawania statystyk, zachowano statystyki klas i z perków i klanów. Im większy level tym większe HP.
___________________________ ZAWARTOSC PACZKI ___________________________
-/silnik CoD/
101 lvl
procentowe pokazywanie expa;
rozwiązany problem z CurWeapon (zastosowanie innej metody);
dodana komenda na wyłączanie/włączanie hud;
exp z headshot w silniku (cvar);
łatka 0 hp bug;
exp za podłożenie, rozbrojenie, uratowanie hostów w silniku (cvar);
exp za podniesienie/wyrzucenie paki (zaleca się aby exp za podniesienie był mniejszy niż za upuszczenie, bo gracze wyrzucają i podnoszą) (#define do wyłaczania tej opcji);
kasa za wyrzucenie (sprzedanie) perku. Komenda /sell, /drop;
frakcje przy rejestracji klasy;
zablokowane kupowanie;
bonusy dla gracza premium i super premium zintegrowane z silnikiem
system renderingu! nigdy więcej problemów z niewidzialnością
pozbawiony zbędnych funkcji
poprawne ustawianie prędkości
-/czysciciel/
usuwa miny, apteczki, rakiety, dzialka na poczatku rundy;
usunieta dzięki temu kupa kodu z klas i perkow, ktory sie powtarzal

-/menu admina/
-/klany/
-/klasy zwykle, premium, super premium/
-/~110 perkow/
-/exp o godzinach/
-/wytrzymalosc perku/
naprawiony bug (po zmianie klasy odnawiala sie wytrzymalosc);
-/misje (questy)/
mozliwosc wylaczenia hud;
mozliwosc przerwania misji;
zapis postepu misji na nastepna mape;
specjane rozdzialy
misje niezależne od poziomu!
-/sklep do CoD/
pod komenda /sklep, /shop;
osobny dla premium i super premium tzw. 3 w 1;
-/modele/
podmienione modele broni na bardziej CoD'owe;
gracz ma możliwość wyłączenia/włączenia nowych modeli;
dodano 4 paczki modeli (patrz folder configs/ghw);
-/bonusowe paczki/
zmieniony model ogromnej paczki na sakiewke (szybciej sie sciagnie i lepiej wyglada niz ogromna paczka);
-/aukcje/
wystawianie/kupowanie/wycofywanie perkow na aukcjach;
pisane od podstaw przeze mnie;
4.
+klasy
-staty
+2 slot perk
Paczka pozbawiona możlwości rozdawania statystyk, zachowano statystyki klas i z perków i klanów. Im większy level tym większe HP.
___________________________ ZAWARTOSC PACZKI ___________________________
-/To co w 3/
-/PEŁNA OBSŁUGA DWÓCH PERKÓW (było kilka problemów/brak pomysłów jak coś napisać, ale działa)/
5.
-klasy
+staty
+1 slot perk
Paczka pozbawiona klas
___________________________ ZAWARTOSC PACZKI ___________________________
-/silnik CoD/
101 lvl
procentowe pokazywanie expa;
rozwiązany problem z CurWeapon (zastosowanie innej metody);
dodana komenda na wyłączanie/włączanie hud;
exp z headshot w silniku (cvar);
łatka 0 hp bug;
exp za podłożenie, rozbrojenie, uratowanie hostów w silniku (cvar);
exp za podniesienie/wyrzucenie paki (zaleca się aby exp za podniesienie był mniejszy niż za upuszczenie, bo gracze wyrzucają i podnoszą) (#define do wyłaczania tej opcji);
kasa za wyrzucenie (sprzedanie) perku. Komenda /sell, /drop;
ciekawy system gry! (kupno co x rund, trzeba przetrwać mając perk)
bonusy dla gracza premium i super premium zintegrowane z silnikiem
system renderingu! nigdy więcej problemów z niewidzialnością
pozbawiony zbędnych funkcji
poprawne ustawianie prędkości
-/czysciciel/
usuwa miny, apteczki, rakiety, dzialka na poczatku rundy;
usunieta dzięki temu kupa kodu z perkow, ktory sie powtarzal

-/menu admina/
-/klany/
-/~90 perkow zwyklych, 3 premium, 3 super premium/
-/exp o godzinach/
-/wytrzymalosc perku/
-/misje (questy)/
mozliwosc wylaczenia hud;
mozliwosc przerwania misji;
zapis postepu misji na nastepna mape;
specjane rozdzialy
misje niezależne od poziomu!
-/sklep do CoD/
pod komenda /sklep, /shop;
osobny dla premium i super premium tzw. 3 w 1;
-/modele/
podmienione modele broni na bardziej CoD'owe;
gracz ma możliwość wyłączenia/włączenia nowych modeli;
dodano 4 paczki modeli (patrz folder configs/ghw);
-/bonusowe paczki/
zmieniony model ogromnej paczki na sakiewke (szybciej sie sciagnie i lepiej wyglada niz ogromna paczka);
-/aukcje/
wystawianie/kupowanie/wycofywanie perkow na aukcjach;
pisane od podstaw przeze mnie;
6.
-klasy
+staty
+2 slot perk
Paczka pozbawiona klas
___________________________ ZAWARTOSC PACZKI ___________________________
-/To co w 5/
-/PEŁNA OBSŁUGA DWÓCH PERKÓW (było kilka problemów/brak pomysłów jak coś napisać, ale działa)/
7.
version:
-klasy
-staty
+1 slot perk
Paczka pozbawiona klas i statystyk, zachowano statystyki z perków, klanów. Im wyższy level tym więcej HP.
___________________________ ZAWARTOSC PACZKI ___________________________
-/silnik CoD/
101 lvl
procentowe pokazywanie expa;
rozwiązany problem z CurWeapon (zastosowanie innej metody);
dodana komenda na wyłączanie/włączanie hud;
exp z headshot w silniku (cvar);
łatka 0 hp bug;
exp za podłożenie, rozbrojenie, uratowanie hostów w silniku (cvar);
exp za podniesienie/wyrzucenie paki (zaleca się aby exp za podniesienie był mniejszy niż za upuszczenie, bo gracze wyrzucają i podnoszą) (#define do wyłaczania tej opcji);
kasa za wyrzucenie (sprzedanie) perku. Komenda /sell, /drop;
ciekawy system gry! (kupno co x rund, trzeba przetrwać mając perk)
bonusy dla gracza premium i super premium zintegrowane z silnikiem
system renderingu! nigdy więcej problemów z niewidzialnością
pozbawiony zbędnych funkcji
poprawne ustawianie prędkości
-/czysciciel/
usuwa miny, apteczki, rakiety, dzialka na poczatku rundy;
usunieta dzięki temu kupa kodu z perkow, ktory sie powtarzal ;
-/menu admina/
-/klany/
-/~90 perkow zwyklych, 3 premium, 3 super premium/
-/exp o godzinach/
-/wytrzymalosc perku/
-/misje (questy)/
mozliwosc wylaczenia hud;
mozliwosc przerwania misji;
zapis postepu misji na nastepna mape;
specjane rozdzialy
misje niezależne od poziomu!
-/sklep do CoD/
pod komenda /sklep, /shop;
osobny dla premium i super premium tzw. 3 w 1;
-/modele/
podmienione modele broni na bardziej CoD'owe;
gracz ma możliwość wyłączenia/włączenia nowych modeli;
dodano 4 paczki modeli (patrz folder configs/ghw);
-/bonusowe paczki/
zmieniony model ogromnej paczki na sakiewke (szybciej sie sciagnie i lepiej wyglada niz ogromna paczka);
-/aukcje/
wystawianie/kupowanie/wycofywanie perkow na aukcjach;
pisane od podstaw przeze mnie;
8.
version:
-klasy
-staty
+2 slot perk
Paczka pozbawiona klas i statystyk, zachowano statystyki z perków, klanów. Im wyższy level tym więcej HP.
___________________________ ZAWARTOSC PACZKI ___________________________
-/To co w 7/
-/PEŁNA OBSŁUGA DWÓCH PERKÓW (było kilka problemów/brak pomysłów jak coś napisać, ale działa)/
9.
-klasy
+staty
-perk
Paczka pozbawiona klas i perków, zachowano statystyki.
___________________________ ZAWARTOSC PACZKI ___________________________
-/silnik CoD/
pod 201 - 601 lvl
procentowe pokazywanie expa;
szybkie rozdawanie statystyk;
nowa statystyka: obrażenia;
nowa statystyka: exp;
nowa statystyka: reload;
nowa statystyka: ekonomia;
nowa statystyka: kamuflaz;
nowa statystyka: krytyk;
nowa statystyka: unik;
dodana komenda na wyłaczanie/właczanie hud;
exp za headshot w silniku (cvar);
łatka 0 hp bug;
exp za podłożenie, rozbrojenie, uratowanie hostów w silniku (cvar);
exp za podniesienie/wyrzucenie paki (cvar) (zaleca się aby exp za podniesienie był mniejszy niż za upuszczenie, bo gracze wyrzucają i podnoszą) (#define do wyłaczania tej opcji);
bonusy dla gracza premium i super premium zintegrowane z silnikiem
poprawne ustawianie prędkości
-/menu admina/
-/klany/
-/exp o godzinach/
-/misje (questy)/
mozliwosc wylaczenia hud;
mozliwosc przerwania misji;
zapis postepu misji na nastepna mape;
specjane rozdzialy;
misje niezależne od poziomu!
-/sklep do CoD/
pod komenda /sklep, /shop;
osobny dla premium i super premium tzw. 3 w 1;
-/modele/
podmienione modele broni na bardziej CoD'owe;
gracz ma możliwość wyłączenia/włączenia nowych modeli;
dodano 4 paczki modeli (patrz folder configs/ghw);
-/bonusowe paczki/
zmieniony model ogromnej paczki na sakiewke (szybciej sie sciagnie i lepiej wyglada niz ogromna paczka);
DODATKOWE INFO:
Paczka zawiera TYLKO CoD MoD + dodatki do niego. Nie ma np. licznik C4, map itp. itd.
Wymagana kompilacja lokalna! (dołączony kompilator (+wszystkie wymagane .inc) w wersji kompatybilnej z AMXX z paczki)
W folderze configs jest rozpiska flag do premium.
Kazda paczka posiada listę komend w addons/amxmodx/data/pomoc.txt
Wszystkie są wyciagnięte do codmod.cfg
Reszta konfiguracji jest w silniku CoD, na samym początku. Opisane jest tam jak i co. Po zmianie czegoś silnik trzeba przekompilować i wrzucić nową wersję na serwer.
Standardzik.
Pobierasz amxmodx_do_kazdej_wersji_paczki, rozpakowujesz i wrzucasz do odpowiednich folderów na serwerze (jak zapyta czy zastąpić plik to zastąp)
potem odpowiednia wersja paczki, którą sobie wybierzesz i tak samo, wrzucasz gdzie trzeba.
(opcjonalne) modele - jeżeli będziesz korzystał to pobierz paczkę i wrzuć na serwer, jeżeli nie korzystasz to w plugins-codmod.ini usuń plugin od podmiany modeli (GHW_weapon_replacement)
Każda paczka ma plugin do podmiany modeli (jeżeli nie chcesz modeli to wyłączasz go)
4 zestawy modeli znajdują się tu (plik: modele_do_kazdej_paczki.rar): https://github.com/r...zdej_paczki.rar
w amxx.cfg znajduje się cvar odpowiadajacy za przełaczanie między paczkami modeli (zmiana wymaga zmiany mapy lub restartu serwera)
ghw_zestaw_modeli x - możliwe wartości od 1 do 4 włącznie
Modyfikacja tej paczki może sprawić kłopoty wielu osobom, ponieważ natywy są pozmieniane, rozwiązania nie są jakieś skomplikowane, ale mogą sprawić kłopoty (tak, uczyłem się różnych rzeczy na tym silniku) itp.
Jest możliwe, że nie będzie działać z innymi pluginami pod CoD (trzeba sprawdzić)
Zapis nVault.
Nie będę opisywać perków ani klas, jest ich ponad 100. Pobierz i poczytaj
Miłego testowania, pozdrawiam!
Lista poprawek od czasu publikacji tej paczki:
- naprawa błędu z broniami w opisach klas
- zmiana w systemie renderingu (Array tworzony jest teraz jeden raz)
- [25.07.2017] poprawka chodzenia na shifcie
- [25.07.2017] poprawka prefixów dla premium / super premium
Zawsze aktualne paczki znajdują się tu: https://github.com/r.../PACZKA COD MOD
Załączone pliki
-
amxmodx_do_kazdej_paczki.rar 1,74 MB 289 Ilość pobrań
-
.WersjePaczek.txt 381 bajtów 190 Ilość pobrań
-
CoD - ID1.rar 2,26 MB 319 Ilość pobrań
-
CoD - ID2.rar 2,27 MB 179 Ilość pobrań
-
CoD - ID3.rar 2,26 MB 155 Ilość pobrań
-
CoD - ID4.rar 2,26 MB 156 Ilość pobrań
-
CoD - ID5.rar 2,13 MB 137 Ilość pobrań
-
CoD - ID6.rar 2,14 MB 146 Ilość pobrań
-
CoD - ID7.rar 2,13 MB 130 Ilość pobrań
-
CoD - ID8.rar 2,13 MB 149 Ilość pobrań
-
CoD - ID9.rar 598,47 KB 194 Ilość pobrań
#109357 Natywy
Napisane przez R3X
w 03.02.2010 00:34
1. Opis
Funkcje natywne są dostępne dla każdego zainstalowanego pluginu AMXX. Udostępniają funkcje natywne tworzymy z naszego pluginu jakby dodatkową bibliotekę. Dzięki temu mamy możliwość podziału większego dzieła nie tylko na pliki, a na osobne pluginy. Pozwala to na dużą elastyczność kodu oraz pracę z krótszymi, mniej skomplikowanymi programami.
Krótko: Możemy korzystać z danych jednego pluginu w innym.
2. Przygotowanie
Aby to zadziałało potrzeba dwóch współgrających elementów:
- pluginu-biblioteki, który obsługuje funkcje
- pliku .inc, który pozwoli korzystać z tych funkcji w innym pluginie
Na potrzeby tego artykułu stworzę testową bibliotekę <nicto> (czyt. "nic to")
INC
Weźmy się najpierw za plik .inc. Raz dołączony plik nie będzie więcej potrzebny, więc żeby nie powodował problemów ograniczymy jego wykonywanie:
#if defined _nicto_included #endinput #endif #define _nicto_included
sprawdzamy czy stała "_nicto_included" istnieje (wymyślamy coś własnego, nazwa powinna być unikatowa)
jeśli tak to kończymy plik (#endinput)
jeśli nie to ją definiujemy, potem dołączana jest reszta pliku
dalej informujemy kompilator, że korzystamy z biblioteki nicto:
#pragma library "nicto"
i dalej nagłówki funkcji(nasze natywy lub forwardy[o nich będzie następny artykuł

cały plik inc może wyglądać np tak:
#if defined _nicto_included #endinput #endif #define _nicto_included #pragma library "nicto" enum stan{ NIC, COS } native Float:nic(); native cokolwiek(id, stan:s); native moze_cos(id, Float:fTime, const szMessage[]);
SMA(1)
Pierwszy kod sma to będzie nasza biblioteka. Sam plugin może działać sobie po swojemu tak jak każdy inny. Kluczowym elementem jest fragment:
public plugin_natives(){ }
Po pierwsze rejestrujemy bibliotekę:
register_library("nicto");
Po drugie, trzecie i czwarte:
register_native("nic", "n_nic"); register_native("cokolwiek", "n_cokolwiek"); register_native("moze_cos", "n_moze_cos");
register_native("funkcja_biblioteki", "funkcja_pluginu");funkcja_biblioteki - to ta z inc`a, będzie wywoływana w innych pluginach
funkcja_pluginu - ona będzie odpowiedzialna za działanie tej pierwszej; jej parametry to id pluginu, w którym wywołano natyw oraz ilość argumentów, zwracany typ musi być zgodny z tym podanym dla funkcja_biblioteki w inc`u
Na tym etapie biblioteka wygląda tak:
#include <amxmodx> #include <amxmisc> #define PLUGIN "NicTo Lib" #define VERSION "1.0" #define AUTHOR "R3X" public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) } public plugin_natives(){ register_library("nicto"); register_native("nic", "n_nic"); register_native("cokolwiek", "n_cokolwiek"); register_native("moze_cos", "n_moze_cos"); } //plugin - id pluginu //params - ilość argumentów public Float:n_nic(plugin, params){ } public n_cokolwiek(plugin, params){ } public n_moze_cos(plugin, params){ }
Funkcja nic ma nagłówek: native Float:nic();
=żadnych parametrów, a zwracać ma floata
skoro 'nic', to możemy zrobić np. to:
public Float:n_nic(plugin, params){ return 0.0; }
Funkcja cokolwiek korzysta z typu danych deklarowanego w samym incu. Nic nie stoi na przeszkodzie, aby go tu dołączyć. Problemy się zaczną, gdy będziemy wywoływać własne funkcje natywne w pluginie-bibliotece. Po prostu to nie przejdzie

w n_cokolwiek oczekujemy 2 parametrów id, i s; musimy mieć pewność, że są:
public n_cokolwiek(plugin, params){ if(params < 2){ log_amx("Zbyt malo parametrow funkcji cokolwiek!"); return 0; } return 1; }
Wartość samych parametrów pobrać nam pozwolą funkcje dla danego typu danych:
get_string(param, dest[], maxlen); // tekst
get_param(param); //komórka pamięci (int, char, bool)
Float:get_param_f(param); //float
get_param_byref(param); // komórka przez referencję
Float:get_float_byref(param); //float przez referencję
get_array(param, dest[], size); //tablica komórek
get_array_f(param, Float:dest[], size); //tablica float`ów
Jako, że tablice bez ‘const’ i jawne referencje pozwalają na zmianę wartości argumentów istnieją też odpowiedniki set_*
set_string(param, dest[], maxlen);
set_param_byref(param, value);
set_float_byref(param, Float:value);
set_array(param, const source[], size);
set_array_f(param, const Float:source[], size);
W każdym przypadku param to numer parametru licząc od lewej zaczynając od 1.
Skupmy się na pobieraniu. Natyw cokolwiek przekazuje id oraz stan:s. Ich wartości w n_cokolwiek to:
new id = get_param(1); new stan:s = stan:get_param(2);
Aby zachować układ zmiennych i uniknąć ‘tag mismatch’ dokonałem rzutowania do stan:
Załóżmy, że id to index gracza, a funkcja pokazuje mu na czacie komunikat zależny od stanu COS/NIC. Biblioteka powinna teraz wyglądać tak:
#include <amxmodx> #include <amxmisc> #include <nicto> #define PLUGIN "NicTo Lib" #define VERSION "1.0" #define AUTHOR "R3X" public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) } public plugin_natives(){ register_library("nicto"); register_native("nic", "n_nic"); register_native("cokolwiek", "n_cokolwiek"); register_native("moze_cos", "n_moze_cos"); } //plugin - id pluginu //params - ilość argumentów public Float:n_nic(plugin, params){ return 0.0; } public n_cokolwiek(plugin, params){ if(params < 2){ log_amx("Zbyt malo parametrow funkcji cokolwiek!"); return 0; } new id = get_param(1); if(!is_user_connected(id)) return 0; new stan:s = stan:get_param(2); switch(s){ case NIC: client_print(id, print_chat, "NIC"); case COS: client_print(id, print_chat, "COS"); default: return 0; } return 1; } public n_moze_cos(plugin, params){ }
Do pełniejszego obrazu natywu potrzebujemy danych z tego pluginu. Utwórzmy tablicę globalną giRandom [33], i przy wejściu na serwer przypiszmy graczowi losową liczbę 0-100.
Niech funkcja może_cos zwróci wartość tablicy z podanego indeksu (id) i wrzuci do logów wartości fTime i szMessage[].
public n_moze_cos(plugin, params){ if(params < 3){ log_amx("Zbyt malo parametrow funkcji moze_cos!"); // -1 nie mieści się w przedziale 0-100, więc będzie można wychwycić błąd return -1; } new id = get_param(1); if(id < 0 || id > 32) //nie musi byc gracza, wystarczy ze jest taki indeks w tablicy return -1; new Float:fTime = get_param_f(2); new szMessage[32]; get_string(3, szMessage, 31); log_amx("fTime=%f, szMessage = %s",fTime, szMessage); return giRandom[id]; }
SMA(2)
Teraz pora na plugin, który będzie korzystał z biblioteki. Po prostu dołączamy <nicto> i używamy podanych funkcji np tak:
#include <amxmodx> #include <amxmisc> #include <nicto> #define PLUGIN "New Plug-In" #define VERSION "1.0" #define AUTHOR "R3X" public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) log_amx("Nic:%f", nic()); register_clcmd("say /cokolwiek","cmdCokolwiek"); } public cmdCokolwiek(id){ cokolwiek(id, NIC); moze_cos(id, 3.14, "Pi"); return PLUGIN_CONTINUE; }
Info:
ważne by plugin korzystający z biblioteki był niżej w plugins.ini niż sama biblioteka. W innym przypadku plugin korzystający z biblioteki musisz przefiltrować natywy:
set_native_filter

Załączone pliki
-
Natywy.rar 1,65 KB 332 Ilość pobrań
#731268 Ts3 bany na stronie
Napisane przez MaxioR
w 04.10.2016 21:34
Tu masz gotowy skrypt:
-Lista adminów online
-Lista banów
-Statystyki serwera
https://github.com/Wruczek/ts-website
DEMO
#731122 Menu broni od 3 rundy na flagę Z.
Napisane przez Asiap
w 29.09.2016 15:36
#include <amxmodx> #include <fakemeta_util> #include <hamsandwich> new g_hMenuWeapons, g_iNumRound; public plugin_init() { register_plugin("Weapons Menu", "1.0", "asiap"); register_event("HLTV", "EventHLTV", "a", "1=0", "2=0"); register_logevent("EventRestartGame", 2, "1=Game_Commencing", "1&Restart_Round_"); RegisterHamPlayer(Ham_Spawn, "Odrodzenie", 1); g_hMenuWeapons = menu_create("Menu broni", "HandleWeaponsMenu"); menu_additem(g_hMenuWeapons, "M4A1 + Deagle", "weapon_m4a1"); menu_additem(g_hMenuWeapons, "AK47 + Deagle", "weapon_ak47"); menu_additem(g_hMenuWeapons, "AWP + Deagle", "weapon_awp"); menu_additem(g_hMenuWeapons, "Famas + Deagle", "weapon_famas"); menu_setprop(g_hMenuWeapons, MPROP_EXITNAME, "Wyjdz"); } public EventHLTV() { ++g_iNumRound; } public EventRestartGame() { g_iNumRound = 0; } public Odrodzenie(id) { if(!is_user_alive(id) || g_iNumRound < 3) { return; } menu_display(id, g_hMenuWeapons); } public HandleWeaponsMenu(id, hMenu, iItem) { if(!is_user_alive(id) || g_iNumRound < 3) { return; } switch(iItem) { case MENU_EXIT: { return; } default: { static iBitAccess, iCallback, i, iBitWeapons[32], iNum, szWeapon[24]; get_user_weapons(id, iBitWeapons, iNum); for(i = 0; i < iNum; i++) { if(~(CSW_ALL_PISTOLS | CSW_ALL_SHOTGUNS | CSW_ALL_SMGS | CSW_ALL_RIFLES | CSW_ALL_SNIPERRIFLES | CSW_ALL_MACHINEGUNS & 1<<iBitWeapons[i]) || !get_weaponname(iBitWeapons[i], szWeapon, 23)) { continue; } engclient_cmd(id, "drop", szWeapon); } menu_item_getinfo(hMenu, iItem, iBitAccess, szWeapon, 23, _, _, iCallback); fm_give_item(id, szWeapon); fm_give_item(id, "weapon_deagle"); setUserAmmo(id, get_weaponid(szWeapon), 90); setUserAmmo(id, CSW_DEAGLE, 35); } } } stock setUserAmmo(id, iWeapon, iAmmo) { static iOffset; switch(iWeapon) { case CSW_M4A1, CSW_FAMAS: iOffset = 380; case CSW_AK47: iOffset = 378; case CSW_AWP: iOffset = 377, iAmmo = 30; case CSW_DEAGLE: iOffset = 384; default: return; } set_pdata_int(id, iOffset, iAmmo); }
#730629 Najbardziej stabilny hosting ? 2016
Napisane przez Linux'
w 12.09.2016 14:13
Oferta pukawki jak i 1shot1kill sa nie mal identyczne co do ceny oraz jakosci wiec ciezko jednocznacznie stwierdzic ktory hosting bedzie lepszy. Mialem okazje testowac juz wiele uslug z roznych hostingow i osobiscie preferuje pukawke. Przekonali mnie do siebie swoja walka o klienta, na zyczenie dodaja bezplatnie do testow vpsy i gry z dluzszym okresem testowym niz 2h.
#730159 usuwanie wpisu/gracza z bazy mysql
Napisane przez Master Yoga
w 29.08.2016 22:16
#729641 jak pobrać 10 ostatnich banów
Napisane przez Asiap
w 19.08.2016 14:53
napisane szybko
#include <amxmodx> #include <sqlx> new Handle:g_hSqlTuple; public plugin_cfg() { register_plugin("Last 10 Bans", "1.0", "asiap"); new iError, szError[128]; g_hSqlTuple = SQL_MakeDbTuple("host", "user", "pass", "db"); SQL_SetCharset(g_hSqlTuple, "utf8"); if(SQL_Connect(g_hSqlTuple, iError, szError, 127) == Empty_Handle) { set_fail_state("(%i) %s", iError, szError); } } public Clcmd_ShowBans(id) { static iData[1]; iData[0] = id; return SQL_ThreadQuery(g_hSqlTuple, "GetLastBans", "SELECT `player_name`, `ban_created` FROM `amx_bans` ORDER BY `bid` DESC LIMIT 10", iData, 1); } public GetLastBans(iFailState, Handle:hQuery, szError[], iError, iData[]) { if(!SQL_NumRows(hQuery)) { return; } static id, hMenu, szName[41], szCreated[12]; id = iData[0]; hMenu = menu_create("Ostatnie 10 banow", "HandleGetLastBans"); while(SQL_MoreResults(hQuery)) { SQL_ReadResult(hQuery, SQL_FieldNameToNum(hQuery, "player_name"), szName, 40); format_time(szCreated, 11, "%d.%m.%Y - %H:%M:%S", SQL_ReadResult(hQuery, SQL_FieldNameToNum(hQuery, "ban_created"))); menu_additem(hMenu, fmt("%s (%s)", szName, szCreated)); SQL_NextRow(hQuery); } menu_display(id, hMenu); } public HandleGetLastBans(id, hMenu, iItem) { if(iItem == MENU_EXIT) { return; } }
#728963 ReHLDS, Anty-WH, AimBot Detector, Nowe możliwości
Napisane przez tytusek
w 05.08.2016 15:53
Co to ReHLDS?
"Reverse-engineered [/size]HLDS, czyli [/size]ReHLDS[/size] jest silnikiem serwera dla gier GoldSource, takich jak Counter-Strike 1.6. Stworzony został poprzez [/size]inżynierię wsteczną na podstawie oryginalnego engine w wersji 6153 (plik engine_i486.so)."[/size]
więcej o ReHLDS > kliknij tutaj
source code > kliknij tutaj
Lista skompilowanych wersji ReHLDS > kliknij tutaj
Lista polskich serverów, które korzystają z ReHLDS > kliknij tutaj
na ReHLDS nie działają moduły:
- OpenGl Detector mazdan
- Orpheu
- Okapi
- lepsza optymalizacja servera, większa wydajność.
- API do pluginów amxx.
Uwaga zalecane jest ustawienia tych komend w server.cfg lub amxx.cfg z następującymi wartościami
- mp_consistency 1
- sv_rehlds_movecmdrate_max_burst -1
- sv_rehlds_stringcmdrate_max_burst -1
- listipcfgfile <plik> - plik zakazanych adresów IP / podsieci
- syserror_logfile <plik> - plik z debug-informacji, która jest klasyfikowana na piękne serwerowych
- sv_auto_precache_sounds_in_models "0/1" - Auto-prekesh dźwięki modele
- sv_delayed_spray_upload "0/1" - odroczone Ładowanie spraye (szybsze spraye startowe na serwerze)
- sv_echo_unknown_cmd "0/1" - wyświetli komunikat o nieznanym zespołem
- sv_force_ent_intersection "0/1" - stałe utknięcie na platformach (optymalna dla Deathrun mod)
- sv_rehlds_force_dlmax "0/1" - ustawienie wartości dla klientów "1024 "kVAR" cl_dlmax ", unikając nadmiernego pakietów fragmentacji
- sv_rehlds_movecmdrate_max_avg" wartość "- maksymalna średnia wartość Kwara" clc_move "na sekundę (domyślnie:" 400 ")
- sv_rehlds_movecmdrate_avg_punish" wartość "- czas, w którym będą zakazane odtwarzacz po przekroczeniu ograniczają one Kwara"sv_rehlds_movecmdrate_max_avg" (The domyślna wartość "5", gdy ustawiony na "0" gracz zostanie zbanowany na zawsze, wyznaczając wartość ujemną. - zostanie
- wyrzucony) sv_rehlds_movecmdrate_max_burst "wartość" - maksymalną wartość Kwara "clc_move" na sekundę (czyli default: "2500")
- sv_rehlds_movecmdrate_burst_punish "wartość" - czas, w którym gracz będzie zakazane po przekroczeniu swoje granice Kwara "sv_rehlds_movecmdrate_max_burst" (domyślna wartość "5". Gdy ustawione na "0" gracz zostanie zbanowany na zawsze, wyznaczając wartość ujemną - zostanie wyrzucony)
- sv_rehlds_stringcmdrate_max_avg "wartość" - maksymalna średnia wartość polecenia od klienta na sekundę (domyślnie: "80")
- sv_rehlds_stringcmdrate_avg_punish "wartość" - czas, które będą zakazane odtwarzacz po przekroczeniu ich granic Kwara "sv_rehlds_stringcmdrate_max_avg" (wartość domyślna "5", gdy ustawiony na "0" gracz zostanie zbanowany na zawsze, wyznaczając wartość ujemną - zostanie wyrzucony.)
- sv_rehlds_stringcmdrate_max_burst "wartość" - maksymalna wartość zespołów z klient na sekundę (domyślnie: "400")
- sv_rehlds_stringcmdrate_burst_punish "wartość" - czas, w którym będą zakazane odtwarzacz po przekroczeniu swoje granice Kwara "sv_rehlds_stringcmdrate_max_burst" (ustawienie domyślne to "5" po ustawieniu na "0" gracz. zostanie zbanowany na zawsze, wyznaczając wartość ujemną - zostanie wyrzucony)
- sv_rehlds_hull_centering "0/1" - naprawiono błąd z zniknięcia obiektu niestandardowego w mapach tekstur (zob. spoiler )
- sv_rehlds_userinfo_transmitted_fields <klucze> - Z pomocą Kwara pola userinfo zostanie przeniesiona do graczy giełdowych w kluczach
- Jeśli Kwara pozostanie puste, zostanie przeniesiona na absolutnie wszystkie pola userifno, z wyjątkiem tych dziedzinach, które rozpoczynają się od znaku podkreślenia "_"
- Przykład: sv_rehlds_userinfo_transmitted_fields_cvar "name \ \ model \ * SID \ * HLTV \ bottomcolor \ topcolor" (wartość domyślna: pusty)
- sv_rehlds_attachedentities_playeranimationspeed_fix "0/1" - stała prędkość animacji gracz z zainstalowanym podmiotu (zob. wideo )
- sv_rehlds_local_gametime "0/1 "- obniżony poziom opóźnienia dla bardzo długiej grze na tej samej karcie
- //Przetłumaczone na surowo przez google translator
2. Zabezpieczenia przed Exploitami
VoiceTranscoder 2017 RC - Jest to najnowsza wersja kodeka do rozmów pomiędzy graczami Steam i NonSteamów
ta wersja różni się od starszym tym, że posiada zabezpieczenie przed flood voice atakiem w skutek tego ataku server może dostać Crashu
Ustawienia VoiceTranscoder.cfg
- VTC_ForceSendHLTV - jeśli jest włączona HLTV, pakiety głosowe są wysyłane zawsze na podstawie danych z gamedll
- VTC_ThreadMode - włączyć / wyłączyć kodowanie w oddzielnym wątku (zmiana Kwara ma zastosowanie tylko wtedy, gdy serwer jest uruchamiany domyślnie jest wyłączona).
- VTC_Volume_OldToNew - wzrost głośności, gdy kodowanie Speex jedwabiem (wartość domyślna 1.0)
- VTC_Volume_NewToOld - wzrost głośności przy dekodowaniu z jedwabiu Speex (wartość domyślna 1.0)
- VTC_HltvCodec - które pakiety wysłać HLTV. "Stary" - Speex; "Nowy" - jedwab (wartość średnia "stary")
- VTC_MaxDelta - Ochrona przed pakietów głosowych (powodzie, takich jak spidhake) wartość w milisekundach (maksymalna różnica pomiędzy czasem serwera i czasu klienta, głosu, wartość domyślna to 200)
SafeNameAndChat 1.0 - plugin do metamoda co podmienia znaki # % na inne w unicode, więc gracze nadal będą mogli mieć # w nicku i nie powodować żadnych problemów z serverem.
Ustawienia SafeNameAndChat.cfg
SNAC_Chat_ReplaceNumberSign 1
SNAC_Chat_ReplacePercentSign 1
SNAC_Chat_RemoveUnprintable 1
SNAC_Chat_TrimSpaces 1
SNAC_Name_ReplaceNumberSign 1
SNAC_Name_ReplacePercentSign 1
SNAC_Name_ReplaceAmpersand 1
SNAC_Name_ReplacePlusSign 1
SNAC_Name_RemoveUnprintable 1
SNAC_Name_TrimSpaces 1
1 = włączone, 0 = wyłączone
Reauthcheck 0.1.5 odpowiednik FakeDetector dla hlds, jest to plugin do metamoda do wykrywa botów na serverze i zabezpiecza przed problemami co mogą wywołać te boty (Crashe servera).
Ustawienia reauthcheck.cfg
# ================================================= =======
# ReAuthCheck Konfiguracja
# ================================================= =======
# Poziom rejestrowania
# Wartość liczbowa (0 | 3)
# 0 - Wyłącz 1 - Wykrywanie, 2 - debug, 3 - Pełna debug.
LOGMODE = 2
# Włącz metoda wykrywania nieprawidłowych Gracze # 1
# Wartość liczbowa (0 | 1)
CheckMethod1 = 1
# Włącz metoda wykrywania nieprawidłowych Gracze # 2
# Wartość liczbowa (0 | 1)
CheckMethod2 = 1
# Włącz metoda wykrywania nieprawidłowych Gracze # 3
# Wartość liczbowa (0 | 1)
CheckMethod3 = 1
# Włącz metoda wykrywania nieprawidłowych Gracze # 4
# Wartość liczbowa (0 | 1)
CheckMethod4 = 1
# Włącz metoda wykrywania nieprawidłowych Gracze # 5
# Wartość liczbowa (0 | 1)
CheckMethod5 = 1
# Włącz metoda wykrywania nieprawidłowych Gracze # 6
# Wartość liczbowa (0 | 1)
CheckMethod6 = 1
# Włącz metoda wykrywania nieprawidłowych Gracze # 7
# Wartość liczbowa (0 | 1)
CheckMethod7 = 1
# Włącz metoda wykrywania nieprawidłowych Gracze # 8
# Wartość liczbowa (0 | 1)
CheckMethod8 = 1
# Włącz metoda wykrywania nieprawidłowych Gracze # 9
# Wartość liczbowa (0 | 1)
CheckMethod9 = 1
# Włącz wykrywanie XFake Odtwarzacze
# Wartość liczbowa (0 | 1)
CheckXFake = 1
# Włącz wykrywanie HLProxy
# Wartość liczbowa (0 | 1)
CheckHLProxy = 1
# Włącz limitu dla gracza według adresu IP
# Wartość liczbowa (0 | 1)
CheckMaxIp = 1
# Jak wielu graczy z tego samego adresu IP można zezwolić na serwerze
# Wartość liczbowa (1 | 31)
MaxIpNum = 3
# Enable Limit odłączenia Razem gracza
# Wartość liczbowa (0 | 1)
CheckMaxDrop = 1
# Liczba rozłącza dla maksymalizacji Kary
# Wartość liczbowa (2 | 50)
MaxDropNum = 7
# Przez jaki okres czasu, aby rozważyć ostrzeżenia "CheckMaxDrop"
# Wartością ułamkową (2,0 | 300,0)
MaxDropTime = 15,0
# Włącz Stateful Linki gracza
# Wartość liczbowa (0 | 1)
StateTimeoutConnect = 1
# Czas oczekiwania Wykrywanie Autoryzacja Etap 1 (połączenia Uruchom player)
# Wartością ułamkową (5,0 | 120,0)
IdleTime1 = 15,0
# Czas oczekiwania Wykrywanie autoryzacji Krok 2 (Oczekiwanie na polecenia od gracza # 1)
# Wartością ułamkową (7,0 | 120,0)
IdleTime2 = 14,0
# Czas oczekiwania Detection Authorization Etap 3 (Oczekiwanie na polecenia od gracza # 2)
# Wartością ułamkową (7,0 | 120,0)
IdleTime3 = 10,0
# Czas oczekiwania Detection Authorization Etap 4 (oczekiwanie na odpowiedź od zawodnika nr 3)
# Wartością ułamkową (7,0 | 120,0)
IdleTime4 = 10,0
# Czas oczekiwania Detection Authorization Etap 5 (sprawdź inwentaryzacji)
# Wartością ułamkową (10,0 | 180,0)
IdleTime5 = 70,0
# Czas oczekiwania Detection Authorization Etap 6 (pobierz plik)
# Wartością ułamkową (60,0 | 1800,0)
IdleTime6 = 900,0
# Czas oczekiwania Wykrywanie Autoryzacja Etap 7 (odtwarzacz Validation)
# Wartością ułamkową (7,0 | 120,0)
IdleTime7 = 8,0
# Czas oczekiwania Detection Authorization Etap 8 (autoryzowany odtwarzacza)
# Wartością ułamkową (7,0 | 120,0)
IdleTime8 = 10,0
# Czas oczekiwania Detection Authorization Etap 9 (pełny Authorization)
# Wartością ułamkową (7,0 | 120,0)
IdleTime9 = 20,0
# Kar dodatkowych linii do wykrywania być wykonywane w konsoli serwera
# Metody "# 1, # 2, # 5, # 6", "CheckXFake"
Wartość # smyczkowy "Maksymalne długości 96 znaków"
PunishStringXFake = addip 1440,0 [IP]
# Kar dodatkowych linii do wykrywania być wykonywane w konsoli serwera
# Aby metoda "CheckHLProxy"
Wartość # smyczkowy "Maksymalne długości 96 znaków"
PunishStringHLProxy = addip 1440,0 [IP]
# Kar dodatkowych linii do wykrywania być wykonywane w konsoli serwera
# Aby metoda "CheckMaxIp"
Wartość # smyczkowy "Maksymalne długości 96 znaków"
PunishStringMaxIP = addip 180,0 [IP]
# Kar dodatkowych linii do wykrywania być wykonywane w konsoli serwera
# Aby metoda "CheckMaxDrop"
Wartość # smyczkowy "Maksymalne długości 96 znaków"
PunishStringMaxDrop = addip 60,0 [IP]
#
uwaga
#
# Dla wszystkich domyślna metoda rzut karny
# Aby wyłączyć dodatkowe linie powinny być czyszczone Wartość
#
# Ciąg formatowanie za dodatkową karę
# [Nazwa] - Nazwa gracza
# [IP] - Adres IP Gracza
# [ID użytkownika] - Player ID
# [Steamid] - SteamID gracza
#
#
# Lista adresów IP ignorować Ustawienia "CheckMaxIp" i "CheckMaxDrop"
# Wyłączenie wierszami ";"
#
[Lista Biały IP]
; 127.0.0.1
//przetłumaczoną na surowo z google translate
Reunion 0.1.75 - jest to odpowiednik najnowszego dproto 0.9.548, posiada w sobie ten modul kilka zabezpieczen jak dproto najnowsze oraz umożliwia łączenie się na serverze graczy Steam + NonSteam
Uwaga Reunion nie posiada zmiany nazwy gry w ustawieniach trzeba użyć pluginu do amxmodu
Plugin na zmianę nazwy Gry:
#include <amxmodx>
#include <fakemeta>
#define GAMENAME "Tutaj wpisz swoja nazwe gry"
public plugin_init()
register_forward(FM_GetGameDescription, "fwdGetGameDescription");
public fwdGetGameDescription()
{
forward_return(FMV_STRING, GAMENAME);
return FMRES_SUPERCEDE;
}
Ustawienia reunion.cfg
# ========================================================
# REUNION CONFIGURATION
# ========================================================
#
# General rule for modifying this file:
# DONT CHANGE ANYTHING IF YOU DONT KNOW WHAT IT MEANS!
#
# ========================================================
# AUTHID MANAGEMENT
# ========================================================
# ClientID types (for cid_* options)
# 1: Real (or generated by HW) steam (STEAM_xx:xx:xx)
# 2: Real (or generated by HW) valve (VALVE_xx:xx:xx)
# 3: STEAM_ by IP
# 4: VALVE_ by IP
# 5: Deprecated - client will be rejected
# 6: reserved for future use
# 7: HLTV
# 8: STEAM_ID_LAN
# 9: STEAM_ID_PENDING
# 10: VALVE_ID_LAN
# 11: VALVE_ID_PENDING
# 12: STEAM_666:88:666
# Use these options to set authid's for clients
### AUTH CONTROL ###
# For Legit Steam clients (default is real STEAM_xx:xx:xx [1])
cid_Steam = 1
# Client recognized as pending when they sucessfully authorized, but did not get steam id
# REMARK: Actually, it got steamid, but it is useless (STEAM_0:0:0 for example)
# default is STEAM_ID_PENDING [9]
cid_SteamPending = 9
# for HLTV (default is HLTV [7])
cid_HLTV = 7
# for p.47 clients that do not support unique id generation (default is STEAM_ID_LAN [8])
cid_NoSteam47 = 8
# for p.48 clients that do not support unique id generation (default is VALVE_ID_LAN [10])
cid_NoSteam48 = 8
# For players having revEmu ( >= 9.74) on client-side:
# default is real STEAM_xx:xx:xx [1]
cid_RevEmu = 1
# For players having RevEmu 2013 on client-side:
# default is real STEAM_xx:xx:xx [1]
cid_RevEmu2013 = 1
# For players having SteamClient 2009 / revEmu > 9.82 on client-side:
# default is real STEAM_xx:xx:xx [1]
cid_SC2009 = 1
# For players having old revEmu on client-side:
# default is real STEAM_xx:xx:xx [1]
cid_OldRevEmu = 1
# For players having hCupa's SteamEmu on client-side:
# default is real STEAM_xx:xx:xx [1]
cid_SteamEmu = 1
# For players having AVSMP (Cracked Steam) on client-side:
# default is real STEAM_xx:xx:xx [1]
cid_AVSMP = 1
# For SETTI ServerScanner
# default is STEAM_xx:xx:xx generated by IP [3]
cid_Setti = 3
# For SXEI Clients
# default is real STEAM_xx:xx:xx [1]
cid_SXEI = 1
# For players having SmartSteamEmu > 1.2.4 on client-side:
# default is real STEAM_xx:xx:xx [1]
cid_SSE3 = 1
### AUTH SETTINGS ###
# ServerInfoAnswerType (0/1/2)
# Sets server answer type for query requests
# 0 = New style (Source Engine)
# 1 = Old Style (Fix favorites list for p.47 clients)
# 2 = Hybrid mode - Server is visible anywhere, but there are 3 packets generated for every serverinfo request
ServerInfoAnswerType = 0
# EnableSXEIdGeneration (0 / 1)
# Turns on steamid generation based on info sent by sXeI client
# Enable this ONLY if you have sXeI server installed!
EnableSXEIdGeneration = 0
# SC2009_RevCompatMode (0 / 1)
# Enable fix to make steamids generated for SC2009 compatible with revEmu
SC2009_RevCompatMode = 1
# SteamIdHashSalt (string)
# Salt string for SteamIDs hashing. Irreversibly changes SteamIDs. Applies only to SteamIDs generated by emulators.
# Should be more than 16 chars length. If string is empty, hashing is not applied.
SteamIdHashSalt =
# SteamIdHashDProtoCompat (0 / 1)
# Use less reliable method of SteamID hashing from dproto (deprecated).
SteamIdHashDProtoCompat = 0
# EnableGenPrefix2 (0 / 1)
# Enable second prefix (0 or 1) for generated by HW authids. Reduces chance of authid collisions. Works only with configured SteamIdHashSalt.
EnableGenPrefix2 = 0
# FixBuggedQuery (0 / 1)
# Enable fix for clients with bugged serverbrowser. Prevents hanging on connect.
FixBuggedQuery = 1
# HLTVExcept_IP (ip addr)
# HLTV from this IP will be able to join the server even if cid_HLTV is set to 5 (deprecated)
HLTVExcept_IP = 127.0.0.1
# QueryFloodBanTime (1 - 60)
# Ban time in minutes for server query flooding.
QueryFloodBanTime = 10
### AUTHID PREFIXES ###
# IPGen_Prefix1 (int)
# STEAM_a:b:c
# first prefix (a) for authids generated by IP
IPGen_Prefix1 = 0
# IPGen_Prefix2 (int)
# STEAM_a:b:c
# second prefix (

IPGen_Prefix2 = 4
# Native_Prefix1 (int)
# STEAM_a:b:c
# first prefix (a) for authids generated by native auth method (Steam)
Native_Prefix1 = 0;
# RevEmu_Prefix1 (int)
# STEAM_a:b:c
# first prefix (a) for authids generated by Steamclient 2009
SC2009_Prefix1 = 0;
# RevEmu_Prefix1 (int)
# STEAM_a:b:c
# first prefix (a) for authids generated by RevEmu
RevEmu_Prefix1 = 1;
# RevEmu2013_Prefix1 (int)
# STEAM_a:b:c
# first prefix (a) for authids generated by RevEmu2013
RevEmu2013_Prefix1 = 1;
# OldRevEmu_Prefix1 (int)
# STEAM_a:b:c
# first prefix (a) for authids generated by old RevEmu
OldRevEmu_Prefix1 = 2;
# SteamEmu_Prefix1 (int)
# STEAM_a:b:c
# first prefix (a) for authids generated by SteamEmu
SteamEmu_Prefix1 = 3;
# SteamEmu_Prefix1 (int)
# STEAM_a:b:c
# first prefix (a) for authids assigned for AVSMP Clients (Cracked steam)
AVSMP_Prefix1 = 4;
# Setti_Prefix1 (int)
# STEAM_a:b:c
# first prefix (a) for authids assigned for Setti server scanner
Setti_Prefix1 = 5;
# SXEI_Prefix1 (int)
# STEAM_a:b:c
# first prefix (a) for authids assigned for sXeI clients
SXEI_Prefix1 = 6;
# SSE3_Prefix1 (int)
# STEAM_a:b:c
# first prefix (a) for authids assigned for SSE3
SSE3_Prefix1 = 7;
# Note that banid will use steamid WITHOUT any prefixes!
# ========================================================
# OTHER STUFF
# ========================================================
# LoggingMode:
# 0 = None
# 1 = Console
# 2 = Log Files
# 3 = Both
LoggingMode = 2
3. AntiCheats
Reaimdetector 0.1.3 - plugin do metamoda, który wykrywa podejrzane ruchy myszka i daje za to ostrzeżenia, po zebraniu odpowiedniej ilości ostrzeżeń gracz dostaje bana za Aim Bota
instalacja wgrywamy do folderu addons/amxmodx/modules a następnie dopisujemy w addons/amxmodx/configs/modules.ini reaimdetector
Ustawienia znajdują się w addons/amxmodx/configs/reaimdetector/config.cfg
# tryb logow (0 | 3)
# 0 - wylaczony
# 1 - tylko tych co zbanuje
# 2 - tych co zbanuje + tych co maja ostrzezenia
# 3 - tych co zbanuje + tych co maja ostrzezenia + reset ostrzezen
LogMode = 3
# Jaka flage do dostepu konfiguracji
ChatAlertFlags = d
# ignorowanie powiadomien o tym ze ja mam aima DaFaq? (0 | 1)
ChatIgnoreYourSelf = 0
# Im wieksza czulosc tym prawdopodobienstwo falszywego wykrycia wieksza, optymalna wartosc 5 sens, Zakres czulosci (0 | 10)
AimSens = 5
# Ile musi gracz dostac ostrzezen zeby wylapac bana, zakres (2 | 50)
AimMaxWarns = 6
# Ile gracz musi miec ostrzezen, zeby powiadomic admina o mozliwym Aimie na serverze, zakres (0 | 50)
AimAlertWarns = 4
# Ile gracz musi wystrzelic "czystych strzalow" zeby zresetowac mu ostrzezenia, zakres (5 | 1000)
AimShotsReset = 20
# po ilu zabojstwach resetowac ostrzezenia, zakres (10 | 500)
AimKilledReset = 40
# po jakim czasie od ostatniego ostrzezenia resetowac ostrzezenia, zakres (30.0 | 1800.0)
AimTimeReset = 420.0
# Ignorowanie bot-graczy (0 | 1)
AimIgnoreBots = 0
# ustawienia w jaki sposob ma karac gracza z aimem
AimPunishString = amx_ban 10800 [userid] "Aim Detected"
# Maksymalna ilosc ostrzezen dla "NoSpread", zakres (25 | 300)
NoSpreadMaxWarns = 30
# Ostrzezenia dla adminow przed zbanowanie za NoSpread, zakres (15 | 300)
NoSpreadAlertWarns = 15
# ustawienia bana za NoSpread
NoSpreadPunishString = amx_ban 10800 [userid] "NoSpread Detected"
# formaty do banowania gracza
# [name] - nick gracza
# [ip] - IP gracza
# [userid] - ID gracza
# [steamid] - SteamID gracza
#
# dla "AimAlertWarns" wymagane ustawienie "ChatAlertFlags"
# Domyslnie "d"
Whblocker 1.5.672 - dodatek do metamoda, który blokuje wh częściowo
film prezentujący dokładnie jak blokuje i kiedy kliknij tutaj
Ustawienia config.ini
# Description
# debug 0|3 Poziom Debugowania
# esp 0|1 Blokowanie ESP.
# smooth 0|10 Плавность появления игрока.
# smoothout 0|10 Плавность исчезновения игрока.
# smoothent 1|~ Задержка исчезновении ентитей "Block Entities".
# decalfix 0|2 Исправлять баг с отображением декалей выстрелов оружий, также этот фикс блокирует малую часть aimbot.
# antinoflash 0|1 Блокировать игроков при полном ослеплении.
# alphaflash 200|255 Степень ослепления при котором будет задействена. (Если включен antinoflash)
# team 0|1 Blokada WH dla kolegow z druzyny czy tylko na przeciwnikow.
# fov 0|1 Проверять угол обзора ( Повышение производительности ).
# solid 0|20 Через скольких прозрачных объектов будет виден игрок или ентити.
# barrel 0|1 Проверять видимость ствола у игрока ( Дополнительная проверка ).
# blockent 0|1 Блокировать ентитей "Block Entities".
# hlfix 0|1 Для HL: Исправлять лазер у оружия Gauss и игнорировать эвент для Gauss и Egon. (Для cs16, czero: квар автоматически выключен - 0)
# metacall 0|1 Вызывать метамод функцию pfnAddToFullPack, даже если игрока не видно.
# blocktype 0|1 Блокировка Wallhack. ( 0 - Для всех | 1 - Только для живых )
# skytrace 0|1 Игнорировать трассировку с текстурой sky
# revis 0|1 Включить обратную видимость игрока (видят тебя, видишь ты)
[General Options]
debug = 0
esp = 1
smooth = 0
smoothout = 1
smoothent = 45
decalfix = 1
antinoflash = 1
alphaflash = 255
team = 0
fov = 1
solid = 2
barrel = 1
blockent = 0
hlfix = 1
metacall = 0
blocktype = 1
skytrace = 0
revis = 0
# Профессиональная настройка.
# Смещения для координат, проверка 8-ми точек от позиции игрока.
offset_y = { -17.0, -8.5, -8.5, -17.0 }, { 17.0, 8.5, 8.5, 17.0 }
offset_z = { -28.0, -17.0, 17.0, 28.0 }, { -17.0, -8.5, 17.0, 28.0 }
# -------------------
# Указать classname entity
# Флаги для block entity
# "s" - Блокировать звук
# "m" - Блокировать модель
# Пример:
# grenade "sm" - Блокировать все гранаты (модели и звуки) в том числе и C4.
# -------------------
[Block Entities]
grenade "sm"
weaponbox "m"
;hostage_entity "m"
;monster_scientist "m"
;weapon_shield "m"
;armoury_entity "m"
;weapon_flashbang "s"
;ammo_9mm "s"
;ammo_buckshot "s"
;ammo_556nato "s"
;ammo_556natobox "s"
;ammo_762nato "s"
;ammo_45acp "s"
;ammo_50ae "s"
;ammo_338magnum "s"
;ammo_57mm "s"
;ammo_357sig "s"
[Weapons Barrel]
# -----------
# CS:CZ Weapons
# -----------
CSW_P228 = 32.8;
CSW_SCOUT = 38.9;
CSW_HEGRENADE = 0.0;
CSW_XM1014 = 31.2;
CSW_C4 = 0.0;
CSW_MAC10 = 26.0;
CSW_AUG = 32.9;
CSW_SMOKEGRENADE = 0.0;
CSW_ELITE = 23.5;
CSW_FIVESEVEN = 32.7;
CSW_UMP45 = 27.0;
CSW_SG550 = 40.0;
CSW_GALIL = 26.5;
CSW_FAMAS = 32.6;
CSW_USP = 38.9;
CSW_GLOCK18 = 32.6;
CSW_AWP = 39.5;
CSW_MP5NAVY = 30.4;
CSW_M249 = 30.5;
CSW_M3 = 30.1;
CSW_M4A1 = 42.0;
CSW_TMP = 39.2;
CSW_G3SG1 = 42.2;
CSW_FLASHBANG = 0.0;
CSW_DEAGLE = 34.1;
CSW_SG552 = 34.0;
CSW_AK47 = 24.8;
CSW_KNIFE = 0.0;
CSW_P90 = 25.4;
# -----------
# HL Weapons
# -----------
HLW_CROWBAR = 1.0;
HLW_GLOCK = 15.0;
HLW_PYTHON = 25.0;
HLW_MP5 = 25.0;
HLW_CROSSBOW = 27.0;
HLW_SHOTGUN = 28.0;
HLW_RPG = 35.0;
HLW_GAUSS = 26.0;
HLW_EGON = 33.0;
HLW_HORNETGUN = 30.0;
HLW_HANDGRENADE = 1.0;
HLW_TRIPMINE = 1.0;
HLW_SATCHEL = 25.0;
HLW_SNARK = 1.0;
[Private Offset]
m_iId = auto;
m_pActiveItem = auto;
m_blindAlpha = auto;
m_blindStartTime = auto;
m_blindHoldTime = auto;
#[Other]
#pev = auto; Default: Windows - 4 | Linux - 0
#vtbl = auto; Default: Windows - 0x0 | Linux - 0x0 (for build: 5787 0x8)
#playership = auto; Default: Windows - 0x33 | Linux - 0x35
#client_t_size = auto; Default: Windows - 20504 | Linux - 20212
//nie tlumaczyłem nic
Rechecker 2.3 - plugin do metamoda, umożliwia wykrywania danych plików gracza w jego Counter-Striku i wykonywaniu operacji na tym graczu.
Najlepsze zastosowanie tego dodatku według mnie w tej chwili, wykrywania potencjalnych plików, które umożliwiają Cheatowanie dla danego gracza
Zliczanie po wersji pliku md5 masterserver.vdf i określenie, który polski Master Boost jest najlepszy i daje najlepsze efekty, potrzebny będzie do tego plugin do amxmodu
Ustawienia resources.ini
#
# Resource checker
# -> Template keys from CMD exec
# [name] - nickname client
# [ip] - IP address client
# [userid] - userid client
# [steamid] - SteamID client
#
# [file_name] - the path of the file
# [file_hash] - hash the file of responce client
# [file_md5hash] - md5hash the file of responce client
#
# -> Format
# path to file hash (exec cmd)
# "../opengl32.dll" 3cc7f256 "kick [userid]"
#
# NOTE: Hash enough 4 bytes (or 8 characters)
# -> Example
# full md5 hash: 3cc7f256fab2fd6bbb3eb65a118b0ef0
# 4 bytes from the hash: 3cc7f256
#
# -> Flags
# BREAK - when detected, do not check a next files
# IGNORE - no detect on specifed hash values
#
# -> Template keys from Hash
# UNKNOWN - check for any other hash
# MISSING - check for the missing file
# 3cc7f256 - check for matching on hash
#
Całą paczkę tych wszystkich dodatków, modułów, zabezpieczeń oraz rehlds umieszczam w załączniku oraz tutaj do pobrania >
ReHLDS-paczka tytusa.rar 3,93 MB 2206 Ilość pobrań
#666827 Sklep Cod Mod by Play [Aktualizacja 02.08.2016]
Napisane przez Dziobak?
w 12.10.2014 19:48
Sklep Cod Mod by Play po aktualizacji
Siema, chciałbym się z wami podzielić moim sklepem który miałem przez pewien okres u siebie na serwerze i bardzo dobrze się sprawował i gracze byli zadowoleni. Od dawna chciałem go udostępnić ale jakoś nie było czasu albo mi się nie chciało.
Ważne informacje:
Rakiety i inne umiejętności używamy klawiszem E
Nazwę waluty możemy zmienić szukając w *sma
new const say_dolar[]="dolarow";
Jeżeli chcemy zmienić walute to w *sma szukamy:
#define set_waluta cs_set_user_money #define get_waluta cs_get_user_money(id)
i zmieniamy, przykładowo na
#define set_waluta cod_set_user_coins #define get_waluta cod_get_user_coins(id)
dodatkowo pod spodem musimy dodać:
native cod_set_user_coins(id, wartosc); native cod_get_user_coins(id);
Gdy zmienimy walutę w przedstawionym wyżej mini poradniku wymagany będzie poniższy plugin.
https://amxx.pl/topi...3-system-monet/
Stara Wersja
Po aktualizacji
/Sklep /Shop
02.08.2015
- Załadowana aktualizacja pluginu,
- zostały skasowane zbędne rzeczy,
- wyeliminowane bugi jakie w poprzedniej wersji były,
- wiele więcej....
cod_shop.sma 30,17 KB 342 Ilość pobrań
cod_shop.amxx
sklep.cfg 2,27 KB 209 Ilość pobrań
Sklep 2.5.rar 172,03 KB 677 Ilość pobrań
#428698 Director Hud Message
Napisane przez ToRRent
w 05.07.2012 12:43
Autor: Arkshine

Biblioteka dzięki której możemy wyświetlać wiadomości na bardzo zbliżonej zasadzie do standardowego hudmessage. Czym więc różni się hudmessage od dhumessage ?
- DHud nie posiada limitu kanałów, więc nie musimy się martwić o to, czy jakaś wiadomość zastąpi inną ponieważ posiadają ten sam kanał w tym samym momencie

- Wyświetlić możemy maksymalnie 8 wiadomości na raz
- Jest większa czcionka
Konstrukcja jest zbliżona do standardowych wiadomości więc nikt nie powinien mieć problemów z ewentualną zmianą
Wada ? Wiadomość może mieć maksymalnie 128 znaków
set_dhudmessage( red = 0, green = 160, blue = 0, Float:x = -1.0, Float:y = 0.65, effects = 2, Float:fxtime = 6.0, Float:holdtime = 3.0, Float:fadeintime = 0.1, Float:fadeouttime = 1.5, bool:reliable = false ) show_dhudmessage( index, const message[], any:... )Oznaczenia:
red, green, blue - paleta kolorów rgb (skala od 0 do 255)
Float:x, Float:y - Współrzędne położenia
effects - Efekty, 0 = brak efektu, 1 = Efekt zanikania, 2 = Efekt Litera po literze
Float:fxtime - Czas działania efektu
Float:holdtime - Ile czasu wiadomość ma być wyświetlana
Float:fadeintime - ile czasu wiadomość ma się pojawiać ? (tylko przy effects = 1 lub 2)
Float:fadeouttime - Ile czasu wiadomość ma znikać ? (tylko przy effects = 1 lub 2)
bool:reliable - Tego za bardzo nie rozkminiłem szczerze mówiąc

=======================
index - Id gracza, jeżeli podamy 0 wiadomość zobaczą wszyscy połączeni z serwerem gracze
const message[] - Wiadomość
any... - zmienne do których się odwołujemy w parametrze message[]

Źródło: http://forums.allied...ad.php?t=149210
#581036 [Poprawione] Kill Streak Wyzwania !
Napisane przez Misiu.
w 28.10.2013 19:23
Witam,
nie da się nie zauważyć tego spamu w temacie Wyzwania do KillStreaka 1.4c
- Nie mogę skompilować. - Mam takie błędy. - Jak to zrobić.
Faktycznie i ja nie mogłem od razu skompilować sobie nowo dodanych wyzwań.
Dlaczego ? A to dlatego, że było tam parę błędów, których nie będę teraz wymieniał ponieważ nie o to chodzi w temacie.
Z tego co widzę nikt jeszcze nigdzie nie opublikował poprawionej wersji, a "Nowicjusze" nie są w stanie poradzić sobie sami z tym problemem.
Umieszczam Wam niżej do pobrania poprawione pliki.
Jak należy poprawienie skompilować plik ? Możemy skompilować go tylko lokalnie.
Ściągamy plik killstreak-bez.sma lub killstreak-tarcza.sma, wyzwania.inl oraz engine.inc
Plik engine.inc umieszczamy w folderze include.
Plik .sma oraz wyzwania.inl umieszczamy w głównym katalogu kompilatora.
Przeciągamy plik .sma do kompilatora i gotowe.
wyzwania.inl 13,86 KB 364 Ilość pobrań
engine.inc 8,68 KB 266 Ilość pobrań
Sentry GUN nie będzie atakował gracza z tarczą
killstreak-bez.sma 37,73 KB 312 Ilość pobrań
killstreak-bez.amxx
Sentry GUN będzie atakował gracza z tarczą
killstreak-tarcza.sma 37,66 KB 211 Ilość pobrań
killstreak-tarcza.amxx
Dodanie zapisu SQL:
Jeśli chcemy, aby nasze wyzwania zapisywały się w bazie MySQL dodajemy
#define USING_SQL do naszego .sma, a do pliku amxx.cfg
Cvary
ks_sql_host "" //podajemy w nim nazwę hosta do jakiego ma się łączyć baza ks_sql_user "" //podajemy w nim nazwę użytkownika do jakiego ma się łączyć baza ks_sql_pass "" //podajemy w nim hasło do bazy ks_sql_db "" //podajemy w nim nazwę tabeli (database) do jakiej ma zapisywać dane
Jeżeli chcemy dodać wyzwania do COD'a Starego wystarczy, że usuniemy :
#define COD_NOWY
I oczywiście skompilować na nowo plik .sma, a plik .amxx dodać na serwer
#712545 Asysta od 50hp
Napisane przez Asiap
w 30.09.2015 14:05
#700356 Asysta i Zemsta (fragi)
Napisane przez Asiap
w 12.05.2015 03:46
najlepszym sposobem na dodawanie punktow (fragi) to Ham_AddPoints
przyklad:
/** * Description: Typically adds points to the entity. * Forward params: function(this, points, bool:cangonegative); * Return type: None. * Execute params: ExecuteHam(Ham_AddPoints, this, points, bool:cangonegative); */ Ham_AddPoints
ExecuteHamB(Ham_AddPoints, id, 1, true)
this - index gracza
points - ilosc fragow (moze byc na minusi aby odjelo)
cangonegative - moze byc negatywna ilosc fragow w powyzszym parametrze
doda pomyslnie 1 fraga graczowi o indexie id oraz tego fraga doda do rankingu (/rank)
- AMXX.pl: Support AMX Mod X i SourceMod
- → Przeglądanie profilu: Reputacja: WeBsteR
- Regulamin