GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» Problema ao entrar por uma porta e voltar por ela
por aminaro Seg 06 maio 2024, 10:08

» Alguém aqui já ganha dinheiro com seus games?
por theguitarmester Ter 30 Abr 2024, 11:43

» Colisões não funcionando
por theguitarmester Ter 30 Abr 2024, 10:16

» Como ajustar velocidade de cada frame da animação no game maker
por pequetux Sex 26 Abr 2024, 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

» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21


[Resolvido]Dúvidas com scripts

3 participantes

Ir para baixo

[Resolvido]Dúvidas com scripts Empty [Resolvido]Dúvidas com scripts

Mensagem por .:Allison:. Seg 14 Mar 2011, 21:20

Eu estou com várias dúvidas sobre os scripts:

- Como o script funciona
- Qual a diferença de escrever um script e em um objeto
- Como chamar uma variável no Script
- O que são arguments
- Como usar os arguments

A parte mais difícil pra mim são os arguments, eu não consigo entender de jeito maneira, vou dar um exemplo de um código, mim digam pra que serve esse argument
Código:
///////////////////////////////////////////////////////////////////
//                                                              //
//                              Button                          //                         
//                                                              //
//  Description: Draws a Win32 Button                          //
//                                                              //
//  Arguments:                                                  //
//                                                              //
//  argument0................x                                  //
//  argument1................y                                  //
//  argument2................text                              //
//                                                              //
//            Copyright (C) 2005 by Michael Schwarz            //
//                                                              //
//      Please give me credits if you use this script!!!        //
//                                                              //
///////////////////////////////////////////////////////////////////



_color=draw_get_color()
if not(variable_local_exists("fbu")) {
fbu=0
press=false
}


xtmp = argument0
ytmp = argument1
wtmp = string_width(argument2)+12+argument0
htmp = string_height(argument2)+8+argument1
if(press=true) {press=false; return true;}
press=false

if (mouse_check_button(mb_left)) {
if (mouse_x > xtmp && mouse_x < wtmp) {
if (mouse_y > ytmp && mouse_y < htmp) {
draw_set_color(0)
draw_rectangle(xtmp,ytmp,wtmp,htmp,false)
draw_set_color(8421504)
draw_rectangle(xtmp+1,ytmp+1,wtmp-1,htmp-1,false)
draw_set_color(13160664)
draw_set_color(13160664)
draw_rectangle(xtmp+2,ytmp+2,wtmp-2,htmp-2,false)
draw_set_color(0)
draw_text(xtmp+7,ytmp+5,argument2)
press=true
mouse_clear(mb_left)
} else {
draw_set_color(16777215)
draw_line(xtmp,ytmp,wtmp-1,ytmp)
draw_line(xtmp,ytmp,xtmp,htmp)
draw_set_color(4210752)
draw_line(wtmp,ytmp,wtmp,htmp)
draw_line(wtmp,htmp,xtmp,htmp)
draw_set_color(8421504)
draw_line(wtmp-1,ytmp+1,wtmp-1,htmp-1)
draw_line(wtmp-1,htmp-1,xtmp-1,htmp-1)
draw_set_color(13160664)
draw_set_color(13160664)
draw_rectangle(xtmp+1,ytmp+1,wtmp-2,htmp-2,false)
draw_set_color(0)
draw_text(xtmp+6,ytmp+4,argument2)

}
} else {
draw_set_color(16777215)
draw_line(xtmp,ytmp,wtmp-1,ytmp)
draw_line(xtmp,ytmp,xtmp,htmp)
draw_set_color(4210752)
draw_line(wtmp,ytmp,wtmp,htmp)
draw_line(wtmp,htmp,xtmp,htmp)
draw_set_color(8421504)
draw_line(wtmp-1,ytmp+1,wtmp-1,htmp-1)
draw_line(wtmp-1,htmp-1,xtmp-1,htmp-1)
draw_set_color(13160664)
draw_set_color(13160664)
draw_rectangle(xtmp+1,ytmp+1,wtmp-2,htmp-2,false)
draw_set_color(0)
draw_text(xtmp+6,ytmp+4,argument2)
}
} else {
draw_set_color(16777215)
draw_line(xtmp,ytmp,wtmp-1,ytmp)
draw_line(xtmp,ytmp,xtmp,htmp)
draw_set_color(4210752)
draw_line(wtmp,ytmp,wtmp,htmp)
draw_line(wtmp,htmp,xtmp,htmp)
draw_set_color(8421504)
draw_line(wtmp-1,ytmp+1,wtmp-1,htmp-1)
draw_line(wtmp-1,htmp-1,xtmp-1,htmp-1)
draw_set_color(13160664)
draw_set_color(13160664)
draw_rectangle(xtmp+1,ytmp+1,wtmp-2,htmp-2,false)
draw_set_color(0)
draw_text(xtmp+6,ytmp+4,argument2)
}
draw_set_color(_color)

Fico agradecido desde já!


Última edição por X-Games em Sex 18 Mar 2011, 18:44, editado 2 vez(es)
.:Allison:.
.:Allison:.

Games Ranking : Nota B

Notas recebidas : B
Data de inscrição : 25/07/2010
Reputação : 4
Número de Mensagens : 630
Prêmios : [Resolvido]Dúvidas com scripts Empty

Medalhas x 0 Tutoriais x 14 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://clubmaker.forumeiros.com

Ir para o topo Ir para baixo

[Resolvido]Dúvidas com scripts Empty Re: [Resolvido]Dúvidas com scripts

Mensagem por Math Maker Seg 14 Mar 2011, 21:49

Cara, pesquisar um pouco faz bem a saúde... Da uma olhada nesse link:

Código:
http://gmbr.forumeiros.com/t12433-indice-de-aulas-e-tutoriais-de-dharrison#111010

Nesse script os arguments fazem de si uma função. Os dados são posição x (horizontal), posição y (vertical) e o texto aplicado na mesma. Quando você usa esse sript você o declara como uma função:

Código:
win32bt(x,y,str)

Bem, acho que tudo vai ficar mais esclarecido depois de ler alguns tutoriais.
Math Maker
Math Maker

Data de inscrição : 26/02/2011
Reputação : 6
Número de Mensagens : 107
Prêmios : [Resolvido]Dúvidas com scripts Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[Resolvido]Dúvidas com scripts Empty Re: [Resolvido]Dúvidas com scripts

Mensagem por .:Allison:. Seg 14 Mar 2011, 21:57

Não achei oque procurava, ai ele só tem uma breve explicação, queria um diagnóstico completo!! mais vlw pela ajudaa!!
.:Allison:.
.:Allison:.

Games Ranking : Nota B

Notas recebidas : B
Data de inscrição : 25/07/2010
Reputação : 4
Número de Mensagens : 630
Prêmios : [Resolvido]Dúvidas com scripts Empty

Medalhas x 0 Tutoriais x 14 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://clubmaker.forumeiros.com

Ir para o topo Ir para baixo

[Resolvido]Dúvidas com scripts Empty Re: [Resolvido]Dúvidas com scripts

Mensagem por Willy Seg 14 Mar 2011, 23:59

Para usar um script, se usa assim:

Em um objeto, você chama o script dessa maneira:
Código:
///exemplo:
scr_script(obj_bloco,32,16)
scr_script é o nome do script
O que tem dentro do "()" são os arguments, nesse caso, é o argument0, argument1 e argument2.

No scripit, por exemplo, você usa assim:

Código:
if instance_exists(argument0){
if place_free(x+argument1,y)
x+=32
}else if place_free(x-argument2,y){
x-=16
}
Os arguments sao definidos no objeto, ao executar o script, ele simplesmente interpreta o argument como o valor que foi dado a ele.
Seria como se ele lesse o script assim:
Código:
if instance_exists(obj_bloco){
if place_free(x+32,y)
x+=32
}else if place_free(x-16,y){
x-=16
}
Se quiser usar variaveis no script, basta colocar normalmente entre os seus "ifs", desde que o objeto que chamou o script tenha as variaveis declaradas (exeto as globais).
O uso de script pode ser usado para tornar mais facil a criação de blocos de códigos extensos. Ai, ao invez de criar em todo objeto que for usar esse bloco umas 30 linhas, basta usar 1 como o scr_script()

Espero ter ajudado!
blz
Willy
Willy

Games Ranking : Nota A

Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Reputação : 264
Número de Mensagens : 1890
Prêmios : [Resolvido]Dúvidas com scripts Empty

Medalhas x 0 Tutoriais x 2 Moedas x 0

Ouro x 2 Prata x 1 Bronze x 1

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://willy-gmbr.blogspot.com/

Ir para o topo Ir para baixo

[Resolvido]Dúvidas com scripts Empty Re: [Resolvido]Dúvidas com scripts

Mensagem por .:Allison:. Qua 16 Mar 2011, 17:46

Humm.. mais eu achei esse negócio de arguments inútil, qual a finalidade dele, eu posso fazer o código sem os arguments, só com os números normais ?
.:Allison:.
.:Allison:.

Games Ranking : Nota B

Notas recebidas : B
Data de inscrição : 25/07/2010
Reputação : 4
Número de Mensagens : 630
Prêmios : [Resolvido]Dúvidas com scripts Empty

Medalhas x 0 Tutoriais x 14 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://clubmaker.forumeiros.com

Ir para o topo Ir para baixo

[Resolvido]Dúvidas com scripts Empty Re: [Resolvido]Dúvidas com scripts

Mensagem por Willy Qua 16 Mar 2011, 23:11

Inútil?
Jamais!

Script é o melhor amigo de um programador de GameMaker, torna-se muito mais manipulavel e pratico o uso dos scripts.
Sim, você pode colocar um valor FIXO no lugar dos arguments. Com os arguments, eu posso usar um unico escript para MUITOS objetos diferentes.
Um exemplo de script que eu uso bastante, é o sistema de morte.
Por exemplo, ao colidir-me com um objeto mortal, ele executa o script com os seguintes argumens: scr_morte(1,obj_morto,x,y,snd_morre). "1" é o tanto de vidas que ele vai perder,"obj_morto" é o objeto dele morrendo e snd_morte é o som de morte, "x" e "y" é a posição do objeto.
No script:
Código:
vidas-=argument0
instance_create(argument2,argument3,argument1)
sound_play(argument5)
Nesse caso, o script é em pequeno, mas imagine se esse script tivesse umas 15 linhas e tivesse que ser ativado em diferentes situações? Eu teria que re-escrever todo o código e alterar toda hora, dependendo do situação.
Ai eu pergunto, o que é mais facil, escrever 15 linhas ou 1 simples linha?

Nos aruments, você não poe apenas números, você pode por qualquer tipo de variavel(0,true,"texto",etc).
Bom, qualquer duvida é so falar!

Espero ter ajudado!
blz
Willy
Willy

Games Ranking : Nota A

Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Reputação : 264
Número de Mensagens : 1890
Prêmios : [Resolvido]Dúvidas com scripts Empty

Medalhas x 0 Tutoriais x 2 Moedas x 0

Ouro x 2 Prata x 1 Bronze x 1

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://willy-gmbr.blogspot.com/

Ir para o topo Ir para baixo

[Resolvido]Dúvidas com scripts Empty Re: [Resolvido]Dúvidas com scripts

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo


 
Permissões neste sub-fórum
Não podes responder a tópicos