[TUTORIAL] Fazendo combinações de comandos

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

[TUTORIAL] Fazendo combinações de comandos

Mensagem por itallo em Sab 03 Abr 2010, 18:30

bom pessoal, creio eu que esse seja o primeiro tutorial feito por mim, que posto aqui no forum, então vamos lá!

Nome: Criando combinações de comandos
Descrição:nesse tutorial vou passar para você uma maneira muito simples e prática de criar combinações de teclas que resultam em uma ação.
Nível de dificuldade: Iniciante/Medio
Requerimentos: Game Maker Lite

leia com atenção!
esse tutorial só será de coração para aqueles que irão digitar letra por letra, linha por linha e esquecer do ctrl + c e do ctrl + v e do copiar-colar.

primeira etapa.
raciocinem comigo, um combo é formado por uma combinação de teclas pressionadas em ordem numerica(1, 2, 3).

de inicio vá na pasta script e crie um novo script, nomeio-o como "combo"
agora abra-o e vamos escrever nossas primeiras linhas, mas antes vamos imaginar os comandos que o script vai executar.
sabemos que esse script terá que fazer a ação quando terminar a combinação então vamos escrever isso na primeira linha:

arg0 = argument0
arg1 = argument1

sabemos agora que o arg0 irá representar o argument0.
lembre-se que o arg1 será o ID do comando.

agora vamos calcular quantas teclas eu quero para a combinação?
demorou d+, vai ser 3!
já que eu decidi que serão 3 teclas, teremos que adicionar mais 3 argumentos.
então vamos escrever!


arg0 = argument0 ///script
arg1 = argument1 ///id
arg2 = argument2 ///b1
arg3 = argument3 ///b2
arg4 = argument4 ///b3


agora nosso script deve estar assim:

arg0 = argument0
arg1 = argument1
arg2 = argument2
arg3 = argument3
arg4 = argument4


agora vamos imaginar um jogo de 3 alavancas.
ambas representadas por alavanca1, alavanca2 e alavanca3.
para conseguir puxar a alavanca2 ou a alavanca3 eu preciso puxar a alavanca1.
mas quando eu puxo a alavanca1 eu tenho um tempo, e eu tenho que puxar a alavanca2 dentro desse tempo, vamos supor que esse tempo seja 15 segundos.
então eu puxo a alavanca1 e tenho 15 segundos para poder puxar a alavanca2, caso eu não puxa a alavanca2 a tempo ela é travada, então terei que puxar a alavanca1 outra vez.
então vamos ver como fica.....
puxo a alavanca1
ganho 15 segundos
puxo a alavanca2 antes dos 15 segundos acabar
e ganho mais 15 segundos
então o grand finally!
eu puxo a alavanca3 e ganho o premio!!!

com essa pequena história conseguimos entender que precisamos de um tempo que vai determinar se apertamos ou não o botão seguinte dentro do tempo necessário.

então vamos lá criar o tempo!
coloquem ai:

__tadd[arg1] = 8

agora decidimos que esse tempo será de 0.16 segundos.

agora vamos fazer a barragem, caso eu demore mais que o tempo determinado para puxar a alavanca seguinte as alavancas travam, e terei que puxar a primeira alavanca.
escrevam isso:

if __ptempo = 0
{
__stg[arg1] = 0
}

acabamos de criar duas variaveis.
__ptempo que será o nosso tempo
e
__stg[arg1] que ira dizer qual alavanca puxamos.

agora nosso script deve estar assim:

arg0 = argument0 ///script
arg1 = argument1 ///id
arg2 = argument2 ///b1
arg3 = argument3 ///b2
arg4 = argument4 ///b3

__tadd[arg1] = 8

if __ptempo = 0
{
__stg[arg1] = 0
}


agora vamos ao mais importante!
os botões.
agora vamos ver como funciona o sistema das alavancas.
Código:

