[duvida][GMS] Oque tem de errado com o script?

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

[duvida][GMS] Oque tem de errado com o script?

Mensagem por Esaucm98 em Qua 05 Jun 2013, 14:06

Oi a todos, mais uma dúvida minha, eu fiz um script para um inventário e dava tudo certo no game maker normal, mas como o jogo era pra android eu tinha que passar para o GameMaker Studio para executar no android, só que meus scripts não funcionam no GMS e funcionam no Game maker normal D:
Vou passar alguns dos scripts que eu fiz e não estão funcionando no gms:

Script 1: Item_add
Código:
for(i=0;i<=7;i+=1)
    {
    if global.slot[i,0]=argument0  or global.slot[i,0]="empty"
        {
        if global.slot[i,1]+argument1<=30
            {
            global.slot[i,0]=argument0
            global.slot[i,1]+=argument1
            break;
            }
        }
    //Script usado para adicionar item ao inventario
    }

Script 2: Item_remove
Código:
for(i=0;i<=7;i+=1)
    {
    if global.slot[i,0]=argument0
        {
        if global.slot[i,1]>=argument1
            {
            global.slot[i,1]-=argument1
            if global.slot[i,1]<=0
                {
                global.slot[i,1]=0
                global.slot[i,0]="empty"
                }
            break;
            }
        }
    //Script usado para remover item do inventario
    }

Ele "diz": Break used without context (break usando sem contexto) ou algo assim, mas como não tem contexto se o break tem que parar o loop?
Eu estou aprendendo agora essa história de loops mas acho que esses scripts estão certo, não?

Talvez tenha algo haver com o proprio GMS já que ele teve algumas mudanças com relação ao game maker 8.
Se alguem entendeu meu codigo e sabe outro jeito d'ele ter o mesmo efeito mas que funcione no gms, ou sabe se é algum problema com o gms por favor me diga.

Obs¹: Eu tentei usar a função exit; que finaliza o script mas não deu.
Obs²: Meu gms não é original, não sei se pode ser algo relacionado a isso.

Esaucm98

Ranking : Nota D
Número de Mensagens : 275
Data de inscrição : 13/05/2012
Notas recebidas : D
Reputação : 4
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://www.legioncrafters.tk

Voltar ao Topo Ir em baixo

Re: [duvida][GMS] Oque tem de errado com o script?

Mensagem por saim em Qua 05 Jun 2013, 14:48

Me parece que "break" deve ser usado pra se encerrar um loop (ou laço, se preferir), o que é o caso do seu script. Não está fora de contexto. Estou longe do meu GMS (e do manual dele), mas essa é uma declaração universal, toda linguagem tem.

Da forma em que o script é apresentado, a declaração está usada corretamente. Pode ter sido algum erro na hora de copiar-colar.
Uma forma de contornar o problema seria escrever "i := 7;", no lugar do break, encerrando o loop na marra. Claro que isso não é a melhor saída. O correto é usar o break, mesmo.

Agora... notei um problema com os limites (0 e 30). E se você tiver 3 x item e quiser remover 4? Tá, vai esvaziar o slot, mas como você vai falar, do outro lado, que só entregou 3 itens? Não tem essa informação.
Ou se tiver 28 itens e tentar pegar 5? Simplesmente não vai pegar nada.
Talvez você não precise dessa informação agora, mas em sistemas de comércio, em que você pode ir pagando os itens aos poucos, isso pode ser útil. E seu script é bom. Se der uma adaptada nele, pode guardar pro resto da vida.

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: [duvida][GMS] Oque tem de errado com o script?

Mensagem por Esaucm98 em Sex 07 Jun 2013, 01:32

Ah, acho que descobri oque era, provavelmente porque essa versão que eu tou usando é antiga e ele ainda ta com uns bugs, mas como eu vo ter que ficar com ela ate conseguir uma mais atual, vou ter que fazer do jeito que vc falou, não sei como eu não tinha pensado nisso encerrar o loop na marra kk genial, deu certo.
Eu ainda vou da uma melhorada nos meus scripts , eu ainda estou me aprofundando nesse assunto de loops.
Valeu denovo saim. Very Happy


Como o tópico ja foi resolvido, ele sera trancado.
Caso o autor deseje inserir mais alguma informação, contacte um moderador.
Att: CRP-Max.

Esaucm98

Ranking : Nota D
Número de Mensagens : 275
Data de inscrição : 13/05/2012
Notas recebidas : D
Reputação : 4
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://www.legioncrafters.tk

Voltar ao Topo Ir em baixo

Re: [duvida][GMS] Oque tem de errado com o script?

Mensagem por Conteúdo patrocinado Hoje à(s) 22:24


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