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 5 EmptyQui 25 Nov 2021, 14:04 por Halt

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

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

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

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

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

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

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

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

» Download RPG Maker 2000 + RTP em português
Criando jogos em BYOND - Capítulo 5 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 5 Empty Criando jogos em BYOND - Capítulo 5 Seg 12 Nov 2012, 18:49

Halt

Halt
Administrador
Administrador
VIb. Cinco notas.

1.Eu coloquei comentários em praticamente todas as linhas do programa, mas não precisa fazer isso normalmente. Coloque comentários suficientes para que outro programador possa entender, o básico não será necessário comentar.

2.Note como colocamos o nome de variáveis relacionadas com seus propósitos. É altamente recomendado isso. Faça nomes de variáveis descritíveis e que sejam pequenas o suficientes para serem fáceis de escrever repetidas vezes.

3.Quando declaramos uma variável em uma proc, ela existe somente naquela proc. Uma vez que a proc retorna, a variável se perde. Se você quiser que outra proc use essa variável você deve passá-la. Você aprenderá mais disso quando você continuar com seus estudos com o BYOND.

4.Se você ver, nós temos uma linha dizendo “var/HP = 30” e uma linha dizendo “var/dano = rand(1,10)”. Se agente voltar e colocar HP = rand(1,10), invez de 30, você terá um erro.

Testworld.dm:6:error:=expected a constant expression

Isto é porque se algo não é conhecido quando você compila... como não sabemos que numero será... você deverá colocar dentro de um proc.

5.Você deve ter notado uma diferença entre Login(), uma proc interna, e rand(),também uma proc interna. Uma é maiúscula e a outra não. Isto é para indicar que Login() é a proc de um mob, enquanto rand é somente uma proc regular.

VIc. Procodilo Dundee (Declaração de procs; declaração de if; src)

Então agora podemos atacar mobs. Mas se realmente queremos mata-los, nós temos que ver se o HP deles chegam à 0 ou menos. A melhor hora de fazer isso é depois que o mob leva o dano. Coloque outra linha no fim do verb Atacar.

++M.ChecarMorte() //Checa se o mob morreu com uma proc

Você provavelmente sabe que ChecarMorte() é uma proc. O M. em frente diz para não chamarmos simplesmente essa ChecarMorte, mas ChecarMorte() que pertence a M. Então é melhor escrever a proc ChecarMorte(). Em mob, entre Login() e var, coloque isso:

+proc
++ChecarMorte() //Checar ataque mortal
+++if(HP<=0) //Se o HP for menor ou igual a zero....
++++world<<”[src] morreu!”//Mostra a mensagem de morte

Como ChecarMorte() não é uma proc interna como Login(), nós temos que declará-la digitando a “proc” primeiro, exatamente como tivemos que fazer com “var” sobre HP.

Na próxima linha temos a declaração de um if(Se). Isto não é exatamente como uma proc; você pode separar o “if” dos parênteses, e tudo o que aparecer em azul no seu editor de códigos. Neste caso, estamos checando se o HP de M é menor ou igual a 0. Se for, o programa vai executar o que estiver embaixo da declaração. Neste caso, uma instrução para mandar uma mensagem para o mundo.

A parte [src] é nova; src vem de “source(fonte)”, src significa qualquer coisa que proc é pertencida. Em nosso caso, ChecarMorte() vai sempre pertencer para a M no verb Atacar. Mas ChecarMorte() não sabe que nós estamos o chamando de M, então usamos o src, que sempre se refere ao dono da proc.

Por enquanto, nosso código junto deve estar assim:

//Este é um mundo Teste criado por Blake em 04/09/2008.

mob
+icon = ‘pessoa.dmi’
+var
++HP = 30
+Login()
++icon_state = gender
++..()
+proc
++ChecarMorte()
+++if(HP<=0)
++++world<<”[src] morreu”
+verb
++Atacar(mob/M as mob in oview(1))
+++usr<< “Você atacou [M]!”
+++oview()<<”[usr] atacou [M]!”
+++var/dano = rand(1,10)
+++world << “[dano] dano!”
+++M.HP -= dano
++Falar(msg as text)
+++world <<”[usr]: [msg]”
turf
+grama
++icon = ‘grama.dmi’
world
+turf = /turf/grama

Salve tudo, ou compile de novo.

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