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
 

Split - zdjęcie

Split

Rejestracja: 05.05.2012
Aktualnie: Nieaktywny
Poza forum Ostatnio: 16.01.2024 00:53
-----

#742281 Problem z pobieraniem textu

Napisane przez xBredeK w 28.08.2017 19:28

W tym 

		for (new i = 1; i <= get_maxplayers(); i++)
		{
			if (!is_user_connected(i))
				continue
				
			new name[64]
			get_user_name(i, name, charsmax(name))
			
			//new item
			//item = cod_get_user_item_name(i)
			
			new player[64]
			format(player, charsmax(player), "%s (%s)", name, cod_get_user_item_name(i))
			
			menu_additem(menu, player, _, _, menu_call)
		}

nie powinno być zamiast "%s (%s)" takie coś "%s (%i)" ?


  • +
  • -
  • 1


#742294 Problem z pobieraniem textu

Napisane przez _McHappy w 28.08.2017 22:16

Natyw:

native cod_get_user_item_name(id, szReturn[], iLen);

Ciało natywu:

public native_cod_get_user_item_name(id, szReturn[], iLen)
{
	param_convert(2);
        copy(szReturn, iLen, nazwy_przedmiotow[informacje_przedmiotu_gracza[id][0]]);
}

Wywołanie:

		for (new i = 1; i <= get_maxplayers(); i++)
		{
			if (!is_user_connected(i))
				continue
				
			new name[64]
			get_user_name(i, name, charsmax(name))
			
			new szItemName[32];
			cod_get_user_item_name(id, szItemName, charsmax(szItemName));
			
			new player[64]
			format(player, charsmax(player), "%s (%s)", name, szItemName)
			
			menu_additem(menu, player, _, _, menu_call)
                }

  • +
  • -
  • 1


#742287 Problem z pobieraniem textu

Napisane przez _McHappy w 28.08.2017 20:51

Wszelako pojęte tablice z danymi przekazywane są jako argumenty funkcji(przez referencję), a nie przez nie zwracane. Patrz przykład:

public PobierzJakisTekst(id, TablicaZTekstem[], dlugoscTekstu)
{
param_convert(2);
copy(TablicaZTekstem, dlugoscTekstu, JakisTekstNpGracza[id]);
}

Wywołanie:
new szZmienna[64];
PobierzJakisTekst(id, szZmienna, 63);

Potem wykorzystanie, np:
client_print(id, print_center, "Twoja zmienna tekstowa: %s", szZmienna);
  • +
  • -
  • 1


#742168 error 035: argument type mismatch (argument 3)

Napisane przez Linux' w 25.08.2017 16:38

    public playSound(id, path[])
    {
    	if (id && !equal(path, ""))

  • +
  • -
  • 1


#742099 2 Pytania

Napisane przez _McHappy w 23.08.2017 07:36

Bez rzutowania na float, musisz to zrobić inaczej.

new procent = (missionProgress[id] / str_to_num(missionData[missionSelected[id]][3])) * 100

Załóżmy:

missionProgress[id] = 16
str_to_num(missionData[missionSelected[id]][3])) = 70

Dla Twojego kodu:

(missionProgress[id] / str_to_num(missionData[missionSelected[id]][3])) * 100  ->  (16 / 70) * 100  ->  0 * 100 = 0 

[ Tak działa dzielenie 'div' - całkowite. 
Brana pod uwagę jest tylko część całkowita dzielenia - dlatego: 16/70={0,2285...}=0 ]

Prawidłowe podejście:

(missionProgress[id]*100) / str_to_num(missionData[missionSelected[id]][3])  ->  (16 * 100) / 70  ->  160 / 70 = 22 

[ Przedstawiając wynik jako liczbę zmiennoprzecinkową, postęp wyniósłby ~22,9%,
ale pamiętajmy, że wykorzystujemy tylko dzielenie całkowite, które zawsze zaokrągla w dół. ]

  • +
  • -
  • 1


#741924 2 Pytania

Napisane przez Ogen Dogen w 16.08.2017 19:19

Dzięki za pomoc. Rozwiązałem problem z zapisywaniem i działa wyśmienicie. Tylko nadal jest problem z procentami. Cały czas wyświetla się 0%, gdy zabijam kogoś to nadal ta liczba jest taka sama. Masz jakieś pomysły jak można to naprawić ?

Kod wygląda następująco:

new procent = (missionProgress[id] / str_to_num(missionData[missionSelected[id]][3])) * 100

set_hudmessage(0, 255, 0, 0.80, -1.0, 0, 0.0, 1.0)
ShowSyncHudMsg(id, gSyncHudObj, "[%i%%]", procent)
3 argument to jest to:
{"wersja", "typ", "tresc", "1 (TUTAJ PODAJE LICZBE OSOB)", "exp"}, // 0

Spróbuj %0.1f%%. Nie testowałem.

Ewentualnie %i / 100

//edit zakładając, że wyświetla poprawnie zmienną a nie rzeczywiście jest zerem


  • +
  • -
  • 1


#741897 2 Pytania

Napisane przez Ogen Dogen w 14.08.2017 12:29

 

1. Nie możesz, bo cała tablica musi być tego samego typu. Za to możesz konwertować tekst na liczbę - https://amxx.pl/doku...1372/str-to-num
2. Obliczanie procentów to czysta matematyka ;)

new procenty = (liczbaPodlozonychBomb / liczbaWymaganychBomb) * 100; // bez ułamków
new Float:procenty = floatmul(floatdiv(float(liczbaPodlozonychBomb), float(liczbaWymaganychBomb)), 100); // z ułamkami (pamiętaj aby sformatować na wyjściu w celu uniknięcia okresu np. 1/3)
+ ograniczenie
if (missionProgress[id] < 100) missionProgress[id]++;
else // koniec misji

