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
» Retorno da GMBR!!!
por theguitarmester Ter 19 Mar 2024, 22:38

» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27

» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30

» Mudar cor de apenas uma palavra
por lunalol Sex 01 Mar 2024, 13:42

» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17

» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18

» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34

» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13

» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18

» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12

» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02

» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55

» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42

» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56

» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49

» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21

» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21

» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39

» Versionamento de código com GitHub
por GabrielXavier Seg 08 Jan 2024, 07:32

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por kolesovsup Sex 29 Dez 2023, 07:16

» a funçao approach ainda existe?
por PEDRINDEV Ter 26 Dez 2023, 20:05

» Inimigo ataca até por trás! >:(
por saim Sex 22 Dez 2023, 08:55

» [RESOLVIDO]Spawn após morte
por Deception_1999 Dom 17 Dez 2023, 16:39

» Remunerado $$$ - Procuro programador para ajudar a "montar" um jogo
por theguitarmester Sáb 02 Dez 2023, 16:28

» Game maker nao abre
por Cerf Dom 26 Nov 2023, 12:01


[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