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
» 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

» Como ajustar velocidade de cada frame da animação no game maker
por Ralphed Qui 18 Abr 2024, 18:28

» 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

» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39


Script com argumento não forncecido

+3
luiz_eldorado
destrutor
chicoweb
7 participantes

Ir para baixo

Script com argumento não forncecido Empty Script com argumento não forncecido

Mensagem por chicoweb Dom 12 Jan 2014, 18:43

Galera lá dentro do script eu sei que devemos tratar os argumentos que chegam pelo argument0, argument1 ...
Como que eu faço pra detectar se o argumento não foi fornecido, mas tratar para que o script não gere erro.

eXEMPLO, eu sei que o NULL nao e tratado assim mas era tipo isso ai que eu pretendia, se e que da pra entender

Script atxt:

Código:
i = 0
t = ""
while  argument[i] != NULL  
{
    t += string(argument[i]) + " - ";
    i += 1;
}
return t

Chamada:

Código:
draw_text(x,y,atxt("CEBOLA", 456, "ALHO", 0, "PIMENTÃO", 44)

Teria que retornar:

Código:
CEBOLA - 456 - ALHO - 0 - PIMENTÃO - 44
chicoweb
chicoweb

Games Ranking : Nota C

Notas recebidas : B+C
Data de inscrição : 15/05/2012
Reputação : 49
Número de Mensagens : 675
Prêmios : Script com argumento não forncecido Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 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

Script com argumento não forncecido Empty Re: Script com argumento não forncecido

Mensagem por destrutor Dom 12 Jan 2014, 19:46

Código:
i = 0
t = ""
while  argument[i] != -1
{
    t += string(argument[i]) + " - ";
    i += 1;
}
return t
destrutor
destrutor

Data de inscrição : 09/01/2014
Reputação : 0
Número de Mensagens : 16
Prêmios : Script com argumento não forncecido 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

Script com argumento não forncecido Empty Re: Script com argumento não forncecido

Mensagem por luiz_eldorado Dom 12 Jan 2014, 20:50

destrutor escreveu:
Código:
i = 0
t = ""
while  argument[i] != -1
{
    t += string(argument[i]) + " - ";
    i += 1;
}
return t

Na verdade, quando não tem argumento, ele retorna 0, não -1 (ao menos no GM8.0).
Então seria:
Código:
while  argument[i] != 0
Só que daria problema caso o argumento seja 0 mesmo... então você pode tentar colocar todos os números como strings mesmo, "0". Ou ao menos quando for 0. Aí você usa a função real() pra virar número.
luiz_eldorado
luiz_eldorado

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 30/07/2011
Reputação : 47
Número de Mensagens : 928
Prêmios : Script com argumento não forncecido Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 1

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

http://luizpontes.tk/

Ir para o topo Ir para baixo

Script com argumento não forncecido Empty Re: Script com argumento não forncecido

Mensagem por Gabreel Dom 12 Jan 2014, 21:10

Caso nenhum dos casos resolva, NULL pode ser interpretado como "".
Gabreel
Gabreel

Data de inscrição : 02/10/2009
Reputação : 52
Número de Mensagens : 2232
Prêmios : Script com argumento não forncecido 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
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Javascript
  • Outros


Ir para o topo Ir para baixo

Script com argumento não forncecido Empty Re: Script com argumento não forncecido

Mensagem por JoaoVanBlizzard Dom 12 Jan 2014, 21:23

eu fiz diferente chico:

No seu script eu deixei assim:
Código:

slot=6 //quantos numeros e produtos foram adicionados
i = 0
t = ""
for (i=0 i< slot  i+=1)
{
    t += string(argument[i]) + " - ";
}
return t

funcionou, mas no meu ficou assim:


CEBOLA - 456 - ALHO - 0 - PIMENTÃO - 44 -

com um ultimo traço na cena, deve ter um jeito de aperfeiçoar esse código, até eu teria o interesse em saber, pode me ser útil para algo mais.
JoaoVanBlizzard
JoaoVanBlizzard

Games Ranking : Nota B

Notas recebidas : B+B
Data de inscrição : 04/03/2012
Reputação : 144
Número de Mensagens : 1926
Prêmios : Script com argumento não forncecido Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 2 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Unity


Ir para o topo Ir para baixo

Script com argumento não forncecido Empty Re: Script com argumento não forncecido

Mensagem por Gabreel Dom 12 Jan 2014, 21:36

JoaoVanBlizzard escreveu:
funcionou, mas no meu ficou assim:


CEBOLA - 456 - ALHO - 0 - PIMENTÃO - 44 -

com um ultimo traço na cena, deve ter um jeito de aperfeiçoar esse código, até eu teria o interesse em saber, pode me ser útil para algo mais.

Código:

slot=6 //quantos numeros e produtos foram adicionados
i = 0
t = ""
for (i=0 i< slot  i+=1)
{
    t += string(argument[i]);
if i<slot { t+=" - "; }
}
return t

Isso?
Gabreel
Gabreel

Data de inscrição : 02/10/2009
Reputação : 52
Número de Mensagens : 2232
Prêmios : Script com argumento não forncecido 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
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Javascript
  • Outros


Ir para o topo Ir para baixo

Script com argumento não forncecido Empty Re: Script com argumento não forncecido

Mensagem por JoaoVanBlizzard Dom 12 Jan 2014, 21:55

Sim, mas ainda estava acontecendo a mesma coisa, então eu adicionei um -1 junto ao slot e ficou assim:
Código:

i = 0
t = ""


slot=6 //quantos numeros e produtos foram adicionados
i = 0
t = ""
for (i=0 i< slot  i+=1)
{
    t += string(argument[i]);
if i<slot-1 { t+=" - "; }
}
return t

comigo deu certo , agora cabe saber se era algo assim que o chicoweb procurava, não entendi o lance do Null que ele adicionava, o que significa exatamente aquilo e como funciona?
JoaoVanBlizzard
JoaoVanBlizzard

Games Ranking : Nota B

Notas recebidas : B+B
Data de inscrição : 04/03/2012
Reputação : 144
Número de Mensagens : 1926
Prêmios : Script com argumento não forncecido Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 2 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Unity


Ir para o topo Ir para baixo

Script com argumento não forncecido Empty Re: Script com argumento não forncecido

Mensagem por Gabreel Dom 12 Jan 2014, 22:07

Também não entendi direito, até porque não faz sentido chamar o script sem nenhum conteúdo.
Gabreel
Gabreel

Data de inscrição : 02/10/2009
Reputação : 52
Número de Mensagens : 2232
Prêmios : Script com argumento não forncecido 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
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Javascript
  • Outros


Ir para o topo Ir para baixo

Script com argumento não forncecido Empty Re: Script com argumento não forncecido

Mensagem por Jiraya Dom 12 Jan 2014, 23:16

se vc estiver usando GMS
basta usar argument_length

caso contrario vc pode criar uma constante que represente NULL na ide do game maker

adicione uma constante tipo

NULL=971938269;


e no script


var t,i,slots;
slots=6;
t="";
for(i=0;argument[i]!=NULL && i<100;i++)
{
t+=string(argument[i]);
if(argument[i+1]!=NULL)t+="-";
}
return t;

uso.

atxt("chiclete",10,"pamonha",20,NULL);
nota se que o NULL indica o fim dos parametros, qualquer argumento usado depois dele sera ignorado.

Se vc estiver usando o gms me avisa pq ai da p otimizar o script dispensqndo o NULL.

n sei se era isso q queria. mas esta ai p referencia ;)
Jiraya
Jiraya

