Levels, XP e Energia

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Levels, XP e Energia

Mensagem por viniciusav em Qui 12 Maio 2011, 18:26

Verifiquei este tópico
e tentei adaptar para o seguinte sistema:

Level 1 - XP: 0 Energia: 12
Level 2 - XP: 4 ]Energia: 13
Level 3 - XP: 16 Energia: 14
Level 4 - XP: 31 Energia: 15
Level 5 - XP: 78 Energia: 16

Explicações:
Level 1 é o inicial, logo não precisa de XP, mas para avançar para o Level 2 será gasto 1 ponto de Energia para cada ação executada e dará um ponto de XP, quando forem completados 4 pontos de XP o jogador alcançará o Level 2 e passará a ter 13 pontos de Energia (ao invés dos 12 anteriores).
No Level 2 serão mantidos os 4 pontos de XP e continuará o mesmo sistema do outro (a cada ação executada dará um ponto de XP e gastará um de Energia) (Quando alcançar 16 pontos de XP o player evoluirá para o Level 3 e passará a ter 14 pontos de Energia (ao invés dos 13 anteriores) e assim por diante como descrito acima).

Estou fazendo da seguinte forma:

Create do object0:

global.exp=0
global.nivel=1
global.energia=12

Step do object0:

if global.exp >=4
{global.nivel =2
global.energia =13
}
if global.exp >=16
{global.nivel =3
global.energia =14
}
if global.exp >=31
{global.nivel =4
global.energia =15
}
if global.exp >=78
{global.nivel =5
global.energia =16
}

Draw do object0:

draw_text(0,0,'XP: '+ string(global.exp))
draw_text(0,24,'Nivel: '+ string(global.nivel))
draw_text(0,48,'Energia: '+ string(global.energia))

Como teste boto para ganhar XP com:

Left Button do object1:

global.exp+=1
global.energia-=1
instance_destroy()
(OBS: Coloquei diversos "object1" na room, lembrando que é apenas um improviso).

O problema:
Tudo da certo, consigo ganhar pontos de XP com o clique do mouse e a cada clique gasto 1 ponto de Energia.
O problema é que isso só prevalece no Level 1, quando alcanço o Level 2 passo a não gastar mais pontos Energia e o propósito do sistema é gastar, rs.
Gostaria que vocês pudessem me esclarecer essa dúvida (por favor, rs, deu trabalho para formatar o tópico de forma que fique claro, lógico, se não tiverem entendido só me avisar que explico denovo.

Muito obrigado pela atenção e grandes abraços a todos!!



Última edição por viniciusav em Qui 12 Maio 2011, 20:07, editado 6 vez(es) (Razão : Formatação do Tópico!! =))

viniciusav

Número de Mensagens : 131
Data de inscrição : 10/08/2010
Reputação : 3
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Levels, XP e Energia

Mensagem por PedroX em Qui 12 Maio 2011, 18:51

O problema é que como esta no step, ele sempre fica jogando o valor para o inicial.
Já vejo como resolver.

Editado: Meu código não iria funcionar. Espere um pouco.

Editado: Coloque isso no lugar do codigo do step:
Código:
if global.exp >3 && (global.nivel==1)
{
global.nivel =2
global.energia =13
}
if global.exp >=16 && global.nivel==2
{global.nivel =3
global.energia =14
}
if global.exp >=31 && global.nivel==3
{global.nivel =4
global.energia =15
}
if global.exp >=78 && global.nivel==4
{global.nivel =5
global.energia =16
}
FLW

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Levels, XP e Energia

Mensagem por Mannoroth em Qui 12 Maio 2011, 19:10

@topic
pelo seus codes, assim q vc atingir exp 4, a energia ficara sendo igual a 13, sem poder mudar. Vc tem que limitar pra so acontecer de ir pra 13 energia apenas uma vez, assim:
Código:
if global.exp>=4 and global.exp<16 and global.podeenerg1=true {global.energia=13;global.podeenerg1=false}
if global.exp>=16 and global.exp<31 and global.podeenerg2=true {global.energia=14;global.podeenerg2=false}
if global.exp>=31 and global.exp<78 and global.podeenerg1=true {global.energia=15;global.podeenerg2=false}
if global.exp>=78 and  global.podeenerg1=true {global.energia=16;global.podeenerg4=false}
Note que tem que botar "maior ou igual a x, e menor que y", é porque senão, assim q exp chegar em 16, ainda se obedecerá a condição >=4, (que torna energia=12) ao mesmo tempo que obedece a condicao >=16(que torna energia=13), podendo dar confusão e erro.
Ae vc tem que criar as variaveis global.podeenerg, no event create bota:
Código:
global.podenerg1=true
global.podeenerg2=true
global.podeenerg3=true
global.podeenerg4=true
Espero que seja isso, diz se deu certo, caso apareça algum erro, posta o erro ae.

