Página 1 de 1

XP em gml

Enviado: Dom Fev 16, 2020 10:39 pm
por Trevors
Quera a ajuda de vcs to pensando em fazer um sitema de xp mais to com duvida e espero que vcs possam me ajudar. EX tenho um obj_soldado
e outro chamado obj_inimigo, dentro da room tenho 3 obj_soldado e 1 obj_inimigo, os 3 obj_soldado atiram em ordem aleatoria sem que eu p-ossa escolher entao eu queria, e se tem como, que quando o obj_inimigo for destruido vá XP para o ultimo obj_soldado que deu o tiro e o destruiu.
PFV Galera me ajudem.

Re: XP em gml

Enviado: Seg Fev 17, 2020 1:28 pm
por Chuaschinai
Fácil, é só salvar o ID do ultimo soldado que atirou no objeto inimigo, tendo em mente que você possui um objeto bala que colidira com o inimigo.
No objeto bala você cria um variável que salvara o ID do soldado, assim:

- Objeto Bala

Código: Selecionar todos

/// Create Event
id_soldado = noone;
Quando a bala for instanciada você salva o ID do Soldado
- Objeto Soldado

Código: Selecionar todos

// Step Event
var bala = instance_create(x, y, obj_bala);
    bala.id_soldado = id; // Salva o id do soldado no objeto bala
Quando colidir com o inimigo e ele morrer, é adicionado xp no objeto soldado que o matou
- Objeto inimigo

Código: Selecionar todos

/// Colision Event
if(vida_inimigo - dano_da_bala <= 0){
   var soldado = other.id_soldado; // pega o id do soldado através da bala 
       soldado.xp += 20; // adiciona o xp ao soldado
   instance_destroy(); // destroi o inimigo
}
Não testei mas deve funcionar.

Re: XP em gml

Enviado: Ter Fev 18, 2020 10:25 pm
por Trevors
// Step Event
var bala = instance_create(x, y, obj_bala);
bala.id_soldado = id; // Salva o id do soldado no objeto bala
esse codigo ficaria no obj_soldade ne?

e oque siginifica o traço nesse codigo? " - "
if(vida_inimigo - dano_da_bala <= 0)

Re: XP em gml

Enviado: Qua Fev 19, 2020 11:08 am
por Chuaschinai
Sim o código ficaria no objeto soldado.

Esse "traço" é o simbolo de Subtração, vida atual do inimigo menos o dano da bala, caso esse numero seja menor ou igual a 0 ele executa o código determinado.