Po zastosowaniu Twojego kodu mam błędy:
 
error 033: array must be indexed (variable "missionData")
warning 204: symbol is assigned a value that is never used: "text"
//
if (missionSelected[id] >= 0)
{
	new procent = (missionProgress[id] / missionData[missionSelected[id]][3]) * 100;
		
	set_hudmessage(0, 255, 0, 0.80, -1.0, 0, 0.0, 1.0)
	ShowSyncHudMsg(id, gSyncHudObj, "[Postep: %i%%]", procent)
}

format(vaultData, 255, "%i", number)
nvault_get(gVault, vaultKey, vaultData, 255)

Formatujesz vaultData, a potem i tak jest to nadpisywane przez nvault_get(). Kombinuj dalej ;)

Ps. Przy wczytywaniu ciągu znaków do zmiennych musisz zarezerwować komórkę na terminator ciągu znaków (stringa) - zwiększ wielkość tablic przy deklaracji o +1.


Nie rozumiem. Mógłbyś trochę jaśniej ? :D

 

 

1. Z tego co widzę to missionData ma 3 wymiary, a ty używasz tylko 2.

2. Jeżeli spodziewasz się, że twój string będzie miał rozmiar n to zadeklaruj jego rozmiar n+1, bo potrzebujesz jeszcze przechować tzw. null terminator. Symbol, dzięki któremu wiadomo gdzie się kończy tekst - https://en.wikipedia...rminated_string


  • +
  • -
  • 1


#741894 2 Pytania

Napisane przez _McHappy w 13.08.2017 23:46

format(vaultData, 255, "%i", number)
nvault_get(gVault, vaultKey, vaultData, 255)

Formatujesz vaultData, a potem i tak jest to nadpisywane przez nvault_get(). Kombinuj dalej ;)

Ps. Przy wczytywaniu ciągu znaków do zmiennych musisz zarezerwować komórkę na terminator ciągu znaków (stringa) - zwiększ wielkość tablic przy deklaracji o +1.
  • +
  • -
  • 1


#741888 2 Pytania

Napisane przez Ogen Dogen w 13.08.2017 21:28

1. Nie możesz, bo cała tablica musi być tego samego typu. Za to możesz konwertować tekst na liczbę - https://amxx.pl/doku...1372/str-to-num

2. Obliczanie procentów to czysta matematyka ;)

new procenty = (liczbaPodlozonychBomb / liczbaWymaganychBomb) * 100; // bez ułamków
new Float:procenty = floatmul(floatdiv(float(liczbaPodlozonychBomb), float(liczbaWymaganychBomb)), 100); // z ułamkami (pamiętaj aby sformatować na wyjściu w celu uniknięcia okresu np. 1/3)

+ ograniczenie

if (missionProgress[id] < 100) missionProgress[id]++;
else // koniec misji

  • +
  • -
  • 1


#741880 2 Pytania

Napisane przez Robiin w 13.08.2017 11:40

Jeżeli chodzi o procenty, to zaczerpnij z cod moda od Peyota, tam doświadczenie jest domyślnie w %.

if (missionProgress[id] >= missionData[missionValue[id]][3])

zmienna missionData jest trójwymiarowa, co wiąże się z błędem, kiedy wykorzystasz 2/3 możliwych opcji, a przynajmniej tak to biorę na logikę i doświadczenie :P

 

 


  • +
  • -
  • 1


#168631 Wyjaśnienie Server.cfg

Napisane przez Gutaj w 06.09.2010 15:02

Witam, czasami admini serwerów mają problemy z podstawową konfiguracją server.cfg

W tym poradniku podzielę server.cfg na sekcje i wszystko wytłumaczę.

Najlepiej na początku gdy tworzymy bądź edytujemy server.cfg trzeba ustalić pod jaki typ serwera zostanie on robiony.
Ja wybieram opcje FFA na dość przyzwoitej jakości 300fps :-)

Zaczniemy od najbardziej prostej rzeczy czyli krótkiej informacji o wersji server.cfg itp.

// server.cfg PL
// Gutaj
// ver 1.0.1 
// www.amxx.pl
 

 
// Confing przygotowany do rozgrywki Free For All

Tutaj tak naprawdę nie ma co tłumaczyć, nie integruje się to w działanie serwera jest to po prostu informacja o autorze, wersji i przystosowania server.cfg, dodam info że wszystko co jest po // jest używane jako czysty komentarz i hlds na to nie reaguje.


Czas przejść do takiej podstawowej konfiguracji mam tu na myśli nazwa serwera, kontakt itp.

// konfiguracja podstawowa

hostname "Nazwa@amxx.pl"        // Nazwa serwera
sv_contact "bok@amxx.pl"	   // Kontakt
mapchangecfgfile "server.cfg" // wykonaj ten confgi podczas zmiany mapy (do przywrocenia np starych ustawien)
mapcyclefile "mapcycle.txt"   // jest to mapcycle serwera (spis map, ktore odczytuje serwer)
motdfile "motd.html"          // nazwa pliku, ukazujaca tekst w oknie przed wyborem druzyn
servercfgfile "server.cfg"    // plik z glownymi ustawieniami na serwera, odpalany wraz ze startem serwera
sv_lan 0                      // ustawiajac 1 wlaczasz opcje lan
sv_visiblemaxplayers -1       // liczba widocznych slotow na serwerze, jesli -1 to jest automatycznie obliczana ilość slotów (standard)
                             
//Bany 
exec banned.cfg // laduj bany steamid/wonid
exec listip.cfg // laduj bany na ip

// W przypadku gdy nie mamy amxbans, wszystkie bany wczytywane są właśnie z tych plików
 
