Conectar-se
Quem está conectado
9 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 9 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 20/11/2010
Número de Mensagens : 45
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

"Conquistas" para game maker

em Qui 09 Dez 2010, 10:41
OI pessoal estou com uma duvida...Queria saber como faz para tipo fazer conquistas (como no xbox ou no ps3) Exemplo:Você completa 3000 pontos vc ganha um trofeuzinho...
avatar
Ranking : Sem avaliações
Data de inscrição : 11/10/2009
Número de Mensagens : 2184
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 106

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: "Conquistas" para game maker

em Qui 09 Dez 2010, 10:59
Quando vi o nome Conquistas já me pensei jogando Call of Duty Happy Para fazer uma conquista, você tem de criar o seu próprio sistema de conquista, é obvio. Mas aí é você checar o score do jogador e ativar um script que ganha a conquista.

Se não conseguir, posso fazer um sistema pra você.
avatar
Data de inscrição : 20/11/2010
Número de Mensagens : 45
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: "Conquistas" para game maker

em Qui 09 Dez 2010, 11:05
Mas como faz um script que faz isso? Sou novato ainda albino
avatar
Ranking : Sem avaliações
Data de inscrição : 11/10/2009
Número de Mensagens : 2184
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 106

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: "Conquistas" para game maker

em Qui 09 Dez 2010, 11:13
Hmm... Pode mostrar uma mensagem, ou se for algo mais complexo, a própria sprite de conquista do Xbox. Para criar um script, clique com o botão direito na pastinha Scripts da Árvore de Recursos e depois clique com o botão esquerdo em Create Script.

Em GML seria algo assim(até porque script só é em GML):
Código:
show_message("Você ganhou a conquista:#"+string(argument0))
global.conquistas+=1
global.dinheiro+=argument1
Então chamaríamos o script da seguinte forma: nome_do_script("Matou o chefão da Fase 1",50"). A conqusita vai ser a que matou o chefão, e vai receber 50 Gold por essa conquista(ou qualquer outra unidade monetária). Lembrando novamente, que se estiver com problemas, eu posso fazer uma engine para você.
avatar
Data de inscrição : 07/11/2010
Número de Mensagens : 153
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuáriohttp://socialbook.grouply.com/

Re: "Conquistas" para game maker

em Qui 09 Dez 2010, 11:19
Como eu uso pouco o Game Maker,desse jeito pode não ser um dos melhores...

Create:
Código:

pontos=3000
trofeus=0

Draw:
Código:

if pontos > 2999
{
trofeus=+1
draw_text(0,0,"Você ganhou um premio")
draw_text(0,20,trofeus)
}
avatar
Data de inscrição : 30/12/2009
Número de Mensagens : 1344
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 4

Prêmios
   :
   :
   :
Ver perfil do usuáriohttp://sitedosjogos.forumeiros.com

Re: "Conquistas" para game maker

em Qui 09 Dez 2010, 12:15
@Konnor escreveu:Como eu uso pouco o Game Maker,desse jeito pode não ser um dos melhores...

Create:
Código:

pontos=3000
trofeus=0

Draw:
Código:

if pontos > 2999
{
trofeus=+1
draw_text(0,0,"Você ganhou um premio")
draw_text(0,20,trofeus)
}

desse jeito ele irá ganhar um trofeu a cada step, e ja vai começar o jogo ganhando trofeus

primeiro: você colocou pontos = 3000 que é maior que 2999, coloque pontos = 0

depois na segunda parte do codigo onde ele checa se passou de 2999 e dá um trofeu, você não colocou nada para que os pontos voltem a zero, nesse caso, os pontos continuarão a ser > 2999 e ele ganhará um trofeu a cada step

modo correto:

Create:
Código:

pontos=0
trofeus=0

Draw:
Código:

if pontos > 2999
{
trofeus=+1
draw_text(0,0,"Você ganhou um premio")
draw_text(0,20,trofeus)
pontos = 0
}
avatar
Data de inscrição : 07/11/2010
Número de Mensagens : 153
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuáriohttp://socialbook.grouply.com/

Re: "Conquistas" para game maker

em Qui 09 Dez 2010, 12:19
Cara,eu fiz do jeito que eu achei melhor.
O código tá ai,agora é só ele editar do gosto dele.
Além do mais,ele não especificou que queria que voltasse a 0.
avatar
Data de inscrição : 30/12/2009
Número de Mensagens : 1344
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 4

Prêmios
   :
   :
   :
Ver perfil do usuáriohttp://sitedosjogos.forumeiros.com

Re: "Conquistas" para game maker

em Qui 09 Dez 2010, 12:21
mas se os pontos não voltarem a zero, do jeito que você fez ele vai começar a receber trofeus a cada step, e como ele exibe uma mensagem a cada trofeu ganho, o jogo vai travar se ficar em full screen é capaz até de travar se não conseguir o gerenciador de tarefas, ele não sabe editar codigos porque é novato ;)
avatar
Data de inscrição : 24/05/2008
Número de Mensagens : 2417
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 14

Prêmios
   : 0
   : 2
   : 0
Ver perfil do usuário

Re: "Conquistas" para game maker

em Qui 09 Dez 2010, 13:55
Acho que o tipo de conquistas que ele quer não envolve exclusivamente o "score". Pode ser por matar uma quantidade X de Y inimigo, passar uma fase sem perder vida, etc.

Para isso você precisa de um sistema mais complexo.
Tente fazer da seguinte forma:
Crie uma array de conquistas, assim:
Código:
for (i=0; i<10; i+=1)
{
 conquistas[i] = false; //Ja completei essa conquista? True/False
}

Muito bem, agora temos 10 conquistas possíveis, nenhuma feita por enquanto. Agora você deve decidir o que cada um dos valores de 0~9 significam. Para facilitar a leitura do código posteriormente, vamos usar "CONSTANTS", constantes.
Como adicionar constantes?
No GM7: Global game settings -> Constants
No GM8: aperte ctrl+shift+N

Muito bem, agora vamos fazer assim:
Nome_da_Constante | valor
CONQ_PONTOS1000 | 0
CONQ_PONTOS5000 | 1
CONQ_LIFE100F1 | 2
..
.. //Outras conquistas.

Ótimo, fiz 3 conquistas, mas você pode fazer mais. Eu só estou fazendo para mostrar como ficaria.
Agora em TODOS os eventos que o personagem ganha pontos, adicione o seguinte código:

Código:
if conquistas[CONQ_PONTOS1000] = false && PONTOS >= 1000
{
conquistas[CONQ_PONTOS1000] = true;
show_message("Você ganhou uma conquista: 1000 pontos");
}

if conquistas[CONQ_PONTOS5000] = false && PONTOS >= 5000
{
conquistas[CONQ_PONTOS5000] = true;
show_message("Você ganhou uma conquista: 5000 pontos");
}

Agora vamos fazer a de passar a FASE 1 (CONQ_LIFE100F1), com 100% de vida: (CONQ_LIFE100F1). Use nomes auto-explicativos para facilitar na hora de fazer o código!

Quando o personagem passar a fase 1, faça executar o seguinte código:
Código:
if conquistas[CONQ_LIFE100F1] = false && VIDA = 100
{
 conquistas[CONQ_LIFE100F1]  = true;
 show_message("Você ganhou uma conquista: Passar a fase 1 com vida cheia");
}

Aa legal, agora como eu faço para mostrar as conquistas em uma tela diferente?
Não é dificil, basta fazer um loop.
Por exemplo no DRAW:
Código:
for (i=0; i<10; i+=1)
{
 if conquistas[i] = true
 {draw_text(20,60+16*i,"Conquista "+string(i+1)+" Completada!")}
else
 {draw_text(20,60+16*i,"Conquista "+string(i+1)+" Ainda não foi feita!")}
}

Mas e se eu quiser adicionar uma descrição para cada uma? Bom, você tem o método dificil, e o facil.
O dificil seria fazer
Código:
if conquistas[0] = true
{draw_text(20,60,"Conquista 1 completada: Fazer 1000 pontos");}
else
{draw_text(20,60,"Conquista 1 não foi completada: Fazer 1000 pontos");}
..
..

O mais fácil seria fazer uma Array 2D, sendo uma das colunas a descrição. Dai você usaria um loop para desenhar tudo de uma vez.
"AA você já podia ter feito assim!"
Mas dai você teria tudo pronto, você precisa aprender um pouco por sua conta também!

Boa sorte!
avatar
Data de inscrição : 20/11/2010
Número de Mensagens : 45
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: "Conquistas" para game maker

em Qui 09 Dez 2010, 14:34
Mas os constants são pra pro edition e outra especifiquem onde eu ponho os codigos o jogo é de scrooling shooter
avatar
Data de inscrição : 07/11/2010
Número de Mensagens : 153
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuáriohttp://socialbook.grouply.com/

Re: "Conquistas" para game maker

em Qui 09 Dez 2010, 18:39
Ótimo Janx,estou estudando C e o código do for é realmente parecido com o do Game Maker (é igual).
Por isso dizem que GML foi feito baseado em C e Delphi.

Amigo de cima,creio que agora é por sua conta,tenta arranjar o PRO ou fazer do jeito menos complicado que falamos.
avatar
Data de inscrição : 18/07/2009
Número de Mensagens : 922
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 2

Prêmios
   :
   :
   :
Ver perfil do usuário

Re: "Conquistas" para game maker

em Qui 09 Dez 2010, 19:52
OI pessoal estou com uma duvida...Queria saber como faz para tipo fazer conquistas (como no xbox ou no ps3) Exemplo:Você completa 3000 pontos vc ganha um trofeuzinho...

Apenas isso :

STEP:

Código:
if score=3000{show_message="Parabéns! Você ganhou um troféu!" ; trofeus=1}

