GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» player não consegue andar
por lovn7 Qui 21 Nov 2024, 13:33

» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22

» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31

» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23

» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49

» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58

» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36

» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36

» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33

» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51

» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28

» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18

» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08

» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10

» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16

» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40

» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01

» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45

» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34

» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28

» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48

» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54

» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14

» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50


[Resolvido]Como adicionar elementos/tipos?

4 participantes

Ir para baixo

[Resolvido]Como adicionar elementos/tipos? Empty [Resolvido]Como adicionar elementos/tipos?

Mensagem por Dialga111 Dom 11 Jul 2010, 17:54

Sabe no pokémon que água tira o dobro de dano conta fogo, e fogo tira metade de água? Então, queria saber como faz isso. Procurei e não achei nada -.-

Eu já fiz várias tentativas, mas nada deu certo por enquanto. Transformei os elementos em variáveis e fiz um script que calcularia o dano baseado no valor do elemento, mas não deu certo, tira o mesmo dano pra todos os elementos >.>
Dialga111
Dialga111

Data de inscrição : 13/03/2010
Reputação : 0
Número de Mensagens : 33
Prêmios : [Resolvido]Como adicionar elementos/tipos? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[Resolvido]Como adicionar elementos/tipos? Empty eae

Mensagem por makano Seg 12 Jul 2010, 12:16

eaea dialgo tudu bom?
bom eu naum sei resolver o seu problema Very Happy
mas vc ta fazendo um jogo de pokemon?
que estilo é
pq eu tambem estou fazendo rsrs
ai ser for parecido poderiamos juntar as ideias
falows abraço
makano
makano

Data de inscrição : 10/07/2010
Reputação : 0
Número de Mensagens : 12
Prêmios : [Resolvido]Como adicionar elementos/tipos? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[Resolvido]Como adicionar elementos/tipos? Empty Re: [Resolvido]Como adicionar elementos/tipos?

Mensagem por Dialga111 Seg 12 Jul 2010, 14:06

eae blz? Então, na vdd eu to fazendo um jogo de pokémon RPG sim, mas tb estou fazendo um de Megaman ZX (estilo plataforma). Essa coisa dos tipos eu vou usar nos 2 (pokémon com 18 tipos e megaman com 26). Me add no msn, ai a gente pode conversa melhor =D diaruga111@hotmail.com
Dialga111
Dialga111

Data de inscrição : 13/03/2010
Reputação : 0
Número de Mensagens : 33
Prêmios : [Resolvido]Como adicionar elementos/tipos? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[Resolvido]Como adicionar elementos/tipos? Empty Re: [Resolvido]Como adicionar elementos/tipos?

Mensagem por Janx Seg 12 Jul 2010, 16:59

Create:
Código:
fogo = 100;
agua = 25;

Quando for dar um dano de fogo:
Código:
danoF = Ataque/fogo;
EX:
Código:
danoF = 100/100; // = 1

Quando for dar um dano de agua:
Código:
danoA = Ataque/agua;
EX:
Código:
danoA = 100/25; // = 4
Janx
Janx

Data de inscrição : 24/05/2008
Reputação : 14
Número de Mensagens : 2417
Prêmios : [Resolvido]Como adicionar elementos/tipos? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 2 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[Resolvido]Como adicionar elementos/tipos? Empty Re: [Resolvido]Como adicionar elementos/tipos?

Mensagem por Dialga111 Seg 12 Jul 2010, 17:02

entendi, mas como eu faço isso com 26 elementos diferentes sendo que cada um tem 3 fraquezas e 3 resistências diferentes??
Dialga111
Dialga111

Data de inscrição : 13/03/2010
Reputação : 0
Número de Mensagens : 33
Prêmios : [Resolvido]Como adicionar elementos/tipos? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[Resolvido]Como adicionar elementos/tipos? Empty Re: [Resolvido]Como adicionar elementos/tipos?

Mensagem por Janx Seg 12 Jul 2010, 17:05

Como eu disse.

Você cria as variaveis de cada elemento, as que ele for mais resistente tem valor maior caso contrário são as fraquezas.

Dependendo do tipo do ataque, ve qual a resistencia para aquele elemento.
Janx
Janx

Data de inscrição : 24/05/2008
Reputação : 14
Número de Mensagens : 2417
Prêmios : [Resolvido]Como adicionar elementos/tipos? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 2 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[Resolvido]Como adicionar elementos/tipos? Empty Re: [Resolvido]Como adicionar elementos/tipos?

Mensagem por Dialga111 Seg 12 Jul 2010, 17:52

hm entendi, então tem que fazer todos os elementos pra todos os personagens?

