\b;Příkaz \c;factory\n;
Syntaxe:
\s;\c;factory ( kategorie, program, object );\n;

Zahájí výrobu robota dané \l;kategorie\u cbot\category; a po dokončení na něm spustí zadaný program.

\t;kategorie: \c;\l;int\u cbot\int;\n;
\l;Kategorie\u cbot\category; robota, který se má vyrobit.

\t;program: \c;\l;string\u cbot\string;\n; (výchozí hodnota: \c;""\n;)
Program, který bude spuštěn na robotovi poté, co továrna dokončí stavbu. Může se jednat o \l;veřejnou\u cbot\public; \l;funkci\u cbot\function;, název souboru nebo nezpracovaný kód.

\t;\l;object\u cbot\object;
\l;Továrna na roboty\u object\factory;. Pokud není zadáno, použije se automaticky ta nejbližší.

\t;Návratová hodnota: \c;\l;int\u cbot\int;\n;
Chyba při provádění tohoto příkazu obvykle ukončí program. Tomu můžete zabránit pomocí příkazu \c;\l;errmode\u cbot\errmode;(0)\n;. Pak bude příkaz \c;factory()\n; v případě chyby vracet nenulovou hodnotu.
\c;== 0\n; Výroba úspěšně zahájena
\c;!= 0\n; Nelze zahájit výrobu (například v továrně není \l;titan\u object\titan; nebo robot není vyzkoumaný)

\t;Příklady

Nezpracovaný kód:
\c;
\s; extern void New()
\s; {
\s;     factory(WheeledGrabber, "extern void Say123() { message(123); }");
\s; }
\n;

Veřejnou funkci:
\c;
\s; extern void New()
\s; {
\s;     factory(WheeledGrabber, "SayHello");
\s; }
\s;
\s; public void SayHello()
\s; {
\s;     message("hello");
\s; }
\n;

Název souboru:

Uložte to jako say-foo.cbot. Poznámka: při ukládání nezapomeňte zaškrtnout políčko "Veřejný" - to způsobí, že say-foo.cbot bude uvnitř program/ složky.
\c;
\s; extern void New()
\s; {
\s;     message("Foo");
\s; }
\n;

Použijte factory funkci takto:
\c;
\s; extern void New()
\s; {
\s;     factory(WheeledGrabber, "program/say-foo.cbot");
\s; }
\n;
\t;Užitečné odkazy
\c;\l;researched\u cbot\researched;\n;, \c;\l;wait\u cbot\wait;\n;.
\l;Programování\u cbot;, \l;datové typy\u cbot\type; a \l;kategorie\u cbot\category;.
