Pokémon World
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Escola de scripts.

Ir para baixo

Escola de scripts. Empty Escola de scripts.

Mensagem por Mewtwo Dom Jan 04, 2009 1:31 pm

Tudo sobre scripts


Eu traduzi esse tuto do site do WAH.
Do que precisa saber...


Este guia está dividido em três partes para que seja mais fácil de entender:
1ª Dicionário, com explicações das palavras básicas
2ª Começar, que explica onde escrever o script e o que escrever ao início do script
3ª Comandos, que diz como escrever os comandos que mais geram dúvidas:
Applymove, givepokemon, wildbattle e receber um ovo e manejar flags

Os commandos requerem conhecer os bytes dos pokemon, dos objetos e dos movimentos que estão contidos na seção dos códigos.

Dicionário

Comandos: São simples ações que são executadas no jogo quando faz funcionar o script onde os comandos estão escritos. Os comandos são escritos em hexadecimal na rom.
Script: è formado por comandos. Pode-se executar de muitas maneiras diferentes: como um evento, como um comportamento que ele dá a um bloco, como um script de mapa, etc.
Evento: Nos mapas é o que executa o script. Pode ser um boneco (people, quando clica executa o script), uma placa (signpost, quando clica executa o script), um disparador (scripts, só em passar em cima que o script é executado), ou um,a saída (warp, passa por cima e te leva para outro lugar). Pode-se executar o mesmo script apartir de vários eventos.
Dicionário Hex
Byte: Dois números hexadecimais (0123456789ABCDEF) por exemplo 6C, a rom é escrita com bytes, no total tem FF FF FF bytes desde 00 00 00 até FF FF FF.
Direção(offset): Na rom cada byte vem numerado, assim é a direção e a posição do primeiro byte de um script, texto, quadrado, paleta, etc.
Flag: São os bytes, por exemplo, 20 4D, que atuam como um interruptor aguardando um número. Pode fazer que ao falar com um personagem o interruptor é ativado (setflag 0x204C) e que outro personagem quando é interrompido (checkflag 0x204C 0x1) te dá um pokemon (givepokemon)

Começar

Depois de ler isto terá uma idéia dew como começar, o mais "fácil" de se usar é o scripted, por essa raz~eo não é um programa "para tontos".

Para fazer um script precisa basicamente, escrever um série de comandos ordenados em uma parte da rom, que pode ser em umja parte vazia ou sobre um script já existente (algo mais fácil):

Sobre outro script:

Abra o Elitemap aperte Ctrl, e clique no evento que queira modificar (um evento pode incluir em vários scripts encadeados).

Abrirá o scripted mostrando o script, se não mostrar pode ser um problema de extensão, para resolver abra o windows explorer (windows + E), vá em ferramentas, opções de pasta, ir na guia Modo de Exebição e desativar a opção Ocultar as extensões dos tipos de arquivos conhecidos;

Antes (sem extensão) :
https://2img.net/h/i164.photobucket.com/albums/u17/quilava-shiny/tutorial/sinextens1mh.png


Depois ( com exrensão):
https://2img.net/h/i164.photobucket.com/albums/u17/quilava-shiny/tutorial/conextens1td.png


Uma vez que pode ver o script, faltará o mais importante, por os teus próprios comandos. Os básicos estão explicados abaixo.

Por um script em um espaço vasio:

Abra a rom com o thingy e busque um espaço vasio (lendo de 'FF' ou de '00'):
Escola de scripts. Thingyespaciovacio4hb

Então clique em algum ponto, aperte espaço, aperte a tecla da direita para mover um byte, e aperte espaço novamente.

Na janela que aparece, faz como se pusseses uma arroba (alt+ctrl+2), aparecerá um quadrado em branco em que tem que escrever '02'. Aper te enter e o 02 aparecerá no Thingy:
Escola de scripts. 02thingy9do

agora aponte o cursor na primeira linha do thingy, o ponteiro que mostra onde põe a direção do script no scripted para abrí-lo:
Escola de scripts. Script1ku

Agora apague todas as linhas e ponha os scripts que quizer.

Iniciar o script

SEMPRE começa assim:
#org 0x(direção)
e termina com
'end'
esse comando indica que o script acabou.

Comandos

Applymovements

Seve para animar os minisprite no jogo.
É simples: tem que carregar uma série de movimentos para um minisprite, esta série tem que salva a parte com o thingy.
Exemplo:
Escola de scripts. Exemplo1

Se escreve assim:

applymovement 0xMinisprite 0xDireção
isso significaria animar o minisprite 2 com o movimento que começa em 081A0841 para ver o número do minisprite no A-Map:
Escola de scripts. C178d079ba9pg

o movimento se salva mediante THINGY e de uma maneira muito simples:
por em ordem como vão ir
E diretamente em hexadecimal:
Na janela de escrever texto, faz como se pusseses uma arroba (alt+ctrl+2), aparecerá um quadrado branco em que tem que escrever 'o byte de cada movimento'. Aperte enter e o byte estará escrito na rom.

Nota: Se colocar FF no minisprite, o movimento realizará o protagonista.

Givepokemon

Serve para que te deêm um pokemon para sua equipe
Tem que especificar o índice (número do pokemon), nível e se carrega algum item.
Exemplo:
Escola de scripts. Exemplo2

Receber um Gorebyss (01 77) de nível 30 que carrega um Meteorite.


Se escreve assim:
givepokemon 0xPk 0xNivel 0xObjeto
Pk- Os bytes do pokemon quedeseja
Nivel- o nível em hexadecimal do pokemon
Objeto- Os bytes do item que o pokemon carrega, se não carregar nenhum só coloque 0.

Receber um ovo

Serve para que tem deêm um ovo de pokemon.
Este comando não está codificado pelo scripted, então pode escrever facilmente.

è muito simples, só precisa inserir esta série de comandos em seu script (com um editor hex):
Exemplo:
Escola de scripts. Exemplo3

Receber um ovo de Phanpy (00 E7)


Se escreve assim:
#binary 31 72 00 67 EA C2 16 08 32 66 7A Pk2 Pk1
Pk1- O 1º byte do embrião
Pk2- O 2º byte do embrião

Wildbattle


Serve para iniciar uma batalha com o Pokemon que quizer.
Na realidade é mais que um comando, e uma combinação de vários comandos, mas para escrevre pode usar essa fórmula simplificada.
Exemplo:
Escola de scripts. Exemplo3-1

Lutar contra um Jigglipuff (00 27) de nível 5


e escreve assim:

wildbattle 0xPk 0xNivel 0xEscenario
Pk- Byte do pokemon
Nivel- O nível em hexadecimal do pokemon
Escenario- o byte do cenário da batalha:
0 Normal 1 Fogo (Groundon) 2 Grama 3 Remolino

Encadear scripts


Isso é simplesmente um comando que executa outros scripts:


Exemplo:
Escola de scripts. Exemplo5

Quando chegar aquí irá executar o script que começa com 6B20D2


Pode-se escrever:

goto 0xDirección
Dirección- O script que vai começar.

call 0xDirección
Dirección- O script que vai começar.. Se este script acaba com ‘return’, então ao chegar ali continuará o script original de onde havia deixado.

Usar flags


Se precisar inserir um comando que comprove se a flag está ou não ativa, para que não se repita os mesmos scripts da outra vez.

Se escreve:

setflag 0xFlag

Para ativar a flag

clearflag 0xFlag

Para desativar a flag

checkflag 0xFlag

if 0xValor jump 0xDireção

Comprovar a flag para eleger caminho

Flag- A flag a que se refere
Valor- Pode ser 0 (falso) para desativado ou 1 (verdadeiro) para ativado
Direção- Caminho que se dirigirá se essa flag se cumpre.

Exemplo:

https://2img.net/h/i164.photobucket.com/albums/u17/quilava-shiny/tutorial/exemplo6.png

Este script serve para que te deêm um pokemon só uma vez. Primeiro comprova que a flag está desativada. Se não estiver ta da um pokemon e ativa a flag para que quando voltar a executar comprove que está ativada e te mande a outra direção.


obs: esse tutorial serve para entender melhor sobre scripts, talvez amanhã eu traduza o tuto de como criar scripts e poste aki no forum!

obs²: infelismente o forum não permite muitas imagens, então algumas delas estão como link.
Mewtwo
Mewtwo
Registado
Registado

Número de Mensagens : 66
Warn :
Escola de scripts. Left_bar_bleue25 / 10025 / 100Escola de scripts. Right_bar_bleue

Anti-Warn :
Escola de scripts. Left_bar_bleue0 / 1000 / 100Escola de scripts. Right_bar_bleue

Data de inscrição : 29/12/2008

Ir para o topo Ir para baixo

Ir para o topo


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