\b;Instrução \c;factory\n;
Sintaxe:
\s;\c;factory ( cat, program, object );\n;

Inicia uma construção de um bot de uma determinada \l;categoria\u cbot\category; e executa um programa especificado nele depois que a construção é concluída.

\t;categoria: \c;\l;int\u cbot\int;\n;
\l;Categoria\u cbot\category; do robô para construir.

\t;programa: \c;\l;string\u cbot\string;\n; (valor padrão: \c;""\n;)
Programa que será executado no bot após a fábrica terminar a construção. Isso pode ser uma \l;função\u cbot\function; \l;pública\u cbot\public;, um nome de arquivo ou um trecho de código.

\t;\l;object\u cbot\object;
\l;BotFactory\u object\factory;, mais próximo por padrão.

\t;Valor de retorno: \c;\l;int\u cbot\int;\n;
Normalmente um erro para o programa. Se você quiser que o programa não pare ao ocorrer erros use a instrução \c;\l;errmode\u cbot\errmode;(0)\n;.  Um valor diferente de zero é retornado por \c;factory()\n; se um erro ocorrer.
\c;== 0 \n;A construção foi iniciada com sucesso
\c;!= 0 \n;A construção não pode ser iniciada (ex.: nenhum \l;Titânio\u object\titan; na fábrica, o robô não pode ser pesquisado)

\t;Exemplos

Trecho de código:
\c;
\s; extern void New()
\s; {
\s;     factory(WheeledGrabber, "extern void Say123() { message(123); }");
\s; }
\n;

Função pública:
\c;
\s; extern void New()
\s; {
\s;     factory(WheeledGrabber, "SayHello");
\s; }
\s;
\s; public void SayHello()
\s; {
\s;     message("hello");
\s; }
\n;

Nome de arquivo:

Salve isso como say-foo.cbot. Nota: certifique-se de marcar a caixa de seleção "Público" ao salvar - isso fará com que say-foo.cbot esteja dentro do program/ pasta.
\c;
\s; extern void New()
\s; {
\s;     message("Foo");
\s; }
\n;

Use a função de factory assim:
\c;
\s; extern void New()
\s; {
\s;     factory(WheeledGrabber, "program/say-foo.cbot");
\s; }
\n;
\t;Veja também
\c;\l;researched\u cbot\researched;\n;, \c;\l;wait\u cbot\wait;\n;.
\l;Programming\u cbot;, \l;types\u cbot\type; and \l;categories\u cbot\category;.
