Řešení problémů při kompilaci


Pokud jste konečně vytvořili mapu svých snů a chcete ji konečně vyzkoušet ve hře, první, co vám může zkazit radost je, že se vám nepovede zkompilovat mapu, tzn. vytvořit soubory .bsp, .poly, a .prt. Pokud se vám nevytvoří soubor s příponou lin, moc to nevadí, ještě se mi nestalo, že bych kvůli tomu nemohl mapu vyzkoušet. Při vytváření těchto souborů je ale riziko 1/10, že se vám to nepovede. Ale nebojte, po přečtení tohoto tutorialu klesá až na 1/256.

Teď vezmeme chyby, které se mohou objevit v kompilovacím okně, v tom okně, které se otevře po spuštění souboru s příponou .bat.

Chyby v kompilovacím okně

            1) Pokud se vám napíše toto:

je to docela snadno odstranitelná chyba: v CoDRadiantu klikněte nahoře na Misc a vyberte Find brush: otevře se vám okno se dvěma řádky, Entity number a Brush number. Do 2. řádku napište číslo chybového brushe (v tomto případě 365), a najde vám to tento brush. Degenerete plane znamená, že jedna ze stěn brushe je nepoužitelná. Zkopírujte tedy tento brush, původní vymažte a nový dejte na jeho místo, hru uložte a znova zkuste zkompilovat spuštěním souboru .bat. Mělo by to zabrat, pokud ne, brush vymažte a udělejte ručně úplně nový.

            2) Při této chybě:

postupujte stejně jako u předchozí chyby, v 98% případů to zabere.

            3) Tohle už je trochu oříšek:

Ta čísla v posledním řádku jsou souřadnice, na kterých je chyba. Pokud jsou souřadnice 0.00 0.00 0.00, je to těžké, označte celou mapu včetně skyboxu a worldspawnu, otevřete nové okno CoDRadiantu a stiskněte Ctrl + V, mapa se zkopíruje sem, pak ji uložte pod jiným názvem a zkuste znova zkompilovat (pokud se mapa jmenovala tutorial.map, přejmenujte ji například na tut. map, vytvořte nový bat soubor tut.bat, vložte do něj kompilační text, kde je 3x napsáno tut, prostě uděláte úplně nové soubory.
Pokud jsou souřadnice nenulové, klikněte v okně pravým myšidlem, dejte označit, a označte si souřadnice, stiskněte ctrl C, v okně CoDR vyberte Misc, v něm ,Go to position a do řádku v následně se objevivším okně ty souřadnice zkopírujte, stiskněte Enter a mělo by vám to ve 3d okně hodit kameru do zadané lokace. Pokud se kamera objeví v nějakém brushi, máte vyhráno, s brushem udělejte to, co při chybě č. 1. Pokud ne, označte zase celou mapu, a nějak s ní posuňte, aby všechny brushe změnily pozice ve všech třech osách, x,y,z.

            4) Chyba: 

Entity 0, brush 4:Lightmap allocation failed

Najděte brush pomocí Misc/Find brush. Nejspíš to bude část skyboxu. Označený brush skyboxu rozsekejte pomocí nástroje Clipper, na menší (jeho použití vysvětluji v tutorialu Jak vytvořit realistickou díru ve zdi.) Kusy skyboxu rozsekávejte, dokud se mapa nezkompiluje, při další změně ho zase průběžně spojujte funkcí CSG Merge.


No, kompilační chyby máme symbolicky vyřešené, přejdeme k chybám při samotném načítání mapy v SP:

Chyby při načítání mapy

            1) couldn’t find a spawn point

Zapomněli jste udělat nebo jste vymazali entitu info_player_start, musí tam být právě jedna !

            2) couldn’t find a worldspawn

Nemáte vytvořenou entitu worldspawn, v editoru udělejte kdekoli jakýkoli brush, klikněte pravým a úplně dole vyberte worldspawn, asi vám vyskočí okno Can’t create the worldspawn !. Zavřete ho a stiskněte N, bude tam v malém bílém rámečku napsáno classname worldspawn, jestli ne, napište to ručně: Key:classname, Value:Worldspawn. A je to. Uložte, překompilujte, hrajte.

            3) compile error (see console for details)

Nejvíc se bojte hlášky map compile error (see console for details), to je ta nejhorší a nejdotěrnější chyba na jakou můžete narazit. Je hodně příčin proč to napsalo ale já je všechny neznám, zkuste obnovit zálohu .map souboru, pokud vám to nepsalo i při předchozím načítání a od té doby jste .map soubor jen jednou uložili. Najděte soubor jmenovasimapy.bak, bak přepište na map a modlete se, aby to šlo v CoDR otevřít, jinak se s vaší mapou můžete rozloučit.

Upozornění: dodržujte správné umístění všech brushů v mapě, nic nesmí zasahovat mimo skybox nebo ho dokonce protínat ! Někdy se vám může stát že se při kompilaci nevytvoří soubor .prt ale soubor .lin, je to s největší pravděpodobností způsobeno tím, že máte díru ve skyboxu. Naštěstí je CoDRadiant vybaven funkcí Pointfile. Proto po chybné kompilaci otevřete CoDRadiant a najděte si svojí mapu, po načtení mapy dejte File/Pointfile... Radiant by vám měl ukázat chybu (červený klikihák vedoucí k chybě).


Tak, to jsou nejzákladnější a nejčastější chyby v kompilaci CoD map, kdyby se vám objevila nějaká nová, která tu není uvedená, taky sem nenarazil na všechny chyby, v případě největší nouze dotyčnou mapu, tedy soubor .map, pošlete na moji adresu mirors@seznam.cz, zkusím se na to podívat, ale nic neslibuji. Prvních 10 úprav zdarma.

Autorem tutoriálu je M!R0R.