Co do limitu rund to mozesz ustawic to w server.cfg. Nie pamietam jaki to cvar ale cos z mp_
mp_limitround ? Czy cos takiego.
Co do wygranych to tez jest cos takiego. mp_winlimit albo cos takiego.
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.
|
Gromek98
Rejestracja: 15.08.2014Aktualnie: Nieaktywny
Poza forum Ostatnio: 15.02.2016 19:36





Statystyki
- Grupa: Użytkownik
- Całość postów: 51
- Odwiedzin: 3 094
- Tytuł: Pomocny
- Wiek: Wiek nie został ustalony
- Urodziny: Data urodzin nie została podana
-
Płeć
Mężczyzna
-
Lokalizacja
Warszawa
Kontakt
Narzędzia użytkownika
Znajomi
Gromek98 nie posiada znajomych
Ostatnio byli
#719863 Koniec mapy po 16 rundach, remis po 15
Napisane przez Epal
w 06.02.2016 07:51
#718981 Problem z RS na FastDL
Napisane przez NoLiFeR
w 25.01.2016 07:00
#236897 Asysta przy zabiciu
Napisane przez ;((
w 14.04.2011 20:06
Author: Digi (aka Hunter-Digital)

Kiedy gracz zostanie zabity, ten plugin sprawdza, czy inny gracz z tego samego teamu, nie wyrządził szkód, tak aby mógł być współsprawcą zabicia i ten gracz otrzyma również frag.

Standardowa - Instalacja Pluginów AMXX - AMXX.pl: Support AMX Mod X

amx_killassist_enable 0/1/2 (domyślnie: 1)
0 - Wyłączony/Włączony / 1 - z DeathMsg / 2 - Włącz wiadomości na HUD
amx_killassist_mindamage 1-9999 (domyślnie: 50)
Ile obrażeń musi zadać drugi gracz aby był współsprawcą zabicia
amx_killassist_givefrags 0 / 1 (domyślnie: 1)
Czy dać graczowi asystującemu fragi
amx_killassist_givemoney 0-16000 (domyślnie: 300)
Czy dać graczowi asystującemu pieniądze za zabicie, 0 - nie daje, 1 lub więcej odpowiada za to ile ma dawać pieniędzy
amx_killassist_onlyalive 0 / 1 (domyślnie: 0)
Czy tylko żywi gracze mogą być współsprawcami przy zabiciu innych graczy




(Autor przeprasza za nazwy botów na SSach)

Wymagane moduły:
- hamsandwich
- cstrike
- engine
- fun
Download w załączniku
źródło: forums.alliedmods.net
Załączone pliki
-
kill_assist.amxx 12,67 KB 804 Ilość pobrań
-
kill_assist.sma 11,33 KB 10790 Ilość pobrań
kill_assist.amxx
#111552 Spadochron (parachute)
Napisane przez tymbark122
w 12.02.2010 22:20
Jest to spadochron jakiego znacie;D ale trochę inny...Nie trzeba płacić, sprzedawać itp. Tylko spadochron jest już od START'u za darmo.
Instalacja:
Plik parachute.mdl do cstrike/models
Plik parachute.amxx do cstrike/addons/amxmodx/plugins
Plik parachute.sma do cstrike/addons/amxmodx/scripting
Cvar'y
sv_parachute "1" - 0: wyłączony - 1: włączony
parachute_fallspeed "100" - szybkosc lotu
Wystraczy zmienić mape lub zrestartować Serwer i gotowe;D
Mam nadzieje, że działa

Załączone pliki
-
Spadochron (parachute).zip 73,27 KB 55808 Ilość pobrań
#705452 [ROZWIĄZANE] Infinite Round - Czas mapy się nie kończy
Napisane przez
^Szeregowy^
w 07.07.2015 17:36
ten plugin oznacza nie konczaca si runda jak sama nazwa wzkazuj wiec tak ma byc co do map masz galileo ?
#703634 Runda trwająca całą mapę?
Napisane przez Rivit
w 21.06.2015 15:03
#703180 Dodanie czasu trwania głosowania
Napisane przez Asiap
w 14.06.2015 14:16
#685784 [ROZWIĄZANE] Łączna ilość zabić Teamu
Napisane przez radim
w 31.01.2015 21:36
#include <amxmodx> #include <amxmisc> enum TEAM { TEAM_CT, TEAM_T } new kills[ TEAM ] public plugin_init( ) register_plugin( "Licznik Fragow", "1.0", "radim" ) public client_connect( id ) set_task(3.0, "ShowScore", id, .flags = "b"); public client_death( killer, victim, wpnindex, hitplace, TK ) { if( !is_user_connected( killer ) || killer == victim || killer == 0 ) return; switch( get_user_team( killer ) ) { case 1: kills[ TEAM_T ]++ case 2: kills[ TEAM_CT ]++ } } public ShowScore( id ) { set_hudmessage(0, 0, 255, -1.0, 0.0, 0, 6.0, 2.0) show_hudmessage( id, "Wynik^nTT: %d | CT: %d", kills[ TEAM_T ], kills[ TEAM_CT ] ) }
Sprawdź, na szybko pisane.
#663961 Jak dodać rank do HUD
Napisane przez Danny OK
w 15.09.2014 20:50
Proszę:
static stats[8], body[8], rankpos, rankmax; get_user_stats(id, stats, body); // Pobieranie statystyk gracza rankpos = get_user_stats(id, stats, body); // Definicja pozycji gracza rankmax = get_statsnum(); // Ilość graczy w ranku set_hudmessage(255, 215, 0, 0.72, 0.4); // Kolor i pozycja hud show_hudmessage(id, "Twoja pozycja w ranku to %d na %d", rankpos, rankmax); // Wyświetlenie hud (rankpos - twoja pozycja; rankmax - wszystkich)
#662487 Problemy z zablokowaniem reklam na serwerze
Napisane przez GwynBleidD
w 07.09.2014 10:20
#9646 Eventy
Napisane przez Miczu
w 02.07.2008 15:13

Ps. podam tylko sprawdzone metody i nie będę przytaczal jakie sa bledne metody (szczegolnie nowa runda jest pare metod w tym 1 bledna, czesto stosowana).
Start mapy
plugin_init() { //code }Powyzsza funkcja jest tylko wywolywana po zmianie mapy (na samym jej poczatku).
Koniec mapy
plugin_end ( ) { //code }Powyzsza funkcja jest wywolywana przy zmianie mapy lub prawidlowym zamknieciu serwera. Prawdopodobnie nie wychwyci crasha.
Nowa Runda
#include <amxmodx> #include <amxmisc> public plugin_init() { register_event("HLTV", "Nowa_Runda", "a", "1=0", "2=0") } public Nowa_Runda() { //code }Nowa runda tym sposobem omija pierwsza runde - pierwsza po zmianie mapy.
#mozliwe problemy gdy w tym evencie np: operacje na graczu typu danie broni(potwierdzone)...
Poczatek Rundy
Poczatek rudny to jak sie freeze skonczy - mozna sie ruszac ;-)
#include <amxmodx> #include <amxmisc> public plugin_init() { register_logevent("Poczatek_Rundy", 2, "1=Round_Start") } public Poczatek_Rundy() { //code }
Koniec Rundy
Przeciwnik zabity/Bomba wybuchla/Bomba zostala rozbrojona/zakladnicy uwolnieni/minol czas rudny
#include <amxmodx> #include <amxmisc> public plugin_init() { register_logevent("Koniec_Rundy", 2, "1=Round_End") } public Koniec_Rundy() { //code }
Damage - obrazenia
#include <amxmodx> #include <amxmisc> public plugin_init() { register_event("Damage", "Damage", "b", "2!=0") } public Damage(id) { new vid = read_data(0) // vid == id new damage = read_data(2) new Origins[3] // Wspolrzedne gracza, granatu, obiektu wywolujacego obrazenia Origins[0] = read_data(4) Origins[1] = read_data(5) Origins[2] = read_data(6) new kid = get_user_attacker(id) // Gracz atakujacy //code }
DeathMsg - ktos umarl
#include <amxmodx> #include <amxmisc> public plugin_init() { register_event("DeathMsg", "DeathMsg", "a") } public DeathMsg() { new kid = read_data(1) //zabojca new vid = read_data(2) // ofiara new hs = read_data(3) // HeadShot (1 == true) new weapon[64] read_data(4,weapon,63) //krotka nazwa broni (bez weapon_ / CSW_ ) //code }kid i vid sa sobie rowne gdy zabije cie wlasna bron (granat) lub np. admin uzyje slay'a...
kid == 0 gdy np. spadniesz z wysokiej wysokosci...
CurWeapon - obecna bron
Wykrywa zmiane broni - takze gdy sie sawnujesz dostajesz nowa bron i funkcja tez jest wywolana.
#include <amxmodx> #include <amxmisc> public plugin_init() { register_event("CurWeapon","CurWeapon","be", "1=1") } public CurWeapon(id) { new wid = read_data(2) // Id broni new ammo = read_data(3) // liczba naboi w magazynku //code }
Noz, granaty itp. maja ammo = -1
Info-bronie
Z testow wynika, ze w/w event jest tez wywolywany po wystrzeleniu naboju (ammo sie zmienia) lub po przeladowaniu.
Podniesienie broni
Podniesie broni a takze kupienie. Na starcie rundy sie uruchomi gdy dostajemy noz i pistolet (2 razy). Jest wywolywany takze gdy kupimy cos, ale nie bedziemy mieli tego w rekach (np. granat).
#include <amxmodx> #include <amxmisc> public plugin_init() { register_event("WeapPickup", "WeapPickup", "b") } public WeapPickup(id) { new wid = read_data(1) // id broni //code }
Nie liczy podniesienia Shilda oraz kupienia defa, noktowizora czy kamizelki

Podniesienie amunicji
Jak kupujemy amunicje to clip daje nam wartosc ile nam przybylo. Jesli podniesiemy M4A1 co ma 24 w broni i 90 w zapasie to clip bedzie mial wartosc 90, a nie 114. Jak drop'niemy i podniesiemy wlasna bron to event nie zostanie wywolany.
#include <amxmodx> #include <amxmisc> public plugin_init() { register_event("AmmoPickup", "AmmoPickup", "b") } public AmmoPickup(id) { new aid = read_data(1) //id amunicji new clip = read_data(2) //ilosc naboi //code }
Amunicja
Aktualny stan amunicji w 'zapasie'. Jak kupujemy ammo to clip ma laczna wartosc naboi w magazynku. Jak podniesiemy po kims bron np. AK 25 i 90 w zapasie to clip wynosi 90.
Na poczatku rundy wszystkie typy naboi za wyjatkiem tych do ktorych mamy bron sa zerowane. Jak kupujemy granaty to clip ma wartosc rowna ilosci danego typu np. flash max 2...
#include <amxmodx> #include <amxmisc> public plugin_init() { register_event("AmmoX", "AmmoX", "b") } public AmmoX(id) { new aid = read_data(1) new clip = read_data(2) client_print(id,print_chat,"id %d aid %d clip %d",id,aid,clip) //code }
Wejscie na server
Juz widzisz mape ;-)
public client_putinserver(id){ //code }
Polaczenie z serwerem
Czyli gdy np. w konsoli napiszesz connect IP:PORT
public client_connect(id) { //code }
Rozlaczenie sie z serwerem
public client_disconnect(id) { //code }
Health - Zycie
#include <amxmodx> #include <amxmisc> public plugin_init() { register_event("Health", "Health", "be") } public Health(id) { new health = read_data(1) //code }
Money - zmiana w kasie
#include <amxmodx> #include <amxmisc> public plugin_init() { register_event("Money", "Money", "be") } public Money(id) { new Money = read_data(1) //code }
TeamInfo - informacjie o Teamie
Ogolny wyglad eventu:
#include <amxmodx> #include <amxmisc> public plugin_init() { register_event("TeamInfo","team_assign","a") } public team_assign() { new id = read_data(1) new Team[32] read_data(2,Team,31) //UNASSIGNED //TERRORIST //CT //SPECTATOR }
Ale trzeba sie tu pilnowac! Z moich badan wynika ze event jest wywolywany za kazdym spawnem i dodatkowo przy wyborze z menu teamu.
Jesli chcemy wykrywac autentyczna zmiane druzyny musimy zastosowac taki zabieg (chyba najoptymalniej i do tego czysto):
#include <amxmodx> #include <amxmisc> public plugin_init() { register_event("TeamInfo","team_assign","a") } public team_assign() { static old_team[33] new tid new id = read_data(1) new Team[32] read_data(2,Team,31) //UNASSIGNED //TERRORIST //CT //SPECTATOR if(equal(Team,"UNASSIGNED")) tid = 0 else if(equal(Team,"TERRORIST")) tid = 1 else if(equal(Team,"CT")) tid = 2 else if(equal(Team,"SPECTATOR")) tid = 3 if(old_team[id]==tid) return PLUGIN_CONTINUE //jesli druzyna sie nie zmienila to przerywamy event old_team[id] = tid //zapisujemy nowy team /*code //koniec code */ return PLUGIN_CONTINUE // skoro juz uzylismy returna to musimy tez na koniec go dac }
=================================================
Eventy wywolane przez:
register_logeventnie maja parametru id - a mowiac inaczej jak dodamy parametr id, to bedzie mial wartosc 0
=================================================
Flagi do eventow:
"a" - Global Event - wysylany do all graczy (mozliwy jest brak mozliwosci podpiecia id do eventu np. DeathMsg)
"b" - Event sent to a single target - do konkretnego gracza (zwiazany z pojedynczym graczem - demage)
"c" - Send only once when repeated to other players - tylko raz gdy jest powtarzany u innych graczy.
"d" - Only if sent to a dead player - tylko u martwych graczy
"e" - Only if sent to an alive player - tylko u zywych graczy ( przed wersja 1.80 jest bug, wiec i tak wypada sprawdzac is_user_alive(id) )
PS. Jak będę mial czas to dodam wiecej

PS2. Jak cos nie dziala to dajcie znac, bo nie wszystko mialem czas sprawdzic przed daniem na forum.
PS3. Jestem autorem tego poradnika i wolno tylko kopiowac za moja zgoda... Nie [you] nie mozesz kopiowac!
#98901 Jail Radio
Napisane przez DarkGL
w 13.12.2009 16:45
Plugin dodaje menu z dźwiękami pod klawiszami z i x dźwięki o "tematyce" więziennej
TT:
CT:
pliki dźwiękowe wrzucamy do
sound/misc/crazyclan
załącznik
Załączone pliki
-
jail_radio.rar 297,32 KB 918 Ilość pobrań
-
jail_radio.sma 5,92 KB 810 Ilość pobrań
jail_radio.amxx
#661132 [ROZWIĄZANE] Jak zrobić plugin dla jednego ip serwera / nazwy forum
Napisane przez radim
w 30.08.2014 08:42
#654272 [Poradnik] Jak naprawić menu z generatora Vip'a?
Napisane przez Drago36
w 02.08.2014 12:26
Ostatnio wzrastającą liczbą tematów są problemy nie działającego menu vip'a!
Jak temu zaradzić? Tu z pomocą wchodzi CheQ ( bo mnie zmusił )
Krok po kroku aż do celu
Co robimy pierwsze? No pewnie , że otwieramy naszego vip'a.sma w programie typu : amxx-studio
1. Najpierw zacznijmy od usunięcia niepotrzebnych rzeczy w kodzie.
Zmienna menu_callback_handler nie posłuży nam niczym - wyrzucamy.
Przykład:
new bool:g_Vip[33], maxPlayers, menu, menu_callback_handler, weapon_id;
Pamiętaj, aby przed menu_callback_handler usunąć przecinek!
new bool:g_Vip[33], maxPlayers, menu, weapon_id;
Także usuwamy dwa poniższe funkcje.
public menu_callback(id, menu, item){ return ITEM_DISABLED; } public menu_handler(id, menu, item){ menu_destroy(menu); return PLUGIN_HANDLED; }
Szukamy w naszym kodzie, zaznaczamy i usuwamy.
2. A teraz musimy się skupić (if you know what i mean).
Cały public show_vip_menu(id) podmieniamy na ten poniższy.
Czyli z tego:
public show_vip_menu(id){ menu=menu_create("\rMenu VIPa","menu_handler"); menu_callback_handler=menu_makecallback("menu_callback"); new bool:active=false, num=-1; menu_additem(menu,"\w","",0,menu_callback_handler); if(menu_callback(id, menu, ++num)==ITEM_ENABLED){ active=true; } if(active){ menu_setprop(menu,MPROP_EXITNAME,"Wyjscie"); menu_setprop(menu,MPROP_TITLE,"\yMenu Vipa"); menu_setprop(menu,MPROP_NUMBER_COLOR,"\r"); menu_display(id, menu); } else { menu_destroy(menu); } }
Zmieniamy na:
public show_vip_menu(id) { menu = menu_create("\rMenu Vip'a:", "menu_handler"); menu_additem(menu, "\wDodatki nr 1", "1", 0); menu_additem(menu, "\wDodatki nr 2", "2", 0); menu_additem(menu, "\wDodatki nr 3", "3", 0); menu_additem(menu, "\wDodatki nr 4", "4", 0); menu_additem(menu, "\wDodatki nr 5", "5", 0); menu_additem(menu, "\wDodatki nr 6", "6", 0); menu_additem(menu, "\wDodatki nr 7", "7", 0); menu_setprop(menu, MPROP_EXIT, MEXIT_ALL); menu_display(id, menu, 0); }
W miejsca "Dodatki nr (...)" zmieniamy na dokładny opis co ustawiliśmy w menu, a nie potrzebne usuwamy. Jeśli w pierwszej opcji menu ustawiliśmy graczowi dostawanie ak47 to musimy to wpisać, a gdy nie pamiętamy co ustawiliśmy to szukamy w naszym kodzie:
public menu_numer_handler(id) - w miejsce "numer" będzie od 1 do 7.
,a w tej funkcji będą linijki typu "weapon_deagle"/"weapon_ak47" - na chłopski rozum się domyślamy, że slot nr. 1 da nam dgl i ak.
Ja na przykład wygenerowałem sobie takiego vipa, że w menu może wybrać jedną z trzech opcji: AK+DGL, M4+DGL lub M3+DGL.
A więc wychodzi na to, że u mnie public show_vip_menu(id) będzie wyglądał tak:
public show_vip_menu(id) { menu = menu_create("\rMenu Vip'a:", "menu_handler"); menu_additem(menu, "\wAK+DGL", "1", 0); menu_additem(menu, "\wM4+DGL", "2", 0); menu_additem(menu, "\wM3+DGL", "3", 0); menu_setprop(menu, MPROP_EXIT, MEXIT_ALL); menu_display(id, menu, 0); }
3. Połowa rzeczy już za nami.
Teraz należy dodać tę funkcję, gdzieś na samym dole kodu.
public menu_handler(id, menu, item) { if (item == MENU_EXIT) { menu_destroy(menu); return PLUGIN_HANDLED; } new data[8], iName[64]; new zaccess, callback; menu_item_getinfo(menu, item, zaccess, data,7, iName, 64, callback); new key = str_to_num(data) switch(key) { case 1: menu_1_handler(id) case 2: menu_2_handler(id) case 3: menu_3_handler(id) case 4: menu_4_handler(id) case 5: menu_5_handler(id) case 6: menu_6_handler(id) case 7: menu_7_handler(id) } menu_destroy(menu); return PLUGIN_HANDLED; }
I oczywiście nie potrzebne usuwamy
W moim menu są tylko trzy opcje, więc je zostawiłem.
public menu_handler(id, menu, item) { if (item == MENU_EXIT) { menu_destroy(menu); return PLUGIN_HANDLED; } new data[8], iName[64]; new zaccess, callback; menu_item_getinfo(menu, item, zaccess, data,7, iName, 64, callback); new key = str_to_num(data) switch(key) { case 1: menu_1_handler(id) case 2: menu_2_handler(id) case 3: menu_3_handler(id) } menu_destroy(menu); return PLUGIN_HANDLED; }
4. Teraz należy skompilować i podmienić naszego vip'a na serwer.
#658898 Czy da się połączyć 2 Hud'y w 1?
Napisane przez Onyke
w 19.08.2014 18:45
- AMXX.pl: Support AMX Mod X i SourceMod
- → Przeglądanie profilu: Reputacja: Gromek98
- Regulamin