Entrar
Últimos assuntos
» Colisões não funcionandopor RastaMaan Hoje à(s) 19:49
» Como ajustar velocidade de cada frame da animação no game maker
por pequetux Hoje à(s) 16:45
» Preciso de ajuda
por AftonDuGrau Dom 21 Abr 2024, 20:18
» Como faz o evento drawn GUI, não se repetir?
por aminaro Sex 19 Abr 2024, 20:30
» PROBLEMAS COM FÍSICAS DE ÁGUA
por aminaro Ter 16 Abr 2024, 10:07
» Retorno da GMBR!!!
por Ralphed Sex 12 Abr 2024, 22:45
» JOGADOR PARANDO NO AR QUANDO ATACA
por aminaro Qua 10 Abr 2024, 13:51
» Problemas com texto interativo
por Kaaru72 Dom 07 Abr 2024, 11:31
» Erro escondido e indecifrável
por dev_gabize.azv Qui 04 Abr 2024, 10:11
» Mudar cor de apenas uma palavra
por Ralphed Sáb 30 Mar 2024, 00:39
» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27
» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30
» 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
Dúvida: Sistema de Recordes
3 participantes
Página 1 de 2
Página 1 de 2 • 1, 2
Dúvida: Sistema de Recordes
Olá, eu encontrei um sistema de recordes aqui no fórum, mas eu não consegui entender ele, então resolvi criar o meu próprio sistema.
Porém, ele não está funcionando do jeito que eu queria D:
preciso de ajuda para entender o porquê!
Se o meu sistema estiver muito ruim, eu agradeço se fizer um pra mim!(Ou então que pelo menos dê dicas de como fazer direito)
Os obj_recorde estão na room dos Recordes, e tem a função de mostrar os melhores Scores alcançados:
Problema: Quando o score atingido é maior que o recorde 3, vai para o Room de Recordes como eu queria.Porém, percebi que só o 1 recorde é atualizado, mas os outros recordes nunca saem do 0..
Se eu faço um recorde menor que o 1, mas maior que 0, ele não substitui o recorde 2, ou melhor, não substitui nenhum, não acontece nada!
Porém, ele não está funcionando do jeito que eu queria D:
preciso de ajuda para entender o porquê!
Se o meu sistema estiver muito ruim, eu agradeço se fizer um pra mim!(Ou então que pelo menos dê dicas de como fazer direito)
- Info:
- Eu devo ter complicado um pouco, feito coisas desnecessários nos códigos, mas foi o jeito que eu consegui para conseguir organizar na minha mente tudo o que eu tava fazendo.
Tem 3 colocações, do recorde 1 ao 3, sendo que o 1 é o maior/melhor
Eu criei variáveis globais e também um arquivo .ini:
ini_open("savegame.ini")
global.recorde_um = ini_read_real("Recordes","Um","ZERO")
global.recorde_dois = ini_read_real("Recordes","Dois","ZERO")
global.recorde_tres = ini_read_real("Recordes","Tres","ZERO")
global._score = 0
e a cada segundo do jogo aumenta 1 (certeza que está funcionando)
- obj_GameOver:
- Info:
- Código:
Este objeto aparece quando o jogo acaba, e dependendo do score, ele atualiza os recordes, atualizando primeiro o terceiro lugar, depois o segundo, e por último o primeiro
- Código:
ini_open("savegame.ini")//Abre meu arquivo .ini
if global._score >= global.recorde_um //Caso o score atingido for maior que o recorde 1, primeiramente:
ini_write_real("Recordes","Tres",global.recorde_dois)//O novo valor do recorde 3 é = ao antigo valor do recorde 2)
else if global._score >= global.recorde_dois//Caso o score atingido for maior que o recorde 2, primeiramente:
ini_write_real("Recordes","Tres",global.recorde_dois) //O novo valor do recorde 3 é = ao antigo valor do recorde 2
//Eu sei, foi desnecessário o primeiro código, afinal, se o score for maior que o recorde 2 automaticamente ele é maior que o 1, mas eu fiz mesmo assim para que eu conseguisse organizar o código facilmente na minha mente
else if global._score >= global.recorde_tres//Caso o score atingido seja amior que o recorde 3
ini_write_real("Recordes","Tres",global._score)//O score atingido substitui o antigo valor do recorde 3
ini_close()
- Código:
{
if global._score >= recorde_um//Caso o score atingido for maior que o recorde 1, segundamente:
ini_write_real("Recordes","Dois",global.recorde_um)//O novo valor do recorde 2 = antigo valor do recorde 1
else if global._score >= global.recorde_dois//Caso o score atingido for maior que o recorde 2, segundamente:
ini_write_real("Recordes","Dois",global._score)}//O score atingido substitui o antigo valor do recorde 2
- Código:
if global._score >= global.recorde_um//Caso o score atingido for maior que o recorde 1, terceiramente:
ini_write_real("Recordes","Um",global._score)//O score atingido substitui o antigo valor do recorde 1
End Step- Código:
if global.score >= global.recorde_tres
room_goto(Records)
else
room_goto(Menu)
Os obj_recorde estão na room dos Recordes, e tem a função de mostrar os melhores Scores alcançados:
- obj_1recorde:
- Create:
- Código:
global.recorde_um = ini_read_real("Recordes","Um","ZERO");
global.recorde_dois = ini_read_real("Recordes","Dois","ZERO");
global.recorde_tres = ini_read_real("Recordes","Tres","ZERO");//atualiza os valores do recordes
- Código:
draw_set_font(obj_1recorde)
draw_text(x,y,"Score: "+string(global.recorde_um))
- obj_2recorde:
- Draw
- Código:
draw_set_font(obj_2recorde)
draw_text(x,y,"Score: "+string(global.recorde_dois))
- obj_3recorde:
- draw_set_font(obj_3recorde)
draw_text(x,y,"Score: "+string(global.recorde_tres))
Problema: Quando o score atingido é maior que o recorde 3, vai para o Room de Recordes como eu queria.Porém, percebi que só o 1 recorde é atualizado, mas os outros recordes nunca saem do 0..
Se eu faço um recorde menor que o 1, mas maior que 0, ele não substitui o recorde 2, ou melhor, não substitui nenhum, não acontece nada!
Última edição por DUDU951 em Ter 08 Jul 2014, 21:43, editado 1 vez(es)
DUDU951- Data de inscrição : 24/06/2014
Reputação : 2
Número de Mensagens : 90
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Dúvida: Sistema de Recordes
Muito mal organizado, tantos objetos variáveis desnecessárias, mas vamos la
1- você só precisa de um objeto
2- guarde todos os valores em uma ds_list ou array
3- você abriu varias vezes os arquivo ini mas não o fechou.
4- draw_set_font(obj_1recorde) você esta usando um objeto como fonte kkkkkk organize bem seus projetos, se você fizer um jogo grande verá a bagunça que fica.
5- Não use comentários para explicar coisas simples,ou no caso tudo que fizer, use apenas para te guiar em algo que certamente não lembraria.
Eu vou criar um sistema novo aqui edito e posto aqui, se não de para postar(porque já estou de saida) posto amanhã cedo.
EDIT
Pronto aqui está, qualquer problema ou duvida pode falar
1- você só precisa de um objeto
2- guarde todos os valores em uma ds_list ou array
3- você abriu varias vezes os arquivo ini mas não o fechou.
4- draw_set_font(obj_1recorde) você esta usando um objeto como fonte kkkkkk organize bem seus projetos, se você fizer um jogo grande verá a bagunça que fica.
5- Não use comentários para explicar coisas simples,ou no caso tudo que fizer, use apenas para te guiar em algo que certamente não lembraria.
Eu vou criar um sistema novo aqui edito e posto aqui, se não de para postar(porque já estou de saida) posto amanhã cedo.
EDIT
Pronto aqui está, qualquer problema ou duvida pode falar
- Código:
//-------------------------------carregando dados(Create)-----------------------------//
_List = ds_list_create()
ini_open("savegame.ini")
ds_list_add(_List,ini_read_real("Recordes","P1",0))
ds_list_add(_List,ini_read_real("Recordes","P2",0))
ds_list_add(_List,ini_read_real("Recordes","P3",0))
ini_close()
//------------------------------adicionando pontos(Step)------------------------------//
score+=1;
//Adicionando valor(Antes de salvar o arquivo)---------------------------------------//
for(_Pos=-1;_Pos<=3;_Pos+=1){if score>ds_list_find_value(_List,_Pos){ds_list_insert(_List,_Pos,score)break}}
//Salvando no arquivo(qualquer evento que queira que encadeia a ação, por exemplo fim do jogo)
ini_open("savegame.ini")
ini_write_real("Recordes","P1",ds_list_find_value(_List,0))
ini_write_real("Recordes","P2",ds_list_find_value(_List,1))
ini_write_real("Recordes","P3",ds_list_find_value(_List,2))
ini_close()
Última edição por Witen em Sáb 05 Jul 2014, 15:04, editado 1 vez(es)
Re: Dúvida: Sistema de Recordes
Muuuito obrigado cara!
Algumas dúvidas:
O que é _list e _pos?
isso de usar objeto como fonte não fui eu que inventei, eu vi alguém fazer e copiei! ushaushauhsua
É só eu tirar essa parte do código do objeto?
Algumas dúvidas:
O que é _list e _pos?
isso de usar objeto como fonte não fui eu que inventei, eu vi alguém fazer e copiei! ushaushauhsua
É só eu tirar essa parte do código do objeto?
DUDU951- Data de inscrição : 24/06/2014
Reputação : 2
Número de Mensagens : 90
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Dúvida: Sistema de Recordes
Todos os meus códigos eu organizo as variáveis com "_" seguido de uma letra maiúscula.
_List é a lista que darda as posições "
_Pos é somente uma variável que pega a posição de quantas vezes o for já foi executado é a mesma variável i que qualquer programador usa mas eu prefiro nomear assim
"isso de usar objeto como fonte não fui eu que inventei, eu vi alguém fazer e copiei! ushaushauhsua"
isso da um erro unexpect miserável por isso e bom nomear objetos com Obj na frente, fontes Fnt, sprites Spt e assim vai, é meio bobo e chato de se fazer mas ajuda muuiiittooo na organização.
Re: Dúvida: Sistema de Recordes
Mas espera aí, esse código grava 3 recordes totalmente "independentes" um do outro?
Por que eu queria fazer como um ranking, sendo o recorde um o maior, e o tres o menor, de forma que caso o recorde um fosse ultrapassado, os recordes 2 e 3 também fossem atualizados.
Por que eu queria fazer como um ranking, sendo o recorde um o maior, e o tres o menor, de forma que caso o recorde um fosse ultrapassado, os recordes 2 e 3 também fossem atualizados.
DUDU951- Data de inscrição : 24/06/2014
Reputação : 2
Número de Mensagens : 90
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Dúvida: Sistema de Recordes
Não entendi o que quis dizer com: 3 recordes totalmente "independentes". ele abre os 3 recordes salva em uma lista, a condição for checa se o score e maior do que a pontuação do primeiro, se for maior é adicionado o novo score naquela posição, se não for ela vai checar a 2 e a 3°.DUDU951 escreveu:Mas espera aí, esse código grava 3 recordes totalmente "independentes" um do outro?
Por que eu queria fazer como um ranking, sendo o recorde um o maior, e o tres o menor, de forma que caso o recorde um fosse ultrapassado, os recordes 2 e 3 também fossem atualizados.
Re: Dúvida: Sistema de Recordes
Witen escreveu:Não entendi o que quis dizer com: 3 recordes totalmente "independentes". ele abre os 3 recordes salva em uma lista, a condição for checa se o score e maior do que a pontuação do primeiro, se for maior é adicionado o novo score naquela posição, se não for ela vai checar a 2 e a 3°.DUDU951 escreveu:Mas espera aí, esse código grava 3 recordes totalmente "independentes" um do outro?
Por que eu queria fazer como um ranking, sendo o recorde um o maior, e o tres o menor, de forma que caso o recorde um fosse ultrapassado, os recordes 2 e 3 também fossem atualizados.
Eu quero que seja como um ranking.
Se os recordes estiverem assim por exemplo: 1¹ = 10 // 2² = 5 // 3³ = 2
Caso uma pessoa fique com o score = 15
Eu quero que fique assim: 1¹ = 15 // 2² = 10 // 3³ = 5
E não assim: 1¹ = 15 // 2² = 5 // 3³ = 2
DUDU951- Data de inscrição : 24/06/2014
Reputação : 2
Número de Mensagens : 90
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Dúvida: Sistema de Recordes
A amigo foi mau eu errei em uma parte do script, porque achei que o primeiro valor era na posição 1, mas não é na 0. O que aconteceDUDU951 escreveu:
Eu quero que seja como um ranking.
Se os recordes estiverem assim por exemplo: 1¹ = 10 // 2² = 5 // 3³ = 2
Caso uma pessoa fique com o score = 15
Eu quero que fique assim: 1¹ = 15 // 2² = 10 // 3³ = 5
E não assim: 1¹ = 15 // 2² = 5 // 3³ = 2
- Código:
valor1,valor2,valor3
- Código:
valor1,Novo_valor,valor2,valor3
Re: Dúvida: Sistema de Recordes
############################################################################################
FATAL ERROR in
action number 1
of Create Event
for object obj_GameOver:
Push :: Execution Error - Variable Get -1._List(100009, -1)
at gml_Object_obj_Recorde_Over_Create_0 (line 5) - for(_Pos=-1;_Pos<=3;_Pos+=1){if global.score>ds_list_find_value(_List,_Pos){ds_list_insert(_List,_Pos,global.score)break}}
############################################################################################
:
FATAL ERROR in
action number 1
of Create Event
for object obj_GameOver:
Push :: Execution Error - Variable Get -1._List(100009, -1)
at gml_Object_obj_Recorde_Over_Create_0 (line 5) - for(_Pos=-1;_Pos<=3;_Pos+=1){if global.score>ds_list_find_value(_List,_Pos){ds_list_insert(_List,_Pos,global.score)break}}
############################################################################################
:
DUDU951- Data de inscrição : 24/06/2014
Reputação : 2
Número de Mensagens : 90
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Dúvida: Sistema de Recordes
Ainda expliquei aonde por cada parte do código a parte de carregar arquivos e criar a lista fica em primeiro junto com a criação do objeto. Não da para modificar algo que ainda não foi criado. Você não pode modificar uma variável local em outro objeto porque ela é só daquele objeto, somente daquele lugar. apenas variáveis globais podem ser modificadas em qualquer lugar, ate mesmo em um code de uma room, existe um modo de modificar variáveis locais mas antes e preciso declarar o id do objeto em que ela esta com with(id) ou id.variavel_qualquer.DUDU951 escreveu:############################################################################################
FATAL ERROR in
action number 1
of Create Event
for object obj_GameOver:
Push :: Execution Error - Variable Get -1._List(100009, -1)
at gml_Object_obj_Recorde_Over_Create_0 (line 5) - for(_Pos=-1;_Pos<=3;_Pos+=1){if global.score>ds_list_find_value(_List,_Pos){ds_list_insert(_List,_Pos,global.score)break}}
############################################################################################
:
Sé não entendeu pergunte de novo, se não entendeu bulhufas me adiciona no face que eu te explico Witened.
Re: Dúvida: Sistema de Recordes
Não está mais dando erros, mas na room dos Recordes sempre só aparece "Score: 0"
- Códigos:
- obj_TMP (é criado logo que o jogo começa)
Create- Código:
global.score=0
alarm[0] = room_speed;
ini_open("savegame.ini")
global._List = ds_list_create()
ds_list_add(global._List,ini_read_real("Recordes","Um","ZERO"))
ds_list_add(global._List,ini_read_real("Recordes","Dois","ZERO"))
ds_list_add(global._List,ini_read_real("Recordes","Tres","ZERO"))
for(global._Pos=-1;global._Pos<=3;global._Pos+=1){if global.score>ds_list_find_value(global._List,global._Pos){ds_list_insert(global._List,global._Pos,global.score)break}}
- Código:
global.score+=1
alarm[0]= room_speed;
- Código:
draw_text(230,10,"Score: "+string(global.score))
obj_GameOver (É criado quando o jogo acaba)
Create- Código:
ini_open("savegame.ini")
ini_write_real("Recordes","Um",ds_list_find_value(global._List,0))
ini_write_real("Recordes","Dois",ds_list_find_value(global._List,1))
ini_write_real("Recordes","Tres",ds_list_find_value(global._List,2))
ini_close()
obj_recordes (É criado na room dos recordes)
Create- Código:
ini_open("savegame.ini")
global.recorde_um = ini_read_real("Recordes","Um","ZERO");
global.recorde_dois = ini_read_real("Recordes","Dois","ZERO");
global.recorde_tres = ini_read_real("Recordes","Tres","ZERO");
ini_close()
- Código:
draw_text(50,50,"Score: "+string(global.recorde_um))
draw_text(100,100,"Score: "+string(global.recorde_dois))
draw_text(150,150,"Score: "+string(global.recorde_tres))
DUDU951- Data de inscrição : 24/06/2014
Reputação : 2
Número de Mensagens : 90
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Dúvida: Sistema de Recordes
DUDU951 escreveu:Não está mais dando erros, mas na room dos Recordes sempre só aparece "Score: 0"
- Códigos:
obj_TMP (é criado logo que o jogo começa)
CreateAlarm[0]
- Código:
global.score=0
alarm[0] = room_speed;
ini_open("savegame.ini")
global._List = ds_list_create()
ds_list_add(global._List,ini_read_real("Recordes","Um","ZERO"))
ds_list_add(global._List,ini_read_real("Recordes","Dois","ZERO"))
ds_list_add(global._List,ini_read_real("Recordes","Tres","ZERO"))
for(global._Pos=-1;global._Pos<=3;global._Pos+=1){if global.score>ds_list_find_value(global._List,global._Pos){ds_list_insert(global._List,global._Pos,global.score)break}}Draw
- Código:
global.score+=1
alarm[0]= room_speed;
- Código:
draw_text(230,10,"Score: "+string(global.score))
obj_GameOver (É criado quando o jogo acaba)
Create
- Código:
ini_open("savegame.ini")
ini_write_real("Recordes","Um",ds_list_find_value(global._List,0))
ini_write_real("Recordes","Dois",ds_list_find_value(global._List,1))
ini_write_real("Recordes","Tres",ds_list_find_value(global._List,2))
ini_close()
obj_recordes (É criado na room dos recordes)
CreateDraw
- Código:
ini_open("savegame.ini")
global.recorde_um = ini_read_real("Recordes","Um","ZERO");
global.recorde_dois = ini_read_real("Recordes","Dois","ZERO");
global.recorde_tres = ini_read_real("Recordes","Tres","ZERO");
ini_close()
- Código:
draw_text(50,50,"Score: "+string(global.recorde_um))
draw_text(100,100,"Score: "+string(global.recorde_dois))
draw_text(150,150,"Score: "+string(global.recorde_tres))
Amigo, global.score +=1 deve estar no STEP.
WellingtonBecker- Games Ranking :
Notas recebidas : D
Data de inscrição : 09/05/2013
Reputação : 105
Número de Mensagens : 824
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Dúvida: Sistema de Recordes
O score está aumentando do jeito que eu quero(dá pra ver por causa do draw), é mesmo necessário trocar do alarme pro step?
DUDU951- Data de inscrição : 24/06/2014
Reputação : 2
Número de Mensagens : 90
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Dúvida: Sistema de Recordes
o score tem que esta em um evento continuo como step. ainda da para da uma otimizada:
Reparei que você esta usando objetos para executar uma função, ao invés disto você poderia criar script, o nomeando como quiser.
- Códigos:
- obj_TMP (é criado logo que o jogo começa)
Create- Código:
global.score=0
ini_open("savegame.ini")
global._List = ds_list_create()
global.recorde_um = ini_read_real("Recordes","Um","ZERO");
global.recorde_dois = ini_read_real("Recordes","Dois","ZERO");
global.recorde_tres = ini_read_real("Recordes","Tres","ZERO");
ds_list_add(global._List,global.recorde_um))
ds_list_add(global._List,global.recorde_dois)
ds_list_add(global._List,global.recorde_tres)
for(global._Pos=-1;global._Pos<=3;global._Pos+=1){if global.score>ds_list_find_value(global._List,global._Pos){ds_list_insert(global._List,global._Pos,global.score)break}}
- Código:
global.score+=1;
- Código:
draw_text(230,10,"Score: "+string(global.score))
Create- Código:
ini_open("savegame.ini")
ini_write_real("Recordes","Um",ds_list_find_value(global._List,0))
ini_write_real("Recordes","Dois",ds_list_find_value(global._List,1))
ini_write_real("Recordes","Tres",ds_list_find_value(global._List,2))
ini_close()
Draw- Código:
draw_text(50,50,"Score: "+string(global.recorde_um))
draw_text(100,100,"Score: "+string(global.recorde_dois))
draw_text(150,150,"Score: "+string(global.recorde_tres))
Reparei que você esta usando objetos para executar uma função, ao invés disto você poderia criar script, o nomeando como quiser.
- Código:
instance_create(1,1,obj_GameOver)
- Código:
Scpt_GameOver()
Re: Dúvida: Sistema de Recordes
ok, como não quero número grandes, coloquei no evento step assim:
mas na room de recordes continua só aparecendo "Score: 0"
lembrando que durante o jogo, o Score está aparecendo e aumentando normalmente
Sobre usar scripts eu ainda uso drag and drop, e também tenho dificuldade em lembrar como adicionar eventos nos códigos, daí colocar nos objetos é muitas vezes mais fácil, então vou começar primeiro usando scripts só para desenhar na tela
- Código:
{tempov+=1
if tempov=30
global.score+=1
if tempov=31
tempov=1}
mas na room de recordes continua só aparecendo "Score: 0"
lembrando que durante o jogo, o Score está aparecendo e aumentando normalmente
Sobre usar scripts eu ainda uso drag and drop, e também tenho dificuldade em lembrar como adicionar eventos nos códigos, daí colocar nos objetos é muitas vezes mais fácil, então vou começar primeiro usando scripts só para desenhar na tela
DUDU951- Data de inscrição : 24/06/2014
Reputação : 2
Número de Mensagens : 90
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Dúvida: Sistema de Recordes
DUDU951 escreveu:ok, como não quero número grandes, coloquei no evento step assim:
- Código:
{tempov+=1
if tempov=30
global.score+=1
if tempov=31
tempov=1}
mas na room de recordes continua só aparecendo "Score: 0"
lembrando que durante o jogo, o Score está aparecendo e aumentando normalmente
Sobre usar scripts eu ainda uso drag and drop, e também tenho dificuldade em lembrar como adicionar eventos nos códigos, daí colocar nos objetos é muitas vezes mais fácil, então vou começar primeiro usando scripts só para desenhar na tela
Ah você quer que a cada um segundo o scorer adicione 1 ponto, você pode usar alarme mesmo então:
Create
- Código:
alarm[0] = room_speed;
- Código:
global.score+=1;
alarm[0] = room_speed;
"mas na room de recordes continua só aparecendo "Score: 0"
lembrando que durante o jogo, o Score está aparecendo e aumentando normalmente"
A variável reseta quando você muda de room man. mude o global.score para global._Score, acho que isso acontece porque score é uma variável pre definida do GM...
Re: Dúvida: Sistema de Recordes
Witen escreveu:Ah você quer que a cada um segundo o scorer adicione 1 ponto, você pode usar alarme mesmo então:
CreateAlarme 0
- Código:
alarm[0] = room_speed;
- Código:
global.score+=1;
alarm[0] = room_speed;
"mas na room de recordes continua só aparecendo "Score: 0"
lembrando que durante o jogo, o Score está aparecendo e aumentando normalmente"
A variável reseta quando você muda de room man. mude o global.score para global._Score, acho que isso acontece porque score é uma variável pre definida do GM...
mudei para global._score, mas ainda continua só aparecendo "Score: 0" na room dos Recordes..
Acho que mesmo que resetasse o score quando mudasse de room não iria ter problema, já que ele é salvo na ini antes disso acontecer.
- Códigos:
- obj_TMP2 (É criado logo quando o jogo começa)
Create- Código:
global._score=0
alarm[0] = room_speed
ini_open("savegame.ini")
global._List = ds_list_create()
global.recorde_um = ini_read_real("Recordes","Um","ZERO");
global.recorde_dois = ini_read_real("Recordes","Dois","ZERO");
global.recorde_tres = ini_read_real("Recordes","Tres","ZERO");
ds_list_add(global._List,global.recorde_um)
ds_list_add(global._List,global.recorde_dois)
ds_list_add(global._List,global.recorde_tres)
for(global._Pos=-1;global._Pos<=3;global._Pos+=1){if global._score>ds_list_find_value(global._List,global._Pos){ds_list_insert(global._List,global._Pos,global._score)break}}
- Código:
global._score+=1
alarm[0]= room_speed
- Código:
draw_text(230,10,"Score: "+string(global._score))
obj_GameOver (É criado quando o jogo acaba, antes de mudar de room)
Create- Código:
ini_open("savegame.ini")
ini_write_real("Recordes","Um",ds_list_find_value(global._List,0))
ini_write_real("Recordes","Dois",ds_list_find_value(global._List,1))
ini_write_real("Recordes","Tres",ds_list_find_value(global._List,2))
ini_close()
obj_recordes (É criado na room dos recordes)
Create- Código:
ini_open("savegame.ini")
global.recorde_um = ini_read_real("Recordes","Um","ZERO");
global.recorde_dois = ini_read_real("Recordes","Dois","ZERO");
global.recorde_tres = ini_read_real("Recordes","Tres","ZERO");
ini_close()
- Código:
draw_text(50,50,"Score: "+string(global.recorde_um))
draw_text(100,100,"Score: "+string(global.recorde_dois))
draw_text(150,150,"Score: "+string(global.recorde_tres))
DUDU951- Data de inscrição : 24/06/2014
Reputação : 2
Número de Mensagens : 90
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Dúvida: Sistema de Recordes
Ué não vejo nada de errado, só algumas coisas desessenciarias
Olhe, abra o arquivo onde esta salvo o score e veja se o valores dos 3 ranks estão igual a zero (se tiverem lascou tudo).
Olhe, abra o arquivo onde esta salvo o score e veja se o valores dos 3 ranks estão igual a zero (
Re: Dúvida: Sistema de Recordes
Sim, no arquivo está assim D:
EDIT:
O que faz quando lasca tudo?
Volto a tentar fazer com aquele meu código bagunçado?
- Código:
[Recordes]
Um=0.000000
Dois=0.000000
Tres=0.000000
EDIT:
O que faz quando lasca tudo?
Volto a tentar fazer com aquele meu código bagunçado?
DUDU951- Data de inscrição : 24/06/2014
Reputação : 2
Número de Mensagens : 90
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Dúvida: Sistema de Recordes
DUDU951 escreveu:Sim, no arquivo está assim D:
- Código:
[Recordes]
Um=0.000000
Dois=0.000000
Tres=0.000000
EDIT:
O que faz quando lasca tudo?
Volto a tentar fazer com aquele meu código bagunçado?
Te aconselho a refazer o trabalho mas agora de forma mais organizada . Procure criar o menor numero de objetos para isso.
WellingtonBecker- Games Ranking :
Notas recebidas : D
Data de inscrição : 09/05/2013
Reputação : 105
Número de Mensagens : 824
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Página 1 de 2 • 1, 2
Tópicos semelhantes
» duvida com sistema de atualizaçao
» Sistema de recordes sem usar o telhado
» [Duvida] Sistema de Raças
» Dúvida: Recordes
» (duvida)Sistema de Vestuario
» Sistema de recordes sem usar o telhado
» [Duvida] Sistema de Raças
» Dúvida: Recordes
» (duvida)Sistema de Vestuario
Página 1 de 2
Permissões neste sub-fórum
Não podes responder a tópicos
|
|