Arena RPG Maker
Olá, visitante!
Seja bem-vindo ao fórum Arena RPG Maker, caso queira aprender sobre criação de jogos, está no fórum certo. Esperamos que possa aprender tanto quanto possa nos ensinar aqui.

Atenciosamente,
Equipe Arena RPG Maker.
Arena RPG Maker
Olá, visitante!
Seja bem-vindo ao fórum Arena RPG Maker, caso queira aprender sobre criação de jogos, está no fórum certo. Esperamos que possa aprender tanto quanto possa nos ensinar aqui.

Atenciosamente,
Equipe Arena RPG Maker.
Arena RPG Maker

Estamos de volta o/ ... Ou não.Eu amo a -Dark
Doações para o fórum abertas, clique aqui e saiba mais.
Últimos assuntos
» Ainda temos gente aqui?
Criando jogos em BYOND - Capítulo 4 EmptyQui 25 Nov 2021, 14:04 por Halt

» [Dúvida] Como tirar a porcentagem de esquiva
Criando jogos em BYOND - Capítulo 4 EmptySex 19 Nov 2021, 17:14 por Halt

» Pokémon Genesis Online! (PGO)
Criando jogos em BYOND - Capítulo 4 EmptyQua 05 Jul 2017, 18:08 por Lexar

» Tileset Converter to MV
Criando jogos em BYOND - Capítulo 4 EmptySex 12 maio 2017, 14:07 por Douggi

» Pack Resources, Sprites e etc
Criando jogos em BYOND - Capítulo 4 EmptyQua 23 Dez 2015, 12:30 por raydengv

» Download RPG Maker 2003 + RTP em português
Criando jogos em BYOND - Capítulo 4 EmptyTer 22 Dez 2015, 11:14 por ::KimMax::

» Fantasy Art Online
Criando jogos em BYOND - Capítulo 4 EmptyDom 18 Out 2015, 18:42 por daviih123

» Você vai ter medo do Nerve gear?
Criando jogos em BYOND - Capítulo 4 EmptySáb 25 Jul 2015, 17:02 por Kirito-kun

» O Barato é louco
Criando jogos em BYOND - Capítulo 4 EmptySáb 27 Jun 2015, 16:26 por Halt

» Download RPG Maker 2000 + RTP em português
Criando jogos em BYOND - Capítulo 4 EmptyQui 21 maio 2015, 20:28 por Wismael


Você não está conectado. Conecte-se ou registre-se

Ver o tópico anterior Ver o tópico seguinte Ir para baixo  Mensagem [Página 1 de 1]

1Criando jogos em BYOND - Capítulo 4 Empty Criando jogos em BYOND - Capítulo 4 Seg 12 Nov 2012, 18:46

Halt

Halt
Administrador
Administrador
Va. Login() e Logout() (Procs internas)

Quando um programa é ordenado a fazer um procedimento, o procedimento em questão é chamado. Login() é chamado automaticamente quando um player entra no jogo, e Logout() quando o player sai do jogo. Quando queremos modificar essas duas, nós colocamos o código no prototype para mobs. Aqui é código para mobs agora:

mob
+icon = 'pessoa.dmi'
+Login()
++icon_state = gender
++..()
+verb
++Falar(msg as text)
+++world << "[usr] diz:[msg]"


O comando ..() diz para ir chamar a atual proc interna Login(). Isto é muito, muito importante. A proc interna Login() é o que põe você no mapa. É chamada de procs pais.(Você nunca perguntou, “Mãe, como eu fui entregue?”)

O Login que NÓS codificamos é uma criança, e não sabe tudo o que seus pais sabem. “Então dizemos para ele perguntar para o seus pais o que fazer, com essa linha “..()”

Agora, compile e rode! Você será um boneco que pode dizer coisas E mover por pelo mapa através das teclas direcionais. Agora você tem um Bate-papo gráfico. A vida não é bela? Você deve agora salvar tudo ou compilar de novo.

VI. Mas eu não quero uma sala de Bate-papo!! (declarando variáveis)

As características de mobs e turfs que utilizamos como (icon e gender) são chamadas de variáveis internas. Uma variável é um lugar onde um tidbit de dados é guardado. É chamado de variável porque nós podemos modificar-la quando desejarmos, então a informação contida pode variar. A lista de referencias do DM já explica um pouco mais sobre variáveis internas.

Mas hoje nós queremos fazer uma variável guardar uma data sobre a vida do jogador, ou HP, não existem variáveis internas para isso, então temos que criar nossa própria variável. Coloque essas linhas:

+var
++HP = 30 //Declara uma nova variável chamada HP, com o valor 30

...dentro de mob, abaixo da linha “icon”.

Nós declaramos uma variável e assimilamos um valor para ela. Quando nós declaramos uma variável, nós deixamos o programa saber que nós fizemos uma nova que não é uma variável interna. Nós fazemos isso colocando abaixo de “var”. Quando assimilamos um valor, nós dizemos que dados nós desejamos que a variável carregue. Neste caso é o numero 30.

VIa. Matando coisas... (mais procs internas)

Se nós quisermos sair por ai atacando coisas, precisamos de um verb de ataque. Coloque isso abaixo de “verb” e antes de “Falar”:

+Atacar(mob/M as mob in oview(1)) //Atacar um mob a distancia de um tile
++usr<< “Você atacou [M]!” //manda essa mensagem para o usr
++oview()<<”[usr] atacou [M]!” //manda essa mensagem para os outros
++var/dano = rand(1,10) //Assimila um valor aleatório para variável
++world << “[dano] dano!” // diz ao mundo o dano sofrido
++M.HP -= dano //Tira o dano no HP de M


De uma olhada nas comentários e veja se você consegue descobrir algo por você mesmo. Não precisa ficar preocupado, Vou explicar tudo detalhadamente.


+Atacar(mob/M as mob in oview(1)) //Atacar um mob a distancia de um tile


Isto é muito similiar ao verb Falar. O player que esta fazendo o ataque tem que pegar um mob perto dele, que vai ser passado como M. De novo, especificamos que deve ser um mob.

Próximo, oview(1) é a distancia que ele pode atacar coisas. A parte “view(vista)” é auto-explicatoria; o “o” significa outside(fora) ou other(outro), ou possivelmente, Okefenonkee, isso faz com que o usr não mire em si mesmo. O usr só estará capaz de atingir os alvos com um tile de distancia dele.

++usr<< “Você atacou [M]!” //manda essa mensagem para o usr

Na linha de cima, nós fizemos uma mensagem de ataque para o usr.

++oview()<<”[usr] atacou [M]!” //manda essa mensagem para os outros

Nós não colocamos nenhum numero nos parênteses desse oview(), então a mensagem será enviada para todos que o usuário pode ver... exceto, é claro, o próprio usr.

++var/dano = rand(1,10) //Assimila um valor aleatório para variável

Nós declaramos uma nova variável acima, chamada dano.

Nós assimilamos um valor para nossa variável, mas não como fizemos com o HP. Em vez de assimilar um numero, nós chamamos a proc interna, rand(). Os argumentos que passamos dentro de rand() determinam a variação de números que podemos pegar. Neste caso, um inteiro entre 1 e 10 somente.

Toda vez que essa linha é alcançada no seu programa, rand() vai ser chamada, e ela passara o numero que será pego. Isto se chama retorno. Retornando o numero que requisitamos. O numero retornado será assimilado ao valor de dano.

++world << “[dano] dano!” // diz ao mundo o dano sofrido

Aqui mostramos o dano, como uma expressão embutida. Do mesmo jeito que já fizemos com usr, msg e M.

++M.HP -= dano //Tira o dano no HP de M

Aqui é onde realmente o dano é feito. M.HP significa “O HP de M”. O operador -= (o sinal de menos e de igual) significa que a coisa contida à esquerda é igual ela mesma MENOS o valor da outra coisa da direita. Então, o HP de M é igual como antes, menos o dano.

Créditos:
Blake pelo tutorial
-KiRa por postar aqui na ARM

https://arenarpgmaker.forumeiros.com

Ver o tópico anterior Ver o tópico seguinte Ir para o topo  Mensagem [Página 1 de 1]

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