* rvg.prv.pl * |
Config
Nie mieć własnego configa to jak nie mieć sterowników do karty graficznej... Każdy szanujący się gracz powinien posiadać własny plik konfiguracyjny z indywidualnymi ustawieniami. Wtedy jednym poleceniem konsoli /exec nazwa_pliku na całym świecie, obojętnie na jakim komputerze, serwerze i wersji będziemy grali uzyskamy w ciągu sekundy nasze ustawienia. W q3 jest kilka configów:
Ważne jest, aby config zawierał też komendy i bindy, które są uważane za oczywiste, np. cg_drawgun 1, likwidujący wyświetlanie broni gracza na ekranie. Kiedyś na naszym komputerze może zagrać ktoś, kto używa tej komendy z wartością 0 i zostanie ona, jak każda dopisana do q3config.cfg, a przy następnej grze uruchomiona. Jeśli nie nakażemy jej powrotu do wartości 1 we własnym configu, to trzeba będzie wpisać tę komendę ręcznie w konsoli. Config pisze się w zwykłym Notatniku i zapisuje z rozszerzeniem cfg. Wygodniej jest jednak przerobić config innego gracza na własne potrzeby. Config może mieć maksymalnie 16kB! Większy config spowoduje błędy w grze. Najważniejsze ustawienia jakie powinny znaleźć się w configu podaje poniżej, na przykładzie mojego z krótkim omówieniem. Do napisania configa konieczna jest znajomość kilkudziesięciu komend konsoli, dlatego najpierw polecam rzucić okiem na dział Konsola. Można określić kilka części składowych configa, chociaż taki podział nie jest oczywiście obligatoryjny. Część I - GUI
Nie jest to oczywiście wymagana część, ale config jest niejako wizytówką gracza, więć powinien się przyjemnie prezentować. // **************************************************************************** // **************************************************************************** // *********** [RvG]Rozz's config.cfg file for Quake3: Arena ************* // *********** released 26.03.2000 ************* // *********** ver. 1.59 ************* // *********** generated by Rozz, do not modify! ************* // *********** http://rvg.prv.pl ************* // *********** rozz@hub.wp-sa.pl ************* // **************************************************************************** // **************************************************************************** unbindall Podwójny slash - // oznacza komentarz, czyli wszystko co jest za nim nie jest interpretowane. Polecenie unbindall jest bardzo ważne - umieszcza się je na początku, żeby wszelkie poprzednie bindy, w tym również określone w default.cfg zostały usunięte na potrzeby bindów zawartych w configu. Część II - Player & Server
seta name "^1[RvG]Rozz" seta sv_hostname "[rvg]-serwer/rozz" seta g_motd "Happy Fragging" seta model "sarge/krusade" seta headmodel "sarge/krusade" // 1.27 i wyższe seta color1 "2" // 1.29 i wyższe seta color2 "7" // 1.29 i wyższe seta ui_ffa_fraglimit "60" seta ui_ffa_timelimit "0" seta ui_tourney_timelimit "5" seta ui_tourney_fraglimit "10" seta fraglimit "0" seta timelimit "10" seta g_gametype "1" seta sv_maxclients "10" seta cl_timenudge "-20" seta cl_maxpackets "30" seta cl_packetdup "1" seta sv_fps "40" seta snaps "20" seta rate "25000" seta com_introplayed "1" seta sv_pure "0" seta g_synchronousclients "0"Config można pisać stosując 5 możliwości wprowadzania komend:
Wartości liczbowych nie trzeba ujmować w cudzysłowiu, ale jego użycie jest bardziej poprawne. Każdej komendy nie będę tutaj objaśniał, można użyć tego linku , żeby otworzyć dział Konsola w nowym oknie. Wyrażenie ^1 informuje o kolorze, jaki można nanieść na ksywę. Ciąg znaków poprzedzony takim wyrażeniem będzie miał naniesiony dany kolor. Możliwości to: ^1 ^2 ^3 ^4 ^5 ^6 ^7 oraz ^0 lub ^8 dla koloru czarnego. Przy wpisywaniu modelu trzeba zwrócić uwagę czy gramy faktycznie typowym modelem czy też tylko skinem na inny model. Typowe modele to uriel, sarge, klesk, major, a skiny to patriot (na model razora), hossman (na model bikera), daemia (na model major). Jeżeli gramy skinem, to konieczne jest podanie zarówno modelu oraz po slashu (/) skina, natomiast jeśli gramy samym modelem, to wystarczy podać nazwę modelu. Ja gram modelem sarge w skinie (ukrytym, nie można wybrać z menu) o nazwie krusade. Headmodel dotyczy tylko PR 1.27 i wyższych. Różnica między sv_hostname a g_motd jest taka, że w przeglądarce serwerów w menu gry będzie widoczny tylko ten pierwszy, a oba dopiero podczas ładowania mapy. g_synchronousclients w PR 1.17 miało postać g_syncronousclients . Dość ważną komendą jest jeszcze sv_fps . Domyślne 20 zwykłemu quakerowi wystarczy. Natomiast większa wartość będzie potrzebna przy stosowaniu komendy autorecord w osp (por. dział Osp) w celu nagrywania dem bez uciążliwej synchronizacji, najlepiej 40 lub ewentualnie 60. Nagrywanie autorecord przy sv_fps 20 spowoduje, że demo będzie ciąć. Wartość 40 usunie ten problem. Jednak większe wartości niż 40 spowodują że w czasie odtwarzania dema będą zanikać dźwięki, co będzie równie uciążliwe co tnące demo przy sv_fps 20. Zwiększanie sv_fps powoduje również zwiększenie wielkości pliku dema. Maxpackets, snaps, rate to komendy połączenia - więcej o nich doczytamy w artykule Więcej O Komendach Połączenia w dziale Artykuły. Część III - Bindy
bind e "+forward" bind d "+back" bind s "+moveleft" bind f "+moveright" bind g "weapnext" bind c "weapon 1" // gauntlet bind z "weapon 5" // rocket launcher bind 4 "weapon 3" // shotgun bind r "weapon 6" // lightning gun bind w "weapon 7" // railgun bind v "weapon 8" // plasma gun bind a "weapon 2" // machine gun bind t "weapon 4" // grenade launcher bind alt "+speed" bind m "+button2" // use bind q "+wstats" bind space "+zoom" bind shift "+movedown" bind MOUSE1 "+attack" bind MOUSE2 "+moveup" bind TAB "+scores" bind F1 "vote yes" bind F2 "vote no" bind F3 "exec osp; echo Osp file executed" bind F4 "exec q3_rozz; echo ^2Main ^2Configuration ^2File ^2executed" bind F8 "messagemode2" bind F9 "screenshot" bind F11 "autorecord" bind F12 "stoprecord" bind i "team s" bind u "team p" bind p "ready" bind j "com_maxfps 72; echo 72;" bind \ "kill"To najważniejsza część określająca działania przypisane klawiaturze, zwane bindami. Struktura bindu jest bardzo prosta: bind klawisz "[komenda] [wartość]" . Zamiast [klawisz] należy wstawić kod klawisza, czyli po prostu jego nazwę. Zasadniczo istnieją trzy stosowane style poruszania się:
Zaleca się stosowanie stylu pierwszego, jako najbardziej uznanego na świecie. Styl drugi jest w zasadzie moim pomysłem, ale zachęcam również do jego wypróbowania. Komendy dynamiczne, czyli ruchu wymagają postawienia przed nimi znaku + . Przy pomocy średnika ; można łączyć kilka komend w jeden bind, wskutek czego powstaje bind kombinowany. Możliwości tworzenia i wykorzystania tego rodzaju bindu zależą już tylko od wyobraźni autora. Jako przykład podaję echo . W powyższym zestawieniu +wstats, autorecord i ready to komendy osp - nie działają w baseq3. Do skradania zaleca się używać +speed zamiast +movedown - szybkość +speed tp 160ups, podczas gdy szybkość +movedown (czołgania się) to 80ups, czyli o połowę wolniej, a kroków nie słychać w obu przypadkach. Odpowiedź na pytanie o co chodzi w linii com_maxfps 72; echo 72 dowiemy się w artykule Trickjumping Stosowany, w dziale Artykuły. kill służy do popełniania samobójstwa - pomocne zwłaszcza na mapach otwartych (dm17), kiedy bardziej opłaca się wcisnąć kill niż czekać aż się spadnie na sam dół. Część IV - Teksty
bind 1 "say Zawsze bedziesz loserem.; +button3; wait; -button3" bind 2 "say Janek Wisniewski padl.; +button3; wait; -button3" bind 3 "say Takie fragi do niczego nie prowadza.; +button3; wait; -button3" bind 4 "say Nie wierzysz, nie?" bind 5 "say Grasz na Bring It On?" bind 6 "say Masz w ogole fire zbindowany?" bind 7 "say_team ^3QUAD ZA ^120 ^3SEK!!!" bind 8 "say_team ^3RA ZA 25 SEK."To wiadomości jakie można wysłać wszystkim graczom po naciśnięciu zbindowanego klawisza. Najczęściej są to ofensywne teksty, mające za zadanie dodatkowo zdenerwować gracza po sfragowaniu, ale w grach drużynowych binduje się też teksty informacyjne, np. o ilości healtha, armora. Używa się wtedy say_team zamiast say , żeby wysłana wiadomość była widoczna jedynie dla członków drużyny. Do wysyłanych wiadomości można doczepić automatyczny gesture/taunt, czyli animację zwycięstwa, unikalną dla każdego modelu, wystarczy dopisać do bindu komendę +button3 , tak jak wyżej w trzech pierwszych bindach, jednak należy pamiętać o jej zdjęciu (jak w przypadku każdej komendy poprzedzonej plusem), jeśli chcemy uniknąć pętli tauntu. Część V - Ustawienia
seta sensitivity "3" //logitech 8 seta cl_mouseAccel "0.1" //logitech low seta color1 "4" seta color2 "4" seta cg_fov "115" seta cg_bobroll "0" seta cg_bobup "0" seta cg_bobpitch "0" seta cg_deferplayers "1" seta cg_draw2d "1" seta cg_drawfriend "0" seta cg_drawgun "0" seta cg_drawAmmoWarning "1" seta cg_drawtimer "1" seta cg_drawfps "1" seta cg_drawcrosshair "4" seta cg_drawattacker "1" seta cg_drawcrosshairnames "1" seta cg_draw3dicons "0" seta cg_drawteamoverlay "1" seta cg_forcemodel "0" seta cg_railTrailTime "200" seta cg_truelightning "1" seta cg_autoswitch "0" seta cg_lagometer "1" seta cg_simpleItems "0" seta cg_gibs "0" seta cg_marks "1" seta cg_shadows "1" seta cg_brasstime "1" seta cg_oldrail "1" seta cg_oldplasma "1" seta cg_oldrocket "1" seta cl_run "1" seta g_forcerespawn "10" seta g_log "games.log" seta g_dowarmup "1" seta g_warmup "0" seta m_pitch "-0.022" seta r_lodbias "0" seta r_subdivisions "4" seta r_finish "1" seta r_mode "4" seta r_overbrightbits "1" seta r_mapoverbrightbits "2" seta r_gamma "1.5" seta r_fullscreen "1" seta r_vertexlight "0" seta r_picmip "1" seta com_blood "1" seta com_maxfps "126" seta s_musicvolume "0" seta s_volume "0.9" seta g_spVideos "\tier8\1\tier1\1\tier2\1\tier3\1\tier4\1\tier5\1\tier6 \1\tier7\1\" seta bot_enable "1" seta bot_nochat "0" seta scr_conspeed "5"Druga po bindach najważniejsza część, przechowująca wszystkie nasze indywidualne ustawienia. Można ich wpisać w config sporo, ale najważniejszych dla efektywności gry jest kilka opisanych niżej. Jednym z najważniejszych wyznaczników efektywnej gry jest odpowiednia czułość myszki. Zaleca się niski sensitivity oraz używanie akceleracji, czyli przyspieszenia obrotu po wykonaniu szybkiego ruchu. Niska czułość jest efektywniejsza przy broniach szybkosztrzelnych oraz railu, a ponieważ utrudnia szybki obrót stosuje się akcelerację cl_mouseaccel . Dobranie właściwych wielkości jest jednak trudne i wymaga długiego testowania. Niektóre myszy, np. Logitechi kumulują własną czułość i akcelerację wraz z określoną w grze, więc trzeba na to zwrócić uwagę, bo jeśli zagramy na wyjeździe, to w windowsie może być ustawiona inna czułość myszki i będzie się grało inaczej. Trzy komendy zawierające w nazwie 'bob' pozwalają wyłączyć minimalny efekt kołysania się modelu na boki. Ważną komendą jest cg_fov , czyli field of view. Określa ona zasięg pola widzenia gracza. Domyślnie wynosi 90 stopni, ale zaleca się jej zwiększenie o kilkanaście stopni. Powoduje to, że widzi się więcej po bokach, co zmniejsza szansę powodzenia ataku z zaskoczenia oraz daje złudzenie szybszego poruszania się. Jedyną wadą jest to, że przedmioty, które są bliżej, są widziane dalej. cg_drawgun 0 wyłącza broń gracza, renderowaną na ekranie, która tylko przeszkadza. Jest to bardzo popularna opcja, także podnosząca fps. Komendy wpływające na fps są oznaczone komentarzem i szerzej omówione w artykule Tutorial Fps. Kolejną ważną opcją jest cg_drawtimer 1 . Armor pojawia się co 25 sekund, a mając wyświetlony czas na ekranie i odrobinę wprawy można z góry przewidywać, kiedy pojawi się następny. Oprócz tego wiadomo ile pozostało do zakończenia rozgrywki. Ciekawą opcją jest cg_railtrailtime , która kontroluje czas renderowania wystrzelonego promienia raila na ekranie. Nie ma ona bezpośredniego znaczenia dla gry, ale ja osobiście preferuję krótki promień, choć są gracze grający na długim. Domyślny czas to 300ms. cg_lagometer 1 wyświetla w prawym dolnym rogu wykres pingu, jeśli jesteśmy klientem. Szczegółowe omówienie tego wykresu znajduje się w Artykułach. Wartość m_pitch ze znakiem ujemnym powoduje efekt invert mouse. Opcja ta również nie ma znaczenia dla gry, jest to po prostu kwestia przyzwyczajenia. Używają jej m.in. ck.fatal1ty oraz Mr.Elusive z ekipy koderów gry. Komenda scr_conspeed określa szybkość zjeżdżania i chowania się konsoli - im większa wartość tym szybciej. cg_truelightning można włączyć tylko w PR 1.29 i wyższych. Część VI - Serwery
seta server1 "212.244.241.81:27960" //alt seta server2 "213.25.129.253:27960" //666 1 seta server3 "213.25.129.253:27961" //666 2 seta server4 "212.76.32.50:27960" //acity dm seta server5 "212.76.32.50:27961" //acity 1v1 seta server6 "212.75.96.80:27961" //atmosfera seta server7 "217.113.224.7:27962" //toya ra3 seta server8 "217.153.33.33:20000" //kubus1 seta server9 "212.126.18.218:27960" //MiB ctf seta server10 "212.126.18.218:27961" //MiB tdmCzęść ta określa serwery, które będą widoczne w zakładce Favorites w przeglądarce serwerów, o ile są aktywne. Będąc na serwerze można dodać serwer do ulubionych przez naciśnięcie esc, wybranie Server Info i Add To Favorites, ale zrobienie tego w configu jest bardziej profesjonalne. Część VII - Skrypty
Ciekawym narzędziem do ułatwiania obsługi gry są skrypty. Ich pisanie i stosowanie wymaga jedynie niewielkiej wprawy. Na przykład: set rjump "centerview; cl_pitchspeed 9999000; +lookdown; +attack; +moveup; wait 3; -lookdown; -attack; -moveup; wait 6; centerview; cl_pitchspeed 0" bind x "vstr rjump"Skrypt wykorzystuje łańcuch vstr zdefiniowany wcześniej poleceniem set obejmującym dowolną liczbę komend, oddzielonych średnikiem. Z tego powodu możliwości tworzenia skryptów są bez mała nieograniczone i zależą od wyobraźni autora. Powyższy rocket-jump może być przez niektórych uznany za cheat, więc podkreślam, że ponieważ jest to zwykły ciąg komend na pewno nie jest on cheatem i będzie z powodzeniem działał nawet na Pure Serverze. Natomiast czy taki rocket-jump będzie uznany za wynalazek o charakterze lamerskim - to już kwestia indywidualnej interpretacji. Inne przykładowe skrypty: Rail Rainbow Każdy strzał ma inny kolor: set rail0 "color1 0; set rrail vstr rail1" set rail1 "color1 1; set rrail vstr rail2" set rail2 "color1 2; set rrail vstr rail3" set rail3 "color1 3; set rrail vstr rail4" set rail4 "color1 4; set rrail vstr rail5" set rail5 "color1 5; set rrail vstr rail6" set rail6 "color1 6; set rrail vstr rail0" vstr rail0 set rrail vstr rail0 bind x "weapon 7; vstr rrail" Clean Screenshot Pozwala na zrobienie screenshota samego tylko środowiska, bez HUD'a i innych śmieci. Jeśli gramy z opcją cg_drawgun 1 , to należy wcześniej wyłączyć renderowanie broni poprzez wpisanie cg_drawgun 0 lub dopisanie do poniższego skryptu. Skrypt ten wykorzystuje funkcję toggle . set scr "cg_draw2d 0; wait 10; screenshot; toggle cg_draw2d" bind shift vstr scr Quick Demo Pozwala nagrywać szybko demo bez wpisywania g_syncronousclients 1 (w osp stosujemy autorecord): bind F11 "g_synchronousclients 1; record mydemo" bind F12 "stoprecord; g_synchronousclients 0" Demo Forward & Slowmotion Pozwala zwalniać, przewijać demo do przodu oraz zatrzymywać: set demfastf "timescale 1.8; bind rightarrow vstr demsuperff" set demsuperff "timescale 3; bind rightarrow vstr demfastf" set demslowmo "timescale 0.25; bind rightarrow vstr demfastf" set dempause "timescale 0.1; bind rightarrow vstr demfastf" set demnormal "timescale 1; bind rightarrow vstr demfastf" timescale "1" bind rightarrow "vstr demfastf" bind uparrow "vstr demnormal" bind downarrow "vstr dempause" bind leftarrow "vstr demslowmo" Rotacja map set g_gametype 0 set m1 "fraglimit 20; timelimit 10; map q3dm1; set nextmap vstr m2" set m2 "fraglimit 20; timelimit 10; map q3dm2; set nextmap vstr m3" set m3 "fraglimit 20; timelimit 10; map q3dm3; set nextmap vstr m4" set m4 "fraglimit 20; timelimit 10; map q3tourney1; set nextmap vstr m5" set m5 "fraglimit 20; timelimit 10; map q3dm4; set nextmap vstr m6" set m6 "fraglimit 20; timelimit 10; map q3dm5; set nextmap vstr m7" set m7 "fraglimit 20; timelimit 10; map q3dm6; set nextmap vstr m8" set m8 "fraglimit 20; timelimit 10; map q3tourney2; set nextmap vstr m9" set m9 "fraglimit 20; timelimit 10; map q3dm7; set nextmap vstr m10" set m10 "fraglimit 20; timelimit 10; map q3dm8; set nextmap vstr m11" set m11 "fraglimit 20; timelimit 10; map q3dm9; set nextmap vstr m12" set m12 "fraglimit 20; timelimit 10; map q3tourney3; set nextmap vstr m13" set m13 "fraglimit 20; timelimit 10; map q3dm10; set nextmap vstr m14" set m14 "fraglimit 10; timelimit 10; map q3dm11; set nextmap vstr m15" set m15 "fraglimit 10; timelimit 10; map q3dm12; set nextmap vstr m16" set m16 "fraglimit 20; timelimit 10; map q3tourney4; set nextmap vstr m17" set m17 "fraglimit 20; timelimit 10; map q3dm13; set nextmap vstr m18" set m18 "fraglimit 20; timelimit 10; map q3dm14; set nextmap vstr m19" set m19 "fraglimit 20; timelimit 10; map q3dm15; set nextmap vstr m20" set m20 "fraglimit 20; timelimit 10; map q3tourney5; set nextmap vstr m21" set m21 "fraglimit 20; timelimit 10; map q3dm16; set nextmap vstr m22" set m22 "fraglimit 20; timelimit 10; map q3dm17; set nextmap vstr m1" bind f12 "vstr m1" Jeżeli ktoś ma ochotę przejrzeć cały mój config, a polecam jeśli ktoś zabiera się do jego napisania, to może go pobrać klikając na ikonkę: - Mój config Żeby zobaczyć jak wygląda config gracza uznawanego za najlepszego na świecie, kliknij tu: - Config Fatality'ego . Config jest narzędziem niezwykle pomocnym i wielu zawodowych graczy nie wyobraża sobie bez niego gry. Jego napisanie jest pierwszym krokiem do przejścia na wyższy poziom wtajemniczenia, czyli np. na osp... Tekst, PHP, HTML: (c) 2000-2003 Rozz Grafika: (c) 2002 Master Wszystkie prawa zastrzeżone. Żadna część tej strony nie może być kopiowana w całości lub w częściach i publikowana elektronicznie bez zgody autorów. |
# Config - wstęp # Cz.I - GUI # Cz.II - Serwer # Cz.III - Bindy # Cz.IV - Teksty # Cz.V - Ustawienia # Cz.VI - Serwery # Cz.VII - Skrypty
|