Escolar Documentos
Profissional Documentos
Cultura Documentos
Conhecendo Os Scripts Do RPG Maker XP
Conhecendo Os Scripts Do RPG Maker XP
Conhecendo os Scripts
Conhecendo os Scripts
1
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
Consideraes Iniciais
Devido falta de tutoriais a respeito desta ferramenta de criao de jogos, decidi aplicar um
pouco de meu tempo e o meu pequeno conhecimento do assunto para mudar este quadro. Estou
fazendo isso por vontade prpria e com o intuito de ajudar. Espero conseguir neste tutorial...
Por favor, me avisem se existirem erros (podem existir erros de portugus, sobre o RPG Maker
XP, erros de traduo ou qualquer coisa). Todos os erros sero corrigidos.
Este tutorial no um guia para solucionar problemas. Se voc no consegue executar o
aplicativo, no ser aqui que seu problema ser solucionado. Este tutorial de nvel Avanado.
Um bom conhecimento no RPG Maker necessrio para utiliza-lo.
O Maker utilizado neste tutorial uma verso em ingls, mas TODOS os nomes em ingls tm
sua traduo entre parnteses. No conheo nem utilizo verses em portugus.
No conheo
quem traduziu outras verses e podem existir diferenas entre as tradues. Fiz curso de Ingls
Tcnico I e Ingls Tcnico II e acho que a traduo deve estar razovel e coerente com a
realidade, apesar disso, podem ocorrer erros. Por favor, me avisem caso encontrem algum.
No estou aqui querendo afirmar nada sobre nada nem ningum. No quero ofender nenhum
leitor, ou o visinho, ou o cachorro do visinho, ou o papagaio de qualquer um que seja. No estou
tentando provar nada. No sou guru do RPG Maker XP. Portanto, tenham pacincia...
E me desculpem por qualquer tipo de transtorno e muito obrigado aos que me ajudaram e
incentivaram.
Fora isso, boa leitura...
2
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
Agradecimentos
Creio que sem ajuda ningum nada... Mesmo os seres mais arrogantes da face da terra, que
negam receber qualquer forma de ajuda, um dia tiveram que receber a ajuda de algum. Mesmo
que esta tenha sido h muito tempo atrs quando o mdico ajudou esta pessoa a nascer... Mas
vamos parar de enrolar e vamos ao que interessa.
Agradeo :
Minha famlia, por me criar e aturar...
Meus amigos de RPG, por jogarem comigo...
Colegas de RPG Maker XP, por tirarem muitas de minhas dvidas...
Aos que me ajudaram neste tutorial, demonstro aqui minha gratido, agradecendo :
phylomortis.com
pela excelente pagina da internet sobre o tema;
Se faltar algum, faa o favor de me avisar. A memria s vezes (vrias vezes) falha...
3
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
Sumrio
Tutorial RPG Maker XP
Consideraes Iniciais
Agradecimentos
Sumrio
Comeando
10
Introduo
10
O Editor de Scripts
11
Lgica de Programao
16
Introduo
16
Lgica
16
Seqncia Lgica
16
Instrues ou Expresses
17
Algoritimo
18
Diagrama de Bloco
19
Operadores Relacionais
20
Operadores Lgicos
22
Operaes Lgicas
24
26
27
A Lgica
28
4
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
30
Sintaxe e Expresses
31
Identificadores / Variveis
31
Comentrios
31
Palavras Reservadas
32
Expresses
33
Variveis e Constantes
34
Variveis Globais
34
Variveis de Instncia
35
Variveis Locais
35
Constantes
36
Pseudo Variveis
37
Expresses Literais
38
Nmeros Literais
38
Strings Literais
39
39
40
41
Hash
42
42
Symbols
43
Operadores RGSS
44
45
45
And (e)
46
Or (ou)
46
Not (negao)
47
47
Controle Estrutural
Condies
IF
if (Outra opo)
unless
unless (Outra opo)
case
48
48
48
49
50
50
51
5
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
52
while
while (Outra opo)
until
until (Outra opo)
for
break
next
Method Exit (Mtodo de Sada)
52
53
53
54
54
55
56
57
Return
57
58
58
60
61
63
alias (alis)
63
64
64
Arrow_Actor
65
Arrow_Base
65
Arrow_Enemy
65
Game_Actor
65
Game_Actors
65
Game_BattleAction
65
Game_Battler
66
Game_Character
66
Game_CommonEvent
66
Game_Enemy
66
Game_Event
66
Game_Map
67
Game_Party
67
Game_Picture
67
Game_Player
67
Game_Screen
67
Game_SelfSwitches
68
Game_Switches
68
Game_System
68
Game_Troop
68
Game_Variables
68
6
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
69
Scene_Battle
69
Scene_Debug
69
Scene_End
69
Scene_Equip
69
Scene_File
70
Scene_Gameover
70
Scene_Item
70
Scene_Load
70
Scene_Map
70
Scene_Menu
71
Scene_Name
71
Scene_Save
71
Scene_Shop
71
Scene_Skill
71
Scene_Status
71
Scene_Title
72
Sprite_Battler
72
Sprite_Character
72
Sprite_Picture
72
Sprite_Timer
72
Spriteset_Battle
72
Spriteset_Map
73
Window_Base
73
Window_BattleResult
73
Window_BattleStatus
73
Window_Command
73
Window_DebugLeft
74
Window_DebugRight
74
Window_Gold
74
Window_Help
74
Window_InputNumber
74
Window_Item
75
Window_MenuStatus
75
Window_Message
75
Window_NameEdit
75
Window_NameInput
75
Window_PartyCommand
75
Window_PlayTime
76
Window_SaveFile
76
Window_Selectable
76
7
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
76
Window_ShopCommand
76
Window_ShopNumber
76
Window_ShopSell
77
Window_ShopStatus
77
Window_Skill
77
Window_SkillStatus
77
Window_Status
77
Window_Steps
77
Window_Target
78
79
Introduo
79
Orientao a Obejtos
79
Criando um Script
84
Introduo
84
Scene_Tutorial
84
O Editor de Scripts
84
Planejando da Cena
87
Entendendo As Classes
88
class Window_TutorialCommand
class Window_Tela1
class Window_Tela2
class Scene_Tutorial
O Cdigo do Script
88
89
90
91
92
Testando o Script
Concluso
101
105
8
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
9
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
Comeando
Introduo
Uma pesquisa realizada em setembro de 2003 pela gamedev.net (um importante site para
programadores de jogos) revelou que a grande maioria dos jogos (72%) desenvolvida com o
auxlio de uma linguagem de script.
Embora as linguagens de script no sejam definidas muito precisamente, elas apresentam um
conjunto de caractersticas comuns tpicas. Em geral, as linguagens de script so linguagens
interpretadas, tm tipagem dinmica, gerncia automtica de memria, e fornecem facilidades
para construo de estruturas de dados dinmicas e manipulao de cadeias de caracteres.
Tipicamente, essas linguagens funcionam acopladas a programas hospedeiros implementados em
linguagens compiladas tradicionais como C e C++ (No caso do RPG Maker XP o Ruby). Uma
outra caracterstica importante de linguagens de script que elas devem ser seguras, no sendo
possvel acessar servios no autorizados do programa hospedeiro. A combinao dessas
caractersticas resulta numa excelente ferramenta para o desenvolvimento de jogos.
Acoplar uma linguagem de script em um jogo traz vrios benefcios. A linguagem de script pode
ser usada para efetivamente implementar o script do jogo, para definir objetos e seus
comportamentos, para gerenciar os algoritimos de inteligncia artificial e controlar os
personagens, e ainda para tratar os eventos de entrada e descrever a interface com o usurio.
Uma linguagem de script tambm desempenha um papel importante nas etapas de prototipao,
teste, depurao e anlise de adequao do jogo. A escolha de uma linguagem de script simples
permite ainda que seja dado a roteiristas e artistas acesso programvel ao jogo, a fim de que
eles que possam experimentar novas idias e variaes. Esses profissionais conduzem a maior
parte do desenvolvimento real do jogo, mas no so em geral programadores profissionais e no
esto familiarizados com tcnicas sofisticadas de programao.
10
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
Figura 01
Abrindo a tela do editor de scripts.
11
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
Figura 02
Tela do editor de scripts.
12
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
Azul Claro: O azul mais claro representa operadores e operandos em seu cdigo. Como
=,||, + , * , dentre outros. Alm disso, representa operadores condicionais, parenteses e
colchetes.
13
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
Figura 03
Menu pop up da tela principal do editor de scripts.
14
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
Figura 04
Menu pop up da listagem de scripts.
Como foi dito anteriormente muitas pessoas conduzem a maior parte do desenvolvimento real do
jogo atravs de scripts, mas no so em geral programadores profissionais e no esto
familiarizados com tcnicas sofisticadas de programao. Portanto vamos conhecer um pouco
mais sobre lgica de programao antes de continuar.
15
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
Lgica de Programao
Introduo
Antes de comear a mexer no editor visto no captulo anterior, vamos aprender um pouco de
lgica de programao e algoritimos. Isso pode parecer desnecessrio, mas para a criao de um
bom cdigo (e sem lags) necessrio saber programar corretamente. Veremos alguns segredos
de lgica de programao nos prximos captulos.
Lgica
A lgica de programao necessria para pessoas que desejam trabalhar com desenvolvimento
de sistemas e programas (incluindo jogos), ela permite definir a seqncia lgica para o
desenvolvimento.
Ento o que lgica?
Lgica de programao a tcnica de encadear pensamentos para atingir determinado objetivo.
Seqncia Lgica
Estes pensamentos podem ser descritos como uma seqncia de instrues, que devem ser
seguidas para se cumprir uma determinada tarefa. Seqncia Lgica so passos executados at
atingir um objetivo ou soluo de um problema.
16
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
17
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
18
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
Veja que no exemplo da bala seguimos uma seqncia lgica com informaes diretas.
19
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
Exemplo:
Tendo duas variveis A = 5 e B = 3, os resultados das expresses seriam:
20
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
21
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
E / AND Uma expresso AND (E) verdadeira se todas as condies forem verdadeiras
OU / OR Uma expresso OR (OU) verdadeira se pelo menos uma condio for verdadeira
NOT Uma expresso NOT (NO) inverte o valor da expresso ou condio, se verdadeira
inverte para falsa e vice-versa.
A tabela abaixo mostra todos os valores possveis criados pelos trs operadores lgicos (AND, OR
e NOT).
22
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
Exemplo 2:
Tendo as variveis SALARIO, IR e SALLIQ, e considerando os valores abaixo. Informe se as
expresses so verdadeiras ou falsas.
Verdadeiro
Falso
Verdadeiro
23
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
3. Retirar o papel;
4. Chupar a bala;
5. Jogar o papel no lixo;
24
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
Note que desta vez utilizamos o smbolo para comparao entre expresses.
25
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
26
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
27
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
Este algoritimo um bom exerccio de lgica, mas ainda podemos transform-lo em uma
estrutura de blocos.
28
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
Ler Nome
Ler Nota 1
Ler Nota 2
Ler Nota 3
Ler Nota 4
MEDIA := (NOTA1 + NOTA2 + NOTA3 + NOTA4) / 4
Mdia
>= 6.0
????
sim
Escreva
Aprovado
no
Escreva
Reprovado
Escreva
Nome e Mdia
Fim
29
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
A Sintaxe do Ruby
Quando voc tiver certeza de que conhece algoritimo e lgica de programao, est na hora de
passar para o estudo de uma linguagem de programao. Estaremos agora vendo os detalhes da
linguagem Ruby, principalmente a parte relacionada com RGSS.
Os scripts RGSS se baseiam numa linguagem de programao chamada Ruby. A sigla RGSS
significa Ruby Game Scripting System, que pode ser traduzida como Sistema de Script de Jogo
Ruby. Como podemos ver, os scripts so uma extenso ou pseudpode do Ruby.
Ruby uma linguagem que trata sua sintaxe de forma case-sensitive. O que seria uma
linguagem case_sensitive? uma linguagem que diferencia as letras maisculas das minsculas,
ou seja, se voc digitar algo minsculo e depois for usar, lembre-se de que deve digitar
minsculo novamente.
Exemplo:
Se voc criar uma varivel chamada vida_do_heroi e, mais tarde, se voc digitar
Vida_do_Heroi vai ocorrer um erro, pois estas duas variveis so totalmente diferentes para o
Ruby.
Variveis, identificadores, sintaxe, espaos em branco e comentrios podem ser colocadas em
qualquer lugar da tela destinada aos scripts. Outra caracterstica peculiar que as expresses
no precisam ser escritas numa mesma linha, ou seja, podemos criar comandos em duas ou mais
linhas. Utilizando este recurso sabiamente, o cdigo pode ficar mais limpo e fcil de entender.
Nos prximos captulos veremos a sintaxe e expresses bsicas dos Scripts RGSS. Ser mostrado
um resumo dos principais comandos e alguns exemplos. Qualquer semelhana com o arquivo de
ajuda do RPG Maker XP no uma mera coincidncia. Os prximos captulos foram realmente
baseados nos arquivos de ajuda do RPG Maker, portanto, se quiser mais detalhes sobre algo,
basta abrir o Help (Ajuda) do aplicativo.
30
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
Identificadores / Variveis
Um identificador ou varivel Ruby deve comear por um caractere alfanumrico ou o smbolo
underscore (_). No h limite de tamanho, contanto que sejam utilizados apenas caracteres
alfanumricos ou o smbolo underscore (_).
Exemplos:
ruby_simples
vida_do_heroi
aconselhvel declarar as variveis apenas com letras minsculas. No que seja errado usar
maisculas, mas fora do costume de muitos programadores.
Comentrios
Qualquer coisa que comece com um sustenido (#) considerado como um comentrio. Os
comentrios servem para escrevermos lembretes, dar dicas para outros programadores que
foram ler nosso cdigo, impedir que uma linha seja executada (sem apag-la), dentre outros...
Exemplos:
# esta uma linha de comentrio
# vida_do_heri = 500
# vida_do_heri = 1000
Os comentrios no so executados nem interpretados pelo aplicativo e aparecem no editor de
scripts com uma colorao esverdeada.
31
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
class
super
do
break
until
ensure
while
if
elsif
nil
alias
redo
module
self
defined?
true
retry
when
for
begin
unless
END
or
else
case
def
then
in
end
false
yield
rescue
next
32
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
33
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
Variveis Globais
Variveis que possuam o prefixo '$' so variveis globais e podem ser referenciadas de qualquer
parte do programa. Este tipo de varivel no necessita ser declarado. Quando referenciado, o
valor das variveis globais no iniciadas equivale a nil.
Exemplo:
$actor
34
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
Variveis Locais
As variveis locais e identificadores comeam com caracteres alfanumricos minsculos ou com o
smbolo '_' (underscore). Este tipo de varivel s pode ser usado ou acessado no mtodo onde foi
criado.
O escopo de variveis locais se estende entre outras estruturas como as classes, modules e
definies de mtodos (def). Neste caso, uma classe, por exemplo, considerada como uma
varivel local. Quando referenciado, o valor das variveis locais no iniciadas equivale a uma
chamada de mtodo sem nenhum argumento. Caso no exista um mtodo de mesmo nome, um
erro gerado.
Exemplo:
actor
35
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
# heroi1 = "Arshes"
heroi2 = ACTOR2
end
heroi1 = Actors::ACTOR1
# heroi1 = "Arshes"
heroi2 = Actors::ACTOR2
36
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
37
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
Nmeros Literais
Nmeros literais podem usar o smbolo underscore (_). O interpretador Ruby ignora estes
smbolos. Isso bastante til quando usado como separador em grandes nmeros. Contudo, se
este smbolo for usado aps um nmero literal, vai ocorrer um erro.
1_000_000_000
# => 1000000000
0xffff_ffff
# => 0xffffffff
38
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
# texto = "testando"
39
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
40
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
# c = [1, 2, 8, 9]
pa
# => [1, 2]
(sem mudanas)
pb
# => [8, 9]
41
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
42
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
43
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
::
[]
**
-(unary) +(unary) ! ~
* / %
+ << >>
&
| ^
> >= < <=
<=> == === != =~ !~
&&
||
.. ...
?:(conditional operator)
=(+=, -= ... )
not
Baixo and or
44
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
# => (a && b) || c
a || b && c
# => a || (b && c)
**
>= <
<=
<< >>
+@ -@ [] []= `
A atribuio de valor pode ser feita diretamente, a si mesmo ou atravs de uma atribuio
mltipla. Veremos vrias expresses com diversas formas de atribuio mais adiante.
45
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
Sintaxe:
expr '&&' expr
expr and expr
Or (ou)
Este operador avalia primeiramente o lado esquerdo da expresso, se o resultado for verdadeiro,
avalia o lado direito. Tem a mesma funo que || e um operador de baixa prioridade.
Exemplo:
vida || morte
vida or morte
Sintaxe:
expr '||' expr
expr or expr
46
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
Sintaxe:
'!' expr
not expr
Sintaxe:
expr1 ? expr2 : expr3
47
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
Condies
IF
if --- then --- elsif --- else --- end
Se uma expresso condicional for avaliada como verdadeira, executa a expresso do then.
Clusulas mltiplas de elsif podem ser especificadas. Quando todas as clausulas If e Elsif forem
falsas, a expresso else, caso exista, executado. If retorna o valor da ltima expresso avaliada
na clusula da expresso condicional (ou na clusula else). Se no houver nenhuma clusula else
e nenhuma expresso condicional for verdadeira, retorna nil. Valores falsos e o nil so false. Tudo
mais, incluindo cadeia de caracteres vazias, verdadeiro.
Exemplo 1:
if age <= 1 then
print "Recem nascido\n"
elsif age <= 12 then
print "Criana\n"
elsif age <= 18 then
print "Adolescente\n"
else
print "Adulto\n"
end
48
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
Sintaxe:
if expr [then]
expr ...
[elsif expr [then]
expr ... ]
...
[else
expr ... ]
end
if (Outra opo)
Avalia e retorna o resultado da expresso esquerda da clausula If se a expresso da direita for
verdadeira. Se a condio no tiver resultado possvel, retorna nil.
Exemplo:
print "debug\n" if $DEBUG
Syntax:
expr if expr
49
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
50
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
Sintaxe:
case expr
[when expr [, expr] ... [then]
expr ..]..
[else
expr ..]
end
51
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
while
Executa repetidamente as instrues at que a condio de parada seja alcanada. A expresso
while retorna nil. Opcionalmente, podemos fazer uma expresso while retornar um valor ligado
expresso break.
Example:
ary = [0,2,4,8,16,32,64,128,256,512,1024]
i=0
while i < ary.length
print ary[i]
i += 1
end
Syntax:
while expr [do]
...
end
A expresso while afeta o escopo das variveis locais.
52
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
until
Repete vrias vezes as expresses at que a condio de parada seja alcanada. until retorna nil.
Opcionalmente, podemos fazer uma expresso until retornar um valor ligado expresso break.
Exemplo:
until f.eof?
print f.gets
end
Sintaxe:
until expr [do]
...
end
53
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
for
A estrutura de repetio for uma das mais utilizada nos scripts, juntamente com o while. A
expresso for retorna o valor do mtodo each para cada objeto especificado no in.
Exemplo:
for i in [1, 2, 3]
print i*2, "\n"
end
Sintaxe:
for lhs ... in expr [do]
expr ..
end
Podemos repetir a execuo das expresses de cada objeto de forma semelhante a:
(expr).each '{' '|' lhs..'|' expr .. '}'
A expresso for no afeta o escopo das variveis locais.
54
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
break
Expresso utilizada quando se deseja sair de uma repetio, incluindo while, until, for e a
expresso do tipo iterator. Este comando retorna o valor nil. Se algum argumento for
especificado, o retorno ser o valor deste argumento.
Diferente da linguagem de programao C, a expresso break s pode ser usada em repeties
(em C ele pode ser usado em expresses case).
Exemplo:
i=0
while i < 3
print i, "\n"
break
end
Sintaxe:
break [expr]
55
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
Sintaxe:
next [expr]
56
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
return
Fora a sada de um mtodo retornando o valor especificado. Se dois ou mais valores forem
especificados, o mtodo de retorno considera que o valor retornado um array. Se a expresso
de retorno no existir, o valor retornado nil.
Exemplo:
return 12
return 1,2,3
Sintaxe:
return [expr[',' expr ... ]]
57
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
Sintaxe:
class identificador ['<' classe_me ]
expr ..
end
Este comando define (cria) uma classe. Costuma-se criar nomes de classes com a primeira letra
em maisculo.
A definio de classes ocorre com a associao desta a um identificador que podemos utilizar em
nosso cdigo. Em Ruby, classes e objetos so instncias da classe Class.
58
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
Exemplo:
class Teste < Array
def tentando
end
end
class Teste
def outro_teste
end
end
Numa definio de classe, o identificador self refere-se a esta classe.
A definio de classes funciona inteiramente sobre o modelo de orientao a objetos. Isto inclui
relacionamentos do tipo herana.
Exemplo:
class Heroi
class Equipamento
end
end
O retorno de uma classe o resultado da ltima expresso executada. Se esta expresso no
possui valor de retorno, a classe retorna nil.
59
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
Sintaxe:
module identificador
expr ..
end
Quando um mdulo j est definido (criado) ainda possvel criar um mdulo com o mesmo
nome. Neste caso, a segunda definio do mdulo ter todo o seu cdigo adicionado na primeira
definio.
O retorno de um mdulo o resultado da ltima expresso executada. Se esta expresso no
possui valor de retorno, o mdulo retorna nil.
60
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
Sintaxe:
def nome_do_mtodo ['(' [arg ['=' default]] ... [',' '*' arg] ')']
expr ..
[rescue [error_type,..] [then]
expr ..]..
[ensure
expr ..]
end
61
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
Exemplos:
# Mtodo sem argumentos
def teste
end
# Mtodo com argumentos
def teste(arg, arg2)
# Mtodo com argumento de valor padro nil
def teste(arg = nil)
# Todos os exemplos de argumentos incluindo vetor
def teste(arg, arg2 = 10, arg3 = nil, *rest)
# Mtodo do tipo operador
def ==(outro)
def +(outro)
def *(outro)
A ordem de definio dos argumentos dos mtodos deve ser seguida na hora de chamar o
mtodo.
62
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
alias (alis)
S possvel criar sinnimos do tipo alias para mtodos ou variveis globais. Esta expresso cria
um identificador que aponta para o mtodo especificado. Expresses do tipo objeto.mtodo no
so permitidas.
Exemplo:
alias teste testeantigo
alias : teste : testeantigo
Sintaxe:
alias mtodo_novo mtodo_velho
Este comando til para modificar um mtodo antigo ou adicionar novos comandos a ele.
Sempre retorna nil.
Mais exemplos:
# Definindo o mtodo "teste"
def teste
"teste"
end
# Definindo um sinnimo
alias :_novo_teste :teste
# teste redefinido
def teste
_novo_teste * 2
end
p teste # => "testeteste"
63
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
64
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
Descrio: Esta classe serve para definir o comportamento do cursor quando aponta para um
actor durante a batalha.
Arrow_Base
Herana: Sprite
Descrio: Esta classe controla o comportamento do cusror de alvo usado nas batalhas. As
classes Arrow_Actor e Arrow_Enemy herdam todas as funcionalidades desta classe.
Arrow_Enemy
Herana: Arrow_Base
Descrio: Esta classe define o comportamento do cursor ao apontar para um dos inimigos
durante a batalha.
Game_Actor
Herana: Game_Battler
Descrio: Esta classe define um ator, com todos os elementos e dados tpicos tais como o nvel,
o equipamento, e a progresso da habilidade (Database). Esta classe faz referncias s variveis
globais $game_actors e $game_party (variveis do tipo array ou vetores).
Game_Actors
Herana: Nenhuma
Descrio: Esta classe existe meramente para simplificar questes relacionadas manipulao
dos dados da varivel global $game_actors (varivel do tipo array ou vetor).
Game_BattleAction
Herana: Nenhuma
Descrio: Esta classe descreve propriedades de uma ao da batalha e possui mtodos usados
em determinar a validade e o escopo de uma ao da batalha, alm de possuir os mtodos que
decidem qual o ltimo alvo ou qual o alvo aleatrio para aes foradas durante a batalha.
65
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
Descrio: Esta classe descreve um "battler", isto , uma figura de um ator ou de um monstro, e
tudo que poderia lhe acontecer durante a batalha. Observe que estes objetos do tipo "battler"
so membros distintos e diferentes da classe actors. Isto torna mais fcil a aplicao de efeitos
temporrios.
Game_Character
Herana: Nenhuma
Descrio: Esta classe determina o comportamento dos hero sprite (figuras do heri) e event
sprites (figuras de eventos) no mapa, incluindo o movimento, definindo tipos diferentes de
movimento para eventos, e garantindo o correto funcionamento do movimento para as rotas
criadas com o Define Route (Definio de Rota) e as rotas criadas com o comando Move
Event (Mover Evento).
Game_CommonEvent
Herana: Nenhuma
Descrio: Esta classe possui mtodos e indicadores para trabalharmos com informaes de
eventos comuns, tais como a lista de comandos do evento, seu trigger (gatilho), e seu swtich
(interruptor do gatilho). Esta classe possui tambm o cdigo para manter o funcionamento
eventos comuns que sejam processos paralelos.
Game_Enemy
Herana: Game_Battler
Descrio: Esta classe define um inimigo, contendo seus estados, aes, tesouro e resistncias.
Contem tambm o cdigo para decidir que ao o monster deve fazer.
Game_Event
Herana: Game_Character
Descrio: Esta classe possui informaes sobre um evento do mapa, alm de mtodos para
verificar se um evento foi executado.
66
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
Descrio: Esta classe possui informaes sobre o mapa atual, incluindo seus tileset, a sua
passabilidade, nvoa, panorama, fundo da batalha e eventos.
Game_Party
Herana: Nenhuma
Descrio: Esta classe possui os mtodos que tratam do grupo como um todo, alm de mtodos
para tratar cada membro do grupo individualmente. Estes mtodos incluem aqueles para ganhar
ou perder dinheiro, adicionar e remover membros do grupo, e alguns mtodos teis para
batalhas.
Game_Picture
Herana: Nenhuma
Descrio: Esta classe possui informaes sobre uma imagem qualquer e contem mtodos para
mostrar, mover, girar e apagar imagens.
Game_Player
Herana: Game_Character
Descrio: Esta classe calcula a posio relativa do heri em relao ao centro do mapa, evento
que provoca decises relativas ao jogador, alm de possuir mtodos para tratar a contagem de
passos e a contagem de passos restantes para uma batalha.
Game_Screen
Herana: Nenhuma
Descrio: Esta classe possuiu informaes e mtodos para controle da tela do jogo, e controle
do mapa, tal como o tempo se passa, como a tela pisca e como a tela se movimenta (efeito de
terremoto).
67
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
Descrio: Esta classe controla os Local Switchs (Interruptores Locais) associados aos eventos
alm de possuir os mtodos para ajustar e iniciar os valores dos interruptores locais.
Game_Switches
Herana: Nenhuma
Descrio: Esta classe controla os switchs (interruptores) do jogo e possui mtodos para atribuir
e iniciar os switchs (interruptores).
Game_System
Herana: Nenhuma
Descrio: Esta classe possui informaes sobre o sistema de jogo, tal como battle event
interpreter, informaes sobre o evento de mapa ou de batalha em execuo, a quantidade de
tempo restante no temporizador, se os menus saving (registrar o jogo), main menu (menu
principal) e encounters (encontros) esto desabilitados, etc... A maioria dos mtodos desta
classe tratam do processamento dos sons.
Game_Troop
Herana: Nenhuma
Descrio: Esta classe possui informaes sobre o grupo de monstros que est em batalha, alm
de possuir mtodos para configurar os grupos de monstros e para determinar um alvo aleatrio
para um monstro.
Game_Variables
Herana: Nenhuma
Descrio: Esta classe possui as variveis do jogo alm de ter mtodos para atribuir e iniciar os
dados das variveis.
68
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
Descrio: Esta classe possui mtodos que executam os comandos dos eventos incorporados.
Cada evento executando representa uma instncia desta classe.
Scene_Battle
Herana: Nenhuma
Descrio: Esta a classe principal do sistema da batalha. Para facilitar o entendimento desta
classe, o cdigo do sistema da batalha dividido em Phases (fases). Estas fases so:
Fase 1: Inicio da fase de batalha;
Fase 2: Fase de comandos do grupo de heris;
Fase 3: Fase de comandos individuais;
Fase 4: Fase principal;
Fase 5: Fase da vitria;
Scene_Debug
Herana: Nenhuma
Descrio: Esta classe representa a tela de depurao do jogo que aberta quando se pressiona
a tecla F9 durante um test play (Teste de Jogo).
Scene_End
Herana: Nenhuma
Descrio: Esta classe controla o menu que aparece quando voc seleciona a opo End Game
(Fim de Jogo) do menu principal.
Scene_Equip
Herana: Nenhuma
Descrio: Esta classe controla a tela de equipamentos e todas as janelas contidas nela.
69
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
Scene_Load,
que
controlam
elemetos
especficos
do
registro
(save)
Scene_Gameover
Herana: Nenhuma
Descrio: Esta classe controla os elementos da tela de fim de jogo (Gameover Screen).
Scene_Item
Herana: Nenhuma
Descrio: Esta classe controla a seleo dos itens de menu do menu principal. Note que um
processo seperado garante que o menu de itens aparea quando o comando da batalha "item"
selecionado.
Scene_Load
Herana: Scene_File
Descrio: Esta classe garante que o processo de seleo de arquivos inicie apenas uma vez o
arquivo de jogo e da forma correta.
Scene_Map
Herana: Nenhuma
Descrio: Esta classe garante que os elementos relacionados ao mapa como a janela da
mensagem e a chamada dos vrios menus que podem mudar a cena (scene). Alm disso, esta
classe responsvel pelo processamento dos grficos dos eventos do mapa, que so asegurados
pela classe de Game_Map e por seus objetos.
70
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
Descrio: Esta classe atualiza o menu principal do jogo, processa as entradas do usurio no
menu de comando e a seleo de personagens do menu de estatsticas.
Scene_Name
Herana: Nenhuma
Descrio: Esta classe controla a tela "Enter Hero Name" (Digitar Nome do Heri). Este tela pode
ser chamada atravs dos comandos de eventos.
Scene_Save
Herana: Scene_File
Descrio: Esta classe controla a forma de seleo dos arquivos a serem gravados garantindo
que seja utilizado apenas um arquivo por vez.
Scene_Shop
Herana: Nenhuma
Descrio: Esta classe controla as telas de lojas e as suas sub-telas, alm de responder s
opes escolhidas pelo usurio.
Scene_Skill
Herana: Nenhuma
Descrio: Esta classe controla as janelas e garante a correta utilizao e seleo das habilidades
dentro do menu principal. Note que a seleo de habilidades na batalha controlada pela classe
Scene_Battle.
Scene_Status
Herana: Nenhuma
Descrio: Esta classe possui as janelas de estatsitcas do heri e podem ser acessadas atravs
do menu principal do jogo.
71
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
Sprite_Battler
Herana: Sprite
Descrio: Esta classe proporciona mudanas grficas nas imagens de batalha, tais como
atualizar a tela se a imagem estiver visvel, fazer a tela picar como um flash antes de atacar e
mostrar os danos causados durante a batalha.
Sprite_Character
Herana: Sprite
Descrio: Esta classe proporciona mudanas grficas nas imagens do personagem (character),
tais como atualizar a tela se a imagem estiver visvel, fazer a tela picar como um flash antes de
atacar e mostrar os danos causados durante a batalha.
Sprite_Picture
Herana: Sprite
Sprite_Timer
Herana: Sprite
Spriteset_Battle
Herana: Nenhuma
Descrio: Esta classe controla todos os sprites (grupos de imagens) usados na classe de
Scene_Battle, tal como os inimigos, os atores, o fundo da batalha, e todas as imagens que esto
sendo mostradas.
72
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
Descrio: Esta classe contem os sprites (grupo de imagens) usados na classe Scene_Map, tal
como o tileset, o panorama, a nvoa, o tempo e as figuras.
Window_Base
Herana: Window
Descrio: Esta a classe principal das janelas. Todas as outras classes de janela herdam desta
classe. Ela possui mtodos teis que podem ser chamads em diversas janelas. Se voc deseja
adicionar um mtodo que voc ir usar em muitas janelas durante todo o seu jogo, voc deve
adicionr este mtodo nesta classe.
Window_BattleResult
Herana: Window_Base
Descrio: Esta a classe da janela que aparece quando voc vence uma batalha. Ela mostra a
quantidade de experincia e dinheiro adquirido. Em alguns casos itens so deixados pelos
monstros. Estes istens so mostrados nesta tela tambm.
Window_BattleStatus
Herana: Window_Base
Descrio: Esta a classe da janela que mostra os pontos de vida (HP), os pontos de habilidade
(SP) e o estado dos heris durante a batalha.
Window_Command
Herana: Window_Selectable
Descrio: Esta janela mostra uma lista de comandos. Ao contrrio das outras classes que
herdam de Window_Base, esta herda de Window_Selectable e projetada para ser o mais
flexvel possvel, permitindo que uma janela seja construda fcilmente toda vez que voc quiser
que o jogador escolha uma opo entre vrios comandos disponveis.
73
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
Descrio: Esta janela mostra grupos de dez swtichs e variables (interruptores e variveis) que o
usurio pode escolher e modificar durante o teste de seu projeto. Quando o usurio escolhe um
grupo do lado esquerdo na tela, o lado direito da tela mostra dez switchs ou variable
(interruptores ou variveis) individuais para serem modificados.
Window_DebugRight
Herana: Window_Selectable
Descrio: Esta janela mostra dez switchs ou variable (interruptores ou variveis) individuais
dependendo do grupo escolhido no lado esquerdo da tela. Pressionando a tecla [Enter] possvel
alterar o valor dos switchs (interruptores), alm de diversas operaes com variable (variveis)
estarem disponveis.
Window_Gold
Herana: Window_Base
Descrio: Esta janela mostra a quantidade ouro disponvel naquele momento. Esta tela
apresentada no menu, nas lojas e quando o comando "\g" utilizado nas mensagens de texto.
Window_Help
Herana: Window_Base
Descrio: Esta tela apresentada em vrias situaoes diferentes, como na tela de itens, na
tela de habilidades, equipamentos, dentre outros. Serve para apresentar um texto descritivo
sobre uma determinada situao. Na batalha serve para mostrar os nomes dos personagens e
dos inimigos.
Window_InputNumber
Herana: Window_Base
Descrio: Esta a janela para entrada de nmeros. Ela apresentada quando o comando de
evento "Input Number" (Entrar/Digitar Nmero) utilizado.
74
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
Descrio: Esta janela mostra a lista de itens do grupo de personagens. apresentada toda vez
que a opo Item (itens) do menu principal selecionada.
Window_MenuStatus
Herana: Window_Selectable
Descrio: Esta janela mostra o nome, o nvel, os pontos de vida (HP), os pontos de habilidade
(SP), e o estado de cada personagem do grupo. Esta janela herda de Window_Selectable e no
de Window_Base pois determinados comandos de menu requerem que uma opo esteja
selecionada.
Window_Message
Herana: Window_Selectable
Descrio: Esta a janela principal de mensagens mostrada quando o comando de evento "Show
Message" (Mostrar Mensagem) usado.
Window_NameEdit
Herana: Window_Base
Descrio: Esta janela mostra o nome original do jogador, enquanto possibilita a alterao do
nome antigo atravs da escolha de um novo nome. Os novos nomes devem ser predefinidos e o
jogador no pode criar um novo.
Window_NameInput
Herana: Window_Base
Descrio: Esta janela a janela onde o jogador realmente cria um novo nome. No precisa ser
um nome pr-determinado. O jogador escolhe as letras para o nome da maneira que quiser.
Window_PartyCommand
Herana: Window_Selectable
Descrio: Esta janela mostra as opes Fight (Lutar) ou Flee (Fugir) no inicio de cada turno.
75
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
Descrio: Esta janela mostra quanto tempo de jogo j se passou no menu principal do jogo.
Window_SaveFile
Herana: Window_Base
Descrio: Esta janela mostra o estado de um arquivo salvo individualmente nas cenas
scene_save ou scene_load.
Window_Selectable
Herana: Window_Base
Descrio: Esta a classe bsica para a maioria das janelas que permitem que voc selecione
alguma opo na tela. bastante flexvel, a ponto de aceitar opes divididas em linhas e/ou em
colunas.
Window_ShopBuy
Herana: Window_Selectable
Descrio: Esta janela mostra os itens disponveis para serem comprados quando selecionada a
opo Buy (compra) na tela principal das lojas, ou seja, na tela Window_ShopCommand.
Window_ShopCommand
Herana: Window_Selectable
Descrio: Esta janela mostra as opes Buy (Comprar), Sell (Vender), and Exit (Sair) quando
uma tela de loja aberta.
Window_ShopNumber
Herana: Window_ShopNumber
Descrio: Esta tela aparece quando um item comprado ou vendido, para que possamos indicar
a quantidade de itens que desejamos.
76
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
Descrio: Esta tela mostra os itens disponveis que podem ser vendidos quando selecionada a
opo Sell (venda) na tela principal das lojas, ou seja, na tela Window_ShopCommand.
Window_ShopStatus
Herana: Window_Base
Descrio: Quando selecionado um item para comprar numa loja, esta tela mostra a
quantidade disponvel deste mesmo item no inventrio do grupo. Ela mostra tambm a mudana
de poder ou defesa (dependendo do item) para cada personagem que pode utilizar aquele item.
Window_Skill
Herana: Window_Selectable
Descrio: Esta janela mostra a lista de habilidades do personagem e pode ser usado no menu ou
durante uma batalha.
Window_SkillStatus
Herana: Window_Base
Descrio: Esta janela aparece em cima da janela de seleo de habilidades. Ela mostra o nome,
o estado, os pontos de vida (HP) e os ponstos de habilidade SP do personagem usando esta
habilidade.
Window_Status
Herana: Window_Base
Window_Steps
Herana: Window_Base
Descrio: Esta janela mostra no menu principal quantos passos foram dados pelos heris.
77
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
Descrio: Esta tela apresentada quando um item ou habilidade precisa de um alvo. Esta tela
no utilizada durante uma batalha.
78
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
Orientao a Obejtos
Um objeto a instncia de uma classe. Traduzindo isso para portugus, uma classe e um objeto
so exatamente a mesma coisa, mas quando est no papel (ou na tela do computador)
chamado de classe e quando est sendo executado pelo programa objeto.
Vejamos um exemplo de classe:
class Musica
def initialize(nome, artista, duracao)
@nome = nome
@artista = artista
@duracao = duracao
end
end
Aqui, criamos a classe Musica. Note que criamos dentro desta classe um mtodo chamado
initialize. Este um mtodo especial do Ruby. Quando executamos o comando Musica.new para
criarmos o objeto Musica na memria, o Ruby cria um objeto no inicializado e logo depois
chama o mtodo initialize passando os parmetros especificados no new.
79
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
80
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
:metodo1, :metodo4
protected
:metodo3
private
:metodo4
end
82
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
# o padro 'public'
#...
end
protected
def metodo2
#...
end
private
def metodo3
#...
end
public
def metodo4
#...
end
end
Os mtodos public (pblicos) podem ser chamados por qualquer um e no existe controle de
acesso. Os mtodos so pblicos por definio ( exceo de inicialize, que sempre private).
Os mtodos protected (protegidos) podem ser chamados somente por objetos da classe atual e
de suas sub-classes. O escopo de utilizao mantido dentro da famlia, ou seja, classe me e
suas classes filhas.
Os mtodos private (confidenciais) no podem ser chamados por outra classe que no seja ela
mesma ou a classe que seja descendente direto desta classe.
Este o bsico da orientao a objetos. Agora, podemos criar nosso primeiro script.
83
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
Criando um Script
Introduo
Agora ns j conhecemos lgica de programao, a sintaxe bsica dos scripts RGSS, os scripts
RGSS padres e o funcionamento bsico de uma linguagem OOP. Com esta base, temos
conhecimento para criar o nosso primeiro script.
Se voc est lendo este tutorial, com certeza j deve ter uma boa base nos recursos do RPG
Maker XP. Por causa disso, este captulo ir detalhar apenas os casos referentes aos scripts.
Caso voc no tenha conhecimentos bsicos, este captulo pode parecer complexo e de difcil
entendimento. Portanto, s continue a leitura se voc tem certeza que conhece bem o aplicativo.
Scene_Tutorial
O Editor de Scripts
Aqui, vamos ver como criar uma scene completa, com tela de help (ajuda), tela de comandos,
telas secundrias, dentre outras coisas. E qual o motivo para estudarmos sobre a criao de uma
scene? Bem... Exitem muitas scenes num jogo criado no RPG Maker, portanto, se voc deseja
personalisar seu jogo, inprescendvel ter um conhecimento no funcionamento das scenes.
Primeiro crie um novo projeto. Depois vamos abrir o editor de scripts RGSS. Caso no se lembre
como fazer isso, tente usar a tecla de atalho F11.
No lado esquerdo da tela temos a lista de todos os scripts padres (aqueles que j vimos no
captulo anterior). Desca a tela at encontrar o script com nome de Main (Principal).
84
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
Figura 05
Menu pop up do editor de scripts.
Selecione a opo Insert (Inserir). Uma tela em branco deve aparecer. Selecione a opo criada e
d um nome para ela. Exemplo: Scene_Tutorial_Script.
Agora podemos digitar nossas expresses e cdigos do script. Observe na figura 06 como a tela
deve ficar.
85
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
Figura 06
Script do tutorial.
Antes de comearmos a encher nossa tela de expresses e cdigos, vamos entender uma scene.
Toda cena com janelas uma scene. As janelas so criadas separadamente, ou seja, cada janela
uma classe diferente. A scene tambm eu uma classe, mas ela fica responsvel apenas por
controlar o que cada janela faz.
Resumindo:
Classe da Scene: Define e controla as janelas.
Classes das Janleas: Define a aparncia das janelas.
86
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
87
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
class Window_TutorialCommand
A varivel @command_window deve ser do tipo de nossa janela de comando com as opes
principais de nossa scene. Nome de exemplo para esta janela: Window_TutorialCommand.
# classe Window_TutorialCommand
class Window_TutorialCommand < Window_Selectable
# mtodo initialize
def initialize
... # incializa a classe
end
# mtodo draw_item(index)
def draw_item(index)
... # desenhando o texto na janela
end
# mtodo refresh
def refresh
... # atualizando desenhos e textos da janela
end
# mtodo update_help
def update_help
... # muda o texto do help
end
end # fim da classe
88
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
# classe Window_Tela1
class Window_Tela1 < Window_Base
# mtodo initialize
def initialize
... # incializa a classe
end
# mtodo refresh
def refresh
... # atualizando desenhos e textos da janela
end
end # fim da classe
89
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
# classe Window_Tela2
class Window_Tela2 < Window_Selectable
# mtodo initialize
def initialize
... # incializa a classe
end
# mtodo draw_item(index)
def draw_item(index)
... # desenhando o texto na janela
end
# mtodo refresh
def refresh
... # atualizando desenhos e textos da janela
end
# mtodo update_help
def update_help
... # muda o texto do help
end
end # fim da classe
90
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
91
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
92
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
93
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
94
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
95
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
96
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
97
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
98
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
99
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
100
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
Figura 07
Evento para chamar o Script.
101
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
Figura 08
Evento para chamar o Script.
Depois de criar o evento, clique em OK e aperte F12 para iniciar o teste de nosso jogo. Se
aproxime do evento que acabamos de criar e pressione a tecla [Enter] ou C. Se tudo estiver
correto, a scene que criamos deve aparecer na tela.
Observe as figuras 09 e 10 para ver nosso script em funcionamento.
102
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
Figura 09
Testando o Script.
103
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
Figura 10
Testando o Script.
104
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)
Concluso
O objetivo deste tutorial apenas mostrar alguns dos recursos avanados dos Scripts RGSS
disponveis no RPG Maker XP.
Este tutorial iniciou nossa caminhada no mundo dos scripts, agora vamos nos aprofundar ainda
mais neste assunto. Estamos apenas comeando a conhecer esta maravilhosa ferramenta do RPG
Maker XP.
O nome do prximo tutorial Recursos Avanados de Scripts do RPG Maker XP. Nele iremos
conhecer mais profundamente alguns dos recursos mais avanados do editor de scripts e
veremos toda a potencialidade que podemos ter em nossas mos.
O autor deste tutorial Marcelo Cavaco, formado em Processamento de Dados pela Faculdade
Rui Barbosa e formado em Engenharia de Produo pela Unibahia. J trabalhou 6 anos como
analista de sistemas e agora trabalha como engenheiro e responsvel pelo setor de informtica
da Sengin Servios de Engenharia de Instrumentao Ltda (www.sengin.com.br) desde 2004.
Qualquer dvida, crtica, sugesto, reclamao, comentrio ou algo semelhante, favor mandar
um e-mail para marcelocavaco@click21.com.br ou se preferir mande um scrapt (recado) no meu
Orkut.
Est na hora de avanar para o tutorial: Recursos Avanados dos Scripts do RPG Maker XP .
105
Tutorial por Marcelo Cavaco (marcelocavaco@click21.com.br)