Rozpierducha SilenT [ACON]

IP: lub

Pobierz grę oraz patche i etkey
Wolfenstein: Enemy Territory - 268 MB


Obrazki z gry

Bindy

Bindem nazywamy przyporządkowanie do danego klawisza pewnej komendy - praktycznie.

Bindy wg. mnie można podzielić na:

  • bindy voice chatu - czyli głosowe.
  • bindy chatu - sam tekst.
  • bindy sterowania - controls.
  • i inne, praktyczne (w domyśle przydatne) bindy - czyli np. te, pod którymi znajdują się komendy odpowiadające za grafikę w grze, ustawienia sieci, skrypty itd.
Pod bindami oczywiście mogą znajdować się różne skrypty jak zmiana klasy, spawnpointów itd.

Podstawą tworzenia bindów jest config, w popularnie używanym skrócie: cfg (od rozszerzenia pliku, w którym config się znajduje). Dzięki cfg oszczędzamy żmudne wpisywanie kolejno bindów w consoli, a przy okazji w każdej chwili możemy łatwo edytować wszystkie bindy, czy np. układać je wg. przeznaczenia.

1. Tworzymy config

Stworzenie configa wielu osobom sprawia wielkie trudności, a rzeczywiście jest to bardzo prosta czynność.
Przedstawię tutaj wszelkie możliwe sposoby tworzenia pliku .cfg (configu).

a) Otwieramy Notatnik. Z menu Plik wybieramy zapisz, bądź wciskamy kombinację klawiszy CTRL+S.
Teraz wybieramy ścieżkę zapisu, wyszukujemy folder z zainstalowanym Enemy Territory, następnie folder, który się w nim z kolei znajduje: etmain. Typ pliku ustawiamy na: Wszystkie Pliki, a nazwę pliku na: autoexec.cfg
Wszystko powinno wyglądać tak jak na poniższym screenie:



Teraz możemy zapisać plik. Gotowe :)

b) Wchodzimy do głównego folderu folder z zainstalowanym Enemy Territory, następnie do folderu, który się w nim znajduje: etmain. Wyszukujemy przykładowo plik server o rozszerzeniu* .cfg (server.cfg) i tworzymy jego kopię w tym samym folderze. Teraz zmieniamy jego nazwę na autoexec, pozostawiając rozszerzenie .cfg (autoexec.cfg). Zapisujemy. Teraz wystarczy otworzyć plik w notatniku**, usunąć jego całą zawartość i zapisać.

Gotowe.

*Nie widzę rozszerzeń plików!

Jeśli nie widzicie rozszerzeń plików warto włączyć ich wyświetlanie. Jak to zrobić?
Wchodzimy w Mój Komputer, następnie w menu wybieramy: Narzędzia -> Opcje Folderów. Teraz wchodzimy na zakładkę Widok i odznaczamy opcję: Ukryj rozszerzenia znanych typów plików.

Wszystko ukazane jest na poniższych screenach:





Proszę pamiętać, że niekiedy rozszerzenie podaje się w ten sposób:

*.cfg

znak * jest tylko oznaczeniem domyślnej nazwy pliku, pod znakiem * może znajdować się np. autoexec.
dlatego nie próbujcie czasem tworzyć pliku autoexec*.cfg ;)

**Jak otworzyć plik .cfg w notatniku?

Najprostszym rozwiązaniem jest otwarcie właściwości jakiegoś pliku .cfg, np. tego autoexecu, który stworzyliśmy, następnie ustawienie domyślnego programu, za pomocą którego będzie otwierany dany typ plików (wg. rozszerzenia). Będzie nim notatnik. Można też użyć worda, ale nie mieszajmy sobie, więc lepiej edytować notatnikiem.

Screeny:




zaznaczyłem tutaj co trzeba kolejno robić.

c) Ostatni przykład stworzenia pliku .cfg jest chyba najszybszy. Tworzymy w etmain nowy plik tekstowy, zmieniamy jego nazwę wraz z rozszerzeniem na autoexec.cfg. Gotowe.

2. autoexec.cfg

