Cranes &amp; Crushers
Autor: Gustavob | Publicado: 2009-12-24T22:47:00-02:00

&#160;  Um car crusher eh uma combinação de vários objetos no script, incluindo o crusher, os guindastes e as esteiras.  Lista de características  &#160;    Antes de vc poder criar um car crusher completo, vc primeiro deve entender como ele funciona:      Um carro é estacionado abaixo do crane/guindaste 1     O crane 1 pega o carro e o coloca no crusher     O crusher destrói o carro     O crane 2 pega o carro e o coloca no conveyor belt/esteira 1     O wreck passa por um scanner, entra no prédio 1 e desaparece     No outro lado do prédio, uma recompensa é criada no conveyor belt 2 e sai do prédio     Se a recompensa não é coletada, ela entra no prédio 2 e desaparece             Crusher  Vamos começar com o crusher em si. A base deve consistir de 5 blocos dispersados em um sinal de +; nos distritos, as beiradas sao preenchidas com paredes diagonais, formando um octagono. A base não precisa ser elevada, mas tenha certeza que é impossivel chegar nela. O crusher em si é colocado no script com o seguinte comando:                       CRUSHER nome = ( X.x , Y.y )                 &#160;              nome        Um nome único pro crusher                  ( X.x , Y.y )        As coordenadas do crusher. A coordenada Z.z não é necessária, pois o jogo coloca o crusher no ponto mais alto do lugar, por isso vc nao pode colocar nada em cima do crusher          &#160;  Cranes/guindastes  Próximo do crusher, vc precisa de dois cranes. No mapa, o crane consiste simplesmente de 2 blocos um acima do outro; o guincho dele é feito no script. Há vários tiles pra cranes, como o 878. Não coloque um crane muito proximo do outro, pois será estranho se um crane se mover através do outro.  Primeiro crane  Para o primeiro crane, vc precisará deste comando:                       CRANE_DATA nome = ( X.x , Y.y ) rotação_crane NO_HOMECRANE FIRST ( X.x , Y.y 2) rotação_carro                               nome        Um nome unico. Vc vai precisar dele dps                  ( X.x , Y.y )        As coordenadas do crane. De novo, sem a coordenada Z                  rotação_crane        A rotação do guincho do crane qdo ele está parado.                  ( X.x , Y.y 2 )        As coordenadas do lugar no qual o crane deve colocar o carro. Neste caso, o centro do crusher.                  rotação_carro        A rotação do carro na hora que ele é posicionado no crusher. Ela deve ser 0 ou 180 qdo o carro será colocado num crusher          &#160;  Segundo crane  O segundo crane pega o wreck do crusher e o coloca no conveyor belt 1. Isso eh feito com o seguinte comando:                       CRANE_DATA nome = ( X.x , Y.y ) rotação_crane nome_primeiro_crane SECOND ( X.x , Y.y 2)           rotação_carro                              nome        O nome unico do crane                  ( X.x , Y.y )        As coordenadas do crane                  rotação_crane        A rotação do guincho na posição inicial                  nome_primeiro_crane        O nome do primeiro crane                  ( X.x , Y.y 2 )        As coordenadas do lugar que o crane deveria colocar o wreck, no caso o conveyor belt                  rotação_carro        A rotação que o wreck devera ter em relação ao conveyor belt. Ela deve estar alinhada ao rumo que o conveyor vai          Crane básico  O crane básico é um crane que pega os carros e os coloca nos Transporters/Transportadores/Trailers e vice-versa. Esse tipo de crane não é usado para crushers              CRANE_DATA nome ( X.x , Y.y ) rotação_crane NO_HOMECRANE                      nome        Um nome único pro crane                  ( X.x , Y.y )        As coordenadas do crane                  rotação_crane        A rotação do guindaste na posição inicial          Esteira/Conveyor Belt  Os conveyor belts transportam o wreck dentro de um predio e a recompensa fora de outro prédio. Eles são feitos com tiles animados e um comando. Qdo fazendo o conveyor belt, vc deve extendê-los ao menos dois blocos dentro dos prédios para ter espaço o suficiente pra fazer os objetos aparecerem e desaparecerem fora do campo de visão. No arquivo de texturas bil.sty, os tiles usados para os conveyor belts são os 309, 313, 317 e 318. Dê a animação a “frame rate” de 2 pra eles ficarem com a mesma velocidade que a dos objetos se movendo.  P/ fazer os objetos se moverem qdo colocados nos tiles animados, vc tem q colocar o seguinte comando no seu script:              CONVEYOR nome = ( X.x , Y.y , Z.z ) ( X.x , Y.y 2 ) X Y                        nome        Um nome único pro conveyor                  ( X.x , Y.y , Z.z )        As coordenadas do centro do conveyor                  ( X.x , Y.y 2 )        A largura e o comprimento do conveyor                  X        O movimento de acordo com o eixo X: 1 é pro leste, 0 é parado e –1 é pro oeste                  Y        O movimento de acordo com o eixo Y: 1 é pro sul, 0 é parado e –1 é pro norte          &#160;  Scanner  Scanners são objetos invisiveis que detectam qual era o modelo do wreck ou veículo que passou por ele e diz ao GENERATOR qual é a recompensa que deve ser dada. Note que o scanner pode escanear wrecks, mas tbm veículos não-compactados, fazendo com que seja possível pular o processo do crusher e criando um sistema no qual os carros são “entregues” em troca de uma recompensa              DECLARE_CRANE_POWERUP ( nome_crane , nome_generator , X , Y , Z )                       nome_crane        O nome do crane que poe o wreck no conveyor.                  nome_generator        O nome do generator que cria a recompensa (ver abaixo)                  X , Y , Z        As coordenadas do scanner. O lugar ideal é logo antes do DESTRUCTOR (veja abaixo), pq aí vc tem certeza q o wreck q vc colocou ali é escaneado antes de ser deletado          Destructor  Os DESTRUCTORs são objetos invisíveis que deletam qualquer coisa que passa por eles. Vc precisará de um no final de cada conveyor: um pra remover os wrecks e um pra remover as recompensas não utilizadas. Os DESTRUCTORS devem estar escondidos dentro de um prédio, pra mascarar o fato que os objetos desaparecem do nada no ar.              DESTRUCTOR nome = ( X.x , Y.y , Z.z ) ( X.x , Y.y 2)                       nome        Um nome único pro destructor.                  ( X.x , Y.y , Z.z )        As coordenadas do centro do destructor.                  ( X.x , Y.y 2 )        A largura e comprimento do destructor (deixe como “1.0 , 1.0”)          GENERATOR  No começo do segundo conveyor, na localização onde as recompensas devem ser criadas, vc precisa criar um GENERATOR. Não importa qual OBJECT/objeto vc coloca no generator, e vc nao tem q ativá-lo com um SWITCH_GENERATOR. O tempo que tem que demorar pra aparecer uma recompensa qdo o wreck passa pelo scanner pode ser “setado” com o tempo_min e tempo_max.  Lista de recompensas  Finalmente, vc deve escolher qual carro da qual recompensa. Isso eh feito com o seguinte comando:              DECLARE_POWERUP_CARLIST ( CARRO1 , CARRO2 , … , CARRO18 , CARRO19 )          Recompensas do Car Crusher              CARRO1 , CARRO2 , … , CARRO18 , CARRO19        A lista de carros correspondentes a lista de recompensas abaixo (em ordem). CARRO1 da uma metralhadora, CARRO2 uma Rocket Launcher, CARRO3 uma Electrogun, etc. Armas vem em          sets de 3x5 de munição. Carros não mencionados nessa lista darão uma metralhadora                      1        Metralhadora                  2        Rocket Launcher                  3        Electrogun                  4        Molotov Cocktails                  5        Grenades                  6        Shotgun                  7        Electro Baton (coloque um veiculo pesado aqui ou um veículo ja colocado pra evitar que os jogadores peguem o Electro Baton                  8        Flamethrower                  9        Silenced Machine Gun                  10        Health                  11        Armour                  12        Get Outta Jail FreeCard                  13        Cop Bribe                  14        Invulnerability*                  15        Double Damage                  16        Fast Reload                  17        Electrofingers                  18        Respect!                  19        Invisibility          Exemplo  Abaixo está um exemplo de um car crusher funcional e completo.              CRANE_DATA crushera = ( 67.5 , 84.5 ) 0 NO_HOMECRANE FIRST ( 65.5 , 86.5 ) 180                  CRANE_DATA crusherb = ( 44.5 , 21.5 ) 283 crushera SECOND ( 43.5 , 21.5 ) 0                  CRUSHER crusherc = ( 65.5 , 86.5 )                  CONVEYOR crusherd = ( 67.0 , 81.5 , 3.0 ) ( 8.0 , 1.0 ) -1 0                  DESTRUCTOR crushere = ( 70.5 , 81.5 , 3.0 ) ( 1.0 , 1.0 )                  CONVEYOR crusherg = ( 73.5 , 87.0 , 3.0 ) ( 1.0 , 8.0 ) 0 1                  GENERATOR crusherf = ( 73.5 , 83.5 , 3.0 ) 0 COLLECT_06 300 300 5                  DESTRUCTOR crusherh = ( 73.5 , 90.5 , 3.0 ) ( 1.0 , 1.0 )                  LEVELSTART                  DECLARE_CRANE_POWERUP ( crusherb , crusherf , 69.5 , 81.5 , 3.0 )                  DECLARE_POWERUP_CARLIST ( ALFA , DART , EDSEL , FIAT , GRAHAM , JEFFREY , JEFFREY , MORGAN , MORRIS , SPIDER , STINGRAY , STYPE , STYPECAB , VESPA , WBTWIN , XK120 , MIURA , EDSELFBI , ISETTA )                  LEVELEND          &#160;  Notas     Vc só pode fazer 10 crushers. Nenhum a mais    Vc só pode usar uma lista de recompensas, todo car crusher dará as mesmas recompensas.