Games Ranking : Nota A

Notas recebidas : A+A
Data de inscrição : 20/03/2010
Reputação : 108
Número de Mensagens : 1134
Prêmios : Script com argumento não forncecido Empty

Medalhas x 0 Tutoriais x 1 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 1

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

https://www.facebook.com/seito.washiro.7

Ir para o topo Ir para baixo

Script com argumento não forncecido Empty Re: Script com argumento não forncecido

Mensagem por chicoweb Seg 13 Jan 2014, 08:32

Brigado ae galera pela ajuda de todos, mas o problema ainda continua, o lance é o que o luiz detectou:

luiz_eldorado escreveu:      
Código:
i = 0
t = ""
        while  argument[i] != -1
        {
            t += string(argument[i]) + " - ";
            i += 1;
        }
        return t


Na verdade, quando não tem argumento, ele retorna 0, não -1 (ao menos no GM8.0).
Então seria:

Código:
Código:
    while  argument[i] != 0

Só que daria problema caso o argumento seja 0 mesmo... então você pode tentar colocar todos os números como strings mesmo, "0". Ou ao menos quando for 0. Aí você usa a função real() pra virar número.

Ai e que tá o problema, o argumentX retorna 0 quando não é passado, ai por exemplo se eu passar assim:

atxt("gato", 988, 0, "rato")
Vai retornar ("gato - 988")  erradamente, pois tem o zero que foi passado e o rato aida para adicionar.

São 16 argumentos no maximo, eu queria que ele parasse de acrescentar argumento quando não tivesse mais, no exemplo ai em cima, ele tinha que detectar que o terceiro argumento (zero) foi passado, e o quinto não foi.
chicoweb
chicoweb

Games Ranking : Nota C

