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. |
XP em gml
XP em gml
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.
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.
- Chuaschinai
- Colaborador
- Reações: 6
- Mensagens: 198
-
Re: XP em gml
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
Quando a bala for instanciada você salva o ID do Soldado
- Objeto Soldado
Quando colidir com o inimigo e ele morrer, é adicionado xp no objeto soldado que o matou
- Objeto inimigo
Não testei mas deve funcionar.
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;
- 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
- 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
}
Re: XP em gml
// 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)
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)
- Chuaschinai
- Colaborador
- Reações: 6
- Mensagens: 198
-
Re: XP em gml
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.
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.
Quem está online
Usuários navegando neste fórum: Bing [Bot] e 0 visitante