Mais uma coisa, quando vc diz "qdo for dano de fogo", significa qndo entrar em contato com o ataque de fogo? se for, significa que eu tenho que fazer um evento de colisão pra cada ataque diferente, e não só pro ataque parent?? (fiz um parent pros ataques pq todos funcionam da mesma forma, mudando só o sprite e o elemento)
Dialga111
Dialga111

Data de inscrição : 13/03/2010
Reputação : 0
Número de Mensagens : 33
Prêmios : [Resolvido]Como adicionar elementos/tipos? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[Resolvido]Como adicionar elementos/tipos? Empty Re: [Resolvido]Como adicionar elementos/tipos?

Mensagem por Janx Seg 12 Jul 2010, 18:07

Se você quardar os valores das resistencias em uma array, e usar o valor do elemento na checagem da pra fazer com o parent.

Tem que ter todos os elementos em todos os personagens, afinal, eles podem ser atingidos por qualquer tipo de ataque certo?
Janx
Janx

Data de inscrição : 24/05/2008
Reputação : 14
Número de Mensagens : 2417
Prêmios : [Resolvido]Como adicionar elementos/tipos? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 2 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[Resolvido]Como adicionar elementos/tipos? Empty Re: [Resolvido]Como adicionar elementos/tipos?

Mensagem por Dialga111 Seg 12 Jul 2010, 19:51

vo parecer muito noob se eu disser que não sei guardar valores em uma array? x.x

eu sei que eh tpo

alguma coisa[outra coisa]=sei lá

seria tipo

fogo[agua]=25

?

Se for isso, significa q eu vou ter que 26² arrays? uma pra cada combinação de elemento?? :S

ah e sim, todos podem ser acertados por todos os tipos

ah, e as variáveis e arrays tem que ser no personagem que vai sofrer o ataque ou no objeto do ataque??
Dialga111
Dialga111

Data de inscrição : 13/03/2010
Reputação : 0
Número de Mensagens : 33
Prêmios : [Resolvido]Como adicionar elementos/tipos? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[Resolvido]Como adicionar elementos/tipos? Empty Re: [Resolvido]Como adicionar elementos/tipos?

Mensagem por Janx Seg 12 Jul 2010, 20:26

._."

Será que você não está tentando fazer algo muito complicado? Acho que seria melhor você tentar um jogo mais simples...


Você não teria 26 nem 26² arrays, teria 1 array com 26 elementos.

Assim:
Código:
elementos[0] = 25;
elementos[1] = 50;
elementos[2] = 100;
elementos[3] = 75;
....

Mas dai vc teria que colocar uma "ordem", tipo..
Código:
0 = fogo
1 = agua
2 = terra
3 = vento
...

Isso em cada personagem/inimigo, já que são eles que tem resistencia aos tipos de elementos.

no Ataque, só tem o tipo de elemento que ele é e a força dele.

dai quando o ataque acertar o jogador, seria algo tipo:
Código:
other.vida -= FORCA/other.elementos[ELEMENTO];
Janx
Janx

Data de inscrição : 24/05/2008
Reputação : 14
Número de Mensagens : 2417
Prêmios : [Resolvido]Como adicionar elementos/tipos? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 2 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[Resolvido]Como adicionar elementos/tipos? Empty Re: [Resolvido]Como adicionar elementos/tipos?

Mensagem por Dialga111 Seg 12 Jul 2010, 23:56

Humm mais fácil xD. (sei que to parecendo noob, e provavelmente so mesmo, eu não só pensei em começar por um mais fácil como este é o mais fácil x.x O que eu quero fazer mesmo é provavelmente bem mais complicado que esse >.> esse aqui na vdd é um minigame pra eu aprende algumas coisas que eu vo precisa no outro (tipo elementos =) ))

então vamos recapitular:

no evento step de cada inimigo/personagem vai ter:

Código:

elemento[1]=50 pra tirar 2 (dano comum)
elemento[2]=25 pra tirar 4 (fraqueza)
elemento[3]=100 pra tirar 1 (resistência)
........
elemento[26]=100
//eu tenho anotado que número equivale a qual elemento, os números eu coloquei só como exemplo

daí eu faço um evento colision com o objeto inimigo, o evento é feito no objeto ataque parent

Código:

other.global.vida_inimigo-=100/other.elemento[elemento]

http://global.vida_inimigo é o nome que eu dei pra variável da vida do inimigo, coloquei como global pra fazer o objeto barra de vida usando minhas sprites invés da barra comum do GM

100 é o total de vida do personagem. Se eu quero que o ataque tire 2 eu coloco 50, se eu quero que tire 4 eu coloco 25, se eu quero que tire 8 eu coloco 12.5, certo?

E se, ao invés de fazer essas divisões, eu fizesse que, por exemplo elemento[1]=4, daí no lugar de 100/other.elemento[elemento] eu colocasse só o other.elemento[elemento]?? Ia tirar só 4? Imagino que assim seja mais fácil...

Cara, muitíííííssimo obrigado, vc tá me ajudando mto, nem sei como agradecer!! (Obrigado pela paciência com o noob aki tb Rolling Eyes)
Dialga111
Dialga111

Data de inscrição : 13/03/2010
Reputação : 0
Número de Mensagens : 33
Prêmios : [Resolvido]Como adicionar elementos/tipos? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[Resolvido]Como adicionar elementos/tipos? Empty Re: [Resolvido]Como adicionar elementos/tipos?

Mensagem por Janx Ter 13 Jul 2010, 01:03

usar só
elemento[1]=4
e deixar esse ser o dano, vai fazer ficar sempre com um dano fixo... Não sei se é isso que você quer...

other.global.vida_inimigo-=100/other.elemento[elemento]

Não existe isso, "other.global.vida_inimigo".
Se for isso, você tem que tirar o other.
A vida do inimigo está salva numa variavel global? Estranho usar assim, mas tudo bem. É que nem pokemon, que luta só contra 1 oponente, né?
Janx
Janx

Data de inscrição : 24/05/2008
Reputação : 14
Número de Mensagens : 2417
Prêmios : [Resolvido]Como adicionar elementos/tipos? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 2 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[Resolvido]Como adicionar elementos/tipos? Empty Re: [Resolvido]Como adicionar elementos/tipos?

Mensagem por Kabeção Ter 13 Jul 2010, 11:02

Atenção, este é post e extenso, leia duas vezes ou mais para entender! xD


Para algo assim eu preferiria calcular os danos adicionais em proporções ou escalas.

Se cada pokemon tem um tipo só de elemento e um tipo só de resistência você poderia fazer assim:
No evento Create de cada pokemon você coloca uma variável para dano adicional, uma para resistência e uma para saber o tipo dele mas só que em escalas, por exemplo:

Digamos que 1 = 100%, então 0.5 = 50%, 0.27 = 27%, 2 = 200% e etc.
Assim se o dano adicional da agua sobre o fogo é 2, então o dano vai ser 200% ( 2 vezes) mais forte independente da força atual do pokemon.

Mas porque usar escalas?
Vejo que você ainda é iniciante então e bom aprender isso desde o começo.
Nem sempre o ataque deles será o mesmo certo?
Ou eles podem aumentar de nivel no jogo ou você vai querer mudar os valores dos ataques algum dia então usando escalas os danos adicionais vão sempre acompanhar o poder de ataque deles.

Imagine que um pokemon de aguá começou com 20 de ataque e você pos o dano adicionau em 10, quando ele atacar um de fogo o dano será 30 certo?
Mas se ele subir alguns niveis é seu ataque mudar para 500?
Se você adicionar só dez em 500 será muito pouco já que o poder dos inimigos devem estar maiores também.
Usando a escala não tem esse problema se ele começa com 20 e o dano adicional em escala é 2 então seu ataque será 40, se seu ataque é 500 o dano sera 1000 e assim por diante.


Na pratica é algo assim:
Create:
Código:
// Pokemon de agua
tipo = "agua";
life = 200
dano = 30;          // dano normal
dano_add = 1.7;  // dano adicional
res = 0.7            // resistência de 70% a fogo

Código:
// Pokemon de fogo
tipo = "fogo";
life = 400
dano = 50;          // dano normal
dano_add = 2;    // dano adicional
res = 0.3            // resistencia de 30%

Na hora de calcular o dano você pega o ataque e multiplica pela escala só quando o inimigo é do elemento inverso:
life -= dano*dano_add
life -= dano*res

Ex.:
dano = 30 e dano_add = 1.7
30*1.7 = 51

O dano adicional também pode ser global (um valor só para todos os pokemons de acordo com seu tipo).
Isso torna as coisas muito mais fáceis.
Na hora da checagem também é bem fácil:
Código:
a = false // variável auxiliar, será false quando não dano adicional e nem resistencia
// Adicional
if inimigo.tipo = "agua" && tipo = "fogo"
{
    life -= inimigo.dano*inimigo.dano_add;
    a = true // testou avisando que há dano adicional
}
// Resistência
if inimigo.tipo = "fogo" && tipo = "agua"
{
    life -= inimigo.dano*inimigo.res;
    a = true; // testou avisando que há resistência
}
// Se não tem adicional e nem resistência
if a = false
{
    life -= inimigo.dano;
}
a = false  // reseta a variável auxiliar para seu valor padrão

Kabeção
Kabeção

Games Ranking : Sem avaliações

Data de inscrição : 08/06/2008
Reputação : 100
Número de Mensagens : 2314
Prêmios : [Resolvido]Como adicionar elementos/tipos? Empty

Medalhas x 0 Tutoriais x 7 Moedas x 0

Ouro x 3 Prata x 0 Bronze x 1

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://blackcapapps.blogspot.com.br/

Ir para o topo Ir para baixo

[Resolvido]Como adicionar elementos/tipos? Empty Re: [Resolvido]Como adicionar elementos/tipos?

Mensagem por Dialga111 Ter 13 Jul 2010, 12:11

Janx escreveu:usar só
elemento[1]=4
e deixar esse ser o dano, vai fazer ficar sempre com um dano fixo... Não sei se é isso que você quer...

Na vdd é isso sim que eu quero =] Não é um RPG que nem pokémon, é pra um jogo de plataforma onde cada personagem tem 2 ataques, mas todos os ataques são tratados da mesma forma, mudando só o elemento. O dano vai ser o mesmo em todos, mudando só as fraquezas e resistências =]

Não existe isso, "other.global.vida_inimigo".
Se for isso, você tem que tirar o other.
A vida do inimigo está salva numa variavel global? Estranho usar assim, mas tudo bem. É que nem pokemon, que luta só contra 1 oponente, né?

aah, tah, vlw. Num tinha me tocado que se já é global não precisa por o other >.<
E sim, é só um contra um, mas em plataforma, não em RPG.

Kabeção escreveu:Atenção, este é post e extenso, leia duas vezes ou mais para entender! xD


Para algo assim eu preferiria calcular os danos adicionais em proporções ou escalas.

Se cada pokemon tem um tipo só de elemento e um tipo só de resistência você poderia fazer assim:
No evento Create de cada pokemon você coloca uma variável para dano adicional, uma para resistência e uma para saber o tipo dele mas só que em escalas, por exemplo:

Digamos que 1 = 100%, então 0.5 = 50%, 0.27 = 27%, 2 = 200% e etc.
Assim se o dano adicional da agua sobre o fogo é 2, então o dano vai ser 200% ( 2 vezes) mais forte independente da força atual do pokemon.

Mas porque usar escalas?
Vejo que você ainda é iniciante então e bom aprender isso desde o começo.
Nem sempre o ataque deles será o mesmo certo?
Ou eles podem aumentar de nivel no jogo ou você vai querer mudar os valores dos ataques algum dia então usando escalas os danos adicionais vão sempre acompanhar o poder de ataque deles.

Imagine que um pokemon de aguá começou com 20 de ataque e você pos o dano adicionau em 10, quando ele atacar um de fogo o dano será 30 certo?
Mas se ele subir alguns niveis é seu ataque mudar para 500?
Se você adicionar só dez em 500 será muito pouco já que o poder dos inimigos devem estar maiores também.
Usando a escala não tem esse problema se ele começa com 20 e o dano adicional em escala é 2 então seu ataque será 40, se seu ataque é 500 o dano sera 1000 e assim por diante.


Humm entendi. (Sim, eu realmente entendi! (Aliás acho que é por isso que tá chovendo aki...)) Não vou usar desse jeito por enquanto, porque no jogo que eu to fazendo o dano vai ser fixo mesmo, e os personagens não passam de nível, mas assim que eu acabar esse eu tb pretendo fazer um de pokémon (pelo menos um simpleszinho) pra aprende RPG tb, aí eu faço desse jeito =]

vlw gente! Consegui programar os elementos e realmente tira o quanto tinha que tirar!
Dialga111
Dialga111

Data de inscrição : 13/03/2010
Reputação : 0
Número de Mensagens : 33
Prêmios : [Resolvido]Como adicionar elementos/tipos? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[Resolvido]Como adicionar elementos/tipos? Empty Re: [Resolvido]Como adicionar elementos/tipos?

Mensagem por Janx Ter 13 Jul 2010, 16:48

Que bom que conseguiu! Boa sorte no projeto.


Janx
Janx

Data de inscrição : 24/05/2008
Reputação : 14
Número de Mensagens : 2417
Prêmios : [Resolvido]Como adicionar elementos/tipos? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 2 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[Resolvido]Como adicionar elementos/tipos? Empty Re: [Resolvido]Como adicionar elementos/tipos?

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


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