Notas recebidas : B+C
Data de inscrição : 15/05/2012
Reputação : 49
Número de Mensagens : 675
Prêmios : Script com argumento não forncecido Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 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

Script com argumento não forncecido Empty Re: Script com argumento não forncecido

Mensagem por Gabreel Seg 13 Jan 2014, 20:39

Ao invés do zero, verifique por "" (nada) então.
Gabreel
Gabreel

Data de inscrição : 02/10/2009
Reputação : 52
Número de Mensagens : 2232
Prêmios : Script com argumento não forncecido 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
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Javascript
  • Outros


Ir para o topo Ir para baixo

Script com argumento não forncecido Empty Re: Script com argumento não forncecido

Mensagem por PedroX Seg 13 Jan 2014, 20:57

Código:
i = 0
t = ""
        while  argument[i] != 'Fim'
        {
            t += string(argument[i]) + " - ";
            i += 1;
        }
        return t;

atxt("gato", 988, 0, "rato", 'Fim')


_________________


Leia o Manual do Iniciante e a Lista de Tutoriais, para aprender bastante sobre o GM.
Recomendo o Manual completo das colisões, bem útil.
O exemplo Criar um chat (banir, kickar, etc) é interessante.

Para seu jogo ficar rápido e legal, aprenda a Aumentar o desempenho do seu jogo.

Aprenda a calcular a velocidade de suas animações


Entre para o Clube do Inglês:
PedroX
PedroX

Games Ranking : Nota B

Notas recebidas : C+B
Data de inscrição : 26/07/2008
Reputação : 311
Número de Mensagens : 6087
Prêmios : Script com argumento não forncecido Empty

Medalhas x 0 Tutoriais x 17 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

https://web.whatsapp.com/send?phone=5519995935953&text=Pedro

Ir para o topo Ir para baixo

Script com argumento não forncecido Empty Re: Script com argumento não forncecido

Mensagem por JoaoVanBlizzard Seg 13 Jan 2014, 21:15

usando esse código sempre me da o seguinte erro:
Código:

ERROR in
action number 1
of Draw Event
for object object0:

In script atxt:
Error in code at line 3:
          while  argument[i] != 'Fim'
                                ^
at position 32: Cannot compare arguments.


por que isso acontece?
JoaoVanBlizzard
JoaoVanBlizzard

Games Ranking : Nota B

Notas recebidas : B+B
Data de inscrição : 04/03/2012
Reputação : 144
Número de Mensagens : 1926
Prêmios : Script com argumento não forncecido Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 2 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Unity


Ir para o topo Ir para baixo

Script com argumento não forncecido Empty Re: Script com argumento não forncecido

Mensagem por PedroX Seg 13 Jan 2014, 21:24

Hm. Porque alguns anteriores são números e não é possível compará-los com strings.

Então:

Código:
while  (string(argument[i]) != 'Fim')

_________________


Leia o Manual do Iniciante e a Lista de Tutoriais, para aprender bastante sobre o GM.
Recomendo o Manual completo das colisões, bem útil.
O exemplo Criar um chat (banir, kickar, etc) é interessante.

Para seu jogo ficar rápido e legal, aprenda a Aumentar o desempenho do seu jogo.

Aprenda a calcular a velocidade de suas animações


Entre para o Clube do Inglês:
PedroX
PedroX

Games Ranking : Nota B

Notas recebidas : C+B
Data de inscrição : 26/07/2008
Reputação : 311
Número de Mensagens : 6087
Prêmios : Script com argumento não forncecido Empty

Medalhas x 0 Tutoriais x 17 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

https://web.whatsapp.com/send?phone=5519995935953&text=Pedro

Ir para o topo Ir para baixo

Script com argumento não forncecido Empty Re: Script com argumento não forncecido

Mensagem por JoaoVanBlizzard Seg 13 Jan 2014, 21:34

Vivendo e aprendendo, eu que eu vou passar o resto da vida tentando entender as funções do game maker e nunca vou terminar um jogo por causa disso, hehehe, tem vezes que o game maker vem com gambiarras que só de eu ver saio correndo, heheheeh, seria legal se existisse um editor de códigos tipo o dreamweaver, que você digita e coloca o que quer e ele te fornece o script para você.

mas deu certo, só ficou o tracinho atras do ultimo nome de objeto, mas pelo menos isso eu acho que sei como resolver.
JoaoVanBlizzard
JoaoVanBlizzard

Games Ranking : Nota B

Notas recebidas : B+B
Data de inscrição : 04/03/2012
Reputação : 144
Número de Mensagens : 1926
Prêmios : Script com argumento não forncecido Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 2 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Unity


Ir para o topo Ir para baixo

Script com argumento não forncecido Empty Re: Script com argumento não forncecido

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

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