//hltv,region
sv_proxies 1 // ilosc hltv ktore moga polaczyc sie do serwera ( opcja 1 zalecana)
sv_region 3 // domyslna opcja 0(swiat) - ponieważ my jesteśmy w europie naszą cyferką jest 3


Teraz czas na ustawienie wydajności serwera

// wydajnosc
fps_max 325 // ilosc srednich fps'ow
fps_modem 0  // fps_modem - ustawia maksymalny framerate, ale tylko w grze internetowej.
host_framerate 0 //   Ustawia "czas/zegar" serwera, ale tylko w SinglePLayer i podczas odgrywania dema, można jej używać do przewijania.
sys_ticrate 325 // wartosc ticrate

Dając takie ustawienia serwer będzie utrzymywał 300 fps, czasami lekko wyżej a czasami lekko niżej specjalnie dałem trochę więcej, aby tylko w skrajnych przypadkach spadał poniżej 300 fps


Teraz to co misie lubią najbardziej czyli ustawienia łącza, rate :-)

// konfiguracja lacza, rate
sv_maxrate 25000 // maksymalna wartosc jaka serwer moze wyslac do kazdego klienta z osobna,
sv_maxupdaterate 101 // maksymalna wartosc jaka klient moze miec przy cl_updaterate, 
sv_minrate 0 // minimalna wartosc jaka serwer moze wyslac do kazdego klienta z osobna
sv_minupdaterate 20 // minimalna wartosc jaka klient musi miec przy cl_updaterate, 
sv_maxunlag 1 // maksymalny czas w sekundach kompensacji lagow


No ludzie jak na razie jest super, szczerze? To co najcięższe już za nami :]

Teraz czas na rcon i hasło do serwera

// rcon i hasla
sv_password "" // wymagane haslo aby sie podlaczyc do serwera, jeżeli chcemy aby każdy mógł wejść na serwer zostawiamy puste to pole
               //ustawiane najczesciej na serwery klanowe albo podczas meczu
rcon_password "haslorecon"  // haslo rcon 
sv_rcon_banpenalty 60 //czas bana za probe uzycia zlego rcon'a za wielokrotne proby (banuje na ip), 0 - pernametnie
sv_rcon_minfailures 5 // limit zlych komend rcon aby otrzymac ban'a
sv_rcon_minfailuretime 30 // czas w jakim sa sprawdzane proby rcon,


Teraz czas na coś, aby wiedzieć co dzieje się na serwerze czyli Logi taaa to jest to :D


// logi serwera
// zaleca sie zachowanie ponizszych ustawien jesli chcesz uzywac HLStats albo PsychoStats
mp_logdetail 3 // poziom logow
mp_logecho 1 // 1 - wlacza logowanie komendy echo
mp_logfile 1 // logowanie wydarzen multiplayer (koniec rundy itp), 1 - tak (standard), 0 - nie
mp_logmessages 1 // loguj komendy say (chat), 1 - tak (standard), 0 - nie
sv_logbans 1 // loguj dawanie banow, 1 - tak (standard), 0 - nie
sv_logblocks 1 // loguj blokowane proby zmiany zastrzezonych wartosci zmiennych, 1 - tak (standard), 0 - nie 
sv_logrelay 1 // loguj podlaczenia hltv relay proxy, 1 - tak (standard), 0 - nie

Tak jak wyżej napisałem zaleca się większości tych ustawieni nie zmieniać aby nie było problemów z HLstats czy PsychoStats

Czas na to co neo lubi najbardziej czyli darcie się do mikrofonu czy biadolenie w say'u :-) krótko mówiąc rozmowy na serwerze.

// rozmowa na serwerze

sv_voicecodec "voice_speex" // rodzaj kodeka, zalecany voice_speex - lepsza jakosc
sv_voiceenable 1 // uzywaj opcji voice na serwerze, 1 - tak (domyslnie), 0 - nie
sv_voicequality 3 // jakosc glosu, od 1 do 5, im wiecej tym lepiej ale wieksze uzyci proca i sieci, domyslnie 3
sv_alltalk 0 // obydwie druzyny w trakcie rozgrywki moga ze soba rozmawiać

Na moje oko połowa przebrnięta :-) zostało jeszcze pare rzeczy takie jak pobieranie, ustawienie do rozgrywki, obserwatorzy i inne, no ale na razie zajmijmy się pobieraniem


Ja akurat zrobiłem tak że w części pobieraniu są ustawienia do fastdl. :-)

// Pobieranie
// zaleca sie zachowanie ponizszych wartosci aby nie miec problemow ze sciaganiem plikow z serwera!

hpk_maxsize 0.5 // maksymalny rozmiar sumy wszstkich logo graczy na serwerze, w megabajtach
sv_allowdownload 1 // zezwalaj na download, 1 - tak (standard), 0 - nie
sv_allowupload 1 // pozwalaj na upload (np loga), 1 - tak (standard), 0 - nie
sv_send_logos 1 //pozwalaj na wysylanie loga graczy (sprej na sciane)
sv_send_resources 1 // pozwalaj na dowload listy wymaganych plikow aby grac na mapie, 1 - tak (standard), 0 - nie
//sv_downloadurl w tym linku podajemy odnosnik do naszego fastdl, pamietajcie o dobrych chmodach dla plików
sv_downloadurl "http://amxx.pl/fastdl/" 
mp_decals 300 // maximum wyswietlanych logo itp na serwerze

amxx.pl oczywiście zmieniamy na adres swojej strony :-)

Teraz czas na rozgrywke czyli takie rzeczy jak czas kupowania, freeztime, zabijanie swoich i tak dalej.

// rozgrywka

mp_autoteambalance 0 // wyrownuj druzyny
mp_buytime 0.15 // czas kupowania na pocz rundy
mp_c4timer 35 // czas w sekundach na rozbrojenie bomby 
mp_consistency 1 // 1 - nie pozwalaj graczy uzywac wlasnych modeli 
mp_flashlight 1 // 1 mozna uzywac latarki 0- dezaktywuje 
mp_footsteps 1 // 1 - slychac kroki graczy podczas biegu (standard)
mp_freezetime 3 // czas w sekundach wstrzymania na poczatku rundy (na reload i kupno broni)
mp_friendly_grenade_damage 0 // 0 - granaty nie rania tp (ale zabiebraja armor), 1 - granaty rania graczy z druzyny 
mp_friendlyfire 0 // 0 - jak strzelasz do swoich to ich nie ranisz, 1 - ranisz swoich 
mp_ghostfrequency 0.1 // czestosc odswiezania stanu dla obserwatorow
mp_hostagepenalty 0 // ilosc zabic zakladnikow po ktorym dostajesz kicka, 0 - wylaczone
mp_limitteams 0 // jaka maxymalna moze byc roznica ilosc graczy pomiedzy jedna a druga druzyna
mp_maxrounds 0 // maksymalna liczba rund do grania, 0 - brak limitu (standard)
mp_mirrordamage 0 // jak trafiasz swojego to tak jabys trafial siebie, domyslnie 0, 1 - wlacza (nie zalecane)
mp_payerid 0 // wyswietla nick gracza po nacelowaniu, 0 - widac wsztkich (w kolorach) (standard), 1 - tylko tp i zakladnicy, 2 - nikogo nie pokazuje
mp_roundtime 3.00 // czas trwania rundy w minutach , standard to 3 minuty, albo 1.75 na szybkie rozgrywki (aby sie nie nudzic na obsie), wartosci od 1 do 9
mp_startmoney 800 // liczba kasy na poczatku rundy
mp_timelimit 20 // limit czasu grania na mapie (po nim nastepuje zmiana mapy), w minutach, ustaw na 0 na brak limitu czasu, 
mp_tkpunish 0 // karanie smiercia na poczatku nastepnej rundy za zabicie swojego, 0 - nie (domyslnie), 1 - tak
mp_winlimit 0 // limit rund do wygrania, jak jakas druzyna osiagnie te wartosc to nastepuje zmiana mapy, 0 - brak limitu (standard)
pausable 0 // 0 (standard) nie pozwala graczom pauzowac gry na serwerze, 1 - pozwala, czasem na meczach sie tak ustawia
sv_maxspeed 320 // maksymalna predkosc biegu gracza , standard (320)

Brawa dla was że wytrwaliście taki kawał pociesze was ze większość mamy za sobą :-)

Teraz czas skonfigurować gapiów czyli obserwatorów :-)

// obserwatorzy
allow_spectators 1 // pozwalaj na obserwatorow (osoby kompletnie nie grajace), 1 - tak (standard), 0 - nie, 
mp_fadetoblack 0 // 1 - ekran sie sciemnia po smierci gracza (wymagane na niektorych meczach), 0 - bez sciemnienia
mp_forcecamera 0 // forsuj spectarora na: 0 - nie forsuj, 1 - widok z oczu gracza i z chase mode , 2 - tylko widok z oczu gracza, zalecana wartosc 1 
albo 2
mp_forcechasecam 0 // 0 - gracz moze latac po calej mapie, 1 - mozna ogladac typo swoich zalecane na rozgrywke tp, 2 - klient nie rusza sie z miejsca gdzie umarl
mp_autokick 0 // automatyczne kickowanie za zabijanie swoich albo dlugie nie ruszanie sie z miejsca
sv_timeout 120 // czas w sekundach, jesli gracz nie odpowie w tym czasie uznawany jest za odlaczony od serwera (jak komus sie komp zwiesi/padnie na chwile lacze)
sv_spectatormaxspeed 500 // maksymalna predkosc latania obserwatora , normalny gracz biega z predkoscia 320, standard jest 500
mp_chattime 3 // po ilu sekundach po osiagnieciu timelimitu/maxrounds zmienia sie mapa

Brawa, teraz już zostały takie naprawdę opcje inne oraz status serwera www


// inne 
mp_autocrosshair 0 // default 0
sv_aim 0 //0 ((standard) wylacza autocelowanie, 1 - zalacza auto celowanie (nie zalecane)
sv_airaccelerate 10 // akcleracja w powietrzu (bunnyjump), wartosc od 0 do 10 , 10 standardowo
sv_airmove 1 // pozwala na ruch w powietrzu (bunnyjump), 1 - tak (standard), 0 - nie
sv_challengetime 150 // czas w sekundach, jesli gracz sie nie podlaczy do gry w tym czasie bedzie uznawany za odlaczonego, zwieksz jesli gracze maja slabe kompy albo duzo sciagaja z serwera :D
sv_cheats 0 // 0 (standard) nie pozwala na komendy give weapon, god, noclip i takie tam, 1 - dla deweloperow map albo serwero for fun
sv_clienttrace 1 // (standard) 1
sv_friction 4 // poslizg na powierzchni podczas biegania, ma wplyw na predkosc kompletnego zatrzymania sie, 4 (standard)
sv_gravity 800 // grawitacja, domyslnie 800, im wiecej tym trudniej skakac (przy pewnych wartosciach zejscie z malego schodka jest smiertelne a granaty padaja pod nogami)
                // 0 wylacza grawitacje - jak podskoczysz to juz nie upadniesz
                // wartosc 100, 200, 400 sanajczesciej spotykane na serwerach niekonwecjonalnych


No i nasz status wwww

