Entrar
Últimos assuntos
» Preciso de ajudapor 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
Página 1 de 1
Script com argumento não forncecido
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:
Chamada:
Teria que retornar:
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- Games Ranking :
Notas recebidas : B+C
Data de inscrição : 15/05/2012
Reputação : 49
Número de Mensagens : 675
Prêmios :
x 0 x 0 x 0
x 1 x 0 x 0
x 0 x 0 x 0
Re: Script com argumento não forncecido
- Código:
i = 0
t = ""
while argument[i] != -1
{
t += string(argument[i]) + " - ";
i += 1;
}
return t
destrutor- Data de inscrição : 09/01/2014
Reputação : 0
Número de Mensagens : 16
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Script com argumento não forncecido
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
Re: Script com argumento não forncecido
Caso nenhum dos casos resolva, NULL pode ser interpretado como "".
Gabreel- Data de inscrição : 02/10/2009
Reputação : 52
Número de Mensagens : 2232
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 1.4
- Game Maker Studio 2.0
- Javascript
- Outros
Re: Script com argumento não forncecido
eu fiz diferente chico:
No seu script eu deixei assim:
funcionou, mas no meu ficou assim:
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.
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- Games Ranking :
Notas recebidas : B+B
Data de inscrição : 04/03/2012
Reputação : 144
Número de Mensagens : 1926
Prêmios :
x 0 x 0 x 0
x 1 x 2 x 0
x 0 x 0 x 0
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 1.4
- Unity
Re: Script com argumento não forncecido
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- Data de inscrição : 02/10/2009
Reputação : 52
Número de Mensagens : 2232
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 1.4
- Game Maker Studio 2.0
- Javascript
- Outros
Re: Script com argumento não forncecido
Sim, mas ainda estava acontecendo a mesma coisa, então eu adicionei um -1 junto ao slot e ficou assim:
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?
- 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- Games Ranking :
Notas recebidas : B+B
Data de inscrição : 04/03/2012
Reputação : 144
Número de Mensagens : 1926
Prêmios :
x 0 x 0 x 0
x 1 x 2 x 0
x 0 x 0 x 0
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 1.4
- Unity
Re: Script com argumento não forncecido
Também não entendi direito, até porque não faz sentido chamar o script sem nenhum conteúdo.
Gabreel- Data de inscrição : 02/10/2009
Reputação : 52
Número de Mensagens : 2232
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 1.4
- Game Maker Studio 2.0
- Javascript
- Outros
Re: Script com argumento não forncecido
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 ;)
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 ;)
Re: Script com argumento não forncecido
Brigado ae galera pela ajuda de todos, mas o problema ainda continua, o lance é o que o luiz detectou:
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.
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- Games Ranking :
Notas recebidas : B+C
Data de inscrição : 15/05/2012
Reputação : 49
Número de Mensagens : 675
Prêmios :
x 0 x 0 x 0
x 1 x 0 x 0
x 0 x 0 x 0
Re: Script com argumento não forncecido
Ao invés do zero, verifique por "" (nada) então.
Gabreel- Data de inscrição : 02/10/2009
Reputação : 52
Número de Mensagens : 2232
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 1.4
- Game Maker Studio 2.0
- Javascript
- Outros
Re: Script com argumento não forncecido
- 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:
Re: Script com argumento não forncecido
usando esse código sempre me da o seguinte erro:
por que isso acontece?
- 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- Games Ranking :
Notas recebidas : B+B
Data de inscrição : 04/03/2012
Reputação : 144
Número de Mensagens : 1926
Prêmios :
x 0 x 0 x 0
x 1 x 2 x 0
x 0 x 0 x 0
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 1.4
- Unity
Re: Script com argumento não forncecido
Hm. Porque alguns anteriores são números e não é possível compará-los com strings.
Então:
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:
Re: Script com argumento não forncecido
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.
mas deu certo, só ficou o tracinho atras do ultimo nome de objeto, mas pelo menos isso eu acho que sei como resolver.
JoaoVanBlizzard- Games Ranking :
Notas recebidas : B+B
Data de inscrição : 04/03/2012
Reputação : 144
Número de Mensagens : 1926
Prêmios :
x 0 x 0 x 0
x 1 x 2 x 0
x 0 x 0 x 0
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 1.4
- Unity
Tópicos semelhantes
» Script sem argumento
» Passar objeto atual como argumento
» [Script]Script de conversão de formato de texto ANSI <--> UTF-8
» [Script] Pause em um script
» [SCRIPT]Simples Script De Car
» Passar objeto atual como argumento
» [Script]Script de conversão de formato de texto ANSI <--> UTF-8
» [Script] Pause em um script
» [SCRIPT]Simples Script De Car
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|