Właśnie, we wszystkich przykładach celowo podałem tę, a nie inną nazwę, ponieważ autoexec jest to plik, który po wejściu do enemy territory ładuje się automatycznie bez naszej ingerencji, dzięki temu nie musimy tak jak wspominałem wklepywać wszystkiego w consoli, a łatwo edytować w pliku autoexec.cfg, gdzie również nadmienię, wrzucać można skrypty, ustawienia grafiki, sieci itd. Wszystkie komendy consoli jak by nie było ;)

Z autoexecu również można przekierowywać do automatycznego wczytywania innych plików.
Kiedy edytujemy autoexe.cfg w notatniku dopisujemy poporostu kolejną linijkę do pliku:

exec jakisconfig.cfg

Ten jakisconfig również zostanie wczytany automatycznie, inaczej to co się w nim znajduje.

3. Edycja configu

Wspomnę raz jeszcze, plik *.cfg najlepiej edytować w notatniku, jest to najprostszy sposób.
Przy czym nie edytujemy żadnych plików *.cfg stworzonych przez grę, czyli etconfigów, ponieważ i tak zostaną nadpisane przez grę i narobicie syfu niepotrzebnie.

Zajmijmy się jednak autoexeciem.

Każdy bind, komenda musi być umieszczony w kolejnej linii,
można robić większe odstępy, to już nie jest problem.
przykładowo:

Kod:
seta name "^0etplayer"

bind r "+reload"
bind MOUSE1 "+attack"

// nade

bind 4 "weaponbank 4;vstr gt" // 4 klawisz bindu, 4 numer broni (nade'a)

set gtON "+attack;vstr grenadethON"
set gtOFF "-attack;vstr grenadethOFF;say_team ^0throwing nade;bind mouse1 +attack"
set grenadethDefault "say_team ^0timing nade ;set grenadethON vstr nic"
set grenadethON "vstr grenadethDefault"
set grenadethOFF "set grenadethON vstr grenadethDefault"
set gt "bind mouse1 +vstr gtON gtOFF;"

nade end//

bind i vsay hi ^0witam^1:^0)

seta rate "25000"
seta sensitivity "4.000000"


Jak widzicie wszystkie bindy i ustawienia są kolejno w linijkach,
przy czym niektóre, powiązane ze sobą komendy, bindy można oddzielić jedną pustą, bądź wieloma linijkami.

Aby nasz config był bardziej czytelny można stosować:

// komentarze

Każdy tekst, poprzedzony dwoma bądź więcej slashami takimi jak te:

//

nie będzie wczytany przez consolę jako komenda, tylko jako komentarz.
dzięki temu można sobie pogrupować komendy, poukładać w configu bindy, tak by łatwiej było go edytować.
Weźmy np. powyższy config. Dodam do niego komentarze i poukładam komendy:

Kod:
///////////////////////////////////////
//// miniConfig by c0m4r
//// jest to przykład, jak może wyglądać plik autoexec.cfgseta name "^0etplayer"
//////////////////////////////////////////

// sterowanie

bind r "+reload" // przeladowanie broni
bind MOUSE1 "+attack" // strzał

// nade - skrypt na rzut granatem, dzięki niemu kiedy weźmiemy granat i trzymamy go wyskoczy nam timing nade (trzymam granat), kiedy rzucimy: throwing nade (rzucam granat). Proszę spojrzeć, ten tekst jest w jednej linijce, ale kiedy edytujemy go w notatniku przy włączonym ustawieniu: Załamywanie linii, wtedy ten komentarz wydaje się być w kilku linijkach, ale po wyłączeniu tej opcji [b]komentarz MUSI[/b] zawierać się tak czy inaczej w jednej linijce!

bind 4 "weaponbank 4;vstr gt" // 4 klawisz bindu, 4 numer broni (nade'a)

set gtON "+attack;vstr grenadethON"
set gtOFF "-attack;vstr grenadethOFF;say_team ^0throwing nade;bind mouse1 +attack"
set grenadethDefault "say_team ^0timing nade ;set grenadethON vstr nic"
set grenadethON "vstr grenadethDefault"
set grenadethOFF "set grenadethON vstr grenadethDefault"
set gt "bind mouse1 +vstr gtON gtOFF;"

nade end//

// bindy voice chatu

bind i vsay hi ^0witam^3!) // bind voice chatu, dzięki któremu po wciśnięciu usłyszym głos: Hi, Hallo, w zależności od tego w jakiej drużynie gramy, a także napis na chacie (tylko na serwerach z etpro): witam!

// ustawienia sieci

seta rate "25000" // przykładowe ustawienie komendy: rate

// ustawienia myszki

seta sensitivity "4.000000" // ustala czułość myszki, ta jest ustawiona na 4. Te zera po kropce to kolejne mniejsze jednostki czułości, można ustawić np. 4.100000000 (czyli 4.1), albo 4.0005 nie gra to roli.


To chyba na tyle co do edycji :) Mogę jeszcze tylko dodać, że w przeciwieństwie do map config można edytować będąc w grze, zapisać, a następnie poprzez consolę wczytać komendą:

Kod:
/exec autoexec


albo

Kod:
/exec autoexec.cfg


wszystko jedno.

4. Bindy Voice Chatu

Tak, bindy voice chatu czyli te, pod którymi przyporządkowane są komendy głosowe,
czyli te, które w grze wywołujecie np. za pomocą:

v43 (thanks/danke)
v54 (hi/hello/hallo)
itd.

Dzięki bindom przyporządkować je można do jednego konkretnego klawisza.
Bindy voice chatu tworzy się z kilku członów., pierwszy oznacza dla kogo widoczna (i słyszana) będzie komenda głosowa.
- dla wszystkich na serwerze: vsay
- dla drużyny: vsay_team
- dla fireteamu: vsay_buddy

Kolejnym członem jest komenda głosowa, oto ich lista:


1.Statements


Path cleared. - PathCleared
The enemy is weakened. - EnemyWeak // pogrubione to komendy, po lewej znajdują się ich opisy.
All clear. - AllClear
Incoming! - Incoming
Fire in the hole! - FireInTheHole
I'm defending. - OnDefense
I'm attacking. - OnOffense
Taking fire! - TakingFire
Mines cleared. - MinesCleared
Enemy in disguise. - EnemyDisguised



2. Requests



Medic! - Medic
I need ammo! - NeedAmmo
I need backup! - NeedBackup
We need an engineer! - NeedEngineer
Cover me! - CoverMe
Hold fire! - HoldFire
Where to? - WhereTo
We need Covert Ops! - NeedOps



3. Commands



Follow me! - FollowMe
Let's go! - LetsGo
Move! - Move
Clear the path! - ClearPath
Defend our objective! - DefendObjective
Disarm the dynamite! - DisarmDynamite
Clear the mines! - ClearMines
Reinforce the offense! - ReinforceOffense
Reinforce the defense! - ReinforceDefense



4. Talk



Yes! - Affirmative
No! - Negative
Thanks a lot! - Thanks
You're welcome. - Welcome
Sorry! - Sorry
Oops! - Oops



5. Global



Yes! - Affirmative
No! - Negative
The enemy is weakened. - EnemyWeak
Hi! - Hi
Bye. - Bye
Great shot! - GreatShot
Yeah! - Cheer
Thanks a lot! - Thanks
You're welcome. - Welcome
Oops! - Oops
Sorry! - Sorry
Hold your fire! - HoldFire
Good game! - GoodGame



7. Objectives



Command acknowledged! - CommandAcknowledged
Command declined! - CommandDeclined
Command completed! - CommandCompleted
Destroy the primary objective! - DestroyPrimary
Destroy the secondary objective! - DestroySecondary
Destroy the construction! - DestroyConstruction
Construction underway! - ConstructionCommencing
Repair the vehicle! - RepairVehicle
Destroy the vehicle! - DestroyVehicle
Escort the vehicle! - EscortVehicle



Bindy niedostępne na liście:



Cover me! - FTCoverMe
Disarm the dynamite! - FTDisarmDynamite
Fall back! - FTFallBack
Soldier, covering fire! - FTCoveringFire
Deploy mortar! - FTMortar
Heal the squad! - FTHealSquad
Heal me! - FTHealMe
Revive team mate! - FTReviveTeamMate
Revive me! - FTReviveMe
Destroy objective! - FTDestroyObjective
Repair objective! - FTRepairObjective
Construct the objective! - FTConstructObjective
Deploy landmines! - FTDeployLandmines
Disarm landmines! - FTDisarmLandmines
Call airstrike! - FTCallAirStrike
Call artillery! - FTCallArtillery
Call mortar barrage! - FTMortarBarrage
Resupply squad! - FTResupplySquad
Resupply me! - FTResupplyMe

Explore area! - FTExploreArea
Explore at co-ordinates! - FTExploreAtCoordinates
Destroy satchel objective! - FTSatchelObjective
Infiltrate! - FTInfiltrate
Go undercover! - FTGoUndercover
Provide sniper cover! - FTProvideSniperCover

Meet at waypoint! - FTMeetWaypoint
Attack waypoint! - FTAttackWaypoint
Defend waypoint - FTDefendWaypoint


I tak można stworzyć pierwszy bind:

Kod:
bind x vsay Oops


albo poprawniej

Kod:
bind x "vsay Oops"


Ale chyba chcemy być oryginalni i stworzyć coś lepszego prawda?
Do bindów niestety swojego głosu nie dodamy, natomiast możemy zmienić tekst, który podczas użycia komendy głosowej będzie widoczny na chacie.

Dodajemy poprostu tekst zaraz za komendą, stąd nasz bind będzie wyglądał następująco:

Kod:
bind x vsay Oops upsik...


albo poprawniej

Kod:
bind x "vsay Oops upsik..."


można dodać kolorki do tekstu i zrobić z tego całe zdanie, nie musi to być jedno słowo:

Kod:
bind x "vsay Oops ^3upsik... ^7a to Ci psikus ^1:^0D"


teraz po wciśnięciu w grze klawisza X, wyskoczy nam na chacie kolorowy tekst:

upsik... a to Ci psikus :D

innym bindem może być:

Kod:
bind x "vsay Thanks ^1dzieki Ci dobry czlowieku"


W consoli można również dopisywać bindy, tyle, że przed wyrazem bind dodajemy slasha.

Kod:
/bind x vsay Thanks ^rdzieki

Kod:
/bind x "vsay Thanks ^rdzieki"


5. Bindy Chatu

Do stworzenia binda potrzebujemy najpierw komendy, która oznacza dla kogo widoczny jest tekst i tutaj:
say - do wszystkich
say_team - do drużyny
say_buddy - do fireteamu

Przykładowy bind:

Kod:
bind x say_team ^7bum szalalala bum szalalala ^1bum!


teraz po naciśnięciu klawisza X wyskoczy nam na chacie drużyny kolorowy tekst:

bum szalalala bum szalalala bum!

6. Bindy sterowania

Oto kilka przykładowych bindów z pliku etconfig.cfg, domyślnych dla enemy territory:

Kod:
bind 1 "weaponbank 1" // smg (thompson/mp40/garand/mortar itd.)

bind a "+moveleft" // ruch w lewo
bind d "+moveright" // ruch w prawo

bind r "+reload" // przeładowanie

bind F1 vote yes // zgadzasz się z votem


specjalnie wybrałem takie a nie inne controlsy aby pokazać pewne rzeczy.

Otóż te wszystkie controlsy bindować samemu nie trzeba, ale niektóre warto jest mieć w cfg,
ponieważ np. przy:

Cytat:
bind F1 vote yes


można dodać tekst, który pokaże się na chacie, tak jak w przypadku binda chatu.
komendę say dodajemy po yes, oddzielając średnikiem, średnik oddziela wykonanie dwóch bądź kilku komend zarazem. Całość od vote do końca tekstu bierzemy w cudzysłowie.

Przykład:

Kod:
bind F1 "vote yes;say ^7Zgadzam sie!"


czyli teraz jeśli ktoś zavotuje, a my wciśniemy F1, na chacie pokaże się na biało tekst:

Zgadzam sie!

W przypadku bindy na reload, zapewne kusi Was, aby sobie to tak zbindować, żeby podczas przeładowania wyświetlało tekst albo od razu komendę głosową "Cover me!", ale nie jest to takie proste jakby się wydawało, ponieważ przeładowanie w przeciwieństwie do vote'a jest złożonym skryptem gry, więc my także zastosować musimy skrypt:

Kod:
// skrypt na reload
bind r "vstr vstrreload"
seta vstrreload "+reload; vsay_team CoverMe ^7Reloading Cover Me!; wait 2; -reload"


gdybyśmy nie dodali -reload;-reload na chacie wyskoczyłyby podczas przeładowania dziwne cyferki (niektórym się to podoba to sobie w ten sposób bindują :zdziwko: ).

co do:

Cytat:
bind 1 "weaponbank 1"


sprawa jest prosta:

Kod:
bind 1 "weaponbank 1;say_team ^7smg"


bind 1 oznacza, że pod klawiszem 1 na zwykłej klawiaturze (nie numerycznej) jest weaponbank 1, czyli pierwsza broń, CZYLI z kolei smg, a to z kolei (hihi lubię sie powtarzać) jest broń taka jak thompson/mp40, oczywiście będąc engiem można mieć pod tym rifle, to nie wadzi :} tylko bind trochę z rzeczywistością się zgadzać nie będzie, bo rifla to nie smg, ale wiecie przynajmniej o co chodzi ;)

co do granata, można zrobić to tak jak w przypadku smg, ale tekst czy komenda głosowa (FireInTheHole) wyskoczy tylko podczas wybrania granta, do tego by wyświetlało się przy rzucie granatem to już właśnie skrypt potrzebny.

7. Bindy Praktyczne

Oto przykładowe komendy ustawień myszki, grafiki itd. w grze:

Kod:
seta cg_draw2D "1" // wartość 0 ukrywa cały HUD, widzimy tylko tylko świat gry i celownik, zaś czas gry, poziom życia, chat, wszystko to jest ukryte.
seta r_gamma "2" // 0.1 - 3.0 (ciemno - jasno)
seta sensitivity "4.00000000"


i tak możemy stworzyć sobie bindy np. na różne sensitivity:

bind KP_HOME "sensitivity 4.00000000;echo sens 4"
bind KP_PGUP "sensitivity 1.00000000;echo sens 1"

KP_HOME to 7 na klawiaturze numerycznej
KP_PGUP to 9 również na klawiaturze numerycznej

czy możemy sobie zrobić na jasność obrazu:

bind KP_HOME "r_gamma "3"; echo gamma 3"
bind KP_PGUP "r_gamma 2; echo gamma 2"

Bindy są jednak niepraktyczne, dlatego warto skorzystać ze skryptów,
oto przykładowy na zmianę sensitivity:

Kod:
// skrypt na sensa
        seta        sensitivity "4.0000000000"
        bind "x" "vstr senstoggle"
        set sens1 "sensitivity 2.0000000000;echo ^!sens 2 ;         set senstoggle vstr sens2"
        set sens2 "sensitivity 4.0000000000;echo ^1sens 4 ;         set senstoggle vstr sens1"
        set senstoggle "vstr sens1"
        //


po wciśnięciu klawisz x jako echo pokazuje się napis sens 2, a sensitivity zmniejsza się na 2,
po kolejnym wciśnięciu powraca do stanu poprzedniego, czyli ustawia sie na 4,
znowu wciśniesz znowu 2, jeszcze raz, 4.

------------------------------------------------------------------------------------------

Mam nadzieję, że ta prawie 3 godzinna praca nie pójdzie na marne i raz na zawsze zapamiętacie jak się robi bindy, gdzie się je robi i co to jest ten autoexec ;)

Dziękuję za pomoc w napisaniu tego artykułu Damonowi.

c0m4r