// status serwera poprzez www
// sprawdzenie statusu serwera tez zzera troche procesora i lacza, domyslne wartosci sa wystarczajace
 
max_queries_global 20 // jak czesto mozna w sumie sprawdzic status serwera
max_queries_sec 3 // jak czesto klient moze sprawdzac status serwera (all seeing eye, skrypty www)
max_queries_window 30 // rozmiar okna czasowego na sprawdzanie zapytan ,jak masz problemy z timeoutem w hlsw ustaw na 10

Mamy wszystko :] teraz przydało by się to z kleić w całość.



Dodałem jeszcze troche //// żeby odróżnić poszczególne konfigurację :-) o to cały server.cfg



// server.cfg PL
// Gutaj
// ver 1.0.1 
// www.amxx.pl
 

 
// Confing przygotowany do rozgrywki Free For All

// konfiguracja podstawowa

hostname "Nazwa@amxx.pl"        // Nazwa serwera
sv_contact "bok@amxx.pl"	   // Kontakt
mapchangecfgfile "server.cfg" // wykonaj ten confgi podczas zmiany mapy (do przywrocenia np starych ustawien)
mapcyclefile "mapcycle.txt"   // jest to mapcycle serwera (spis map, ktore odczytuje serwer)
motdfile "motd.html"          // nazwa pliku, ukazujaca tekst w oknie przed wyborem druzyn
servercfgfile "server.cfg"    // plik z glownymi ustawieniami na serwera, odpalany wraz ze startem serwera
sv_lan 0                      // ustawiajac 1 wlaczasz opcje lan
sv_visiblemaxplayers -1       // liczba widocznych slotow na serwerze, jesli -1 to jest automatycznie obliczana ilość slotów (standard)
                             
//Bany 
exec banned.cfg // laduj bany steamid/wonid
exec listip.cfg // laduj bany na ip

// W przypadku gdy nie mamy amxbans, wszystkie bany wczytywane są właśnie z tych plików
 
//hltv,region
sv_proxies 1 // ilosc hltv ktore moga polaczyc sie do serwera ( opcja 1 zalecana)
sv_region 3 // domyslna opcja 0(swiat) - ponieważ my jesteśmy w europie naszą cyferką jest 3

///////////////////////////////////////////////////////////////////////////////////////////////////

// wydajnosc
fps_max 325 // ilosc srednich fps'ow
fps_modem 0  // fps_modem - ustawia maksymalny framerate, ale tylko w grze internetowej.
host_framerate 0 //   Ustawia "czas/zegar" serwera, ale tylko w SinglePLayer i podczas odgrywania dema, można jej używać do przewijania.
sys_ticrate 325 // wartosc ticrate

///////////////////////////////////////////////////////////////////////////////////////////////////

// konfiguracja lacza, rate
sv_maxrate 25000 // maksymalna wartosc jaka serwer moze wyslac do kazdego klienta z osobna,
sv_maxupdaterate 101 // maksymalna wartosc jaka klient moze miec przy cl_updaterate, 
sv_minrate 0 // minimalna wartosc jaka serwer moze wyslac do kazdego klienta z osobna
sv_minupdaterate 20 // minimalna wartosc jaka klient musi miec przy cl_updaterate, 
sv_maxunlag 1 // maksymalny czas w sekundach kompensacji lagow

///////////////////////////////////////////////////////////////////////////////////////////////////

// rcon i hasla
sv_password "" // wymagane haslo aby sie podlaczyc do serwera, jeżeli chcemy aby każdy mógł wejść na serwer zostawiamy puste to pole
               //ustawiane najczesciej na serwery klanowe albo podczas meczu
rcon_password "haslorecon"  // haslo rcon 
sv_rcon_banpenalty 60 //czas bana za probe uzycia zlego rcon'a za wielokrotne proby (banuje na ip), 0 - pernametnie
sv_rcon_minfailures 5 // limit zlych komend rcon aby otrzymac ban'a
sv_rcon_minfailuretime 30 // czas w jakim sa sprawdzane proby rcon, 

///////////////////////////////////////////////////////////////////////////////////////////////////

// logi serwera
// zaleca sie zachowanie ponizszych ustawien jesli chcesz uzywac HLStats albo PsychoStats
mp_logdetail 3 // poziom logow
mp_logecho 1 // 1 - wlacza logowanie komendy echo
mp_logfile 1 // logowanie wydarzen multiplayer (koniec rundy itp), 1 - tak (standard), 0 - nie
mp_logmessages 1 // loguj komendy say (chat), 1 - tak (standard), 0 - nie
sv_logbans 1 // loguj dawanie banow, 1 - tak (standard), 0 - nie
sv_logblocks 1 // loguj blokowane proby zmiany zastrzezonych wartosci zmiennych, 1 - tak (standard), 0 - nie 
sv_logrelay 1 // loguj podlaczenia hltv relay proxy, 1 - tak (standard), 0 - nie

///////////////////////////////////////////////////////////////////////////////////////////////////

// rozmowa na serwerze

sv_voicecodec "voice_speex" // rodzaj kodeka, zalecany voice_speex - lepsza jakosc
sv_voiceenable 1 // uzywaj opcji voice na serwerze, 1 - tak (domyslnie), 0 - nie
sv_voicequality 3 // jakosc glosu, od 1 do 5, im wiecej tym lepiej ale wieksze uzyci proca i sieci, domyslnie 3
sv_alltalk 0 // obydwie druzyny w trakcie rozgrywki moga ze soba rozmawiać

///////////////////////////////////////////////////////////////////////////////////////////////////

// Pobieranie
// zaleca sie zachowanie ponizszych wartosci aby nie miec problemow ze sciaganiem plikow z serwera!

hpk_maxsize 0.5 // maksymalny rozmiar sumy wszstkich logo graczy na serwerze, w megabajtach
sv_allowdownload 1 // zezwalaj na download, 1 - tak (standard), 0 - nie
sv_allowupload 1 // pozwalaj na upload (np loga), 1 - tak (standard), 0 - nie
sv_send_logos 1 //pozwalaj na wysylanie loga graczy (sprej na sciane)
sv_send_resources 1 // pozwalaj na dowload listy wymaganych plikow aby grac na mapie, 1 - tak (standard), 0 - nie
//sv_downloadurl w tym linku podajemy odnosnik do naszego fastdl, pamietajcie o dobrych chmodach dla plików
sv_downloadurl "http://amxx.pl/fastdl/" 
mp_decals 300 // maximum wyswietlanych logo itp na serwerze

///////////////////////////////////////////////////////////////////////////////////////////////////

// rozgrywka

mp_autoteambalance 0 // wyrownuj druzyny
mp_buytime 0.15 // czas kupowania na pocz rundy
mp_c4timer 35 // czas w sekundach na rozbrojenie bomby 
mp_consistency 1 // 1 - nie pozwalaj graczy uzywac wlasnych modeli 
mp_flashlight 1 // 1 mozna uzywac latarki 0- dezaktywuje 
mp_footsteps 1 // 1 - slychac kroki graczy podczas biegu (standard)
mp_freezetime 3 // czas w sekundach wstrzymania na poczatku rundy (na reload i kupno broni)
mp_friendly_grenade_damage 0 // 0 - granaty nie rania tp (ale zabiebraja armor), 1 - granaty rania graczy z druzyny 
mp_friendlyfire 0 // 0 - jak strzelasz do swoich to ich nie ranisz, 1 - ranisz swoich 
mp_ghostfrequency 0.1 // czestosc odswiezania stanu dla obserwatorow
mp_hostagepenalty 0 // ilosc zabic zakladnikow po ktorym dostajesz kicka, 0 - wylaczone
mp_limitteams 0 // jaka maxymalna moze byc roznica ilosc graczy pomiedzy jedna a druga druzyna
mp_maxrounds 0 // maksymalna liczba rund do grania, 0 - brak limitu (standard)
mp_mirrordamage 0 // jak trafiasz swojego to tak jabys trafial siebie, domyslnie 0, 1 - wlacza (nie zalecane)
mp_payerid 0 // wyswietla nick gracza po nacelowaniu, 0 - widac wsztkich (w kolorach) (standard), 1 - tylko tp i zakladnicy, 2 - nikogo nie pokazuje
mp_roundtime 3.00 // czas trwania rundy w minutach , standard to 3 minuty, albo 1.75 na szybkie rozgrywki (aby sie nie nudzic na obsie), wartosci od 1 do 9
mp_startmoney 800 // liczba kasy na poczatku rundy
mp_timelimit 20 // limit czasu grania na mapie (po nim nastepuje zmiana mapy), w minutach, ustaw na 0 na brak limitu czasu, 
mp_tkpunish 0 // karanie smiercia na poczatku nastepnej rundy za zabicie swojego, 0 - nie (domyslnie), 1 - tak
mp_winlimit 0 // limit rund do wygrania, jak jakas druzyna osiagnie te wartosc to nastepuje zmiana mapy, 0 - brak limitu (standard)
pausable 0 // 0 (standard) nie pozwala graczom pauzowac gry na serwerze, 1 - pozwala, czasem na meczach sie tak ustawia
sv_maxspeed 320 // maksymalna predkosc biegu gracza , standard (320)

///////////////////////////////////////////////////////////////////////////////////////////////////

// obserwatorzy
allow_spectators 1 // pozwalaj na obserwatorow (osoby kompletnie nie grajace), 1 - tak (standard), 0 - nie, 
mp_fadetoblack 0 // 1 - ekran sie sciemnia po smierci gracza (wymagane na niektorych meczach), 0 - bez sciemnienia
mp_forcecamera 0 // forsuj spectarora na: 0 - nie forsuj, 1 - widok z oczu gracza i z chase mode , 2 - tylko widok z oczu gracza, zalecana wartosc 1 
albo 2
mp_forcechasecam 0 // 0 - gracz moze latac po calej mapie, 1 - mozna ogladac typo swoich zalecane na rozgrywke tp, 2 - klient nie rusza sie z miejsca gdzie umarl
mp_autokick 0 // automatyczne kickowanie za zabijanie swoich albo dlugie nie ruszanie sie z miejsca
sv_timeout 120 // czas w sekundach, jesli gracz nie odpowie w tym czasie uznawany jest za odlaczony od serwera (jak komus sie komp zwiesi/padnie na chwile lacze)
sv_spectatormaxspeed 500 // maksymalna predkosc latania obserwatora , normalny gracz biega z predkoscia 320, standard jest 500
mp_chattime 3 // po ilu sekundach po osiagnieciu timelimitu/maxrounds zmienia sie mapa

///////////////////////////////////////////////////////////////////////////////////////////////////

// inne 
mp_autocrosshair 0 // default 0
sv_aim 0 //0 ((standard) wylacza autocelowanie, 1 - zalacza auto celowanie (nie zalecane)
sv_airaccelerate 10 // akcleracja w powietrzu (bunnyjump), wartosc od 0 do 10 , 10 standardowo
sv_airmove 1 // pozwala na ruch w powietrzu (bunnyjump), 1 - tak (standard), 0 - nie
sv_challengetime 150 // czas w sekundach, jesli gracz sie nie podlaczy do gry w tym czasie bedzie uznawany za odlaczonego, zwieksz jesli gracze maja slabe kompy albo duzo sciagaja z serwera :D
sv_cheats 0 // 0 (standard) nie pozwala na komendy give weapon, god, noclip i takie tam, 1 - dla deweloperow map albo serwero for fun
sv_clienttrace 1 // (standard) 1
sv_friction 4 // poslizg na powierzchni podczas biegania, ma wplyw na predkosc kompletnego zatrzymania sie, 4 (standard)
sv_gravity 800 // grawitacja, domyslnie 800, im wiecej tym trudniej skakac (przy pewnych wartosciach zejscie z malego schodka jest smiertelne a granaty padaja pod nogami)
                // 0 wylacza grawitacje - jak podskoczysz to juz nie upadniesz
                // wartosc 100, 200, 400 sanajczesciej spotykane na serwerach niekonwecjonalnych

///////////////////////////////////////////////////////////////////////////////////////////////////

/ status serwera poprzez www
// sprawdzenie statusu serwera tez zzera troche procesora i lacza, domyslne wartosci sa wystarczajace
 
max_queries_global 20 // jak czesto mozna w sumie sprawdzic status serwera
max_queries_sec 3 // jak czesto klient moze sprawdzac status serwera (all seeing eye, skrypty www)
max_queries_window 30 // rozmiar okna czasowego na sprawdzanie zapytan ,jak masz problemy z timeoutem w hlsw ustaw na 10


// Koniec
// Zapraszamy amxx.pl


Oczywiście wystarczy to przeczytać ze 3-4 razy i się większość opcji zapamięta i nie będą potrzebne te opisy :-)

Załączone pliki


  • +
  • -
  • 23


#280659 Inne dodawanie punktów

Napisane przez Goliath w 10.08.2011 10:49

Cholera, miałem zrobione u siebie praktycznie to samo i zastanawiałem się, kiedy to wstawić. Jak widać, trochę zbyt długo się zastanawiałem xD.

Co do tematu: zauważyłem taką niedogodność - gdy ma się np. 85 punktów w danej statystyce, a limit wynosi 100, to przy próbie dodania w statystykę np. 16 punktów wyświetli się, że "maksymalny poziom statystyki osiągnięty". Oto kod, który powinien to naprawić:
public PrzydzielPunkty_Handler(id, menu, item) {
client_cmd(id, "spk QTM_CodMod/select");

if(item == MENU_EXIT) {
menu_destroy(menu);
return PLUGIN_CONTINUE;
}

if(punkty_gracza[id] < 1)
return PLUGIN_CONTINUE;

new limit_poziomu = get_pcvar_num(cvar_limit_poziomu);
new ilosc = (co_ile[szybkosc_rozdania[id]] > punkty_gracza[id]) ? punkty_gracza[id] : co_ile[szybkosc_rozdania[id]]

switch(item) {
case 0: {
if(szybkosc_rozdania[id] < charsmax(co_ile)) szybkosc_rozdania[id]++;
else szybkosc_rozdania[id] = 0;
}
case 1: {
if(inteligencja_gracza[id] < limit_poziomu/2) {
if(ilosc > limit_poziomu/2 - inteligencja_gracza[id])
ilosc = limit_poziomu/2 - inteligencja_gracza[id];
inteligencja_gracza[id]+=ilosc;
punkty_gracza[id]-=ilosc;
} else client_print(id, print_chat, "[COD:MW] Maxymalny poziom inteligencji osiagniety");
}
case 2: {
if(zdrowie_gracza[id] < limit_poziomu/2) {
if(ilosc > limit_poziomu/2 - zdrowie_gracza[id])
ilosc = limit_poziomu/2 - zdrowie_gracza[id];
zdrowie_gracza[id]+=ilosc;
punkty_gracza[id]-=ilosc;
} else client_print(id, print_chat, "[COD:MW] Maxymalny poziom sily osiagniety");
}
case 3: {
if(wytrzymalosc_gracza[id] < limit_poziomu/2) {
if(ilosc > limit_poziomu/2 - wytrzymalosc_gracza[id])
ilosc = limit_poziomu/2 - wytrzymalosc_gracza[id];
wytrzymalosc_gracza[id]+=ilosc;
punkty_gracza[id]-=ilosc;
} else client_print(id, print_chat, "[COD:MW] Maxymalny poziom zrecznosci osiagniety");
}
case 4: {
if(kondycja_gracza[id] < limit_poziomu/2) {
if(ilosc > limit_poziomu/2 - kondycja_gracza[id])
ilosc = limit_poziomu/2 - kondycja_gracza[id];
kondycja_gracza[id]+=ilosc;
punkty_gracza[id]-=ilosc;
} else client_print(id, print_chat, "[COD:MW] Maxymalny poziom kondycji osiagniety");
}
}

if(punkty_gracza[id] > 0)
PrzydzielPunkty(id);

return PLUGIN_CONTINUE;
}

A dla tych, którzy chcą dodawanie wszystkiego w daną statystykę: zmieniamy:
new const co_ile[] = { 1, 4, 8, 16, 24 }

Na:
new const co_ile[] = { 1, 4, 8, 16, 24, -1 }

Zmieniamy funkcję PrzydzielPunkty na:
public PrzydzielPunkty(id)
{
new szybkosc[60];
new inteligencja[65];
new zdrowie[60];
new wytrzymalosc[60];
new kondycja[60];
new tytul[25];

if(co_ile[szybkosc_rozdania[id]] == -1)
format(szybkosc, charsmax(szybkosc), "Ile dodawac: \rwszystko \y(Ile pkt dodac do statow)");
else format(szybkosc, charsmax(szybkosc), "Ile dodawac: \r%d \y(Ile pkt dodac do statow)", co_ile[szybkosc_rozdania[id]]);
format(inteligencja, charsmax(inteligencja), "Inteligencja: \r%i \y(Zwieksza sile perkow i umiejetnosci klasy)", PobierzInteligencje(id, 1, 1, 1));
format(zdrowie, charsmax(zdrowie), "Zdrowie: \r%i \y(Zwieksza zdrowie)", PobierzZdrowie(id, 1, 1, 1));
format(wytrzymalosc, charsmax(wytrzymalosc), "Wytrzymalosc: \r%i \y(Zmniejsza obrazenia)", PobierzWytrzymalosc(id, 1, 1, 1));
format(kondycja, charsmax(kondycja), "Kondycja: \r%i \y(Zwieksza tempo chodu)", PobierzKondycje(id, 1, 1, 1));
format(tytul, charsmax(tytul), "Przydziel Punkty(%i):", punkty_gracza[id]);
new menu = menu_create(tytul, "PrzydzielPunkty_Handler");
menu_additem(menu, szybkosc);
menu_addblank(menu, 0);
menu_additem(menu, inteligencja);
menu_additem(menu, zdrowie);
menu_additem(menu, wytrzymalosc);
menu_additem(menu, kondycja);
menu_setprop(menu, MPROP_EXIT, 0);
menu_display(id, menu);
}

A funkcję PrzydzielPunkty_Handler na:
public PrzydzielPunkty_Handler(id, menu, item) {
client_cmd(id, "spk QTM_CodMod/select");

if(item == MENU_EXIT) {
menu_destroy(menu);
return PLUGIN_CONTINUE;
}

if(punkty_gracza[id] < 1)
return PLUGIN_CONTINUE;

new limit_poziomu = get_pcvar_num(cvar_limit_poziomu);
new ilosc;
if(co_ile[szybkosc_rozdania[id]] == -1)
ilosc = punkty_gracza[id];
else ilosc = (co_ile[szybkosc_rozdania[id]] > punkty_gracza[id]) ? punkty_gracza[id] : co_ile[szybkosc_rozdania[id]]

switch(item) {
case 0: {
if(szybkosc_rozdania[id] < charsmax(co_ile)) szybkosc_rozdania[id]++;
else szybkosc_rozdania[id] = 0;
}
case 1: {
if(inteligencja_gracza[id] < limit_poziomu/2) {
if(ilosc > limit_poziomu/2 - inteligencja_gracza[id])
ilosc = limit_poziomu/2 - inteligencja_gracza[id];
inteligencja_gracza[id]+=ilosc;
punkty_gracza[id]-=ilosc;
} else client_print(id, print_chat, "[COD:MW] Maxymalny poziom inteligencji osiagniety");
}
case 2: {
if(zdrowie_gracza[id] < limit_poziomu/2) {
if(ilosc > limit_poziomu/2 - zdrowie_gracza[id])
ilosc = limit_poziomu/2 - zdrowie_gracza[id];
zdrowie_gracza[id]+=ilosc;
punkty_gracza[id]-=ilosc;
} else client_print(id, print_chat, "[COD:MW] Maxymalny poziom sily osiagniety");
}
case 3: {
if(wytrzymalosc_gracza[id] < limit_poziomu/2) {
if(ilosc > limit_poziomu/2 - wytrzymalosc_gracza[id])
ilosc = limit_poziomu/2 - wytrzymalosc_gracza[id];
wytrzymalosc_gracza[id]+=ilosc;
punkty_gracza[id]-=ilosc;
} else client_print(id, print_chat, "[COD:MW] Maxymalny poziom zrecznosci osiagniety");
}
case 4: {
if(kondycja_gracza[id] < limit_poziomu/2) {
if(ilosc > limit_poziomu/2 - kondycja_gracza[id])
ilosc = limit_poziomu/2 - kondycja_gracza[id];
kondycja_gracza[id]+=ilosc;
punkty_gracza[id]-=ilosc;
} else client_print(id, print_chat, "[COD:MW] Maxymalny poziom kondycji osiagniety");
}
}

if(punkty_gracza[id] > 0)
PrzydzielPunkty(id);

return PLUGIN_CONTINUE;
}

Powyższych kodów nie testowałem, ale myślę, że będą działać.
  • +
  • -
  • 23


#741839 Problem z prefixami na say

Napisane przez Toldi w 09.08.2017 16:44

https://amxx.pl/topi...-przed-nickiem/


  • +
  • -
  • 1


#741786 AMXX Editor Online - IDE w przeglądarce

Napisane przez DarkGL w 07.08.2017 00:09

Wszystko zależy czy znajdę kopie plików.
  • +
  • -
  • 1


#138254 PODBOT

Napisane przez Harsay w 24.05.2010 21:53

PODBOT


Opis:
Są to boty które możesz dodać do swojego serwera (offline jaki i online).

Paczka zawiera:
Configs
Waypoints
pbmm_v3 Docs
Bots Chats
dll, i386.so, amd64.so.

Kompatybilne z grami:
Counter-Strike 1.5
Counter-Strike 1.6
Counter-Strike: Condition Zero

Wymagania:
metamod

Instalacja:
1. Plik "podbot"wrzucamy do folderu "addons"
2. Wchodzimy do folderu "metamod" i w pliku "plugins.ini" wpisujemy:
Dla Windows
win32 addons/podbot/podbot_mm.dll
Dla Linux procesory amd:
linux addons/podbot/podbot_mm_amd64.so
Dla Linux procesory intel:
linux addons/podbot/ podbot_mm_i386.so

Komendy:
pb menu -- wpisujemy w konsoli i otrzymujemy menu zarządzania botami

Download:
Załączony plik  podbot.zip   1,59 MB  5494 Ilość pobrań

Bots United - Filebase » POD-Bot mm » Latest Official Releases » Fullpack V3B20a
  • +
  • -
  • 6