Difference between revisions of "Scripting/pl"
m (translated some sections) |
m |
||
(15 intermediate revisions by 8 users not shown) | |||
Line 1: | Line 1: | ||
− | {{trans}} | + | {{update trans}} |
− | {{DISPLAYTITLE: Skryptowanie}} | + | {{DISPLAYTITLE:Skryptowanie}} |
− | |||
− | + | '''Skryptowanie''' jest użyciem plików konfiguracyjnych do tworzenia nowych bindów oraz aliasów do tworzenia złożonych operacji oraz sekwencji konsolowych komend. W odróżnieniu od [[Hacking/pl|oszukiwania]], skryptowanie jest wbudowane w Team Fortress 2 i nie jest banowane przez VAC ([[Valve Anti-Cheat/pl]]). Zastosowania skryptów różnią się od zwykłego bindowania klawisza pętlami samo-referencyjnymi oraz zagnieżdżaniem aliasów, które zamieniają się nawzajem. Każda funkcjonalność, która może być stworzona przez skryptowanie, może być też stworzona bez niego, lecz skrypty dopuszczają je do użycia ich podczas żaru bitwy. | |
− | |||
− | |||
− | |||
− | |||
==Podstawowe pliki skryptowania== | ==Podstawowe pliki skryptowania== | ||
Team Fortress 2 automatycznie czyta kilka plików gry i odtwarza bindy i aliasy w środku. Oto lista tych plików: | Team Fortress 2 automatycznie czyta kilka plików gry i odtwarza bindy i aliasy w środku. Oto lista tych plików: | ||
− | *config.cfg - Jest to domyślny plik konfiguracyjny, który | + | *config.cfg - Jest to domyślny plik konfiguracyjny, który zmiena się kiedykolwiek gracz edytuje przypisania klawiszy lub opcje grafiki. Nawet jeżeli edytowanie tego pliku jest dosyć bezpieczne, najlepiej zostawić go w spokoju. |
*autoexec.cfg - Jest to domyślny plik konfiguracyjny używany do odtwarzania niestandardowych bindów i aliasów. Gracz może tu wpisać swoje bindy do tego pliku jednak często jest tak, że łatwiej jest stworzyć osobny plik .cfg do pozostałych skryptów, które poźniej można odtworzyć w tym pliku. | *autoexec.cfg - Jest to domyślny plik konfiguracyjny używany do odtwarzania niestandardowych bindów i aliasów. Gracz może tu wpisać swoje bindy do tego pliku jednak często jest tak, że łatwiej jest stworzyć osobny plik .cfg do pozostałych skryptów, które poźniej można odtworzyć w tym pliku. | ||
Line 29: | Line 24: | ||
:*bind - Używany do przypisania komendy do jakiegoś przycisku | :*bind - Używany do przypisania komendy do jakiegoś przycisku | ||
− | :*alias - | + | :*alias - Używany do wykonywania komend gdy, alias jest wykonywany. |
:*exec - Używany do odtworzenia komend automatycznie po załadowaniu pliku konfiguracyjnego. | :*exec - Używany do odtworzenia komend automatycznie po załadowaniu pliku konfiguracyjnego. | ||
Line 36: | Line 31: | ||
:*<argument2> może być komendą przypisywaną do przycisku lub komendy odtwarzane przez alias. | :*<argument2> może być komendą przypisywaną do przycisku lub komendy odtwarzane przez alias. | ||
− | *Aby uruchomić parę komend jednocześnie, musimy postawić cały argument w cudzysłowach oraz oddzielić komendy | + | *Aby uruchomić parę komend jednocześnie, musimy postawić cały argument w cudzysłowach oraz oddzielić komendy średnikiem: |
:alias "walnaslepo" "+attack; wait 500; -attack" | :alias "walnaslepo" "+attack; wait 500; -attack" | ||
Line 44: | Line 39: | ||
*To enclose something in quotes that already has quotes in it, you have to ''escape'' the internal quotes by using two consecutive quotes ("") in place of each one. | *To enclose something in quotes that already has quotes in it, you have to ''escape'' the internal quotes by using two consecutive quotes ("") in place of each one. | ||
:'''alias "saysomestuff" "say ""Some Stuff..."""''' | :'''alias "saysomestuff" "say ""Some Stuff..."""''' | ||
− | :* | + | :*Kiedy wpiszesz '''saysomestuff''' w konsoli, napiszesz na czacie "Some Stuff...". Bez wewnętrznych cudzysłowów, Na czacie pokaże się tylko "Some". |
==Przypisywanie klawiszy== | ==Przypisywanie klawiszy== | ||
Line 118: | Line 113: | ||
==Incrementvar== | ==Incrementvar== | ||
− | + | Ta komenda pozwala na stopniowe zwiększanie argumentu w ustalonym przedziale. Składnia wygląda następująco: | |
:'''command "<argument1>" "incrementvar <argument2> X Y Z"''' | :'''command "<argument1>" "incrementvar <argument2> X Y Z"''' | ||
− | :*X | + | :*Za pomocą X oraz Y ustalamy minimalną i maksymalną wartość <argument2>. |
− | :*Z | + | :*Z oznacza wartość, o jaką zwiększamy <argument2>. |
− | + | Jeśli chcesz zmieniać wartość w przedziale od 1 do 10 zwiększając wartość o 2 za każdym uruchomieniem komendy, powinieneś oznaczyć X Y Z jako 1 10 2. Każdorazowe uruchomienie komendy będzie wtedy ustalało dla argumentu wartości 2, 4, 6, 8, 10, 2, 4, 6, 8, 10... i tak bez końca. | |
− | + | Oto przykład zastosowania incrementvar w grze: | |
:'''bind "n" "incrementvar net_graphpos 1 3 1"''' | :'''bind "n" "incrementvar net_graphpos 1 3 1"''' | ||
− | + | Wywołanie tej komendy sprawi, że będziesz mógł swobodnie przełączać się klawiszem "n" pomiędzy wszystkimi trzema wartościami funkcji net_graphpos. | |
==Komendy + i -== | ==Komendy + i -== | ||
Line 156: | Line 151: | ||
Alias jest zmienną która przechowuje serie komend które mogą być odtworzone jako grupa. Prosty alias będzie wyglądać tak: | Alias jest zmienną która przechowuje serie komend które mogą być odtworzone jako grupa. Prosty alias będzie wyglądać tak: | ||
− | '''alias "nazwaAliasu" "komenda1; | + | '''alias "nazwaAliasu" "komenda1; komenda2; komenda3"''' |
Oznacza to że można odtwarzać komendy poprzez przypisany klawisz: | Oznacza to że można odtwarzać komendy poprzez przypisany klawisz: | ||
Line 179: | Line 174: | ||
*Trzecia linia definiuje alias "imie1" jako 2 komendy. | *Trzecia linia definiuje alias "imie1" jako 2 komendy. | ||
:*Pierwsza komenda ustawia twoje imię jako The first command sets your in-game name to "ImieK1" | :*Pierwsza komenda ustawia twoje imię jako The first command sets your in-game name to "ImieK1" | ||
− | :*Druga komenda redefiniuje alias "namescroll" jako alias do odtworzenia aliasu ImieK2 | + | :*Druga komenda redefiniuje alias "namescroll" jako alias do odtworzenia aliasu ImieK2 |
*Czwarta linia definiuje "imie2" tym samym sposobem. Inne (tym razem drugie) imię jest używane w grze, co redefiniuje "namescroll" do jako następny alias "imieK3" | *Czwarta linia definiuje "imie2" tym samym sposobem. Inne (tym razem drugie) imię jest używane w grze, co redefiniuje "namescroll" do jako następny alias "imieK3" | ||
− | * | + | *Piąta linia definiuje "imieK3" tak jak dwie przed nią. redefiniuje alias "namescroll" tak, aby wykonywał alias "firstname". |
− | + | To kompletuje pętlę. Każde naciśnięcie klawisza wykonuje komende i zmienia alias zbindowany do klawisza tak, aby kiedy jest wciśnięty wykonywał inną komendę. Gdyby nie było pętli alias "namescroll" nie wykonywałby innej komendy po ponownym wciśnięciu. | |
===Pętle aliasów=== | ===Pętle aliasów=== | ||
− | Aliasy w połączeniu z komendą | + | Aliasy w połączeniu z komendą Wait mogą stworzyć zapętlające się aliasy, które się powtarzają.<br> |
Line 196: | Line 191: | ||
Linijka 1<br> | Linijka 1<br> | ||
Echo wyświetla komendę w konsoli, na wypadek gdybyś nie wiedział co echo robi.<br> | Echo wyświetla komendę w konsoli, na wypadek gdybyś nie wiedział co echo robi.<br> | ||
− | Komenda wait zmusza skrypt to odczekania 150 klatek przed następną akcją | + | Komenda wait zmusza skrypt to odczekania 150 klatek przed następną akcją<br> |
− | Pętla uruchamia alias ponownie, startując na komendzie | + | Pętla uruchamia alias ponownie, startując na komendzie echo.<br> |
<br> | <br> | ||
Line 2<br> | Line 2<br> | ||
− | Loop rozpoczyna nasz alias.<br> | + | "Loop" rozpoczyna nasz alias.<br> |
− | + | Możesz też tworzyć pętle komend aliasów:<br> | |
'''alias "Loop1" "echo Loop 1;wait 150;Loop2"'''<br> | '''alias "Loop1" "echo Loop 1;wait 150;Loop2"'''<br> | ||
'''alias "Loop2" "echo Loop 2;wait 150;Loop1"'''<br> | '''alias "Loop2" "echo Loop 2;wait 150;Loop1"'''<br> | ||
− | Loop1 | + | Loop1 wywołuje Loop2 który w efekcie wywołuje Loop1, etc...<br> |
− | + | Ta metoda może zostać również użyta do zatrzymania pętli bez czyszczenia aliasu pętli:<br> | |
'''alias "Loop1" "echo Loop1;wait 150;Loop2"'''<br> | '''alias "Loop1" "echo Loop1;wait 150;Loop2"'''<br> | ||
'''alias "Loop2" "Loop1"'''<br> | '''alias "Loop2" "Loop1"'''<br> | ||
− | + | To by stworzyło pętlę, potem<br> | |
'''alias "Loop2"'''<br> | '''alias "Loop2"'''<br> | ||
− | + | to by ją zniszczyło, poprzez wyczyszczenie aliasu Loop2.<br> | |
− | + | Możesz tego użyć aby aktywować pętle przez wciśnięcie i przytrzymanie przycisku(poprzez prefixy +/- opisane wcześniej) w ten sposób:<br> | |
'''alias "Loop2" "Loop1"'''<br> | '''alias "Loop2" "Loop1"'''<br> | ||
'''alias "Loop1" "echo Loop1;wait 150;Loop2"'''<br> | '''alias "Loop1" "echo Loop1;wait 150;Loop2"'''<br> | ||
Line 220: | Line 215: | ||
'''alias "-Loop" "alias Loop2"'''<br> | '''alias "-Loop" "alias Loop2"'''<br> | ||
'''bind "<Key>" "+Loop"'''<br> | '''bind "<Key>" "+Loop"'''<br> | ||
− | + | Kolejność w której wszystko się dzieje:<br> | |
− | + | Loop2 wskazuje Loop1<br> | |
− | + | Powodowanie, aby Loop1 napisał w konsoli 'Loop1', wait 150, i wezwanie Loop2<br> | |
− | + | Powodowanie, aby +Loop wskazywał na Loop2 żeby ten wywołał Loop1 i włączył Loop2<br> | |
− | + | -Loop czyści Loop2, niszcząc pętlę<br> | |
== Użyteczne komendy skryptów == | == Użyteczne komendy skryptów == | ||
Line 239: | Line 234: | ||
<numer_menu> jest jednym z trzech menu w których są komendy głosowe, <numer_komendy> jest jedną z siedmiu z nich w jednym z trzech menu. | <numer_menu> jest jednym z trzech menu w których są komendy głosowe, <numer_komendy> jest jedną z siedmiu z nich w jednym z trzech menu. | ||
− | ==== | + | ====Argumenty komend głosowych==== |
*0 <numer_komendy> | *0 <numer_komendy> | ||
Line 275: | Line 270: | ||
Komendy przebrań używamy w taki sposób: | Komendy przebrań używamy w taki sposób: | ||
− | '''disguise < | + | '''disguise <numer_klasy> <numer_drużyny>''' |
− | < | + | <numer_klasy> jest numerem klasy za którą chcesz się przebrać, a <numer_drużyny> jest numerem drużyny za którą chcesz się przebrać. |
====Argumenty przebrań Szpiega==== | ====Argumenty przebrań Szpiega==== | ||
− | *1 < | + | *1 <numer_klasy> |
*:1: Skaut | *:1: Skaut | ||
*:2: Snajper | *:2: Snajper | ||
Line 292: | Line 287: | ||
*:9: Inżynier | *:9: Inżynier | ||
− | *2 < | + | *2 <numer_drużyny> |
*:1: Drużyna BLU | *:1: Drużyna BLU | ||
*:2: Drużyna RED | *:2: Drużyna RED | ||
Line 300: | Line 295: | ||
===Szybkie budowanie Inżyniera=== | ===Szybkie budowanie Inżyniera=== | ||
− | + | Podobne do szybkiego przebierania się dla [[Szpieg]]a, pozwala to [[Inżynier]]owi na ominięcie interfejsu [[PDA]] i natychmiastowe zniszczenie istniejącej konstrukcji potem natychmiastowego wyjęcia projektu służącego do postawienia budowli tego samego typu. | |
− | + | Komendy budowania/niszczenia wyglądają następująco: | |
− | '''build < | + | '''build <numer_konstrukcji><br> |
− | '''destroy < | + | '''destroy <numer_konstrukcji> |
− | + | Gdzie <numer_konstrukcji> powinna się znajdować liczba budowli którą chciałbyś zniszczyć albo zbudować. | |
====Argumenty szybkiego budowania==== | ====Argumenty szybkiego budowania==== | ||
− | * | + | *Numery: Budowanie/Niszczenie |
*:0: Zasobnik | *:0: Zasobnik | ||
*:1: Wejście do teleportu | *:1: Wejście do teleportu | ||
Line 316: | Line 311: | ||
*:3: Wyjście z teleportu | *:3: Wyjście z teleportu | ||
− | + | Przykład zaimplementowania: | |
<pre> | <pre> | ||
Line 329: | Line 324: | ||
</pre> | </pre> | ||
− | + | w tym przykładzie konstrukcje są zbindowane do klawiszy F1-F4, tak aby nie przeszkadzały w zmienianiu broni. Gdy aktywujemy, skrypt natychmiastowo i nieodwracalnie zniszczy istniejącą budowlę danego typu. następnie [[Inżynier]] wyciągnie plany budowli tego samego typu, gotowe do postawienia. Skrypt będzie nadal funkcjonował jeżeli tylko jeden albo dwa typy budowli są w użyciu (W przypadku gdybyś chciał zbindować tylko jeden przycisk do postawienia działka). | |
===Automatyczne wezwanie Medyka=== | ===Automatyczne wezwanie Medyka=== | ||
− | + | Medyk może kontrolować procent zdrowia na którym jego towarzysze wzywają medyka poprzez przyciski. Zmienia się to za pomocą komendy: | |
− | '''hud_medicautocallersthreshold < | + | '''hud_medicautocallersthreshold <procent> |
− | + | Procent oznacza poniżej ilu procent punktów zdrowia postać wzywa medyka. Ustawienie komendy na 0 nie będzie pokazywać nic, za to 150 będzie pokazywać wszystkich pobliskich członków drużyny (ponieważ 150% jest najwyższym poziomem zdrowia). | |
− | + | Przy użyciu tej komendy można stworzyć ostatnio popularny skrypt "Radar Medyka": | |
− | + | Ten skrypt zwiększa autocall (automatyczne wzywanie medyka) do 150% (maksymalnie nadleczony gracz) na czas trzymania przypisanego przycisku pozwalając na zorientowanie się gdzie znajdują się pozostali członkowie drużyny. Jest to możliwe dzięki krzyżom pojawiającymi się nad graczami poniżej procentu autocall, które są widzialne nawet przez ściany. | |
'''alias "autocall_default" "hud_medicautocallersthreshold "75""<br> | '''alias "autocall_default" "hud_medicautocallersthreshold "75""<br> | ||
Line 347: | Line 342: | ||
'''bind mouse3 "+radar"<br> | '''bind mouse3 "+radar"<br> | ||
− | + | Domyślny procent autocall ustawiany kiedy skrypt nie jest w użyciu (75) może być zmieniona na jakąkolwiek inną liczbę, przypisany przycisk również może być zmieniony według własnych upodobań (w tym przypadku jest to mouse3). | |
==Skrypty warte uwagi== | ==Skrypty warte uwagi== | ||
− | Istnieje parę skryptów wpływających na rozgrywkę, niektóre z nich zostały naprawione | + | Istnieje parę skryptów wpływających na rozgrywkę, niektóre z nich zostały naprawione, pozostałe ciągle działają. |
===Naprawione skrypty=== | ===Naprawione skrypty=== | ||
====Skrypty pistoletu==== | ====Skrypty pistoletu==== | ||
− | + | Z początku, [[Pistol/pl|Pistolet]] mógł strzelać z prędkością jaka była klikana myszka. Z tą wiedzą, niektórzy gracze stworzyli skrypty które opróżniały magazynek pistoletu najszybciej jak to możliwe. To jednak nie wszystko, nie dość że [[Scout/pl|Skaut]] i [[Engineer/pl|Inżynier]] mogli strzelać szybciej niż pozostałe klasy, ułatwiało to celowanie, ponieważ nie trzeba było ciągle wciskać lewego przycisku myszy. | |
− | |||
− | |||
− | |||
− | |||
− | + | Valve naprawiło pistolet zmniejszając maksymalną szybkostrzelność, która jest osiągalna przez przytrzymanie przycisku z przypisaną komendą attack. Skrypty opisane powyżej nie były już potrzebne. | |
− | + | ====Skrypty na skręcanie podczas szarży==== | |
− | Valve | + | Z początku, komendy na klawiaturze które zmieniały kierunek patrzenia były inne niż te sterowane myszą. [[Chargin' Targe/pl|Tarcza Szarży]] była pierwszą bronią, która wprowadziła ograniczenie ruchu myszy. Valve ustawiło ograniczenie na komendy dotyczące myszy, jednak zapomniało o komendach na klawiaturze, które robiły to samo co mysz bez ograniczenia. |
− | + | Niektórzy gracze stworzyli skrypty które zmieniały komendy zmiany kierunku podczas szarży pozwalając na skręcanie bez ograniczeń. Najbardziej wymyślnymi skryptami były te, które zmieniały ruch na osi X podczas szarży, po czym wracały do domyślnych ustawień po końcu szarży. | |
− | + | Valve w końcu nałożyło restrykcję na komendy klawiszowe tak samo jak w przypadku komend myszy, nie dając już przewagi delikwentom którzy używali takich skryptów. | |
− | + | Możliwe jest jednak napisanie skryptu który zmienia czułość myszy na niewyobrażalnie wysoką podczas szarży, po szarży następuje zmiana na domyślne ustawienia. Można też spróbować użyć pada, jako iż skręcanie krążkiem analogowym w szarży jest bardzo łatwe. | |
− | + | ====Skrypt kucania w powietrzu==== | |
− | + | Z początku, gracz mógł kucać w powietrzu nieograniczoną ilość razy. Po aktywowaniu takich skryptów, silnik gry miał problemy z zarejestrowaniem trafień na skaczących celach. | |
− | + | Valve naprawiło ten błąd przez ograniczenie maksymalnej ilości kucnięć w powietrzu do 2. | |
− | + | ===Działające skrypty=== | |
− | ==== | + | ====Skrypty na chowanie broni==== |
− | + | Istnieje wiele skryptów umożliwiających schowanie modelu broni w zależności od slotu. Niektórzy gracze chowają modele broni w celu osiągnięcia większego pola widzenia, często jednak modele broni białych, PDA, zegarków niewidzialności są pozostawiane jako widzialne jako iż zawierają one przydatne informacje. Na przykład: Szpieg polega na modelu rękawów szpiega aby określić czy jest on widzialny czy nie, lub kiedy Dzwon Zmarłego został włączony. Pozostałe klasy używają animacji broni białych aby określić kiedy ich broń uderzy. | |
− | + | ====Skrypty skoków na działku strażniczym==== | |
− | + | Od aktualizacji [[Engineer/pl|Inżyniera]] możliwe było przenoszenie swoich budowli. W tym samym czasie używając [[Wrangler/pl|Poskramiacza]], inżynier mógł podskoczyć na rakietach ze swego działka strażniczego. Używając BARDZO szybkich skryptów, odkryto że inżynier może zabrać swoje działko i wybić zanim wybije się w powietrze. | |
− | + | Człowiek może odtworzyć takie zjawisko, jednak jest to bardzo trudne. Niektórzy gracze napisali skrypty które uruchamiają komendy w dobrej kolejności i o właściwym czasie, pozwala im na wykonanie skoku rakietowego i zabranie swojego działka za każdym razem. | |
+ | ====Skrypty Jednorękiego Bandyty==== | ||
− | + | Jako iż zniszczenie i ponowne postawienie mini-działka w środku bitwy może być trudne, niektórzy gracze stworzyli skrypty które umożliwiają zniszczenie i natychmiastowe rozstawienie nowego działka za pomocą jednego przycisku. | |
− | + | ====Skrypt ustawień klawiatury i myszy==== | |
− | + | Niektórzy gracze wolą zmieniać czułość myszy między różnymi klasami (na przykład, gdy zmieniamy z Demomana który nie potrzebuje aż tyle celowania, na Snajpera który jest zazwyczaj używany z niskimi czułościami w celu zapobiegania trzęsienia się celownika od drgań ręki). Takie skrypty zmieniają ustawienia klawiatury i myszy oddzielnie dla każdej klasy, lub nawet broni. | |
− | |||
− | ====Quickscope | + | ====Skrypty wyskoku w szarży==== |
+ | Jako iż określenie czasu w którym należy podskoczyć aby osiągnąć maksymalny dystans szarży może być trudne, powstały skrypty które wyręczają użytkownika w tej kwestii. Wystarczy szybki skrypt przypisuje 2 akcje do jednego przycisku. Oczywiście gracz musi uderzyć w odpowiednim momencie, kwestii, której skrypt nie obejmuje. | ||
+ | ====Skrypty Quickscope==== | ||
− | + | Wiele graczy ma problemy z wycelowaniem przez lunetę i szybkim oddaniem strzału w celu zadania szybkiego strzału w głowę. Powstały skrypty które wycelują za gracza po czym od razu strzelą po wciśnięciu przypisanego przycisku. Niektórym ludziom używanie takich skryptów przychodzi z trudem gdyż używanie takiego skryptu wymaga celowania poza lunetą. | |
− | == | + | ==Zobacz też== |
− | * [[List of useful console commands]] | + | * [[List of useful console commands/pl|Lista przydatnych komend konsolowych]] |
− | * [[Customizing#tf.5Ccfg.5Cconfig default.cfg|Customizing - config_default.cfg]]: | + | * [[Customizing/pl#tf.5Ccfg.5Cconfig default.cfg|Edytowanie config_default.cfg Customizing - config_default.cfg]]: Domyślne bindy wewnątrz TF2. |
− | == | + | ==Linki zewnętrzne== |
− | *[http://forums.steampowered.com/forums/showthread.php?t=709568 Steam | + | *[http://forums.steampowered.com/forums/showthread.php?t=709568 Forum Steam - Tutorial skryptowania w TF2]. {{Lang icon|en}} Mówi on o podstawach skryptowania używając wielu przydatnych przykładów |
− | *[http://warriornation.net/Forum/showthread.php?t=568008 TF2 | + | *[http://warriornation.net/Forum/showthread.php?t=568008 Tutorial skryptowania w TF2 - Warrior Nation Network]. {{Lang icon|en}} Jest to o wiele bardziej zaawansowany artykuł wymagający bezwarunkowej wiedzy o podstawach skryptowania. |
− | *[http://www.gamebanana.com/scripts/games/297 Gamebanana.com - TF2 | + | *[http://www.gamebanana.com/scripts/games/297 Gamebanana.com - skrypty TF2]. {{Lang icon|en}} Setki przykładów efektów skryptowania w TF2. |
[[Category:Customization/pl]] | [[Category:Customization/pl]] |
Latest revision as of 14:37, 8 January 2023
To tłumaczenie wymaga aktualizacji. Możesz pomóc poprawić ten artykuł, wzbogacając jego treść o informacje zawarte na stronie Scripting (tekst źródłowy). Zobacz też wskazówki dotyczące tłumaczeń. |
Skryptowanie jest użyciem plików konfiguracyjnych do tworzenia nowych bindów oraz aliasów do tworzenia złożonych operacji oraz sekwencji konsolowych komend. W odróżnieniu od oszukiwania, skryptowanie jest wbudowane w Team Fortress 2 i nie jest banowane przez VAC (Valve Anti-Cheat/pl). Zastosowania skryptów różnią się od zwykłego bindowania klawisza pętlami samo-referencyjnymi oraz zagnieżdżaniem aliasów, które zamieniają się nawzajem. Każda funkcjonalność, która może być stworzona przez skryptowanie, może być też stworzona bez niego, lecz skrypty dopuszczają je do użycia ich podczas żaru bitwy.
Spis treści
Podstawowe pliki skryptowania
Team Fortress 2 automatycznie czyta kilka plików gry i odtwarza bindy i aliasy w środku. Oto lista tych plików:
- config.cfg - Jest to domyślny plik konfiguracyjny, który zmiena się kiedykolwiek gracz edytuje przypisania klawiszy lub opcje grafiki. Nawet jeżeli edytowanie tego pliku jest dosyć bezpieczne, najlepiej zostawić go w spokoju.
- autoexec.cfg - Jest to domyślny plik konfiguracyjny używany do odtwarzania niestandardowych bindów i aliasów. Gracz może tu wpisać swoje bindy do tego pliku jednak często jest tak, że łatwiej jest stworzyć osobny plik .cfg do pozostałych skryptów, które poźniej można odtworzyć w tym pliku.
- <klasa>.cfg - Każda klasa ma plik konfiguracyjny który automatycznie odtwarza się gdy gracz zaczyna grać jedną z tych klas. Można wpisać tam swoje bindy bezpośrednio do tego pliku, jednak często jest tak, że łatwiej jest stworzyć osobny plik .cfg który później odtwarza się w tym pliku.
Składnia
Lista zasad składni:
- Żeby jakikolwiek bind czy alias działał poprawnie, musisz użyć tego formatu:
- komenda <argument1> <argument2>
- komenda jest typem skryptu którego chcesz użyć:
- bind - Używany do przypisania komendy do jakiegoś przycisku
- alias - Używany do wykonywania komend gdy, alias jest wykonywany.
- exec - Używany do odtworzenia komend automatycznie po załadowaniu pliku konfiguracyjnego.
- <argument1> może być albo przypisywanym przyciskiem lub nazwą stworzonego aliasu
- <argument2> może być komendą przypisywaną do przycisku lub komendy odtwarzane przez alias.
- Aby uruchomić parę komend jednocześnie, musimy postawić cały argument w cudzysłowach oraz oddzielić komendy średnikiem:
- alias "walnaslepo" "+attack; wait 500; -attack"
- bind "mouse3" "walnaslepo"
- Podczas odtwarzania, alias zaczyna strzelać z broni gracza, kontynuuje przez 500 fizycznych klatek (jest to 5 sekund jeżeli gracz gra na serwerze który działa na 100 FPS) po czym przestaje strzelać. Alias jest przypisany aby rozpocząć strzelanie po wciśnięciu kółka myszy.
- To enclose something in quotes that already has quotes in it, you have to escape the internal quotes by using two consecutive quotes ("") in place of each one.
- alias "saysomestuff" "say ""Some Stuff..."""
- Kiedy wpiszesz saysomestuff w konsoli, napiszesz na czacie "Some Stuff...". Bez wewnętrznych cudzysłowów, Na czacie pokaże się tylko "Some".
Przypisywanie klawiszy
Team Fortress 2 pozwala skryptom oraz aliasom do bycia przypisanym do jakiegokolwiek przycisku na klawiaturze. Przyciks który chcesz przypisać jest wpisywany po komendzie bind oraz przed akcją którą chcesz aby twój przycisk wykonywał, tak jak w sekcji u góry. Większość nazw przycisków można łatwo odgadnąć, jak litery alfabetu czy cyfry ("bind a" przypisuje "a", "bind 5" przypisuje do "5" itd. Pozostałe przyciski wymagają od użytkownika wpisania specyficznych nazw. Wiele z nich nie są łatwe do odgadnięcia. Lista takich nazw znajduje się poniżej:
Lista nazw przycisków
- Keyboard Keys: Nazwy przycisków
- Lewy Shift: SHIFT
- Lewy Control: CTRL
- Lewy Alt: ALT
- Prawy Shift: RSHIFT
- Prawy Control: RCTRL
- Prawy Alt: RALT
- Tab: TAB
- Backspace: BACKSPACE
- ---
- Insert: INS
- Scroll Lock: SCROLLLOCK
- Pause/Break: NUMLOCK
- ---
- Home: HOME
- End: END
- Delete: DEL
- Page Up: PGUP
- Page Down: PGDN
- ---
- Strzałka w górę: UPARROW
- Strzałka w dół: DOWNARROW
- Strzałka w lewo: LEFTARROW
- Strzałka w prawo: RIGHTARROW
- Przyciski klawiatury numerycznej: Nazwy przycisków
- 0: KP_INS
- 1: KP_END
- 2: KP_DOWNARROW
- 3: KP_PGDN
- 4: KP_LEFTARROW
- 5: KP_5
- 6: KP_RIGHTARROW
- 7: KP_HOME
- 8: KP_UPARROW
- 9: KP_PGUP
- Enter: KP_ENTER
- ".": KP_DEL
- "+": KP_PLUS
- "-": KP_MINUS
- "*": KP_MULTIPLY
- "/":KP_SLASH
- Kierunki kółka myszy: Nazwy przycisków
- Kółko myszy w GÓRĘ: MWHEELUP
- Kółko myszy w DÓŁ: MWHEELDOWN
Używając nazw przycisków powyżej możesz dodać ten przykładowy skrypt do jednego z plików konfiguracyjnych: <bind KP_ENTER "voicemenu 0 1"> Po wciśnięciu Enter na KLAWIATURZE NUMERYCZNEJ, gra uaktywni komendę głosową mówiącą "Dźięki!".
Podstawowe komendy
Większość komend przyjmuje tylko jeden argument, zazwyczaj cyfrę.
bind "q" "sv_alltalk 1"
Wiele przydatnych komend przyjmuje więcej niż jeden argument. Parę przykładów:
- disguise X Y - przebiera Szpiega za inną klasę. Zamiast X wpisujemy numer klasy od 1-9, a zamiast Y wpisujemy 1 lub 2, wybierając drużynę za którą chcemy się przebrać.
- voicemenu X Y - Odtwarza komendę głosową. Zamiast X wpisujemy numer menu komend dźwiękowych. Y za to jest pozycją komendy w tym menu komend głosowych.
Przykład: "voicemenu 1 1" jest komendą ostrzegającą drużynę przed Szpiegiem, więc:
bind "t" "voicemenu 1 1"
Ta komenda zmusi twoją postać do wykrzyknięcia "Szpieg!" po wciśnięciu przycisku.
Incrementvar
Ta komenda pozwala na stopniowe zwiększanie argumentu w ustalonym przedziale. Składnia wygląda następująco:
- command "<argument1>" "incrementvar <argument2> X Y Z"
- Za pomocą X oraz Y ustalamy minimalną i maksymalną wartość <argument2>.
- Z oznacza wartość, o jaką zwiększamy <argument2>.
Jeśli chcesz zmieniać wartość w przedziale od 1 do 10 zwiększając wartość o 2 za każdym uruchomieniem komendy, powinieneś oznaczyć X Y Z jako 1 10 2. Każdorazowe uruchomienie komendy będzie wtedy ustalało dla argumentu wartości 2, 4, 6, 8, 10, 2, 4, 6, 8, 10... i tak bez końca.
Oto przykład zastosowania incrementvar w grze:
- bind "n" "incrementvar net_graphpos 1 3 1"
Wywołanie tej komendy sprawi, że będziesz mógł swobodnie przełączać się klawiszem "n" pomiędzy wszystkimi trzema wartościami funkcji net_graphpos.
Komendy + i -
Komendy tego typu mają dwa stany. Po wciśnięciu przypisanego przycisku +komenda jest uruchamiana i kontynuuje. Po puszczeniu przycisku, -komenda jest uruchamiana i kontynuuje.
Przykład:
- bind "c" "+duck"
Ta +komenda jest przypisana do "c", więc kiedykolwiek ten przycisk jest użyty, gracz kuca. Jeżeli przycisk zostaje puszczony +duck zmienia się na -duck i gracz przestaje kucać.
W skrócie, jeżeli komenda lub alias jest przypisany do przycisku, + mówi grze aby utrzymywać komendę w stanie uruchomienia dopóki przycisk nie zostanie puszczony. Zato jeżeli komenda lub alias jest przypisany do przycisku, - mówi grze aby utrzymać komendę wyłączoną gdy przycisk nie jest używany.
Jeżeli alias ma + przed sobą, alias zostanie użyty kiedykolwiek ten przycisk jest wciśnięty. Komenda - zrobi odwrotnie.
Komenda wait
Jeżeli chcesz aby gra opóźniła działanie komendy przy użyciu aliasu, lub jeżeli chcesz uniknąć crashy klienta wywołanymi przez uruchamianie komend zbyt szybko, użyj komendy wait.
Wait mówi grze aby opóźniła następną komendę o jedną fizyczną klatkę. Coś w jakby pełny obrót zegara według zasad TF2. Komenda ta akceptuje liczby jak "wait 50", które mówią grze aby odczekała 50 fizycznych klatek zanim alias kontynuuje działanie. "wait 100" oznacza sekundę opóźnienia na serwerze który działa przy 100 klatkach na sekundę. Niektóre serwery zabraniają użycia komendy wait. Podczas grania na takich serwerach, komendy wait będą ignorowane wystawiając klienta używającego niektórych skryptów na crashe klienta. Skrypt używający pętli oddzielonymi komendami wait zawiesi wszystkie pętle od razu po uruchomieniu.
Aliasy
Alias jest zmienną która przechowuje serie komend które mogą być odtworzone jako grupa. Prosty alias będzie wyglądać tak:
alias "nazwaAliasu" "komenda1; komenda2; komenda3"
Oznacza to że można odtwarzać komendy poprzez przypisany klawisz:
bind "przycisk" "nazwaAliasu"
Po wciśnięciu przycisku, komenda1, komenda3, komenda3 zostaną odtworzone w porządku w jakim są wpisane.
Złożone Aliasy
Aliasy mogą odtwarzać każdą komendę z innymi aliasami włącznie. W dodatku alias może odtworzyć alias aby zmienić ustawienia komend poprzedniego aliasu. To pozwala użytkownikowi na tworzenie zmiennych aliasów, tu mamy bardzo łatwy do wykonania przykład:
bind "key" namescroll
alias namescroll "imie1"
alias imie1 "setinfo name "imieK1"; alias namescroll imie2"
alias imie2 "setinfo name "imieK2"; alias namescroll imie3"
alias imie3 "setinfo name "imieK3"; alias namescroll imie2"
Jest to trudne to przeczytania więc rozłamiemy to na parę części:
- Pierwsza linia przypisuje "przycisk" do aliasu o nazwie "namescroll", który musimy jeszcze zdefiniować.
- Druga linia tworzy alias "namescroll" który odtwarza komendę "imie1"
- Trzecia linia definiuje alias "imie1" jako 2 komendy.
- Pierwsza komenda ustawia twoje imię jako The first command sets your in-game name to "ImieK1"
- Druga komenda redefiniuje alias "namescroll" jako alias do odtworzenia aliasu ImieK2
- Czwarta linia definiuje "imie2" tym samym sposobem. Inne (tym razem drugie) imię jest używane w grze, co redefiniuje "namescroll" do jako następny alias "imieK3"
- Piąta linia definiuje "imieK3" tak jak dwie przed nią. redefiniuje alias "namescroll" tak, aby wykonywał alias "firstname".
To kompletuje pętlę. Każde naciśnięcie klawisza wykonuje komende i zmienia alias zbindowany do klawisza tak, aby kiedy jest wciśnięty wykonywał inną komendę. Gdyby nie było pętli alias "namescroll" nie wykonywałby innej komendy po ponownym wciśnięciu.
Pętle aliasów
Aliasy w połączeniu z komendą Wait mogą stworzyć zapętlające się aliasy, które się powtarzają.
Uwaga:Usunięcie komendy wait lub zablokowanie jej przez serwer w tym przypadku spowoduje crash TF2.
alias "Loop" "echo petla co 150 klatek.;wait 150;Loop"
Loop
Rozłammy ten skrypt na części:
Linijka 1
Echo wyświetla komendę w konsoli, na wypadek gdybyś nie wiedział co echo robi.
Komenda wait zmusza skrypt to odczekania 150 klatek przed następną akcją
Pętla uruchamia alias ponownie, startując na komendzie echo.
Line 2
"Loop" rozpoczyna nasz alias.
Możesz też tworzyć pętle komend aliasów:
alias "Loop1" "echo Loop 1;wait 150;Loop2"
alias "Loop2" "echo Loop 2;wait 150;Loop1"
Loop1 wywołuje Loop2 który w efekcie wywołuje Loop1, etc...
Ta metoda może zostać również użyta do zatrzymania pętli bez czyszczenia aliasu pętli:
alias "Loop1" "echo Loop1;wait 150;Loop2"
alias "Loop2" "Loop1"
To by stworzyło pętlę, potem
alias "Loop2"
to by ją zniszczyło, poprzez wyczyszczenie aliasu Loop2.
Możesz tego użyć aby aktywować pętle przez wciśnięcie i przytrzymanie przycisku(poprzez prefixy +/- opisane wcześniej) w ten sposób:
alias "Loop2" "Loop1"
alias "Loop1" "echo Loop1;wait 150;Loop2"
alias "+Loop" "alias Loop2 Loop1;Loop2"
alias "-Loop" "alias Loop2"
bind "<Key>" "+Loop"
Kolejność w której wszystko się dzieje:
Loop2 wskazuje Loop1
Powodowanie, aby Loop1 napisał w konsoli 'Loop1', wait 150, i wezwanie Loop2
Powodowanie, aby +Loop wskazywał na Loop2 żeby ten wywołał Loop1 i włączył Loop2
-Loop czyści Loop2, niszcząc pętlę
Użyteczne komendy skryptów
Istnieją dosłownie tysiące różnych argumentów dzięki którym możesz zmusić swój skrypt do zrobienia prawie wszystkiego. Oto lista paru z nich:
Komendy głosowe
Komendy głosowe rozkazują twojej postaci aby powiedzieć coś. Jest to często używane w grze jako droga przekazywania informacji (np. Potrzebny tu zasobnik!) lub po prostu dla zabawy (np. Pootis pootis pootis).
Komendy głosowe używane są poprzez ta składnię;
voicemenu <numer_menu> <numer_komendy>
<numer_menu> jest jednym z trzech menu w których są komendy głosowe, <numer_komendy> jest jedną z siedmiu z nich w jednym z trzech menu.
Argumenty komend głosowych
- 0 <numer_komendy>
- 0: Medyk
- 1: Dzięki
- 2: Dalej!
- 3: Naprzód
- 4: Idź w lewo
- 5: Idź w prawo
- 6: Tak
- 7: Nie
- 1 <numer_komendy>
- 0: Nadchodzą
- 1: Szpieg
- 2: Potrzebne działo
- 3: Potrzebny teleporter
- 4: Potrzebny zasobnik
- 5: Działko przed nami
- 6: Użyj UberCharge
- 7: (Tylko medyk) ÜberCharge gotowy
- 2 <numer_komendy>
- 0: Pomocy
- 1: Okrzyk
- 2: Zadowolenie
- 3: Niezadowolenie
- 4: Pozytywne nastawienie
- 5: Negatywne nastawienie
- 6: Dobry strzał
- 7: Dobra robota
Szybkie przebieranie Szpiega
Z tymi szybkimi i łatwymi w użyciu komendami, możesz przypisać przyciski do różnych przebrań zamiast męczyć się ze standardowym menu.
Komendy przebrań używamy w taki sposób:
disguise <numer_klasy> <numer_drużyny>
<numer_klasy> jest numerem klasy za którą chcesz się przebrać, a <numer_drużyny> jest numerem drużyny za którą chcesz się przebrać.
Argumenty przebrań Szpiega
- 1 <numer_klasy>
- 1: Skaut
- 2: Snajper
- 3: Żołnierz
- 4: Demoman
- 5: Medyk
- 6: Gruby
- 7: Pyro
- 8: Szpieg
- 9: Inżynier
- 2 <numer_drużyny>
- 1: Drużyna BLU
- 2: Drużyna RED
- -1: Przeciwna drużyna
- -2: Twoja drużyna
Szybkie budowanie Inżyniera
Podobne do szybkiego przebierania się dla Szpiega, pozwala to Inżynierowi na ominięcie interfejsu PDA i natychmiastowe zniszczenie istniejącej konstrukcji potem natychmiastowego wyjęcia projektu służącego do postawienia budowli tego samego typu.
Komendy budowania/niszczenia wyglądają następująco:
build <numer_konstrukcji>
destroy <numer_konstrukcji>
Gdzie <numer_konstrukcji> powinna się znajdować liczba budowli którą chciałbyś zniszczyć albo zbudować.
Argumenty szybkiego budowania
- Numery: Budowanie/Niszczenie
- 0: Zasobnik
- 1: Wejście do teleportu
- 2: Działko strażnicze/Mini-działko
- 3: Wyjście z teleportu
Przykład zaimplementowania:
alias sentry "destroy 2; build 2" alias dispenser "destroy 0; build 0" alias entrance "destroy 1; build 1" alias exit "destroy 3; build 3" bind f1 sentry bind f2 dispenser bind f3 entrance bind f4 exit
w tym przykładzie konstrukcje są zbindowane do klawiszy F1-F4, tak aby nie przeszkadzały w zmienianiu broni. Gdy aktywujemy, skrypt natychmiastowo i nieodwracalnie zniszczy istniejącą budowlę danego typu. następnie Inżynier wyciągnie plany budowli tego samego typu, gotowe do postawienia. Skrypt będzie nadal funkcjonował jeżeli tylko jeden albo dwa typy budowli są w użyciu (W przypadku gdybyś chciał zbindować tylko jeden przycisk do postawienia działka).
Automatyczne wezwanie Medyka
Medyk może kontrolować procent zdrowia na którym jego towarzysze wzywają medyka poprzez przyciski. Zmienia się to za pomocą komendy:
hud_medicautocallersthreshold <procent>
Procent oznacza poniżej ilu procent punktów zdrowia postać wzywa medyka. Ustawienie komendy na 0 nie będzie pokazywać nic, za to 150 będzie pokazywać wszystkich pobliskich członków drużyny (ponieważ 150% jest najwyższym poziomem zdrowia).
Przy użyciu tej komendy można stworzyć ostatnio popularny skrypt "Radar Medyka": Ten skrypt zwiększa autocall (automatyczne wzywanie medyka) do 150% (maksymalnie nadleczony gracz) na czas trzymania przypisanego przycisku pozwalając na zorientowanie się gdzie znajdują się pozostali członkowie drużyny. Jest to możliwe dzięki krzyżom pojawiającymi się nad graczami poniżej procentu autocall, które są widzialne nawet przez ściany.
alias "autocall_default" "hud_medicautocallersthreshold "75""
alias "autocall_all" "hud_medicautocallersthreshold "150""
alias "+radar" "autocall_all"
alias "-radar" "autocall_default"
bind mouse3 "+radar"
Domyślny procent autocall ustawiany kiedy skrypt nie jest w użyciu (75) może być zmieniona na jakąkolwiek inną liczbę, przypisany przycisk również może być zmieniony według własnych upodobań (w tym przypadku jest to mouse3).
Skrypty warte uwagi
Istnieje parę skryptów wpływających na rozgrywkę, niektóre z nich zostały naprawione, pozostałe ciągle działają.
Naprawione skrypty
Skrypty pistoletu
Z początku, Pistolet mógł strzelać z prędkością jaka była klikana myszka. Z tą wiedzą, niektórzy gracze stworzyli skrypty które opróżniały magazynek pistoletu najszybciej jak to możliwe. To jednak nie wszystko, nie dość że Skaut i Inżynier mogli strzelać szybciej niż pozostałe klasy, ułatwiało to celowanie, ponieważ nie trzeba było ciągle wciskać lewego przycisku myszy.
Valve naprawiło pistolet zmniejszając maksymalną szybkostrzelność, która jest osiągalna przez przytrzymanie przycisku z przypisaną komendą attack. Skrypty opisane powyżej nie były już potrzebne.
Skrypty na skręcanie podczas szarży
Z początku, komendy na klawiaturze które zmieniały kierunek patrzenia były inne niż te sterowane myszą. Tarcza Szarży była pierwszą bronią, która wprowadziła ograniczenie ruchu myszy. Valve ustawiło ograniczenie na komendy dotyczące myszy, jednak zapomniało o komendach na klawiaturze, które robiły to samo co mysz bez ograniczenia.
Niektórzy gracze stworzyli skrypty które zmieniały komendy zmiany kierunku podczas szarży pozwalając na skręcanie bez ograniczeń. Najbardziej wymyślnymi skryptami były te, które zmieniały ruch na osi X podczas szarży, po czym wracały do domyślnych ustawień po końcu szarży.
Valve w końcu nałożyło restrykcję na komendy klawiszowe tak samo jak w przypadku komend myszy, nie dając już przewagi delikwentom którzy używali takich skryptów.
Możliwe jest jednak napisanie skryptu który zmienia czułość myszy na niewyobrażalnie wysoką podczas szarży, po szarży następuje zmiana na domyślne ustawienia. Można też spróbować użyć pada, jako iż skręcanie krążkiem analogowym w szarży jest bardzo łatwe.
Skrypt kucania w powietrzu
Z początku, gracz mógł kucać w powietrzu nieograniczoną ilość razy. Po aktywowaniu takich skryptów, silnik gry miał problemy z zarejestrowaniem trafień na skaczących celach.
Valve naprawiło ten błąd przez ograniczenie maksymalnej ilości kucnięć w powietrzu do 2.
Działające skrypty
Skrypty na chowanie broni
Istnieje wiele skryptów umożliwiających schowanie modelu broni w zależności od slotu. Niektórzy gracze chowają modele broni w celu osiągnięcia większego pola widzenia, często jednak modele broni białych, PDA, zegarków niewidzialności są pozostawiane jako widzialne jako iż zawierają one przydatne informacje. Na przykład: Szpieg polega na modelu rękawów szpiega aby określić czy jest on widzialny czy nie, lub kiedy Dzwon Zmarłego został włączony. Pozostałe klasy używają animacji broni białych aby określić kiedy ich broń uderzy.
Skrypty skoków na działku strażniczym
Od aktualizacji Inżyniera możliwe było przenoszenie swoich budowli. W tym samym czasie używając Poskramiacza, inżynier mógł podskoczyć na rakietach ze swego działka strażniczego. Używając BARDZO szybkich skryptów, odkryto że inżynier może zabrać swoje działko i wybić zanim wybije się w powietrze.
Człowiek może odtworzyć takie zjawisko, jednak jest to bardzo trudne. Niektórzy gracze napisali skrypty które uruchamiają komendy w dobrej kolejności i o właściwym czasie, pozwala im na wykonanie skoku rakietowego i zabranie swojego działka za każdym razem.
Skrypty Jednorękiego Bandyty
Jako iż zniszczenie i ponowne postawienie mini-działka w środku bitwy może być trudne, niektórzy gracze stworzyli skrypty które umożliwiają zniszczenie i natychmiastowe rozstawienie nowego działka za pomocą jednego przycisku.
Skrypt ustawień klawiatury i myszy
Niektórzy gracze wolą zmieniać czułość myszy między różnymi klasami (na przykład, gdy zmieniamy z Demomana który nie potrzebuje aż tyle celowania, na Snajpera który jest zazwyczaj używany z niskimi czułościami w celu zapobiegania trzęsienia się celownika od drgań ręki). Takie skrypty zmieniają ustawienia klawiatury i myszy oddzielnie dla każdej klasy, lub nawet broni.
Skrypty wyskoku w szarży
Jako iż określenie czasu w którym należy podskoczyć aby osiągnąć maksymalny dystans szarży może być trudne, powstały skrypty które wyręczają użytkownika w tej kwestii. Wystarczy szybki skrypt przypisuje 2 akcje do jednego przycisku. Oczywiście gracz musi uderzyć w odpowiednim momencie, kwestii, której skrypt nie obejmuje.
Skrypty Quickscope
Wiele graczy ma problemy z wycelowaniem przez lunetę i szybkim oddaniem strzału w celu zadania szybkiego strzału w głowę. Powstały skrypty które wycelują za gracza po czym od razu strzelą po wciśnięciu przypisanego przycisku. Niektórym ludziom używanie takich skryptów przychodzi z trudem gdyż używanie takiego skryptu wymaga celowania poza lunetą.
Zobacz też
- Lista przydatnych komend konsolowych
- Edytowanie config_default.cfg Customizing - config_default.cfg: Domyślne bindy wewnątrz TF2.
Linki zewnętrzne
- Forum Steam - Tutorial skryptowania w TF2. (angielski) Mówi on o podstawach skryptowania używając wielu przydatnych przykładów
- Tutorial skryptowania w TF2 - Warrior Nation Network. (angielski) Jest to o wiele bardziej zaawansowany artykuł wymagający bezwarunkowej wiedzy o podstawach skryptowania.
- Gamebanana.com - skrypty TF2. (angielski) Setki przykładów efektów skryptowania w TF2.