SourceMod pluginy aneb Udělejte si vlastní zombíky v Counter-Strike: Source

Jako mnoho mých vrstevníků, i já jsem vyrůstal na počítačových hrách. Dnes budu mluvit především o serverových modifikacích a legendární hře Counter-Strike: Source. Čtěte dál a vydejte se na cestu do světa, kde je možné úplně všechno.

Stejně jako nespočet lidí, co kdy hráli Counter-Strike, i já jsem si v něm chtěl vytvořit svoji vlastní mapu. Jedná se o prostředí, ve kterém se vše odehrává. Tvorba map pro mě byla onou červenou pilulkou, kterou to všechno začalo. Od té doby jsem prostě musel vědět, co se ukrývá na dně králičí nory.

Source engine, na kterém hra Counter-Strike: Source běží, je modderům (lidem, kteří nějakým způsobem modifikují či přidávají nový obsah) velmi otevřený. Mé první pokusy o server-side pluginy byly spíš směšné. Ale protože jsem v té době byl adminem na několika CS:S serverech, měl jsem prostor k vývoji a testování v ostrém provozu.

Proč server-side pluginy? Server-side pluginy/modifikace jsou přesně takové, jak jejich název napovídá. Stačí se připojit na speciálně upravený server a hráč si nemusí nic instalovat. To je rozdíl oproti client-side pluginům/modifikacím. Výhoda je tedy jasná: hráč si nainstaluje hru a ta se automaticky modifikuje podle serveru, na který se připojí.

SourceMod, pro který jsem dělal pluginy, je vlastně sám pluginem pro Source engine. Komunita lidí kolem něj mě doslova pohltila. Vše bylo open-source a všichni jsme se scházeli na jednom webovém fóru AlliedModders, kde jsme si vzájemně pomáhali.

Začínal jsem od malých pluginů. Třeba vypsání statistiky na konci kola. Pak jsem se pustil do složitějších. Například správu VIP členství, která měla i webovou část a databázi. Časem jsem se propracoval až k velkému modulárnímu pluginu, který se skládal z několika různých spolupracujících pluginů. Cestou jsem vyrobil i několik knihoven. Hlavně proto, že jsem je sám potřeboval.

Vytvořit vlastní SourceMod plugin je jednoduché. Stačí nápad, zápal, CS:S server a pak je možné udělat v podstatě vše, co je na CS:S serverech k vidění. Plus se musíte naučit programovací jazyk SourcePawn, který je derivací Pawnu. Protože tenhle článek je pouze stručným úvodem, ukážeme si tu „Hello, world!“ jako příklad. Zájemcům o další informace doporučuju mrknout na SourceMod wiki s tutoriálem. Ke zkompilování pak použijeme webový kompilátor od Ashera „asherkin“ Bakera, který je spoluautorem SourceModu.

#include <sourcemod>

public Plugin myinfo = {
	name        = "Muj prvni plugin",
	author      = "Prema",
	description = "Muj pozdrav svetu",
	version     = "1.0.0",
	url         = "www.eman.cz"
};

public void OnPluginStart()
{
	PrintToServer("Hello, World!");
}

Zkompilovaný soubor stačí vložit do adresáře addons/sourcemod/plugins. Pak nastartujete server a už se kocháte zprávičkou „Hello, World!“ v server konzoli. Prosté, že?

Jistě, „Hello, World!“ je sice nuda, ale tím to všechno začíná. Chcete, aby hráči po vzoru Crysis Warhead, stříleli místo kulek slepice? Žádný problém. Chcete nějakého hráče „odměnit” stavem beztíže? Ještě snazší. Líbí se vám duha a chcete každou sekundu někoho „polít” barvou z jejího spektra? Samozřejmě! Nebo byste chtěli vytvořit modifikaci, ve které se jeden hráč na začátku kola promění v zombie a dotykem musí nakazit další hráče, kteří před ním utíkají na obrovské mapě a snaží se ho zadržet výstřely? Možná vás to překvapí, ale i tahle modifikace už existuje. Dokonce je i plugin pro sázení na výsledek kola. 🙂 The sky‘s the limit!

Věřím, že modifikace jsou důvodem, proč Counter-Strike: Source přežil dlouhých čtrnáct let a stále „jede dál”. Možnost koupit si jednu hru, ale zahrát si nespočet naprosto různých modifikací bez nutnosti doinstalace, je prostě úžasná. A u dnešních her (vyjma Counter-Strike: Global Offensive) naprosto nevídaná. Tak a teď už je jen na vás, jestli tu červenou pilulku zkusíte…

 

Úvodní fotografie: Counter-Strike: Source. Zdroj: Valve Corporation & Turtle Rock Studios.

 

Přemysl Talich

Přemysl Talich
Android Developer

RSS