Blueova konzole
[/b][/size]v 1.3
Někteří jste tuto věcičku určitě viděli na srazech při mých prezentacích. Já jsem ji teď ještě o něco vylepšil a dávám to sem na stažení i pro ostatní

Jak už název napovídá, jde o konzoli pro testy. Určitě při testování hry znáte ten moment, kdy potřebujete zadat do hry nějaký gml příkaz, nebo chcete vypisovat nějakou hodnotu na obrazovku. Právě k tomu slouží tato konzole.
Co to umí?
V momentálním stádiu má konzole celkem 36 řádků. Každý řádek má svoji barvu a barvu pozadí. Když vypnete v nastavení hry vyhazování chybových hlášek (global game settings -> errors -> Display error messages), konzole chyby automaticky 'odchytává' a zobrazuje. Konzoli lze jednoduše skrýt i zobrazit (výchozí klávesa F12). Konzolí lze pomocí příkazu přesouvat. Tlačítky Page up a Page down se můžete vracet k předchozím zadaným příkazům (obdobně, jako u příkazového řádku šipky).
Konzole má dva módy - klasický, a GML. Lze mezi nimi snadno přepínat (příkaz e). V klasickém módu konzole reaguje na příkazy zapsané ve skriptu _consoleDO. Lze velice jednoduše přidávat vlastní příkazy. Pár příkazů už je předprogramováno. V módu GML konzole vykoná GML kód, který do konzole napíšete.
Ovládání konzole lze velmi jednoduše měnit. Instalace konzole je navíc vyloženě primitivní.
S čím musím počítat?
Konzoli jsem dělal původně sám pro sebe a ne pro ostatní, proto obsahuje několik nedostatků a věcí, které prostě musíte vzít na vědomí.
- Samotný kód konzole není bůhvíjak strukturovaný a okomentovaný. Komu se ji povede nějak víc modifikovat, má u mě respekt

- Rozměry konzole jsou poměrně velké. Pro místnosti menší, než jaké jsou výchozí je to už poněkud nepraktické. Už ve výchozích rozměrech se do místnosti nevejde konzole celá, ale furt se dá pohodlně používat.
- Při zobrazení konzole se automaticky vyprázdní proměnná keyboard_string. Celá konzole s ní pracuje velmi často. Takže pokud jste v části hry, kde se tato proměnná taky jistým způsobem využívá, raději nechce konzoli schovanou - mohlo by to dělat neplechu. V schovaném stavu kžádným kolizím docházet nebude.
- Konzole se neumí pořádně vypořádat s dlouhými texty. Jak v zadávacím poli, tak přímo v konzoli. Za to se omlouvám, ale neplánuju tuto chybu zatím řešit. Konzole je tak široká, že při běžném používání mi to nikdy nevadilo.
- Je to tak trochu kombinace češtiny a angličtiny.
Jak na instalaci?
Tak, prvně si konzoli stáhněte: (644KB)
DOWNLOAD mirror
Ve staženém raru máte 3 soubory: gmk (gm8) ukázku, .gmress a pro starší verze GM .gml soubor.
Stačí tedy pouze otevřít vaši hru a v menu File zvolit Import game resources. Všechny potřebné věci se vám nahrají do hry (skripty, font a jeden objekt).
V případě starší verze GM nahrajte skripty ze souboru .gml. Vytvořte objekt a do jeho eventů create, draw a step dejte skripty _consoleInit(); _consoleStep(); a _consoleDraw();. Vytvořte font s názvem FtConsole velikosti 8 a rozsahu 0-255 (All). Doporučuju Curier New.
Příkazy spojené s konzolí
_consoleInit(); - Nastaví konzoli. Bez něj ostatní příkazy fungovat nebudou. Na začátku lze nastavit několik věcí.
_consoleStep(); - skript, který by mělprobíhat ve stepu objektu. Na jeho konci lze měnit ovládání konzole.
_consoleDraw(); - skript, který by měl probíhat v draw eventu objektu. Vykresluje celou konzoli.
_consoleNewLn(text,color,bccolor); - vypíše text (v uvozockách!) do konzole. Zbylé dva argumenty jsou barva textu a barva pozadí.
_consoleToggle(n); - zobrazí / skryje konzoli. Za n se dosazuje 0,1, nebo 2. 0=skrýt, 1=zobrazit a 2=přepnout.
_consoleDO(prikaz); - Skript, ve kterém jsou sepsány všechny příkazy konzole. Lze ho volat i přímo ze hry (do argumentu se v uvozovkách píše příkaz), ale jeho hlavní funkce je, že se v něm dají upravovat a hlavně přidávat příkazy. Místo, kam příkazy psát je jasně vyznačeno i se vzorem. Jedná se o obyčejný switch.
_consoleDoHelp(); Skript, ve kterém je napsána nápověda (příkaz Help). Můžete si sem dopisovat vysvětlivky k vlastním příkazům, nebo prostě co chcete...
Ostatní skripty jsou interní, tj. jsou nezbytné pro běh konzole, ale vám může být jejich smysl ukradený

Více screenshotů:
Spoiler: ukázat
Ták, to je všechno, doufám, že se vám tahle věcička bude hodit



ps: V tom vzorovým .gmk souboru je o jeden objekt navíc. Zkuste si ho přidat do místnosti