se eu puxar a alavanca1
{
__ptempo = __tadd[arg1] //aqui decidimos que o tempo será de 0.16 segundos
__stg[arg1] = 1 //agora sabemos que eu puxei a alavanca1
}

continuando

se eu puxar a alavanca2 e o __tempo for maior que 0 e o __stg[arg1] for igual a 1 //autorização
{
__ptempo = __tadd[arg1] //ganhei mais 0.16 segundo, beleza ainda há esperança!
__stg[arg1] = 2
}
viram? foi mais facil do que eu imaginava.
agora vamos por a mão na massa!

if keyboard_check_pressed(arg2)///se eu puxar a primeira alavanca....
{
__ptempo = __tadd[arg1]
__stg[arg1] = 1
}///fazer a ação de cima, que eu já expliquei o que faz.

if keyboard_check_pressed(arg3) and __tempo > 0 and __stg[arg1] = 1
{//se puxar a alavanca 2 e ja ter puxado a alavanca 1 e estiver dentro do tempo
__ptempo = __tadd[arg1] //oba ganhei mais tempo
__stg[arg1] = 2 //estamos quase na terceira!!!
}

if keyboard_check_pressed(arg4) and __tempo > 0 and __stg[arg1] = 2
{//se puxar a alavanca3 e ja tiver puxado a alavanca2 e 1 e estiver dentro do tempo
__ptempo = __tadd[arg1]
__stg[arg1] = 3 ///CHEGAMOS!!!!!
}


pronto agora fizemos o sistema da alavanca e todo o nosso script ja deve estar assim:

arg0 = argument0 ///script
arg1 = argument1 ///id
arg2 = argument2 ///b1
arg3 = argument3 ///b2
arg4 = argument4 ///b3
///TEMPO padrao, mas pode almentar ou diminuir
__tadd[arg1] = 8
///se tempo for igual a 0 reiniciar
if __ptempo = 0{__stg[arg1] = 0}


if keyboard_check_pressed(arg2)
{
__ptempo = __tadd[arg1]
__stg[arg1] = 1
}

if keyboard_check_pressed(arg3) and __ptempo > 0 and __stg[arg1] = 1
{
__ptempo = __tadd[arg1]
__stg[arg1] = 2
}

if keyboard_check_pressed(arg4) and __ptempo > 0 and __stg[arg1] = 2
{
__ptempo = __tadd[arg1]
__stg[arg1] = 3
}


mas pera aew!!! ainda não acabou!

agora vamos fazer com que o tempo va diminuindo!!!

if __ptempo > 0
{
__ptempo -= 1
}

agora se o tempo for maior que 0 ele vai tirar 1 do valor total do tempo!

e ainda tem mais, vamos fazer para executar o comando!

Código:

se eu conseguir puxar a alavanca3 abre a porta e eu ganho o premio


if __stg[arg1] = 3 {script_execute(argument0)}


e FIM!!!
mas pera ai esse é o fim do nosso primeiro script!!!

crie forças e va na pasta script e crie mais um script.
coloque seu nome de ccombo (ccombo,configuração do combo).
e nele vamos fazer o nosso jogo reconhecer nossas variaveis.
escreva isso:

__ptempo = 0
__stg = 0


pronto agora sim chegamos ao fim, mas......
vamos verificar como ficou o nosso primeiro script.
ele deve estar assim:

arg0 = argument0 ///script
arg1 = argument1 ///id
arg2 = argument2 ///b1
arg3 = argument3 ///b2
arg4 = argument4 ///b3
///TEMPO padrao, mas pode almentar ou diminuir
__tadd[arg1] = 8
///se tempo for igual a 0 reiniciar
if __ptempo = 0{__stg[arg1] = 0}


if keyboard_check_pressed(arg2)
{
__ptempo = __tadd[arg1]
__stg[arg1] = 1
}

if keyboard_check_pressed(arg3) and __ptempo > 0 and __stg[arg1] = 1
{
__ptempo = __tadd[arg1]
__stg[arg1] = 2
}

if keyboard_check_pressed(arg4) and __ptempo > 0 and __stg[arg1] = 2
{
__ptempo = __tadd[arg1]
__stg[arg1] = 3
}

//se __ptempo for maior que zero ir diminuindo tirando 1
if __ptempo > 0
{
__ptempo -= 1
}

///executar tal comando quando o __stg[arg1] for igual a 3
if __stg[arg1] = 3 {script_execute(argument0)}


e o nosso segundo script?
a sim... ele deve estar assim:

__ptempo = 0
__stg = 0



se estiver igualzinho esta tudo certo se não conserte.

agora vamos a parte mais legal, usar os scripts no nosso jogo!
lembre se sempre!
o script ccombo deve ficar no evento create:

ccombo()

e o script combo deve ficar no evento step:

combo(nome do script de ataque,botão1,botão2,botão3)


agora os scripts no spoiler abaixo, com code, pois a formatação acima deixa o "_" invisivel.
Spoiler:
script1:
Código:

arg0 = argument0 ///script
arg1 = argument1 ///id
arg2 = argument2 ///b1
arg3 = argument3 ///b2
arg4 = argument4 ///b3
///TEMPO padrao, mas pode almentar ou diminuir
__tadd[arg1] = 8
///se tempo for igual a 0 reiniciar
if __ptempo = 0{__stg[arg1] = 0}


if keyboard_check_pressed(arg2)
{
__ptempo = __tadd[arg1]
__stg[arg1] = 1
}

if keyboard_check_pressed(arg3) and __ptempo > 0 and __stg[arg1] = 1
{
__ptempo = __tadd[arg1]
__stg[arg1] = 2
}

if keyboard_check_pressed(arg4) and __ptempo > 0 and __stg[arg1] = 2
{
__ptempo = __tadd[arg1]
__stg[arg1] = 3
}

//se __ptempo for maior que zero ir diminuindo tirando 1
if __ptempo > 0
{
__ptempo -= 1
}

///executar tal comando quando o __stg[arg1] for igual a 3
if __stg[arg1] = 3 {script_execute(argument0);__stg[arg1]=0}

script2
Código:

__ptempo = 0
__stg = 0

FIM!
Very Happy


Última edição por CogumeloDoRock em Sab 18 Jun 2011, 16:23, editado 9 vez(es) (Razão : atualização)

itallo

Ranking : Sem avaliações
Número de Mensagens : 969
Idade : 24
Data de inscrição : 26/08/2009
Reputação : 12
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   :
   :

http://www.zuluhotel.com.br

Voltar ao Topo Ir em baixo

Re: [TUTORIAL] Fazendo combinações de comandos

Mensagem por Kevin em Sab 03 Abr 2010, 18:44

Muito Bom Tutorial Very Happy

não o fiz... pois segui o raciocínio... muito bom... bem explicadinho Happy

aconselho para o pessoal que não sabe fazer sequência de botões...

mais serve para várias coisas... como por exemplo.. para abrir um menu especial (clássico do Super Nintendo)... Soltar Poderes... Desarmar Bombas no Jogo... entre muitas outras funções que podem ser usadas... (modos do jogo secretos )...

só que... esses comandos de Menu Especial e Modo de Jogo Secreto São mais viaveis em jogos com mais sucesso e que muitas pessoas jogam... no caso do nosso fórum.. se forem fazer algo parecido... se disponibilizarem o comando será melhor para todos...

FLWs

té +

Continue com belos Tutoriais oBKo

Kevin

Ranking : Nota C
Número de Mensagens : 1166
Idade : 22
Data de inscrição : 14/11/2008
Notas recebidas : C - C
Reputação : 9
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 0

http://www.programaCODM.webs.com/

Voltar ao Topo Ir em baixo

Re: [TUTORIAL] Fazendo combinações de comandos

Mensagem por itallo em Dom 04 Abr 2010, 12:51

vlws kekegames.