if trofeus=1 {instance_create(x,y,trofeu1)//aqui no "x", "y" você escolhe o local na room que quer que apareça o troféu, e o objeto "trofeu1" tem que ter sprite de um troféu

if trofeus=2 {instance_create(x,y,trofeu2)//aqui no "x", "y" você escolhe o local na room que quer que apareça o troféu, e o objeto "trofeu1" tem que ter sprite de um troféu

CREATE:

Código:
trofeus=0
avatar
Data de inscrição : 07/11/2010
Número de Mensagens : 153
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuáriohttp://socialbook.grouply.com/

Re: "Conquistas" para game maker

em Qui 09 Dez 2010, 19:56
Dependendo do jogo do cara,esse teu código pode não dar certo pois por exemplo:

Se o jogo de o personagem não ganha os mesmos pontos,alguns objetos (que ganha ponto) ganha 40,outros 20,outros 60 e assim por diante.

Ai,se ele tivesse 2990 pontos,e ele pegasse um de 11 ou superior,não faria efeito pois não é igual a 3000,ficaria igual a 3001,3020...

O certo é fazer como o nosso amigo falou:

Se maior que 3000
{
pontos é igual a zero
}

Mas lembre-se que eu disse depende do jogo que ele quer criar...
avatar
Data de inscrição : 20/11/2010
Número de Mensagens : 45
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: "Conquistas" para game maker

em Sex 10 Dez 2010, 08:26
o jogo é para scrooling shooter e a minha preocupação é exatamente essa se o trofeu for para 3000 e eu derrotar um avião de 50 quando meu score é 2990 eu não ganho o trofeu e seu colocar larger than 3000 se eu conseguir 3001 vai aparecer milkhares de mensagens"Você ganhou tal tal"podendo ate travar o jogo
avatar
Data de inscrição : 07/11/2010
Número de Mensagens : 153
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuáriohttp://socialbook.grouply.com/

Re: "Conquistas" para game maker

em Sex 10 Dez 2010, 09:14
Então é só zerar os pontos:

Código:

if pontos > 2999
{
trofeus=+1
draw_text(0,0,"Você ganhou um premio")
draw_text(0,20,trofeus)
pontos=0
}

De qualquer forma eu dúvido que trave,pois é draw_text e não show_message().
avatar
Data de inscrição : 20/11/2010
Número de Mensagens : 45
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: "Conquistas" para game maker

em Sex 10 Dez 2010, 09:39
Mas o texto não aparece eu coloquei assim

if score > 100
{
trofeus=+1
draw_text(0,0,"Você ganhou um premio")
draw_text(0,20,trofeus)
score=0
}
dai ele só zera não aparece nenhum texto nem nada...e não dava pra fazer os pontos continuarem sem zerar porque se zerasse o jogo não teria graça porque é scrooling shooter
avatar
Data de inscrição : 07/11/2010
Número de Mensagens : 153
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuáriohttp://socialbook.grouply.com/

Re: "Conquistas" para game maker

em Sex 10 Dez 2010, 09:49
Basta usar uma variável,no Create adiciona uma variável "trofeu=false"
e no draw:

Código:

if score>99
{
trofeus=+1
trofeu=true
score=0
}
if trofeu=true
{
draw_text(0,0,"Você ganhou um premio")
draw_text(0,20,trofeus)
}

Ou,se não quiser adicionar a variável,em:

Código:

if trofeu=true
{
draw_text(0,0,"Você ganhou um premio")
draw_text(0,20,trofeus)
}

Mude para:

Código:

if trofeus>0
{
draw_text(0,0,"Você ganhou um premio")
draw_text(0,20,trofeus)
}

E retire a variável trofeu=true do Draw e do Create.
avatar
Data de inscrição : 20/11/2010
Número de Mensagens : 45
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: "Conquistas" para game maker

em Sex 10 Dez 2010, 09:58
unknow expression trofeu <<aparece
avatar
Data de inscrição : 07/11/2010
Número de Mensagens : 153
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuáriohttp://socialbook.grouply.com/

Re: "Conquistas" para game maker

em Sex 10 Dez 2010, 10:01
Você deve ter usado a do trofeu=true?
Se sim,lembrou de por no Create?

Juro que não consegui achar esse error,eu testei e deu tudo certo!
avatar
Data de inscrição : 20/11/2010
Número de Mensagens : 45
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: "Conquistas" para game maker

em Sex 10 Dez 2010, 10:08
fui no obj_player e coloquei.Create/Set variable trofeu to true depois cirei o event draw no mesmo obj e pus/execute a piece of code:
if score>99
{
trofeus=+1
trofeu=true
score=0
}
if trofeu=true
{
draw_text(0,0,"Você ganhou um premio")
draw_text(0,20,trofeus)
}
e aparece o erro quando da play:
ERROR in
action number 1
of Draw Event
for object obj_player:

Error in code at line 10:
draw_text(0,20,trofeus)
^
at position 17: Unknown variable trofeus

e obrigado por estar me ajudando
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum