Quebrando as regras
anterior  |  índice  
 

A estrutura básica das aventuras, no MA, dispensa programação (de qualquer natureza) no entanto existem inúmeras situações (uma posição especial, um objeto complexo, por exemplo) que demandam mais do que o simples encaminhamento automático do processamento. E não apenas isso, mas a rigidez do formato básico nos desafia a resolver de forma mais elaborada certas situações, ou mesmo todo o conjunto da criação.

Foi pensando nisso e para dotar o sistema do MA de recursos mais poderosos, que desenvolvi e implementei o recurso da programação em forma de scripts. Portanto, ao usar ou pretender usar tal conjunto de elementos, tenha em mente o seguinte:

1)- o desenvolvimento da aventura não fica mais fácil ou mais simples, muito pelo contrário: daqui pra frente TUDO ficará mais difícil, exigirá uma atenção muito maior aos detalhes e, por mais que o computador seja uma máquina maravilhosa e a programação seja um presente dos deuses, nem tudo poderá ser resolvido dentro do editor da aventura e algumas coisas terão que ser feitas à mão mesmo.

2)- é plenamente possível usar o recurso da programação em partes específicas da aventura ou no seu todo. É possível escrever a aventura inteira usando apenas os scripts e com isso tornar o visual do jogo totalmente maleável às situações da aventura.

3)- se você é daqueles que acha que uma aventura pode ser criada em dias ou apenas horas, então se prepare para as más notícias: isso não é possível. Aliás esse é o grande barato do Micro Aventuras: você não precisa resolver tudo de uma só tacada. Curta o desenvolvimento, a elaboração, as mudanças, adaptações, etc. Por causa disso que o sistema é online, para que as coisas possam ser modificadas no transcorrer do desenvolvimento e ainda assim já ser plenamente “jogável”, por qualquer pessoa no planete Terra (como uma conexão à internet, é claro).

Se ainda não desistiu depois de ler as más notícias, então vamos em frente e o principal a saber sobre os scripts é o seguinte:

1)- scripts são textos onde cada linha contém uma (e apenas uma) instrução de programação. Fique tranquilo que vou explicar, ao longo de várias matérias, o que cada instrução faz e como usá-las corretamente.

2)- scripts são executados imediatamente e totalmente ANTES da página HTML ser montada e enviada ao navegador do usuário, ou seja, a página HTML será montada (seguindo o modelo básico do MA) porém incluindo as modificações de acordo com o que foi programado naquele script específico. Portanto, são modificações “locais”, válidas apenas e tão somente para a página em construção (salvo algumas exceções, que serão tratadas mais à frente).

A melhor forma de aprender e de utilizar o potencial dos scripts (antes de tentar uma criação “do zero” com eles) é ir implementando seu uso numa aventura já criada e para resolver pequenas “complicações” dela. Mostrarei como fazer isso ao longo das próximas matérias, tomando como ponto de partida que você já entende bem o funcionamento básico da estrutura do Micro Aventuras. Sendo assim...

Em primeiro lugar, existem duas formas do sistema executar (ou “rodar”) um script: ou ele foi “chamado” por um link ativo em uma posição ou foi executado “no lugar” da posição tradicional. Só pra constar e confirmar: posição é como chamamos um local, página ou simplesmente um “elemento” do jogo, que contém a tela (da posição ou de leitura), os ícones (menu e objetos) e o texto no rodapé.

Pois bem, sabemos que toda posição tem um nome e contém os dados referentes a ela, como o nome da tela, o texto do rodapé, etc. Se existir um script com o mesmo nome dessa posição, então, quando o jogador “chegar” neste local ou for “ler” essa página, o referido script será executado no lugar do processamento básico tradicional. Essa é uma forma de substituir uma posição inteira por um script.

Por outro lado, o script pode ser necessário após o jogador já ter “chegado” na posição ou “lido” a página e aí precisaremos de um link (tipo 16) ativo para executá-lo e o nome do script, neste caso, pode ser qualquer um.

Vamos focar por enquanto neste segundo caso, ou seja, o jogador não apenas “chegou” na posição/página como ela existe e é usada em seu modo básico. Nesse caso usaremos um script para (por exemplo) provocar o uso de uma outra tela, mas ainda assim permanecendo na mesma posição (uma mudança no cenário ou um texto oculto por exemplo).

O procedimento de criação do link é o mesmo já usado para outros links e acredito que já saiba como proceder. Então, só precisa criar as condições para a existência dele (um ponto da tela que possa servir para o link).


Obs: no MA existe uma aventura chamada “Exemplos...” que aparece com asterisco antes do nome. Isso significa que esta aventura pode ser acessada por qualquer um, mas não pode ser alterada. Ela será usada daqui para frente para ilustrar as matérias sobre a programação com scripts.
Ao entrar na aventura “Exemplos...” você verá a posição inicial, chamada por default “inicio”. Ela é composta pela tela02.jpg e pelo link para o script “script01”.

Então, ao clicar no link, o processamento do MA irá executar o script “script01”, que pode ser visto na figura abaixo.


As linhas que iniciam com “//” são apena
s comentários e não tem relevância para o processamento. Elas são simplesmente ignoradas. Portanto, a primeira linha de instrução efetiva é a que contém:
icones on,on,on
No processamento normal de um script (ou em substituição a uma posição) os ícones principais (menu e objetos) ficam por default “desligados”, ou seja, eles não serão mostrados (você entenderá o porque disso mais à frente). Como queremos simular a posição de forma tradicional, apenas “ligamos” os três ícones de deixamos o MA tratar deles como normalmente faria.
telpos= tela03.jpg
A segunda instrução informa ao sistema qual o nome da tela que deve ser mostrada ao jogador/usuário. Note que na posição “natural” o nome da tela é “tela02.jpg” e agora passou a ser “tela03.jpg”. Ou seja, este é o primeiro recurso importante a ser compreendido: ao usar um script você terá que (ou poderá) informar o nome da tela que deseja que o sistema mostre ao jogador. Se não informar nada, então a tela “natural” da posição será mostrada.

Em seguida temos uma das mais importantes instruções do sistema. Ela pode ser chamada de “comando” (cmd=) ou de item (itm=) indicando um elemento à parte, que pode ou não conter um link, imagem, texto ou outros parâmetros. No caso específico desse exemplo, as duas linhas contém um link para dois determinados arquivos php (que são aqueles que realmente executam as coisas no MA).
cmd= map,228,316,486,38,exescp.php?Scp=script02
cmd= map,136,354,570,38,showpos.php?X=0
O primeiro dado da instrução cmd= é o tipo de link que ela contém, ou seja, “map” significa que a área do link não contém mais nada além das coordenadas da área. A sintaxe correta desta instrução é:
map,left,top,width,height,arq.php

Portanto, a tela “deve” conter algo que indique que aquela área específica pode ser “clicada”. Esse tipo de link é bem simples de ser usado porém ele tem um inconveniente: fica “preso” ao conteúdo da tela, ou seja, para alterar o visual dele você terá que alterar a tela propriamente dita.

No exemplo aparecem dois arquivos php a saber:

showpos.php é o aquivo que o MA usa para mostrar uma posição (a posição atual do jogador) dentro da estrutura normal de funcionamento e no caso do exemplo estamos apenas “voltando” para a tela normal da posição. O parâmetro “?X=0” não significa nada e apenas existe para complementar a instrução.

exescp.php indica que o script informado no parâmetro “?Scp=script02” será executado ao ocorrer um clique dentro da área do link. É basicamente a mesma coisa do link tipo 16, que usamos para chegar até aqui.

msg= Você ainda está na posição "inicio".
A instrução final (msg=) informa (como no caso da tela da posição) que essa é a mensagem a ser mostrada no rodapé (e não a mensagem default da posição).

Note que escolhi com cuidado a frase, para deixar bem claro para você que, embora esteja executando o script 01 ou mesmo o 02, você (o jogador) ainda está na mesma posição “inicio”, ou seja, se havia algum objeto nela por exemplo, você ainda terá informações e acesso a ele.

O script02 usado no exemplo é praticamente igual ao script01, porém com uma instrução a mais:

corfnd= 808080
Esta instrução irá fazer com que ao ser executado, a cor de fundo do navegador seja alterada. Mas atenção: ao executar outro script ou mesmo retornar à visão natural da posição, a cor original será restaurada, ou seja, aquela mudança de cor valeu apenas para aquele script específico.

Complicado? Difícil de entender? Bem, as coisas não ficarão mais simples daqui em diante, mas você tem o grupo Aventuras Interativas no facebook para fazer perguntas e tirar dúvidas pertinentes ao MA. Use-o (é grátis).
anterior  |  índice  
 Dúvidas, críticas, sugestões, etc... Acesse o grupo Aventuras Interativas no Facebook