Bem vind@ ao fórum Pokémon Portugal!

Também gostas de Pokémon? Então junta-te a nós! =)
_____


AVISO: Isto NÃO é um jogo. Isto é um forum que trata sobre o tema de Pokemon.
Esperemos que te divirtas :)

Participe do fórum, é rápido e fácil

Bem vind@ ao fórum Pokémon Portugal!

Também gostas de Pokémon? Então junta-te a nós! =)
_____


AVISO: Isto NÃO é um jogo. Isto é um forum que trata sobre o tema de Pokemon.
Esperemos que te divirtas :)
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

[Tutorial] Aula 05 - Flags Parte 2

Ir para baixo

[Tutorial] Aula 05 - Flags Parte 2 Empty [Tutorial] Aula 05 - Flags Parte 2

Mensagem por RicardoC Dom 26 Ago 2012, 11:59

Por esta altura já se sabe construir um script básico com algum texto, cores e fazer com que ele não se repita. Na última aula falei de como as flags fazem com que um script não se repita e também fazem como se criar eventos após outros eventos acontecerem 1º.
Pois bem, antes de mais, algumas flags são especiais. Essas Flags especiais activam os crachás recebidos, activam-nos a pokédex ou os pokémons, etc. Essas flags têm números especificos; então se vamos criar um script não podemos por essas flags especificas pois dá erro.

Vamos só ver um exemplo de a parte de um script final onde se activam as sapatilhas.

...
message $receber
$receber 1 = Aqui tens as tuas novas \nsapatilhas.
boxset 6
setflag 0x82F
release
end

Nesta pequena parte final de um script, vemos uma mensagem e uma flag a ser fechada, com o valor de 82F. Isso activa as sapatilhas. Ao contrário da aula anterior, neste caso não é preciso por-se o checkflag, porque é só preciso activar a flag e fechá-la, então o script todo podia ser só isto:

#org $inicio
lock
faceplayer
message $receber
$receber 1 = Aqui tens as tuas novas \nsapatilhas.
boxset 6
setflag 0x82F
release
end


E recebíamos as sapatilhas. Simples não é? Passemos à parte de eventos antes de outros eventos. Isto aqui já demora um pouco mais e parece mais confuso, porque? Porque vamos estar a tratar de 2 scripts ao mesmo tempo.
Vamos criar algo simples, algo do estilo, um rapaz apenas diz outra frase quando falarmos com alguém. Então escrevemos o 1º script.

#org $inicio
lock
faceplayer
checkflag 0x201
if 1 goto $jadisse
message $falar
$falar 1 = Só digo esta frase!
boxset 6
release
end

#org $jadisse
message $falar2
$falar2 1 = Agora digo esta!
boxset 6
release
end

Analisemos o script. Na primeira parte, temos o checkflag 0x201 (201 porque 200 já foi utilizado na aula anterior), ele vai verificar se a flag foi activa ou não. Se a flag não foi activa, ele vai dizer o offset $falar, se foi activa vai passar para o offset $jadisse.
Este será o 1º script, tratemos agora do 2º só para vermos o que há de novo.

#org $inicio
lock
faceplayer
message $diz
$diz 1 = Agora, aquele rapaz \njá te diz outra coisa.
boxset 6
setflag 0x201
release
end

O que há neste 2º script? Então, temos um script básico, mas no fim temos o setflag 0x201; isto vai dizer ao jogo que a flag já foi activa e que o outro script pode passar para um novo diálogo.

O que é que eu queria mostrar com isto?
Que as flags não têm que estar todas no mesmo script, ou seja, as flags podem trocar entre scripts conforme os efeitos desejados. Apenas
relembro que têm que mudar o ID da personagem no A-MAP se não o jogo não reconhece que a personagem é a que tem o flag 201 e vai andar sem saber o que fazer, criando um erro no jogo.


Aqui têm algumas flags especiais:
0x820 – Activates First Badge
0x821 - Activates Second Badge
0x822 - Activates Third Badge
0x823 - Activates Fourth Badge
0x824 - Activates Fifth Badge
0x825 - Activates Sixth Badge
0x826 - Activates Seventh Badge
0x827 - Activates Eighth Badge
0x828 - Activates Pokemon Menu
0x829 - Activates Pokedex Menu
0x82F - Activates Running Shoes

Obrigado e não se esqueçam de comentar.

RicardoC.
RicardoC
RicardoC
Rank:
Rank:

Mensagens : 87

http://http:\\www.pokemonelements.foruns.com.pt

Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos