Compartilhe
avatar
Designer - Intermediário
Designer - Intermediário
Mensagens : 3182
Reputação : 133
Desde : 13/10/2012
Idade : 16
Localização : Terra Mágica dos Poneys
Link : MixMods.com.br
Ver perfil do usuáriohttp://www.mixmods.blogspot.com

Re: 10. Exercício #1

em Sab 28 Jan 2017, 23:14
Eu ACHO que usa o Wait no inicio de cada loop.

______________________________
Configs:

Processador : Intel Core 2 Quad Q8200 2.34 Ghz
Memória RAM : 4GB DDR3
Placa de Vídeo : GTX 750 1GB
Sistema Operacional :  Windows 10 64 Bits Pro
avatar
Mensagens Nível 2
Mensagens Nível 2
Mensagens : 50
Reputação : 2
Desde : 14/03/2015
Ver perfil do usuário

Re: 10. Exercício #1

em Dom 29 Jan 2017, 00:14
@Rodrigo294 escreveu:
Nos "IFS" do "Esse script aqui tá uma porra" não deveria ser "IF OR"? E não era mais fácil usar "IF NOT var = 12" invés de usar dois "ifs" com > e < ?

@Und explicação melhor:
@Und escreveu:
então quando chegasse nelas as variaveis ja seriam doze
Quando chegar nelas na primeira vez, não seriam 12 (na vdd a chance de ser é bem pequena). No código você fez um loop que a cada ciclo as vars ficariam cada vez mais próximas de 12 até que todas fiquem com 12.
Quando for executado isso em um dos ciclos do loop:
Spoiler:

Código:

IF var1 >= 12
AND var2 >= 12
AND var3 >= 12
AND var4 >= 12
AND var5 >= 12
    PRINT_FORMATTED_NOW "Esse script aqui tá uma porra" 1000
ENDIF
Mostrará a mensagem se todas vars forem maior ou igual a 12, então se chegar ao resultado esperado (todas com valor 12) essa mensagem ainda será mostrada, sobrescrevendo a mensagem "Todas as variaveis são 12...". Se você quer que mostre a mensagem de "erro" enquanto todas as var não sejam 12 então você deveria usar "OR" no lugar do "AND", ">" no lugar do ">=" e "<" no lugar do "<=".
Assim:
Spoiler:

Código:

IF var1 > 12
OR var2 > 12
OR var3 > 12
OR var4 > 12
OR var5 > 12
    PRINT_FORMATTED_NOW "Esse script aqui tá uma porra" 1000
ENDIF

IF var1 < 12
OR var2 < 12
OR var3 < 12
OR var4 < 12
OR var5 < 12
    PRINT_FORMATTED_NOW "Esse script aqui tá uma porra" 1000
ENDIF
Se você quer minimizar seu código vc pode usar "IF NOT var = 12":
Spoiler:

Código:

SCRIPT_START
{
NOP

LVAR_INT var1 var2 var3 var4 var5

GENERATE_RANDOM_INT_IN_RANGE 0 100 var1
GENERATE_RANDOM_INT_IN_RANGE 0 100 var2
GENERATE_RANDOM_INT_IN_RANGE 0 100 var3
GENERATE_RANDOM_INT_IN_RANGE 0 100 var4
GENERATE_RANDOM_INT_IN_RANGE 0 100 var5

script_test:
WAIT 0

IF NOT var1 = 12
    IF var1 > 12
        var1 -= 1
    ELSE
        var1 += 1
    ENDIF
ENDIF

IF NOT var2 = 12
    IF var2> 12
        var2 -= 1
    ELSE
        var2 += 1
    ENDIF
ENDIF

IF NOT var3 = 12
    IF var3> 12
        var3 -= 1
    ELSE
        var3 += 1
    ENDIF
ENDIF

IF NOT var4 = 12
    IF var4> 12
        var4 -= 1
    ELSE
        var4 += 1
    ENDIF
ENDIF

IF NOT var5 = 12
    IF var5> 12
        var5 -= 1
    ELSE
        var5 += 1
    ENDIF
ENDIF

IF var1=12
AND var2=12
AND var3=12
AND var4=12
AND var5=12
    PRINT_FORMATTED_NOW "Todas as variaveis são 12: %d %d %d %d %d" 10000 var1 var2 var3 var4 var5
ENDIF

IF NOT var1 = 12
OR NOT var1 = 12
OR NOT var1 = 12
OR NOT var1 = 12
OR NOT var1 = 12
    PRINT_FORMATTED_NOW "Esse script aqui tá uma porra" 1000
ENDIF

goto script_test

}
SCRIPT_END

@Linacanin veja o tutorial de loops novamente.
Você deve usar o wait pelo menos uma vez dentro de cada loop (independente do tipo de loop) porque senão o jogo vai processar apenas o seu loop e vai congelar o jogo. Em outros lugares é apenas quando vc desejar que o jogo espere antes de continuar a executar o script.
avatar
Mensagens Nível 2
Mensagens Nível 2
Mensagens : 50
Reputação : 2
Desde : 14/03/2015
Ver perfil do usuário

Re: 10. Exercício #1

em Dom 29 Jan 2017, 02:12
@Rodrigo294 escreveu:
Você deve usar o wait pelo menos uma vez dentro de cada loop (independente do tipo de loop) porque senão o jogo vai processar apenas o seu loop e vai congelar o jogo.
@Linacanin Eu estava errado ;-; vc pode fazer pequenos loops para automatizar algumas coisa que não precisa que usar wait. Fiz um exemplo usando essa atividade:
Exemplo (um pouco complexo):

Código:

SCRIPT_START
{
    NOP
 
    LVAR_INT var[5] count all12

    main_loop:
    WAIT 0
    IF TEST_CHEAT "GERAR"
        count = 0
        WHILE count < 5
            GENERATE_RANDOM_INT_IN_RANGE 0 100 var[count]
            count++
        ENDWHILE
        sub_loop:
        all12 = TRUE
        count = 0
        WHILE count < 5
            IF NOT var[count] = 12
                all12 = FALSE
                IF var[count] > 12
                    var[count]--
                ELSE
                    var[count]++
                ENDIF
            ENDIF
            count++
        ENDWHILE
        IF all12 = TRUE
            PRINT_FORMATTED_NOW "Todas as vars sao 12: %i %i %i %i %i" 5000 var[0] var[1] var[2] var[3] var[4]
            GOTO main_loop
        ELSE
            GOTO sub_loop
        ENDIF
    ENDIF
    GOTO main_loop
}
SCRIPT_END
avatar
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Título : Bicho Piruleta
Mensagens : 671
Reputação : 111
Desde : 22/09/2015
Idade : 19
Localização : Salvador - BA
Ver perfil do usuário

Re: 10. Exercício #1

em Dom 29 Jan 2017, 02:30
Código:
        (...)
        IF all12 = TRUE
            PRINT_FORMATTED_NOW "Todas as vars sao 12: %i %i %i %i %i" 5000 var[0] var[1] var[2] var[3] var[4]
            GOTO main_loop // desnecessário
        ELSE
            GOTO sub_loop
        ENDIF
    ENDIF
    GOTO main_loop
Como dito no tutorial, a leitura do script é de cima pra baixo, se all12 for verdadeiro já vai descer pro "GOTO main_loop" no fim.

______________________________
" Everyone gonna remember my name ! "
Mensagens Nível 1
Mensagens Nível 1
Mensagens : 23
Reputação : 0
Desde : 06/07/2016
Idade : 17
Localização : MINAS GERAIS !
Ver perfil do usuário

Re: 10. Exercício #1

em Dom 29 Jan 2017, 03:38
megusta


Última edição por JuniorEDiT em Dom 29 Jan 2017, 12:04, editado 1 vez(es)
avatar
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Título : Bicho Piruleta
Mensagens : 671
Reputação : 111
Desde : 22/09/2015
Idade : 19
Localização : Salvador - BA
Ver perfil do usuário

Re: 10. Exercício #1

em Dom 29 Jan 2017, 03:58
Código:
IF NOT var1 = 12
    IF var1 > 12
        var1 -= 1
    ELSE
    var1 < 12 // Isso aqui tá errado
        var1 += 1
    ENDIF
ENDIF
// aqui você não tá fazendo nada
IF NOT var1 = 12 // tá checando se var1 é diferente de 12
    WHILE var1 = 12 // e depois um loop "enquanto var1 for igual a 12", mas você acabou de checar se é diferente (??)
        WAIT 0
    ENDWHILE
ENDIF
(...)
PRINT_FORMATTED_NOW "TODAS SAO : %d d% d% d% %d" 10000 var1 var2 var3 var4 var5 // isso aqui também tá errado

______________________________
" Everyone gonna remember my name ! "
avatar
Mensagens Nível 1
Mensagens Nível 1
Mensagens : 3
Reputação : 0
Desde : 23/01/2017
Idade : 16
Localização : São Paulo
Link : https://www.youtube.com/c/THSouzza
Ver perfil do usuáriohttps://thsouzza.blogspot.com.br/

Re: 10. Exercício #1

em Dom 29 Jan 2017, 10:14
Tive que abrir 3 dicas :/
Mas conseguir:

Spoiler:

Código:
SCRIPT_START
{
    NOP

    WAIT 0

    LVAR_INT var1 var2 var3 var4 var5
    THSouzza:
    GENERATE_RANDOM_INT_IN_RANGE 0 100 var1
    GENERATE_RANDOM_INT_IN_RANGE 0 100 var2
    GENERATE_RANDOM_INT_IN_RANGE 0 100 var3
    GENERATE_RANDOM_INT_IN_RANGE 0 100 var4
    GENERATE_RANDOM_INT_IN_RANGE 0 100 var5

    WAIT 0
    WHILE NOT var1 = 12
        IF var1 > 12
            var1 -= 1
        ELSE
            var1 += 1
        ENDIF
    ENDWHILE

    var2 = var1
    var3 = var1
    var4 = var1
    var5 = var1

    WAIT 0
    PRINT_FORMATTED_NOW "Todas as variaveis sao 12: %d %d %d %d %d" 10000 var1 var2 var3 var4 var5
    GOTO THSouzza
}
SCRIPT_END
avatar
Mensagens Nível 2
Mensagens Nível 2
Mensagens : 50
Reputação : 2
Desde : 14/03/2015
Ver perfil do usuário

Re: 10. Exercício #1

em Dom 29 Jan 2017, 10:16
@israel escreveu:
Spoiler:

Código:
        (...)
        IF all12 = TRUE
            PRINT_FORMATTED_NOW "Todas as vars sao 12: %i %i %i %i %i" 5000 var[0] var[1] var[2] var[3] var[4]
            GOTO main_loop // desnecessário
        ELSE
            GOTO sub_loop
        ENDIF
    ENDIF
    GOTO main_loop
Como dito no tutorial, a leitura do script é de cima pra baixo, se all12 for verdadeiro já vai descer pro "GOTO main_loop" no fim.
vlw :v:
avatar
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Título : Não quero acreditar, quero saber.
Mensagens : 21880
Reputação : 666
Desde : 03/05/2012
Idade : 21
Localização : Ibitinga - SP
Link : www.MixMods.com.br
Ver perfil do usuáriohttp://MixMods.com.br

Re: 10. Exercício #1

em Dom 29 Jan 2017, 13:23
@THSouzza escreveu:Tive que abrir 3 dicas :/
Mas conseguir:

Spoiler:

Código:
SCRIPT_START
{
    NOP

    WAIT 0

    LVAR_INT var1 var2 var3 var4 var5
    THSouzza:
    GENERATE_RANDOM_INT_IN_RANGE 0 100 var1
    GENERATE_RANDOM_INT_IN_RANGE 0 100 var2
    GENERATE_RANDOM_INT_IN_RANGE 0 100 var3
    GENERATE_RANDOM_INT_IN_RANGE 0 100 var4
    GENERATE_RANDOM_INT_IN_RANGE 0 100 var5

    WAIT 0
    WHILE NOT var1 = 12
        IF var1 > 12
            var1 -= 1
        ELSE
            var1 += 1
        ENDIF
    ENDWHILE

    var2 = var1
    var3 = var1
    var4 = var1
    var5 = var1

    WAIT 0
    PRINT_FORMATTED_NOW "Todas as variaveis sao 12: %d %d %d %d %d" 10000 var1 var2 var3 var4 var5
    GOTO THSouzza
}
SCRIPT_END
O mesmo do ThePedro004
@Junior_Djjr escreveu:Você setou a variável, também disse que pode fazer nada desse tipo, mas você ajeitou o valor de uma, então menos mal, já que era só fazer nas outras.
(pelo menos isso é criativo, né... já que repetir em todas as 5 fica feio o script)
Também nas regras pediu pra terminar o script, parando e tal de algum modo, mas enfim, não importa muito também.

______________________________

Mestre3224 voltou, ainda há esperanças no Youtube.
avatar
Mensagens Nível 3
Mensagens Nível 3
Mensagens : 112
Reputação : 2
Desde : 01/11/2012
Ver perfil do usuário

Re: 10. Exercício #1

em Dom 29 Jan 2017, 16:21
Me lembra muito o C++ (Eu sei o BASICÃO), ainda assim tive que reler o tutorial de condições.
foi muito bom ter esperado o seu tutorial, porque tenho certeza que se eu tivesse tentando iniciar no sanny builder, estaria boiando até agora.

Spoiler:
Código:
 SCRIPT_START
{
NOP

LVAR_INT modelo, modelo1, modelo2, modelo3, modelo4

GENERATE_RANDOM_INT_IN_RANGE 0 100 modelo
GENERATE_RANDOM_INT_IN_RANGE 0 100 modelo1
GENERATE_RANDOM_INT_IN_RANGE 0 100 modelo2
GENERATE_RANDOM_INT_IN_RANGE 0 100 modelo3
GENERATE_RANDOM_INT_IN_RANGE 0 100 modelo4

main_loop:
WAIT 0

//iniciar calibração
IF IS_KEY_PRESSED VK_KEY_H
    IF modelo > 12
        modelo -= 1
        IF modelo < 12
            modelo += 1
        ENDIF
    ENDIF
// 1
    IF modelo1 > 12
        modelo1 -= 1
        IF modelo1 < 12
            modelo1 += 1
        ENDIF
    ENDIF
// 2
    IF modelo2 > 12
        modelo2 -= 1
        IF modelo2 < 12
            modelo2 += 1
        ENDIF
    ENDIF
// 3
    IF modelo3 > 12
        modelo3 -= 1
        IF modelo3 < 12
            modelo3 += 1
        ENDIF
    ENDIF
// 4
    IF modelo4 > 12
        modelo4 -= 1
        IF modelo4 < 12
            modelo4 += 1
        ENDIF
    ENDIF
ENDIF

//Exibição das variaveis   
PRINT_FORMATTED_NOW "Todas as variaveis sao 12: %d %d %d %d %d" 10000 modelo modelo1 modelo2 modelo3 modelo4
GOTO main_loop

}
SCRIPT_END

______________________________
Minha maquina de calor:
Intel Core i5-3230M.
6GB Ram.
Intel® HD Graphics 4000.
Windows 10 LTSB.
avatar
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Título : Bicho Piruleta
Mensagens : 671
Reputação : 111
Desde : 22/09/2015
Idade : 19
Localização : Salvador - BA
Ver perfil do usuário

Re: 10. Exercício #1

em Dom 29 Jan 2017, 16:43
Seria bom você ler de novo. Você pôs pra checar se a var é menor que 12 dentro da condição que checa se é maior, como a var vai ser maior e menor que 12 ao mesmo tempo ? Se você fizesse as condições independentes (fora), estaria certo, mas do jeito que você fez, vai ser muito raro todas as vars serem 12.

______________________________
" Everyone gonna remember my name ! "
avatar
Scripter CLEO - Básico
Scripter CLEO - Básico
Título : Noob
Mensagens : 864
Reputação : 28
Desde : 13/08/2015
Localização : Passo de Torres - SC
Ver perfil do usuário

Re: 10. Exercício #1

em Dom 29 Jan 2017, 20:35
Fiz em 2 vars porque tava sem tempo, tá certo? se tiver errado sem rage pls
Spoiler:
Código:
 SCRIPT_START
{
NOP

LVAR_INT var1 var2
GENERATE_RANDOM_INT_IN_RANGE 0 100 var1
GENERATE_RANDOM_INT_IN_RANGE 0 100 var2

MAIN_LOOP:
WAIT 0

WHILE var1 > 12
    WAIT 0
    var1 -= 1
ENDWHILE

WHILE var1 < 12
    WAIT 0
    var1 += 1
ENDWHILE

WHILE var2 > 12
    WAIT 0
    var2 -= 1
ENDWHILE

WHILE var2 < 12
    WAIT 0
    var2 += 1
ENDWHILE

WHILE IS_KEY_PRESSED VK_KEY_H
    WAIT 0
    PRINT_FORMATTED_NOW "%d %d" 1 var1 var2
ENDWHILE

GOTO MAIN_LOOP
}
SCRIPT_END

______________________________
Caso te ajudei em algo, clique no botão de reputação (o "coraçãozinho" na parte de cima da mensagem).

avatar
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Título : Bicho Piruleta
Mensagens : 671
Reputação : 111
Desde : 22/09/2015
Idade : 19
Localização : Salvador - BA
Ver perfil do usuário

Re: 10. Exercício #1

em Dom 29 Jan 2017, 21:49
Tá meio certo. :)

______________________________
" Everyone gonna remember my name ! "
avatar
Scripter CLEO - Básico
Scripter CLEO - Básico
Título : Noob
Mensagens : 864
Reputação : 28
Desde : 13/08/2015
Localização : Passo de Torres - SC
Ver perfil do usuário

Re: 10. Exercício #1

em Dom 29 Jan 2017, 22:18
Eu podia ter feito assim: Lí os scripts dos outros pra ter ideia de setar a var :v
Spoiler:
Código:
  
SCRIPT_START
{
NOP

LVAR_INT var1 var2 var3 var4 var5
GENERATE_RANDOM_INT_IN_RANGE 0 100 var1
GENERATE_RANDOM_INT_IN_RANGE 0 100 var2

MAIN_LOOP:
WAIT 0

WHILE var1 > 12
   WAIT 0
   var1 -= 1
ENDWHILE

WHILE var1 < 12
   WAIT 0
   var1 += 1
ENDWHILE

var2 = var1
var3 = var1
var4 = var1
var5 = var1

WHILE IS_KEY_PRESSED VK_KEY_H
   WAIT 0
   PRINT_FORMATTED_NOW "%d %d %d %d %d" 1 var1 var2 var3 var4 var5
ENDWHILE

GOTO MAIN_LOOP
}
SCRIPT_END

______________________________
Caso te ajudei em algo, clique no botão de reputação (o "coraçãozinho" na parte de cima da mensagem).

avatar
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Título : Não quero acreditar, quero saber.
Mensagens : 21880
Reputação : 666
Desde : 03/05/2012
Idade : 21
Localização : Ibitinga - SP
Link : www.MixMods.com.br
Ver perfil do usuáriohttp://MixMods.com.br

Re: 10. Exercício #1

em Dom 29 Jan 2017, 22:50
É, tá meio certo.
Nota: Leia os scripts do tópico do tutorial aqui e não dos outros. Você lendo dos outros vai aprender errado, por isso eu deixei scripts prontos lá na primeira página.

______________________________

Mestre3224 voltou, ainda há esperanças no Youtube.
avatar
Veterano
Veterano
Mensagens : 2920
Reputação : 81
Desde : 31/07/2013
Ver perfil do usuário

Re: 10. Exercício #1

em Seg 30 Jan 2017, 01:16
Spoiler:
Código:
SCRIPT_START
{
NOP

LVAR_INT var1 var2 var3 var4 var5 var6
WAIT 0

loop:
GENERATE_RANDOM_INT_IN_RANGE 0 100 var1
GENERATE_RANDOM_INT_IN_RANGE 0 100 var2
GENERATE_RANDOM_INT_IN_RANGE 0 100 var3
GENERATE_RANDOM_INT_IN_RANGE 0 100 var4
GENERATE_RANDOM_INT_IN_RANGE 0 100 var5

IF IS_KEY_PRESSED VK_KEY_B
    var6 = var1
        var1 -= var6
            var1 += 12
    var6 = var2
        var2 -= var6
            var2 += 12
    var6 = var3
        var3 -= var6
            var3 += 12
    var6 = var4
        var4 -= var6
            var4 += 12
    var6 = var5
        var5 -= var6
            var5 += 12
    WHILE IS_KEY_PRESSED VK_KEY_B
        WAIT 0
    ENDWHILE
ENDIF

PRINT_FORMATTED_NOW "Todas as variaveis sao 12: %d %d %d %d %d" 10000 var1 var2 var3 var4 var5

GOTO loop

}
SCRIPT_END
Não quer compilar, no que eu errei? ;=;

______________________________
I̜mpe͢r͚at̲ivoͯ, ͘no̅ mụnd̶o͋ ̺sl͟o͗w
́Co͔m͢ó ̼a ̒p̎eçͦa̲ ̖MC͝s ̚só͊ ͡faz̀em̈́ ̛s̸p͆ee͌df̡l̡owͭ
̟Pͭra ̌que̲ ä́ p̐r͜es̋s͉aͤ?
avatar
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Título : Não quero acreditar, quero saber.
Mensagens : 21880
Reputação : 666
Desde : 03/05/2012
Idade : 21
Localização : Ibitinga - SP
Link : www.MixMods.com.br
Ver perfil do usuáriohttp://MixMods.com.br

Re: 10. Exercício #1

em Seg 30 Jan 2017, 01:31
Tá compilando sim ué.
Mas você esqueceu do WAIT dentro do loop, daí não fez o jogo processar e ficou em freeze.

E você colocou pra mostrar a mensagem na tela junto ao loop de onde pega o número aleatório (nem há motivos de pegar o número aleatório dentro de um loop). Só foi possível ver que funcionou ao mover o comando de PRINT_FORMATTED_NOW pra dentro do IF da tecla pressionada, aí quando apertei a tecla apareceu corretamente.

______________________________

Mestre3224 voltou, ainda há esperanças no Youtube.
avatar
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Título : Bicho Piruleta
Mensagens : 671
Reputação : 111
Desde : 22/09/2015
Idade : 19
Localização : Salvador - BA
Ver perfil do usuário

Re: 10. Exercício #1

em Seg 30 Jan 2017, 01:42
A indentação também tá meio estranha.

Curti os cálculos, bem diferente de como a maioria fez. :v:
avatar
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Título : Não quero acreditar, quero saber.
Mensagens : 21880
Reputação : 666
Desde : 03/05/2012
Idade : 21
Localização : Ibitinga - SP
Link : www.MixMods.com.br
Ver perfil do usuáriohttp://MixMods.com.br

Re: 10. Exercício #1

em Seg 30 Jan 2017, 02:14
@israel escreveu:Curti os cálculos, bem diferente de como a maioria fez. :v:
Sim, ele fez como a minha dica lá:
Spoiler:
Código:
SCRIPT_START
{
NOP
 
LVAR_INT var1 var2 var3 var4 var5
LVAR_INT diferenca
 
GENERATE_RANDOM_INT_IN_RANGE 0 100 var1
GENERATE_RANDOM_INT_IN_RANGE 0 100 var2
GENERATE_RANDOM_INT_IN_RANGE 0 100 var3
GENERATE_RANDOM_INT_IN_RANGE 0 100 var4
GENERATE_RANDOM_INT_IN_RANGE 0 100 var5
 
diferenca = var1 - 12
var1 -= diferenca
 
diferenca = var2 - 12
var2 -= diferenca
 
diferenca = var3 - 12
var3 -= diferenca
 
diferenca = var4 - 12
var4 -= diferenca
 
diferenca = var5 - 12
var5 -= diferenca
 
PRINT_FORMATTED_NOW "Todas as variaveis sao 12: %d %d %d %d %d" 10000 var1 var2 var3 var4 var5
}
SCRIPT_END
Mas acho que ele não lembro que tinha como usar = com + na mesma linha :v:

______________________________

Mestre3224 voltou, ainda há esperanças no Youtube.
avatar
Veterano
Veterano
Mensagens : 2920
Reputação : 81
Desde : 31/07/2013
Ver perfil do usuário

Re: 10. Exercício #1

em Seg 30 Jan 2017, 11:41
Não abri as dicas euaiodkljsada
@Junior_Djjr escreveu:Tá compilando sim ué.
Mas você esqueceu do WAIT dentro do loop, daí não fez o jogo processar e ficou em freeze.
Eu suspeitei que era isso mas nem passou pela minha cabeça colocar um WAIT dentro do loop, valeu. :v

@Junior_Djjr escreveu:E você colocou pra mostrar a mensagem na tela junto ao loop de onde pega o número aleatório (nem há motivos de pegar o número aleatório dentro de um loop).
Eu tinha feito isso pra poder fazer o teste com números diferentes.

@Junior_Djjr escreveu:Só foi possível ver que funcionou ao mover o comando de PRINT_FORMATTED_NOW pra dentro do IF da tecla pressionada, aí quando apertei a tecla apareceu corretamente.
Por que só funciona assim? Na minha ideia os cálculos iam ser feitos dentro do IF enquanto o jogador apertasse a tecla B (o que é bem burro por que esses cálculos são instantâneos praticamente) e quando ele soltasse iria aparecer os resultados. philosoraptor

______________________________
I̜mpe͢r͚at̲ivoͯ, ͘no̅ mụnd̶o͋ ̺sl͟o͗w
́Co͔m͢ó ̼a ̒p̎eçͦa̲ ̖MC͝s ̚só͊ ͡faz̀em̈́ ̛s̸p͆ee͌df̡l̡owͭ
̟Pͭra ̌que̲ ä́ p̐r͜es̋s͉aͤ?
avatar
Mensagens Nível 2
Mensagens Nível 2
Mensagens : 56
Reputação : 0
Desde : 19/01/2017
Ver perfil do usuário

Re: 10. Exercício #1

em Seg 30 Jan 2017, 16:14
Tudo certo ?
Spoiler:

Código:
SCRIPT_START
{
    NOP
    LVAR_INT v1
    LVAR_INT v2
    LVAR_INT v3
    LVAR_INT v4
    LVAR_INT v5

    inicio:
    WAIT 0
    IF TEST_CHEAT "exercicio"
        GENERATE_RANDOM_INT_IN_RANGE 0 100 v1
        GENERATE_RANDOM_INT_IN_RANGE 0 100 v2
        GENERATE_RANDOM_INT_IN_RANGE 0 100 v3
        GENERATE_RANDOM_INT_IN_RANGE 0 100 v4
        GENERATE_RANDOM_INT_IN_RANGE 0 100 v5
        GOTO calculos
    ENDIF
    GOTO inicio

    calculos:
    WAIT 0
    IF v1 > 12
        v1 -= 1
    ENDIF
    IF v2 > 12
        v2 -= 1
    ENDIF
    IF v3 > 12
        v3 -= 1
    ENDIF
    IF v4 > 12
        v4 -= 1
    ENDIF
    IF v5 > 12
        v5 -= 1
    ENDIF
    IF v1 < 12
        v1 += 1
    ENDIF
    IF v2 < 12
        v2 += 1
    ENDIF
    IF v3 < 12
        v3 += 1
    ENDIF
    IF v4 < 12
        v4 += 1
    ENDIF
    IF v5 < 12
        v5 += 1
    ENDIF

    IF v1 = 12
    AND v2 = 12
    AND v3 = 12
    AND v4 = 12
    AND v5 = 12
        PRINT_FORMATTED_NOW "Todas as variaveis sao 12: %d %d %d %d %d" 10000 v1 v2 v3 v4 v5
        GOTO inicio
    ENDIF
    GOTO calculos
}
SCRIPT_END
avatar
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Título : Bicho Piruleta
Mensagens : 671
Reputação : 111
Desde : 22/09/2015
Idade : 19
Localização : Salvador - BA
Ver perfil do usuário

Re: 10. Exercício #1

em Seg 30 Jan 2017, 16:40
@-Tito escreveu:Tudo certo ?
Spoiler:

Código:
SCRIPT_START
{
    NOP
    LVAR_INT v1
    LVAR_INT v2
    LVAR_INT v3
    LVAR_INT v4
    LVAR_INT v5

    inicio:
    WAIT 0
    IF TEST_CHEAT "exercicio"
        GENERATE_RANDOM_INT_IN_RANGE 0 100 v1
        GENERATE_RANDOM_INT_IN_RANGE 0 100 v2
        GENERATE_RANDOM_INT_IN_RANGE 0 100 v3
        GENERATE_RANDOM_INT_IN_RANGE 0 100 v4
        GENERATE_RANDOM_INT_IN_RANGE 0 100 v5
        GOTO calculos
    ENDIF
    GOTO inicio

    calculos:
    WAIT 0
    IF v1 > 12
        v1 -= 1
    ENDIF
    IF v2 > 12
        v2 -= 1
    ENDIF
    IF v3 > 12
        v3 -= 1
    ENDIF
    IF v4 > 12
        v4 -= 1
    ENDIF
    IF v5 > 12
        v5 -= 1
    ENDIF
    IF v1 < 12
        v1 += 1
    ENDIF
    IF v2 < 12
        v2 += 1
    ENDIF
    IF v3 < 12
        v3 += 1
    ENDIF
    IF v4 < 12
        v4 += 1
    ENDIF
    IF v5 < 12
        v5 += 1
    ENDIF

    IF v1 = 12
    AND v2 = 12
    AND v3 = 12
    AND v4 = 12
    AND v5 = 12
        PRINT_FORMATTED_NOW "Todas as variaveis sao 12: %d %d %d %d %d" 10000 v1 v2 v3 v4 v5
        GOTO inicio
    ENDIF
    GOTO calculos
}
SCRIPT_END
Certo até tá, mas ler a parte "ELSE" no tutorial de condições seria bom pra você. :v:

______________________________
" Everyone gonna remember my name ! "
Mensagens Nível 1
Mensagens Nível 1
Mensagens : 23
Reputação : 0
Desde : 06/07/2016
Idade : 17
Localização : MINAS GERAIS !
Ver perfil do usuário

Re: 10. Exercício #1

em Seg 30 Jan 2017, 17:24
Spoiler:

Código:

SCRIPT_START
{
NOP

LVAR_INT var1 var2 var3 var4 var5

digit:
WAIT 0
WHILE NOT IS_KEY_PRESSED VK_F10
    WAIT 0
    GOTO digit
ENDWHILE

podp:
WAIT 0
GENERATE_RANDOM_INT_IN_RANGE 1 100 var1
GENERATE_RANDOM_INT_IN_RANGE 1 100 var2
GENERATE_RANDOM_INT_IN_RANGE 1 100 var3
GENERATE_RANDOM_INT_IN_RANGE 1 100 var4
GENERATE_RANDOM_INT_IN_RANGE 1 100 var5

WHILE NOT var1 = 12
    WAIT 0
    goto podp
ENDWHILE

IF var1 = 12
    var2 = var1
    var3 = var1
    var4 = var1
    var5 = var1
ENDIF

PRINT_FORMATTED_NOW "TODAS AS VARIAVEIS SÃO 12 : %d %d %d %d %d" 10000 var1 var2 var3 var4 var5


GOTO digit





}
SCRIPT_END



______________________________
avatar
Scripter CLEO - Básico
Scripter CLEO - Básico
Título : Noob
Mensagens : 864
Reputação : 28
Desde : 13/08/2015
Localização : Passo de Torres - SC
Ver perfil do usuário

Re: 10. Exercício #1

em Seg 30 Jan 2017, 17:37
@JuniorEDiT escreveu:
Spoiler:

Código:

SCRIPT_START
{
NOP

LVAR_INT var1 var2 var3 var4 var5

digit:
WAIT 0
WHILE NOT IS_KEY_PRESSED VK_F10
    WAIT 0
    GOTO digit
ENDWHILE

podp:
WAIT 0
GENERATE_RANDOM_INT_IN_RANGE 1 100 var1
GENERATE_RANDOM_INT_IN_RANGE 1 100 var2
GENERATE_RANDOM_INT_IN_RANGE 1 100 var3
GENERATE_RANDOM_INT_IN_RANGE 1 100 var4
GENERATE_RANDOM_INT_IN_RANGE 1 100 var5

WHILE NOT var1 = 12
    WAIT 0
    goto podp
ENDWHILE

IF var1 = 12
    var2 = var1
    var3 = var1
    var4 = var1
    var5 = var1
ENDIF

PRINT_FORMATTED_NOW "TODAS AS VARIAVEIS SÃO 12 : %d %d %d %d %d" 10000 var1 var2 var3 var4 var5


GOTO digit





}
SCRIPT_END


Você não usou matemática. Vai ser muito difícil ser 12, enquanto não for 12, vai gerar, até cair em 12.

______________________________
Caso te ajudei em algo, clique no botão de reputação (o "coraçãozinho" na parte de cima da mensagem).

avatar
Scripter CLEO - Intermediário
Scripter CLEO - Intermediário
Mensagens : 612
Reputação : 37
Desde : 19/08/2015
Idade : 14
Localização : Em algum lugar do brasil
Link : https://www.youtube.com/watch?v=lMB18XPgEWA
Ver perfil do usuário

Re: 10. Exercício #1

em Seg 30 Jan 2017, 17:55
Ele gosta de dados como eu :)

______________________________


Conteúdo patrocinado

Re: 10. Exercício #1

Permissão deste fórum:
Você não pode responder aos tópicos neste fórum