mesmo para quem quer fazer um aplicativo e quer usar combinações de teclas para realizar algumas funções, esse comando faz, afinal ele executa algum programa no seu fim então seria uma ótima ferramenta.

vou tentar continuar com tutos....

itallo

Ranking : Sem avaliações
Número de Mensagens : 969
Idade : 24
Data de inscrição : 26/08/2009
Reputação : 12
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   :
   :

http://www.zuluhotel.com.br

Voltar ao Topo Ir em baixo

Re: [TUTORIAL] Fazendo combinações de comandos

Mensagem por Sannin Kyuubi em Dom 04 Abr 2010, 21:13

Exelente seu tutorial oBKo! Nota 9.9, não dou 10 pôs achei a suas explicações meio complicadas mas o que vale é o conteúdo né ;).

Seu totorial é exelente para magias de jogos de lutas, trapaça inseridas no meio de jogo, etc. Em outras palavras muito útil Smile.

Sannin Kyuubi

Número de Mensagens : 192
Idade : 21
Data de inscrição : 12/02/2010
Reputação : 2
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [TUTORIAL] Fazendo combinações de comandos

Mensagem por Iasmim Ribeiro em Qua 10 Nov 2010, 20:49

Muitoo Bom...mas tenho dúvidas... como sou iniciante tem muita coisa q naum peguei...'boiei' na verdadee..

Tipo tuú pudia fazer um tutorial 'mais simples' ainda... falando de argument, pq razão se usa o ''_'' antes das variaveis - no script e tal sugestões...

sei q tu é bom...manda vê...

Aguardo em garoto...

bye

Iasmim Ribeiro Surprised feliz3

Iasmim Ribeiro

Número de Mensagens : 65
Idade : 24
Data de inscrição : 05/07/2010
Reputação : 6
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [TUTORIAL] Fazendo combinações de comandos

Mensagem por itallo em Qui 11 Nov 2010, 18:27

humm...
1- arguments
vai ai na aba esquerda do gamemaker e clica na pasta script e crie um script.
coloque o nome dele de "test"
depois abra ele e escreva:

return (argument0*argument1)

agora feche o script, e vai em qualquer objeto e crie o evento draw
no evento draw coloque isso:

valor = test(2,5)
draw_text(valor,20,20)

acho que com isso você vai entender como funciona o argument.


2 -
eu uso o "__" para criar variáveis difíceis de serem repetidas.
o uso do "__" só altera o nome mesmo.

itallo

Ranking : Sem avaliações
Número de Mensagens : 969
Idade : 24
Data de inscrição : 26/08/2009
Reputação : 12
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   :
   :

http://www.zuluhotel.com.br

Voltar ao Topo Ir em baixo

Re: [TUTORIAL] Fazendo combinações de comandos

Mensagem por wac2007 em Sab 04 Dez 2010, 10:26

oBKo meu velho ficou muito bom o seu tuto be explicadinho e talz =)
Recomendo esse tuto pra quem esta fazendo jogos de quebra cabeça e talz Happy

Parabens e continue com mais tutos (y)

Flws ○/

wac2007

Número de Mensagens : 521
Idade : 23
Data de inscrição : 07/11/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   : 1

http://wac2007.blogspot.com/

Voltar ao Topo Ir em baixo

Re: [TUTORIAL] Fazendo combinações de comandos

Mensagem por Ferna49 em Dom 16 Set 2012, 22:24

Não entendi muito
O script da alavanca(que não é oque eu procuro)
Tem que ser junto ao do combo?

Olha nessa parte
"pronto agora sim chegamos ao fim, mas......
vamos verificar como ficou o nosso primeiro script.
ele deve estar assim:"
Dai ele mostra o script da alavanca,eu não entendi isso.


Edit: Esse script todo serve para os dois comando?

Ferna49

Número de Mensagens : 54
Data de inscrição : 19/07/2012
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [TUTORIAL] Fazendo combinações de comandos

Mensagem por Conteúdo patrocinado Hoje à(s) 04:53


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