Obrigado por visitar a The Game Makers Brasil 😁 Use o fórum de Dúvidas para fazer perguntas. Se está em busca de aprender dê uma olhada nos tutoriais.

Duvida sobre Game Maker

Perguntas? A comunidade te ajuda a resolver.
Avatar do usuário
SnowPi
Novato
Novato
Reações: 0
Mensagens: 6

Re: Duvida sobre Game Maker

Mensagem por SnowPi » Dom Fev 11, 2018 7:14 am

Vou tentar ajudar com o primeiro problema, depois pensamos no segundo o/
Sinceramente, tentar montar seu código sem ter acesso a ele seria muito difícil, então me dei ao luxo de criar um do 0 e te passar pra você se basear nele, caso queira.
Aqui está o link pra baixar o projeto.

Exemplo do "sistema":
Imagem
Basicamente, quando o jogador(quadrado verde) ataca, caso tenha um inimigo na frente dele ele marca esse inimigo como um alvo(sei que não é exatamente o que você quer, mas foi um exemplo pra você adaptar).
Ao marcar esse inimigo como um alvo, o oManager vai criar o objeto de dano(quadrado azul) em cima dele.
Todos os monstros dentro do objeto de dano vão ser atingidos por ele.

Você pode mudar a ordem que as coisas acontecem pra ter resultados diferentes. Por exemplo criar o objeto de dano ao atacar e caso ele acerte alguém você marca esse alguém como alvo(e ai você tira vida ou alguma outra coisa).

Algo que eu queria deixar comentado aqui é esse trecho do oManager:

Código: Selecionar todos

// Checar se existe algum inimigo
if(instance_exists(oRed)) {
    // Cria array com todos inimigos
    i = 0; repeat(instance_number(oRed)) {
        Enemy[i] = instance_find(oRed, i);    
        i++
    }
    
    // Pega cada inimigo no mapa pra poder manipular
    i = 0; repeat(array_length_1d(Enemy)) {
        with(Enemy[i]) {
            // Checa se ele é alvo e está vivo
            if(Target && isAlive) {
                // Cria objeto de dano em cima dele
                instance_create(x, y, oDamage);
            }
        }
        i++
    }
}
[/left]
Essa é a parte importante pra você poder separar quem esta sendo alvo e quem não está.
Na verdade essa é a parte mais importante pra você lidar com os inimigos, hehe...

Enfim, espero que o código te ajude o/
See ya.

Avatar do usuário
GhostPower
Membro
Membro
Reações: 0
Mensagens: 97

Re: Duvida sobre Game Maker

Mensagem por GhostPower » Dom Fev 11, 2018 10:51 am

Blz SnowPi

Vamos la cara:

Primeiramente obrigado pela sua ajuda a segunda duvida eu consegui fazer uma maneira de equipar e desequipar um item pelo objeto(ate agora esta funcionando).

Então o meu maior problema esta no objeto dano, pq não sei o que fazer para criar um objeto dano e ele calcular os danos em diferentes inimigos de uma  vez.
Se vc poder usar uma teoria ou um código no objeto dano e mostrar, eu agradeceria. 

Obs.: O HP do inimigo funciona (mesmo em área, ele calcular o dano de cada inimigo mesmo com a defesa ou atributo diferente), até sugeri em usar o events Draw para mostra o dano, pq ai eu eliminaria este objeto dano.

Deixo meu muito obrigado pela sua atenção e disposição.

Avatar do usuário
SnowPi
Novato
Novato
Reações: 0
Mensagens: 6

Re: Duvida sobre Game Maker

Mensagem por SnowPi » Dom Fev 11, 2018 6:13 pm

O calculo do dano depende do teu sistema de batalha. Não tenho como simular um aqui porque a forma como você fez pode divergir muito da forma como eu faria...

Anyway, você pode, por exemplo, usar o código que eu deixei na minha última resposta DENTRO do objeto dano pra pegar todos os inimigos acertados(só precisaria mudar algumas coisas no código), depois disso você calcularia os danos e absorções...

Avatar do usuário
GhostPower
Membro
Membro
Reações: 0
Mensagens: 97

Re: Duvida sobre Game Maker

Mensagem por GhostPower » Ter Fev 13, 2018 10:18 am

Blz SnowPi,

Então vc poderia mostra o seu jeito de fazer? Ou sua ideia?

Obrigado pela ajuda, cara infelizmente não tenho ideia de como fazer isso.

Avatar do usuário
SnowPi
Novato
Novato
Reações: 0
Mensagens: 6

Re: Duvida sobre Game Maker

Mensagem por SnowPi » Qua Fev 14, 2018 6:26 pm

Eu tinha escrito uma resposta legal aqui mas o fórum me deslogou e eu perdi tudo e infelizmente não tenho mais tempo pra refazer ela, mas eu deixei esse código aqui, basicamente:

Código: Selecionar todos

// Checar se existe algum inimigo
if(instance_exists(oRed)) {
    // Cria array com todos inimigos
    i = 0; repeat(instance_number(oRed)) {
        Enemy[i] = instance_find(oRed, i);    
        i++
    }
    
    // Pega cada inimigo no mapa pra poder manipular
    i = 0; repeat(array_length_1d(Enemy)) {
        with(Enemy[i]) {
            if(place_meeting(x, y, oDano)) {
                // Tá colidindo com o dano
                Enemy[i].hp -= (oDano.dano - Enemy[i].defesa) 
            }
        }
        i++
    }
}
Exemplo de aplicação:
Caso o objeto dano fosse criado colidindo com 2 inimigos:
Goblin:
HP = 20
Defesa = 5

Ogro:
HP = 20
Defesa = 20

Se o dano for 25, o Goblin vai morrer(25 do ataque - 5 da defesa = 20 de dano) e o Ogro vai sobreviver(25 do ataque - 20 da defesa = 5 de dano).
Agora, pra não ter que colocar todo o calculo ali(talvez seu jogo tenha buffs e estados específicos, chance de acertar ou de dar crítico e etc...) eu criaria um script pra cuidar de tudo isso.

Avatar do usuário
GhostPower
Membro
Membro
Reações: 0
Mensagens: 97

Re: Duvida sobre Game Maker

Mensagem por GhostPower » Qui Fev 15, 2018 4:44 pm

Vlw SnowPi

Vou tentar usar este código no meu jogo, mas digo se tiver mais algumas ideia sobre isso estou a disposição.

Obrigado pela ajuda.

Avatar do usuário
GhostPower
Membro
Membro
Reações: 0
Mensagens: 97

Re: Duvida sobre Game Maker

Mensagem por GhostPower » Qua Mar 21, 2018 10:04 am

Bom dia SirPug,

Então cara obrigado pela sua ajuda, mais já consegui resolver as duas duvidas.

Se quiserem podem ate fechar/encerrar esta duvida com resolvida.

Agradeço a todos pela a ajuda.

Responder

Quem está online

Usuários navegando neste fórum: Ahrefs [Bot], Bing [Bot] e 13 visitantes