Página 1 de 2

Script advanced tutorial

Enviado: Ter Set 22, 2009 7:02 pm
por Mathey Bu
Esse conteudo e para basicos +. Se você não conhece essa progamação, consulte a zdoom wiki antes de ler isso!

vum bora:

ACS - Action Compiled Script é geralmente utilizado para um conjunto de ações. Ex:

Aki tres portas se abrem ao mesmo tempo:

Código: Selecionar todos

Script 1 (void)
{

Door_Open(1, 20);
Door_Open(2, 20);
Door_Open(3, 20);

}
Legal, mas... por quê?

Porque antigamente na engine de doom, os programadores tinham ideias revolucionádoras, mas não tinham ACS para facilitar ainda mais a engine. Um exemplo é a fase 7 do doom², que você precisa matar todos os monstros pra passar de fase. Eles ao invés de usar Scripts usavam Mapinfo.
Depois de grande sucesso pelo jogo, eles queriam avançar um pouco mais. Foi daí que criaram o HEXEN! Que graças ao ACS o jogo foi um grande sucesso.
Depois desse sucesso foi criado a configuração DOOM IN HEXEN FORMAT ou ZDOOM/GZDOOM. Que Facilitaram muito a programação, podendo fazer milhares de coisas ao mesmo tempo.

O que o ACS influência?

Conjunto de varidas ações

Comunicação ao suporte de functions

Comunicação ao suporte do wad, ex: decorate, sndinfo...

Checagem de variaves, strings, bools e ações

...



Agora vamos aprender o que é um script avançado!

vejamos um script básico de conjuntos:

Código: Selecionar todos

Script 1 open
{

Door_Open(2, 40);
Door_Open(3, 40);

}
agora um de checagem:

No caso quando você matar todos imps aparecera uma mensagem.

Código: Selecionar todos

Script 1 (void)
{

While (ThingCountName("DoomImp", 0) > 0)
{

delay(1);

}

print(s: "voce matou todos os imps!");

}
e o que é um script void? Aquele que só pode ser ativado por linha?

tamém, mas também poder ser ativado por ACS. Na verdade o tipo VOID indica que nao vai retorna nenhum valor a variável.

Aki um de suporte ao decorate:

Aki da um item ao ator

Código: Selecionar todos

Script 1 (void)
{

GiveInventory("UltimateMissile", 1);

}
Mas agora aki:

Código: Selecionar todos

Script 1 (int number)
{

GiveInventory("HealthBonus", number)

}
Isso é útil quando você quer executar um script numa linha dando as informações sem precisar ficar indo no script editor

o INT NUMBER em parêntes = Argumento 1

no própio mapa você pode definir a ação 80 e o argumento dela.

breve mais...

Re: Script advanced tutorial

Enviado: Ter Set 22, 2009 7:11 pm
por Slime Dweller
legal pra quem vive em doom 2 format =D

Re: Script advanced tutorial

Enviado: Ter Set 22, 2009 7:16 pm
por Rico
Gostei Gostei (:

Re: Script advanced tutorial

Enviado: Ter Set 22, 2009 7:36 pm
por Pedro Vc
Mathey Bu escreveu: Eles ao invés de usar Scripts usavam Mapinfo.
Mapinfo... No Doom 2..... :facepalm:

Anyway, gostei do tuto, bem organizado e explicadinho :P

Re: Script advanced tutorial

Enviado: Qua Set 23, 2009 12:53 am
por Shadow Lord
Esse foi o primeiro tutorial no qual eu entendi tudo. :blue:

Re: Script advanced tutorial

Enviado: Qua Set 23, 2009 12:58 am
por ShadeNoah
AlanLord escreveu:Esse foi o primeiro tutorial no qual eu entendi tudo. :blue:

Re: Script advanced tutorial

Enviado: Qua Set 23, 2009 6:49 pm
por Mathey Bu
Pedro Vc escreveu:
Mathey Bu escreveu: Eles ao invés de usar Scripts usavam Mapinfo.
Mapinfo... No Doom 2..... :facepalm:

Anyway, gostei do tuto, bem organizado e explicadinho :P
parece mentira, mas sim ve o gzdoom.pk3 ou zdoom.pk3 ... que mostra a voce

ex: map ... dai em baixo tem mancubusspecial...

Re: Script advanced tutorial

Enviado: Qua Set 23, 2009 6:51 pm
por Pedro Vc
Isso é no Zdoom/Gzdoom......

Re: Script advanced tutorial

Enviado: Qua Set 23, 2009 6:57 pm
por Mathey Bu
nao se nao o mapa 7 do doom2 nao teria efeito, o mapinfo fica na verdade tipo q escondido num dos arquivos do wad.

Re: Script advanced tutorial

Enviado: Qua Set 23, 2009 7:07 pm
por Space Marine
Ateh onde eu sei o doom2 tem de natureza algumas acoes especiais feitas só pra maps como o 07 (nao lembro se tem mais) funcionar.