Pedro Henrique, pelo seu code, a energia nao vai ser gastavel(diminuir se usar), pois o step fará ela ficar sempre igual dependendo da exp e nivel atual do jogador, e o viniciusav quer que ela seja gastável.

Mannoroth

Ranking : Nota D
Número de Mensagens : 836
Idade : 26
Data de inscrição : 05/10/2010
Notas recebidas : D+D
Reputação : 12
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Levels, XP e Energia

Mensagem por viniciusav em Qui 12 Maio 2011, 19:49

Amigos, vocês tem o meu muito obrigado, a minha gratidão e créditos nos agradecimentos de um possível jogo que irei criar com este sistema. Muito obrigado!! =)

@Pedro Henrique:
Seu code funcionou certinho, muito obrigado!! =)

@Mannoroth:
Seu code funcionou certinho também, muito obrigado, apenas tivemos que acrescentar o seguinte:

if global.exp>=4 and global.exp<16 and global.podeenerg1=true {global.energia=13;global.podeenerg1=false
global.nivel=2}
if global.exp>=16 and global.exp<31 and global.podeenerg2=true {global.energia=14;global.podeenerg2=false
global.nivel=3}
if global.exp>=31 and global.exp<78 and global.podeenerg1=true {global.energia=15;global.podeenerg2=false
global.nivel=4}
if global.exp>=78 and global.podeenerg1=true {global.energia=16;global.podeenerg4=false
global.nivel=5}

Aos dois!! =)

Eu tinha esquecido de comentar, a energia é recarregada ao passar de nível, do jeitinho que vocês fizeram, muito obrigado!! =)

OBS 1: Estou bolando uma forma também de quando a energia chegar a 0 será exibida uma mensagem no lugar do valor da energia "Falta energia" e com isto o jogador teria a opção de comprar num "mercadindo" ou utilizar "refils" que ele consegue no decorrer do jogo. Se puderem me ajudar nesse caso serei novamente muito agradecido!!
OBS 2: Se possível deixem o tópico aberto para discutirmos sobre a OBS 1.

Abraços e novamente muito obrigado!! =)


Última edição por viniciusav em Sex 13 Maio 2011, 12:41, editado 3 vez(es) (Razão : Formatação!! =))

viniciusav

Número de Mensagens : 131
Data de inscrição : 10/08/2010
Reputação : 3
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Levels, XP e Energia

Mensagem por Mannoroth em Qui 12 Maio 2011, 20:19

Ok, fico feliz em ajudar, agora em troca vc pode testar e comentar meus projetos:
http://gmbr.forumeiros.com/t15883-galaxy-ship-cq007
http://gmbr.forumeiros.com/t15969-vinte-e-um
http://gmbr.forumeiros.com/t15975-match-letter
http://gmbr.forumeiros.com/t15927-nap-nap-audio-player
http://gmbr.forumeiros.com/t15312-megaman-x-seven-mistakes
aviso que o ultimo jogo, em alguns PC's, pode levar 10 a 15 minutos pra carregar, mas depois q carrega pega beleza(sem lag, sem problemas, etc.)

Mannoroth

Ranking : Nota D
Número de Mensagens : 836
Idade : 26
Data de inscrição : 05/10/2010
Notas recebidas : D+D
Reputação : 12
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Levels, XP e Energia

Mensagem por PedroX em Qui 12 Maio 2011, 20:22

Substitua o draw por isso:

Código:

draw_text(0,0,'XP: '+ string(global.exp))
draw_text(0,24,'Nivel: '+ string(global.nivel))

if energia>0
draw_text(0,48,'Energia: '+ string(global.energia))
else
{
draw_text(0,48,'Falta energia. Compre mais apertando space.')
if keyboard_check_pressed(vk_space)
room=room_loja;
}




PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Levels, XP e Energia

Mensagem por viniciusav em Sex 13 Maio 2011, 12:38

@Mannoroth:
Irei comentar e testar, pode ter certeza, peço somente um prazo até semana que vem, pois irei fazer uma prova domingo de concurso e nesse pequeno tempo irei me ausentar.
Se puder me ajude também na duvida abaixo, por favor!! =)
Muito obrigado!! =)
Abraços!!

@Pedro Henrique:
Funcionou certinho, só que mesmo mostrando a mensagem ele continua conseguindo executar as ações que lhe dão XP e passa de Level.
Depois que voltar a usar o PC (semana que vem acredito) tentarei fazer com que ele não consiga realizar as ações se não tiver energia.
Se você puder e quiser me ajude nisso por favor.
Muito obrigado!! =)
Abraços

viniciusav

Número de Mensagens : 131
Data de inscrição : 10/08/2010
Reputação : 3
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Levels, XP e Energia

Mensagem por Conteúdo patrocinado Hoje à(s) 16:26


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum