Autor: Mickey Mouse Publikováno: 22.července 2001 |
V prvním díle tohoto článku jsme si vysvětlili trochu teorie na úvod a popsali si nákup zbraní a vybavení na začátku hry, nyní pokračujeme dále. Pro úplnost jen připomínám, že odlišným fontem je v textu popsán obsah souboru autoexec.cfg a červeně řádek patřící do config.cfg.
Rádiové hlášky
zdroj:
tisková zpráva
Následující sekce v ukázkovém autoexecu se věnuje radiovým hláškám. V mém případě tam jsou hlášky, kterými ovládám PODBota, když jej testuji v různých mapách, ale úplně stejně si radiové hlášky samozřejmě nabindujete i pro použití s živými hráči. Jako příklad uvedu jen jednu, protože ty ostatní jsou její obdobou a nic zvláštního na nich není.
autoexec.cfg // radiomessages ktere umi PODBot alias +STORM "radio2; menuselect 5" //vsichni boti rushuji smerem, kam jdu ja alias -STORM "slot10; wait; wait; slot10"
config.cfg bind "F1" "+STORM"
Alias pro klasickou radiovou hlášku se skládá ze dvou příkazů. Prvním z nich je příkaz radiox, kde x je rovno číslu 1, 2 nebo 3 a značí skupinu hlášek, kterou jím vyvoláte. Následuje pak příkaz pro výběr položky v menu s příslušnými hláškami. V druhé části aliasu pak zase pouze zavíráme menu.
Vlastní hlášky U hlášek si ještě řekneme, jak si vytvořit vlastní hlášku, která již samozřejmě nezazní jako mluvené slovo, ale vypíše se na obrazovce buď všem, nebo pouze spoluhráčům. K tomu slouží příkazy say pro vypsání textu všem hráčům a say_team pro hlášku určenou jen spoluhráčům. Alias by pak vypadal třeba takto:
alias DEFUSE "say_team Kryjte me, defusuji bombu"
bind "K" "DEFUSE"
Příslušnou klávesou byste pak zobrazili text napsaný za příkazem say_team. Textové hlášky se často používají i v kombinaci s některými standardními akcemi, jako třeba při házení granátů, kde těsně před hozením varujete svůj tým, aby sekryl či se aspoň otočil v případě hození oslepujícího flashbangu. Stačí pak v podstatě pouze připsat příkaz pro vypsání hlášky na příslušné místo scriptu pro hození granátu.
Skáčeme automaticky se skrčením Dále ještě v ukázkovém autoexecu najdete několik užitečných skriptů, které používám. První je skript, který automaticky při výskoku provede i ono skrčení, které je třeba často provést, abyste se dostali tam, kam potřebujete.
// Crouch&Jump Script pro vyskoceni spolu se skrcenim alias +cjump "+jump; +duck" alias -cjump "-jump; -duck"
bind "SPACE" "+cjump"
zdroj:
tisková zpráva
Stisknutím klávesy (mám to nabindované přímo na klávesu, kterou skáču, protože není důvod používat nějakou další) tedy rovnou vyskočím a ve výskoku se automaticky skrčím. Pokud jste zvyklí na klasické skákání a následné skrčování další klávesou, je možné, že budete mít zpočátku problémy s tím, že budete klávesu pro skočení hned pouštět a tím pádem budete mít pocit, že skript nefunguje. Není tomu tak a je třeba klávesu při výskoku podržet, abyste zůstali skrčení, neboť jak je patrné ze skriptu, při uvolnění klávesy se opět narovnáte a tím pádem se vaše skrčení zruší dřív, než doletíte k překážce. Zvyknete si ale velice rychle a pocítíte, že skákání tímto způsobem je praktičtější a snadněji se dostanete do míst, kde je třeba dobrého načasování skoku. (Když jsme u skákání, vězte, že nejdál skočíte s nožem v ruce. Proto pokud se snažíte dostat tam, kam vám to nejde, vezměte si do ruky právě nůž.)
Rychlé hození granátu Další pasáž se věnuje rychlému hození granátu. Alias jsem v podstatě opsal z webu, který se bindování věnuje a na nějž vám nakonec uvedu i link.
// rychle hozeni HE granatu (pri stisknuti klavesy vezme a odjisti, pri uvolneni klavesy odhodi) alias +hethro "weapon_hegrenade; wait; wait; +attack" alias -hethro "wait; -attack"
bind "MOUSE3" "+hethro"
Jak už popiska napovídá, při stisknutí klávesy (tlačítka myši) chytíte a odjistíte granát, při jejím uvolnění jej hodíte. Tento alias má menší mouchu v tom, že v případě, že granát nemáte, tak vám vystřelí ze zbraně, kterou právě nesete. Vyplývá to zase z jeho struktury, kdy pokud granát u sebe nemáte, příkaz weapon_hegrenade se neprovede a přejde se k dalšímu příkazu attack, který znamená útok aktuální zbraní (v případě granátu jeho odjištění představuje příkaz +attack, příkaz -attack pak znamená odhození). Pokud tedy máte v ruce jakoukoli střelnou zbraň, dojde při absenci granátu k jejímu nechtěnému vystřelení, čímž se můžete prozradit. Bohužel se mi dosud nepodařilo přijít na nic lepšího, a tak mám nabindovaný tento alias, i když jej příliš nepoužívám a granátuji klasickým způsobem.
Pokud byste chtěli hození granátu doplnit nějkou varovnou hláškou pro spoluhráče, můžete ji umístit do kteréhokoli řádku scriptu. Obojí má svoji výhodu a nevýhodu a je na vás, co si zvolíte. Pokud totiž hlášku umístíte do prvního řádku, odešle se již při odjištění granátu, což ale nemusí být zdaleka krátce před jeho odhozením. Tím pádem jsou spoluhráči varováni někdy zbytečně a když pak k vlastnímu hození dojde, žádná varovačka už se neprovede. Umístění varovné hlášky do druhého řádku pak zase sice varuje, ale v podstatě až v okamžiku hození, takže často je varovná hláška to poslední, co váš kolega může těsně před smrtí zaznamenat. Trochu se to dá napravit vložením patřičného počtu příkazů wait pro vytvoření alespoň malé časové prodlevy.
Cyklování nabídkami Další sekce slouží k tomu, že jedinou klávesou mohu cyklovat všemi třemi nabídkami radiových hlášek a nemusím k tomu používat tři rozdílné klávesy. Postupu, který je pro to použit se pak dá využívat obecně tehdy, když chcete cyklovat jedinou klávesou větším počtem funkcí. Pokud budete cyklovat pouze dvěma funkcemi, vytvoříte vlastně jakýsi přepínač, což se také hojně používá například pro zapnutí/vypnutí zobrazení FPS na monitoru apod. Tato ukázka už patří trošku do oblasti „vyšší dívčí“, ale není na ní zase nic složitého a její pochopení je snadné.
// cyklovani vsemi radiovymi menu jedinou klavesou alias radcycle "radc1" alias radc1 "radio1; alias radcycle radc2" alias radc2 "radio2; alias radcycle radc3" alias radc3 "radio3; alias radcycle radc1"
bind "Z" "radcycle"
zdroj:
tisková zpráva
Všimněte si na tomto aliasu jeho struktury, čili toho, jak vlastně funguje. Standardně je v prvním řádku vytvořen alias radcycle, který provádí příkaz radc1. To ale není nic jiného než další alias, definovaný v druhém řádku, který otevře první radiové menu příkazem radio1 a následně přiřadí původnímu aliasu radcycle provedení příkazu radc2. Stiskem klávesy, kterou nabindujete pro provedení aliasu radcycle tedy dojde k zobrazení prvního menu radiových hlášek a poté se změní obsah aliasu této klávese přiřazeného. Tím pádem se při opětovném stisknutí této klávesy provede již něco jiného, konkrétně to, co je definováno v třetím řádku aliasu, čili otevření druhého menu s radiovými hláškami (příkaz radio2) a následně se opět změní obsah aliasu radcycle tak, že při třetím stisknutí té samé klávesy se zobrazí třetí menu radiových příkazů (příkaz radio3) a obsah aliasu radcycle se změní tak, aby následným stiskem se opět ukázalo první radiové menu a tak pořád dokola. Tím se tedy vytvořil cyklus, který neustále koluje a zobrazuje postupně jednotlivá radiová menu. Dochází tedy k jakési výměně aliasu v aliasu. Původní alias, který voláme stiskem klávesy zůstává, ale mění se postupně jeho obsah. Na tomto principu opět můžete stavět obdobné aliasy použitelné v jiných příležitostech.
Změna barvy zaměřovače Následuje jednoduchý alias, který stiskem příslušné klávesy dokáže měnit barvu zaměřovacího kurzoru.
// nastaveni barvy zamerovaciho kurzoru alias cross "adjust_crosshair"
bind "C" "cross"
Nejedná se o nic jiného, než o použití příkazu adjust_crosshair, který je součástí sady příkazů Half-Lifu. Tento příkaz samotný už umí cyklovat mezi několika barvami zaměřovacího kříže (pouze pokud nepoužíváte zoom), takže není potřeba žádné smyčky umělě vytvářet. Barva záměrného kříže se samozřejmě hodí na různá prostředí, kde jde o to, aby byla co nejvíce kontrastní.
Přepínače Poslední dva odstavce autoexecu slouží k zapnutí/vypnutí zobrazení hodnoty FPS a netgrafu (což je prakticky obdoba toho samého). Zde je opět využito toho, že se vytvoří jeden alias, který se nabinduje na klávesu a následně se mění jeho obsah podobně, jako tomu bylo v případě přepínání mezi jednotlivými radiovými menu. Vše je myslím z ukázky zcela jasné a není třeba dále už nic dodávat.
// prepinani zobrazeni FPS alias fps "fpson" alias fpson "cl_showfps 1; alias fps fpsoff" alias fpsoff "cl_showfps 0; alias fps fpson"
bind "P" "fps"
// prepinani zobrazeni NetGraphu alias graph "graphon" alias graphon "net_graph 3; alias graph graphoff" alias graphoff "net_graph 0; alias graph graphon"
bind "L" "graph"
Vytváření více konfiguračních souborů
zdroj:
tisková zpráva
Engine Half-Lifu umožňuje používat i další konfigurační soubory. Jediná podmínka je, že musí mít příponu .cfg a že je musíte umístit do adresáře s Counter-Strikem. Takový soubor se tedy může jmenovat například mujsoubor.cfg a může obsahovat stejně jako autoexec či config další příkazy, které engine umí používat. Tyto další konfigurační soubory se nenačítají automaticky při spuštění hry, ale je potřeba je spustit buď ručně pomocí konzole, anebo automaticky zapsáním do autoxec.cfg řádku s příkazem:
exec nazevsouboru.cfg
Výpis informačních sdělení na vlastní obrazovku Spuštění vlastního konfigu (ale i jiné akce) je dobré doplnit informací o jeho načtení. K tomu slouží příkaz echo, který slouží k vypsání textu na obrazovku. Ten můžete dát do autoexecu za řádek pro spuštění vlastní konfigurace a může vypadat třeba následovně:
echo Nacetl jsem soubor Mujconfig.cfg
Samozřejmě je možné spouštění nabindovat na klávesu a pomocí ní pak můžete daný konfigurační soubor ručně spouštět. Je to užitečné v případě, že si vytvoříte více konfiguračních souborů a vyberete si vždy ten, který se pro hraní právě hodí (například chcete mít jiné nastavení sítě pro hru po LAN či po Internetu apod. - spustíte tedy hru a pak si teprve ručně dodatečně spustíte ten konfigurační soubor, který chcete použít).
Utility pro jednodušší tvorbu scriptů Pro ty, kteří si příliš nevěří a raději se spolehnou na některé scriptovací utility než na ruční práci, tu mám několik linků na utilitky, které pomáhají s vytvářením scriptů a automaticky „programují“, zatímco vy si pouze vybíráte, co váš script má dělat a na jakou klávesu jej nabindovat. Ruční práce je samozřejmě přesnější a máte úplnou kontrolu nad tím, co a jak je vytvořeno, použití utilit je zase výrazně rychlejší a leckomu bude alespoň v začátcích bohatě stačit. Tak tedy zde jsou slíbené odkazy:
Alias-Maker, Alias Binder, NWCSScript
Další užitečné odkazy A to je z naší teorie prozatím všechno. Nezapomeňte, že každému aliasu, který si v autoexecu vytvoříte a budete jej chtít spouštět musíte přiřadit v configu klávesu či tlačítko na myši, kterým to provedete, jinak vám nic nebude samozřejmě fungovat. Ukázkami jsem se snažil nadhodit nejčastěji používané skripty, které jsou použitelné i pro toho, kdo se s nimi nechce dále zabývat a stačí mu, když si je přetáhne do svých konfiguračních souborů. Pro ty, kdo mají chuť se v nich ještě trochu povrtat a upravit si je pro své potřeby, jsem se snažil dát co možná nejsrozumitelněji návod, jak toho dosáhnout. Princip bindování a vytváření aliasů by měl být rovněž z článku zřejmý a dále už v podstatě stačí seznam dalších příkazů jakož i kláves, na které je bindování možné provádět (není totiž dostupná celá klávesnice). S tímto vás odkážu na webové stránky, odkud jsem i já při bindování a pronikání do jeho tajů hodně čerpal. Takže seznam všech příkazů, které je možné při tvorbě aliasových skriptů používat je na této adrese, seznam kláves, které je možné pro spouštění aliasů použít je zde a za zmínku stojí i konkrétní příklady celé řady scriptů, které najdete tady.
zdroj:
tisková zpráva
Záleží teď na vás, co shledáte užitečným. Já osobně jsem při procházení scriptů narazil na spoustu sice zajímavých řešení, ale prakticky k ničemu, neboť bych pak musel mít celou klávesnici zabranou kdejakým scriptem. Je sice fajn, že můžu jedinou klávesou začít třeba defusovat a zároveň říci svým kolegům, aby mě kryli, to samé třeba při přebíjení zbraně či při kladení bomby. Takových situací je ale ve hře tolik, že než bych je všechny nabindoval a naučil se je po paměti používat, to raději klasicky řeknu „Kryjte mě“ a pak si budu dělat co potřebuji.
Každý jsme jiný a každému nám vyhovuje něco jiného. Proto berte i to, co jsem uvedl coby příklady jako můj pohled na věc a ne na něco, co je „nejlepší“, neboť se v řadě věcí třeba s Counter-Scriptem rozcházím a dělám si to po svém, i když oni doporučují něco jiného. Zájemcům o bindování doporučuji prolézt jejich webem pozorněji, protože skrývá kromě nějakých obecných informací různé tutorialy, ukázky apod., prostě vše, co k zvládnutí dané problematiky potřebujete. Já jsem záměrně vynechal některé méně podstatné věci, kterými jsem vás nechtěl zbytečně rozptylovat, které nejsou nyní vůbec podstatné. Pokud by byl zájem, není problém se o tom někdy příště rozepsat.
Na úplný závěr bych měl pár dotazů, se kterými byste mi možná mohli pomoci. Jednak kdybyste někdo vymysleli script na to prokleté odjištění a házení granátu jednou klávesou, který by v případě, že nemáte granát nestřílel ze zbraně, hoďte ho sem (ale asi to nejde). Dále řeším ještě to, že mám myš s pěti tlačítky, která jsem se všechna snažil pro zajímavost nabindovat. První tři fungují bez potíží, další dvě jsem zkusil testnout prostým bindováním jako "MOUSE4" a "MOUSE5". Ta mi ale fungují jaksi napůl. Když na ně například nabinduji zde uvedený skript na odjištění a hození granátu, tak při prvním stisknutí se mi pouze objeví v ruce granát a až při druhém dojde k jeho odjištění a odhozu, což nějak nechápu. Pokud byste tohle rozlouskli, tak se také ozvěte...
Drobnosti na závěr A na úplný závěr ještě uvedu pár užitečných příkazů z configu, kterými si můžete hru upravit:
setinfo "lefthand" "0" Tento příkaz nastavuje držení zbraně v pravé ruce. Pokud chcete, aby vaše postava držela zbraň vlevo, napište místo nuly jedničku.
zdroj:
tisková zpráva
hud_fastswitch "0" Tento příkaz se používá při přepínání mezi zbraněmi. Pokud jej máte tak, jak je uvedeno, musíte každé přepnutí ještě potvrdit. Pokud si dáte namísto nuly jedničku, automaticky se přepne a nastaví do ruky tu zbraň, kterou jste zvolili (jedničkou nastavíte primární zbraň, dvojkou pistoli, trojkou nůž atd.)
setinfo "vgui_menus" "0" Tímto příkazem zrušíte používání grafických menu při nakupování a při vybírání hráčského modelu.
Máte-li k článku nějaké připomínky nebo dotazy, odpovíme Vám na ně jako obvykle v diskusním fóru pod článkem. Přeji ještě více fragů.
Mickey Mouse připravil: jd | |
Spoustu dalších článků na téma Counter-Strike najdete na našem serveru zde
|