Caixa de mensagem com clique, ajuda com script!
em Seg 02 Jul 2012, 22:27
Olá gente, eu tenho um objeto Talk, que quando acionada aparece uma barrinha com uma mensagem, e ele só funfa quando o objeto Char tem uma colisão com ele e é apertada a letra Z.
Mas eu fiz uma room sem o Char, e eu queria saber um jeito de trocar a colisão, por um clique.
( Quando clicasse no objeto Talk, aparecesse a tal mensagem ).
Vai aí o script do Talk normal:
Se alguém puder me ajudar, o que trocar, se excluo algo, etc... Obrigadaa!
Mas eu fiz uma room sem o Char, e eu queria saber um jeito de trocar a colisão, por um clique.
( Quando clicasse no objeto Talk, aparecesse a tal mensagem ).
Vai aí o script do Talk normal:

- Código:
if (!variable_local_exists("text1")) {text1=""}
if (!variable_local_exists("text2")) {text2=""}
if (!variable_local_exists("text3")) {text3=""}
if (!variable_local_exists("text4")) {text4=""}
if (!variable_local_exists("text5")) {text5=""}
if (!variable_local_exists("text6")) {text6=""}
if (!variable_local_exists("text7")) {text7=""}
if (!variable_local_exists("text8")) {text8=""}
if (!variable_local_exists("text9")) {text9=""}
if (!variable_local_exists("text10")) {text10=""}
if (!variable_local_exists("text11")) {text11=""}
if (!variable_local_exists("text12")) {text12=""}
if (!variable_local_exists("text13")) {text13=""}
if (!variable_local_exists("text14")) {text14=""}
if (keyboard_check(ord("Z"))) {
if (place_meeting(x,y+1,oChar) && oChar.direction=90 && global.canmove && oChar.moving=0) {
scrTextbox(global1,text1,text2,text3,text4,text5,text6,text7,text8,text9,text10,text11,text12,text13,text14)
}
if (place_meeting(x,y-1,oChar) && oChar.direction=270 && global.canmove && oChar.moving=0) {
scrTextbox(global1,text1,text2,text3,text4,text5,text6,text7,text8,text9,text10,text11,text12,text13,text14)
}
if (place_meeting(x+1,y,oChar) && oChar.direction=180 && global.canmove && oChar.moving=0) {
scrTextbox(global1,text1,text2,text3,text4,text5,text6,text7,text8,text9,text10,text11,text12,text13,text14)
}
if (place_meeting(x-1,y,oChar) && oChar.direction=0 && global.canmove && oChar.moving=0) {
scrTextbox(global1,text1,text2,text3,text4,text5,text6,text7,text8,text9,text10,text11,text12,text13,text14)
}
}
Se alguém puder me ajudar, o que trocar, se excluo algo, etc... Obrigadaa!

- Data de inscrição : 19/08/2010
Número de Mensagens : 1299
Insígnias de JAM :x 0
x 0
x 0
Reputação : 47
Prêmios: 1
: 0
: 0
Re: Caixa de mensagem com clique, ajuda com script!
em Seg 02 Jul 2012, 22:49
troque o :
if (keyboard_check(ord("Z")))
por
if mouse_check_button_pressed(mb_left) (mb_left é o botão esquerdo do mouse) pode trocar por mb_right (direito)
Vlw
if (keyboard_check(ord("Z")))
por
if mouse_check_button_pressed(mb_left) (mb_left é o botão esquerdo do mouse) pode trocar por mb_right (direito)
Vlw

Re: Caixa de mensagem com clique, ajuda com script!
em Seg 02 Jul 2012, 23:07
não deu certo, não acontece nada 

- Data de inscrição : 19/08/2010
Número de Mensagens : 1299
Insígnias de JAM :x 0
x 0
x 0
Reputação : 47
Prêmios: 1
: 0
: 0
Re: Caixa de mensagem com clique, ajuda com script!
em Seg 02 Jul 2012, 23:16
Estranho, aqui funcionou.
Vc o Talk ta colidindo com o player ?
vc quer tirar essa colisão tb ?
Vc o Talk ta colidindo com o player ?
vc quer tirar essa colisão tb ?
Re: Caixa de mensagem com clique, ajuda com script!
em Ter 03 Jul 2012, 00:14
Então, o meu oTalk colide com o player normalmente, mas criei uma room com um mini-game, como se fosse um jogo de objetos escondidos, só que quando clicasse em algum objeto, aparece a descrição dele em uma mensagem. Portanto, só nessa room não tem oChar, e dupliquei, fazendo um oTalk2, só pra clicar.
Sim, a colisão não deve existir, porque não há com o que colidir! Então eu tentei excluir o resto do script e só deixar "se clicar com o botao esquerdo scrTextBox text1 text2(...)" mas mesmo assim não funfa.
Sabe alguma forma de recriar um script com essas caracteristicas?
Sim, a colisão não deve existir, porque não há com o que colidir! Então eu tentei excluir o resto do script e só deixar "se clicar com o botao esquerdo scrTextBox text1 text2(...)" mas mesmo assim não funfa.
Sabe alguma forma de recriar um script com essas caracteristicas?
- Data de inscrição : 19/08/2010
Número de Mensagens : 1299
Insígnias de JAM :x 0
x 0
x 0
Reputação : 47
Prêmios: 1
: 0
: 0
Re: Caixa de mensagem com clique, ajuda com script!
em Ter 03 Jul 2012, 01:01
Ah! entendi ! 
Troca o código por isso, se vc notar eu tirei a colisão e trokey o evento keyboard_check_pressed :
Espero que funcione !

Troca o código por isso, se vc notar eu tirei a colisão e trokey o evento keyboard_check_pressed :
- Código:
if (!variable_local_exists("text1")) {text1=""}
if (!variable_local_exists("text2")) {text2=""}
if (!variable_local_exists("text3")) {text3=""}
if (!variable_local_exists("text4")) {text4=""}
if (!variable_local_exists("text5")) {text5=""}
if (!variable_local_exists("text6")) {text6=""}
if (!variable_local_exists("text7")) {text7=""}
if (!variable_local_exists("text8")) {text8=""}
if (!variable_local_exists("text9")) {text9=""}
if (!variable_local_exists("text10")) {text10=""}
if (!variable_local_exists("text11")) {text11=""}
if (!variable_local_exists("text12")) {text12=""}
if (!variable_local_exists("text13")) {text13=""}
if (!variable_local_exists("text14")) {text14=""}
if mouse_check_button_pressed(mb_left) {
scrTextbox(global1,text1,text2,text3,text4,text5,text6,text7,text8,text9,text10,text11,text12,text13,text14)
}
Espero que funcione !

- Ranking :
Notas recebidas : D-B
Data de inscrição : 08/08/2010
Número de Mensagens : 70
Insígnias de JAM :x 0
x 0
x 0
Reputação : 0
Prêmios: 0
: 0
: 0
Re: Caixa de mensagem com clique, ajuda com script!
em Ter 03 Jul 2012, 10:09
para o codigo funcionar, o Talk tem q ter um sprite. Já fiz isso, antigamente já tive um problema desses, aí coloquei um no Talk.
Explicando:
um objeto precisa de um sprite para colidir com os objetos e com o mouse, pois precisa da mascara de colisão, que está nele. Então, se o Talk não tiver um sprite_index, não vai poder ser clicado. Deixe visible=0 para ele não ser visto. O codigo do FlyAway está otimo!
Explicando:
um objeto precisa de um sprite para colidir com os objetos e com o mouse, pois precisa da mascara de colisão, que está nele. Então, se o Talk não tiver um sprite_index, não vai poder ser clicado. Deixe visible=0 para ele não ser visto. O codigo do FlyAway está otimo!
Re: Caixa de mensagem com clique, ajuda com script!
em Ter 03 Jul 2012, 12:51
FlyAway escreveu:Ah! entendi !
Troca o código por isso, se vc notar eu tirei a colisão e trokey o evento keyboard_check_pressed :
- Código:
if (!variable_local_exists("text1")) {text1=""}
if (!variable_local_exists("text2")) {text2=""}
if (!variable_local_exists("text3")) {text3=""}
if (!variable_local_exists("text4")) {text4=""}
if (!variable_local_exists("text5")) {text5=""}
if (!variable_local_exists("text6")) {text6=""}
if (!variable_local_exists("text7")) {text7=""}
if (!variable_local_exists("text8")) {text8=""}
if (!variable_local_exists("text9")) {text9=""}
if (!variable_local_exists("text10")) {text10=""}
if (!variable_local_exists("text11")) {text11=""}
if (!variable_local_exists("text12")) {text12=""}
if (!variable_local_exists("text13")) {text13=""}
if (!variable_local_exists("text14")) {text14=""}
if mouse_check_button_pressed(mb_left) {
scrTextbox(global1,text1,text2,text3,text4,text5,text6,text7,text8,text9,text10,text11,text12,text13,text14)
}
Espero que funcione !![]()
Funcionar, ele funciona, mas veja como é a room:
http://i46.tinypic.com/l8s9g.png
Acho que o problema é que tem Talks demais, não? E quando clico em qualquer parte da room, a mensagem que aparece é a do Talk da direita, por exemplo, eu clicava no guarda chuva e aparecia - Um violão. - Clicava no divã e também aparecia - Um violão.
Lázaro Games, é sim uma sprite, veja lá, é um retangulo azul só pra mim saber a posição...


- Ranking :
Notas recebidas : B + A + C
Data de inscrição : 29/10/2010
Número de Mensagens : 1013
Insígnias de JAM :x 0
x 0
x 0
Reputação : 79
Prêmios: 2
: 0
: 0
Re: Caixa de mensagem com clique, ajuda com script!
em Ter 03 Jul 2012, 13:00
Tira o Precise collision check da sprite.
Vai em Eventos e bota Mouse > Left Pressed. Bota o código dentro desse evento.
Vai em Eventos e bota Mouse > Left Pressed. Bota o código dentro desse evento.
Re: Caixa de mensagem com clique, ajuda com script!
em Ter 03 Jul 2012, 13:16
Gonçalves deu certo, mas ele só funciona quando clico na borda da sprite.
Resolvi preencher a sprite pintando um quadrado todo, mas mesmo assim, só a ponta de cima da esquerda que faz aparecer a mensagem. Que faço?
------------------------------
[Edit]
Já consegui!! O problema estava no objeto, a mask estava errada, o certo é colocar "same as sprite"
muito obrigada a todos que me ajudaram!!!
Resolvi preencher a sprite pintando um quadrado todo, mas mesmo assim, só a ponta de cima da esquerda que faz aparecer a mensagem. Que faço?
------------------------------
[Edit]
Já consegui!! O problema estava no objeto, a mask estava errada, o certo é colocar "same as sprite"
muito obrigada a todos que me ajudaram!!!

- Ranking :
Notas recebidas : B + A + C
Data de inscrição : 29/10/2010
Número de Mensagens : 1013
Insígnias de JAM :x 0
x 0
x 0
Reputação : 79
Prêmios: 2
: 0
: 0
Re: Caixa de mensagem com clique, ajuda com script!
em Ter 03 Jul 2012, 13:26
Vai na sprite > Modify Mask... > E ative o Full Image e Rectangle.
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum