Brazilian Modding Studio
Olá, seja bem vindo à Comunidade BMS!

Para se registrar no fórum, siga os passos:

1 - Clique em "Registrar-se" aqui em baixo;
2 - Aceite os termos de serviço;
3 - Escolha um nome de usuário e senha;
4 - Realize o login no fórum clicando em "Conectar-se".

Compartilhe
avatar
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Título : Censurando since 2011
Mensagens : 22701
Reputação : 727
Desde : 03/05/2012
Idade : 22
Localização : Ibitinga - SP
Link : www.MixMods.com.br
Ver perfil do usuáriohttp://MixMods.com.br
em Qui 26 Jan 2017, 04:06
REVISADO E MOVIDO:
https://forum.mixmods.com.br/f141-secao-tutorial-gta3script/t458-10-exercicio-1


Última edição por Junior_Djjr em Dom 15 Jul 2018, 13:45, editado 3 vez(es) (Razão : Adicionado sobre não jogar dados (tirar a sorte))

______________________________
BMS agora em nova plataforma:
Forum.MixMods.com.br
avatar
Modelador - Básico
Modelador - Básico
Mensagens : 889
Reputação : 20
Desde : 16/08/2016
Idade : 14
Localização : Mississippi
Ver perfil do usuário
em Qui 26 Jan 2017, 13:38
Muito bom, já li todos os tutoriais, o GTA3script achei bem mais simples de aprender
avatar
Scripter CLEO - Intermediário
Scripter CLEO - Intermediário
Mensagens : 653
Reputação : 38
Desde : 19/08/2015
Idade : 15
Localização : Em algum lugar do brasil
Link : https://www.youtube.com/watch?v=lMB18XPgEWA
Ver perfil do usuário
em Qui 26 Jan 2017, 13:57
Spoiler:


Eu poderia ter usado menos linhas mas não sei usar thread memory em gta3script ;-;

Código:

SCRIPT_START
{
NOP

LVAR_INT var1 var2 var3 var4 var5

main:
WAIT 0
IF NOT var1 = 12
    GENERATE_RANDOM_INT_IN_RANGE 0 100 var1
ENDIF
IF NOT var2 = 12
    GENERATE_RANDOM_INT_IN_RANGE 0 100 var2
ENDIF
IF NOT var3 = 12
    GENERATE_RANDOM_INT_IN_RANGE 0 100 var3
ENDIF
IF NOT var4 = 12
    GENERATE_RANDOM_INT_IN_RANGE 0 100 var4
ENDIF
IF NOT var5 = 12
    GENERATE_RANDOM_INT_IN_RANGE 0 100 var5
ENDIF
IF var1 = 12
AND var2 = 12
AND var3 = 12
AND var4 = 12
AND var5 = 12
    PRINT_FORMATTED_NOW "var1: %d var2: %d var3: %d var4: %d var4: %d" 10000 var1 var2 var3 var4 var5
    TERMINATE_THIS_CUSTOM_SCRIPT
ENDIF
GOTO main
}
SCRIPT_END

______________________________


avatar
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Mensagens : 846
Reputação : 134
Desde : 22/09/2015
Ver perfil do usuário
  • Reputação da mensagem: 100% (1 votos)
em Qui 26 Jan 2017, 15:07
Spoiler:

Código:
SCRIPT_START
{
NOP
LVAR_INT var[5], i

WHILE i <= 4
    GENERATE_RANDOM_INT_IN_RANGE 0 100 var[i]
    WHILE NOT var[i] = 12
        IF var[i] > 12
            var[i]--
        ELSE
            var[i]++
        ENDIF
    ENDWHILE
    i++
ENDWHILE
 
PRINT_FORMATTED_NOW "~g~Vars: ~s~%i %i %i %i %i" 3500 var[0] var[1] var[2] var[3] var[4]
}
SCRIPT_END


Última edição por israel em Dom 29 Jan 2017, 02:39, editado 1 vez(es) (Razão : msm var 2 vezes wat)

______________________________
Everyone gonna remember my name !
avatar
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Título : Censurando since 2011
Mensagens : 22701
Reputação : 727
Desde : 03/05/2012
Idade : 22
Localização : Ibitinga - SP
Link : www.MixMods.com.br
Ver perfil do usuáriohttp://MixMods.com.br
em Qui 26 Jan 2017, 15:09
@AguiaX2 escreveu:
Spoiler:


Eu poderia ter usado menos linhas mas não sei usar thread memory em gta3script ;-;

Código:

SCRIPT_START
{
NOP

LVAR_INT var1 var2 var3 var4 var5

main:
WAIT 0
IF NOT var1 = 12
    GENERATE_RANDOM_INT_IN_RANGE 0 100 var1
ENDIF
IF NOT var2 = 12
    GENERATE_RANDOM_INT_IN_RANGE 0 100 var2
ENDIF
IF NOT var3 = 12
    GENERATE_RANDOM_INT_IN_RANGE 0 100 var3
ENDIF
IF NOT var4 = 12
    GENERATE_RANDOM_INT_IN_RANGE 0 100 var4
ENDIF
IF NOT var5 = 12
    GENERATE_RANDOM_INT_IN_RANGE 0 100 var5
ENDIF
IF var1 = 12
AND var2 = 12
AND var3 = 12
AND var4 = 12
AND var5 = 12
    PRINT_FORMATTED_NOW "var1: %d var2: %d var3: %d var4: %d var4: %d" 10000 var1 var2 var3 var4 var5
    TERMINATE_THIS_CUSTOM_SCRIPT
ENDIF
GOTO main
}
SCRIPT_END
Isso não tá legal... Vai demorar pra kct para todas as vars serem 12, pois você basicamente jogou um dado de 100 lados esperando que ele seja "12" (se estiver em 100 FPS, demoraria mais ou menos 1 segundo, mas 1 segundo é muito numa coisa que poderia ser instantânea), e você não usou operações matemáticas.

O do Israel deve ser o topo do mais correto :v: que é usando array e tal.

______________________________
BMS agora em nova plataforma:
Forum.MixMods.com.br
avatar
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Mensagens : 846
Reputação : 134
Desde : 22/09/2015
Ver perfil do usuário
em Qui 26 Jan 2017, 15:18
Esse tutorial tá muito bem feito, esse tipo de interação no meio do texto (algo como se tivesse literalmente conversando com o leitor, não sei explicar direito) tira o "cansaço" do tutorial, deixando tudo de uma forma mais "livre". Qualquer um com vontade, aprende facil.  :v:

Belo trabalho. :)

______________________________
Everyone gonna remember my name !
avatar
Scripter CLEO - Intermediário
Scripter CLEO - Intermediário
Mensagens : 653
Reputação : 38
Desde : 19/08/2015
Idade : 15
Localização : Em algum lugar do brasil
Link : https://www.youtube.com/watch?v=lMB18XPgEWA
Ver perfil do usuário
em Qui 26 Jan 2017, 15:26
Eu tbm não sabia usar array no gta3script ;-;

______________________________


avatar
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Título : Censurando since 2011
Mensagens : 22701
Reputação : 727
Desde : 03/05/2012
Idade : 22
Localização : Ibitinga - SP
Link : www.MixMods.com.br
Ver perfil do usuáriohttp://MixMods.com.br
em Qui 26 Jan 2017, 15:28
@israel escreveu:Esse tutorial tá muito bem feito, esse tipo de interação no meio do texto (algo como se tivesse literalmente conversando com o leitor, não sei explicar direito) tira o "cansaço" do tutorial, deixando tudo de uma forma mais "livre". Qualquer um com vontade, aprende facil.  :v:

Belo trabalho. :)
vlw :v: :v:

@AguiaX2 escreveu:Eu tbm não sabia usar array no gta3script ;-;
Não está na hora disso ainda, no futuro será ensinado aqui. É que array na real, para iniciantes, não é uma coisa que eles precisem. Eu mesmo demorei DEMAIS para começar a usar array nos meus scripts, e ainda quando eu queria usar eu não encontrava motivos de uso kkkk

______________________________
BMS agora em nova plataforma:
Forum.MixMods.com.br
avatar
Veterano
Veterano
Título : "Griffin Station! Follow me!"
Mensagens : 1046
Reputação : 57
Desde : 16/02/2015
Idade : 21
Localização : Mato Grosso
Ver perfil do usuário
em Qui 26 Jan 2017, 23:23
Spoiler:

Código:
SCRIPT_START
{
NOP


WAIT 0

LVAR_INT var1 var2 var3 var4 var5

var1_loop:
GENERATE_RANDOM_INT_IN_RANGE 0 100 var1

var2_loop:
IF var1 = 12
    GENERATE_RANDOM_INT_IN_RANGE 0 100 var2
ELSE
    GOTO var1_loop
ENDIF

var3_loop:
IF var2 = 12
    GENERATE_RANDOM_INT_IN_RANGE 0 100 var3
ELSE
    GOTO var2_loop
ENDIF

var4_loop:
IF var3 = 12
    GENERATE_RANDOM_INT_IN_RANGE 0 100 var4
ELSE
    GOTO var3_loop
ENDIF

var5_loop:
IF var4 = 12
    GENERATE_RANDOM_INT_IN_RANGE 0 100 var5
ELSE
    GOTO var4_loop
ENDIF

IF var5 = 12
    PRINT_FORMATTED_NOW "Todas as variaveis sao 12: %d %d %d %d %d" 10000 var1 var2 var3 var4 var5
ELSE
    GOTO var5_loop
ENDIF
      
}
SCRIPT_END
avatar
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Título : Censurando since 2011
Mensagens : 22701
Reputação : 727
Desde : 03/05/2012
Idade : 22
Localização : Ibitinga - SP
Link : www.MixMods.com.br
Ver perfil do usuáriohttp://MixMods.com.br
em Sex 27 Jan 2017, 00:47
@Killer_xD escreveu:
Spoiler:

Código:
SCRIPT_START
{
NOP


WAIT 0

LVAR_INT var1 var2 var3 var4 var5

var1_loop:
GENERATE_RANDOM_INT_IN_RANGE 0 100 var1

var2_loop:
IF var1 = 12
    GENERATE_RANDOM_INT_IN_RANGE 0 100 var2
ELSE
    GOTO var1_loop
ENDIF

var3_loop:
IF var2 = 12
    GENERATE_RANDOM_INT_IN_RANGE 0 100 var3
ELSE
    GOTO var2_loop
ENDIF

var4_loop:
IF var3 = 12
    GENERATE_RANDOM_INT_IN_RANGE 0 100 var4
ELSE
    GOTO var3_loop
ENDIF

var5_loop:
IF var4 = 12
    GENERATE_RANDOM_INT_IN_RANGE 0 100 var5
ELSE
    GOTO var4_loop
ENDIF

IF var5 = 12
    PRINT_FORMATTED_NOW "Todas as variaveis sao 12: %d %d %d %d %d" 10000 var1 var2 var3 var4 var5
ELSE
    GOTO var5_loop
ENDIF
      
}
SCRIPT_END
Você também ficou jogando dados, como o AguiaX2. Tem que usar operações matemáticas ao invés de tirar a sorte.

______________________________
BMS agora em nova plataforma:
Forum.MixMods.com.br
avatar
Mensagens Nível 4
Mensagens Nível 4
Mensagens : 473
Reputação : 12
Desde : 12/01/2016
Localização : 127.0.0.1:1338
Link : to the Past
Ver perfil do usuário
em Sex 27 Jan 2017, 22:00
Spoiler:

Código:

SCRIPT_START
{
    NOP
    LVAR_INT numero1, numero2, numero3, numero4, numero5
   
    WAIT 0
    GENERATE_RANDOM_INT_IN_RANGE 0, 100, numero1
    GENERATE_RANDOM_INT_IN_RANGE 0, 100, numero2
    GENERATE_RANDOM_INT_IN_RANGE 0, 100, numero3
    GENERATE_RANDOM_INT_IN_RANGE 0, 100, numero4
    GENERATE_RANDOM_INT_IN_RANGE 0, 100, numero5
   
    main_loop:
    // Número 1
    IF NOT numero1 = 12
        IF numero1 > 12
            numero1 -= 1
        ELSE
            numero1 += 1
        ENDIF
    ENDIF

    // Número 2
    IF NOT numero2 = 12
        IF numero2 > 12
            numero2 -= 1
        ELSE
            numero2 += 1
        ENDIF
    ENDIF

    // Número 3
    IF NOT numero3 = 12
        IF numero3 > 12
            numero3 -= 1
        ELSE
            numero3 += 1
        ENDIF
    ENDIF

    // Número 4
    IF NOT numero4 = 12
        IF numero4 > 12
            numero4 -= 1
        ELSE
            numero4 += 1
        ENDIF
    ENDIF

    // Número 5
    IF NOT numero5 = 12
        IF numero5 > 12
            numero5 -= 1
        ELSE
            numero5 += 1
        ENDIF
    ENDIF

    // Checar se todos são 12 e só então mostrar que realmente são 12
    IF numero1 = 12
    AND numero2 = 12
    AND numero3 = 12
    AND numero4 = 12
    AND numero5 = 12
        PRINT_FORMATTED_NOW "Os números são: %d %d %d %d %d", 10000, numero1, numero2, numero3, numero4, numero5
    ELSE
        GOTO main_loop
    ENDIF
}
SCRIPT_END

Só depois de 3 minutos eu percebi que o marcador ou atalho do GOTO estava no lugar errado e ficava gerando números aleatórios à cada frame e por isso nunca chegava a ser 12. facepalm
avatar
Designer - Intermediário
Designer - Intermediário
Título : Suh Dude ド姻ぢ
Mensagens : 3254
Reputação : 148
Desde : 13/10/2012
Idade : 18
Localização : Terra Mágica dos Poneys
Link : MixMods.com.br
Ver perfil do usuáriohttp://www.mixmods.blogspot.com
em Sab 28 Jan 2017, 13:31
Spoiler:

Código:

SCRIPT_START
{
    NOP

    LVAR_INT var1
    LVAR_INT var2
    LVAR_INT var3
    LVAR_INT var4
    LVAR_INT var5
    LVAR_INT operation

    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

    main_loop:
    WAIT 0
        IF var1 > 12
        var1 -= 1
    ELSE
        IF var1 < 12
        var1 += 1
    ELSE
        IF var1 = 12
        operation = TRUE
    ENDIF
    ENDIF
    ENDIF
        IF operation = TRUE
    var2 = var1
    var3 = var1
    var4 = var1
    var5 = var1
    PRINT_FORMATTED_NOW "Todas as variaveis sao 12: %d %d %d %d %d" 10000 var1 var2 var3 var4 var5
    ENDIF
    GOTO main_loop
}
SCRIPT_END

Eu poderia ter definido as variaveis todas numa linha massss esqueci xd

______________________________
Existence is Pain プび遺
avatar
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Título : Censurando since 2011
Mensagens : 22701
Reputação : 727
Desde : 03/05/2012
Idade : 22
Localização : Ibitinga - SP
Link : www.MixMods.com.br
Ver perfil do usuáriohttp://MixMods.com.br
em Sab 28 Jan 2017, 16:06
A identação tá bagunçada, você abriu e fechou TAB tudo errado, veja como é lá a organização do IF...ELSE...ENDIF nos tutoriais de condições.
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.
E como está pedindo, envie o código em spoiler para quem estiver vendo o tópico não ver seu código.

______________________________
BMS agora em nova plataforma:
Forum.MixMods.com.br
avatar
Designer - Intermediário
Designer - Intermediário
Título : Suh Dude ド姻ぢ
Mensagens : 3254
Reputação : 148
Desde : 13/10/2012
Idade : 18
Localização : Terra Mágica dos Poneys
Link : MixMods.com.br
Ver perfil do usuáriohttp://www.mixmods.blogspot.com
em Sab 28 Jan 2017, 16:23
Spoiler:

Código:

SCRIPT_START
{
    NOP

    LVAR_INT var1
    LVAR_INT var2
    LVAR_INT var3
    LVAR_INT var4
    LVAR_INT var5
    LVAR_INT operation1
    LVAR_INT operation2
    LVAR_INT operation3
    LVAR_INT operation4
    LVAR_INT operation5

    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

    main_loop:
    WAIT 0
//Variavel1
    IF var1 > 12
        var1 -= 1
    ELSE
    IF var1 < 12
        var1 += 1
    ELSE
    IF var1 = 12
        operation1 = TRUE
    ENDIF
    ENDIF
    ENDIF
//Variavel2
    IF var2 > 12
        var2 -= 1
    ELSE
    IF var2 < 12
        var2 += 1
    ELSE
    IF var2 = 12
        operation2 = TRUE
    ENDIF
    ENDIF
    ENDIF
//Variavel3
    IF var3 > 12
        var3 -= 1
    ELSE
    IF var3 < 12
        var3 += 1
    ELSE
    IF var3 = 12
        operation3 = TRUE
    ENDIF
    ENDIF
    ENDIF
//Variavel4
    IF var4 > 12
        var4 -= 1
    ELSE
    IF var4 < 12
        var4 += 1
    ELSE
    IF var4 = 12
        operation4 = TRUE
    ENDIF
    ENDIF
    ENDIF
//Variavel5
    IF var5 > 12
        var5 -= 1
    ELSE
    IF var5 < 12
        var5 += 1
    ELSE
    IF var5 = 12
        operation5 = TRUE
    ENDIF
    ENDIF
    ENDIF
    IF operation1 = TRUE
    AND operation2 = TRUE
    AND operation3 = TRUE
    AND operation4 = TRUE
    AND operation5 = TRUE
    GOTO operacaoconcluida
    ELSE
    GOTO main_loop
    operacaoconcluida:
    wait 0
        IF TEST_CHEAT VARIAVEIS
            PRINT_FORMATTED_NOW "Todas as variaveis sao 12: %d %d %d %d %d" 10000 var1 var2 var3 var4 var5
        ENDIF
    ENDIF
    GOTO operacaoconcluida
}
SCRIPT_END

Coloquei pra processar os outros também, coloquei pra só aparecer ao digitar VARIAVEIS e coloquei uma label depois de verificar se as variaveis são todas verdadeiras pra não precisar processar tudo denovo.



Ficou bom agora a identação?

______________________________
Existence is Pain プび遺
avatar
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Título : Censurando since 2011
Mensagens : 22701
Reputação : 727
Desde : 03/05/2012
Idade : 22
Localização : Ibitinga - SP
Link : www.MixMods.com.br
Ver perfil do usuáriohttp://MixMods.com.br
em Sab 28 Jan 2017, 16:31
Você está esquecendo de dar TAB no ELSE. Volte dar uma olhada lá na parte de condições, ou veja outros códigos pelo tutorial (neste próprio tutorial mostrou novamente o uso do ELSE)
E por que você usou uma 5 variáveis com TRUE para checar ao invés de checar diretamente se as variáveis fossem 12? Estas 5 variáveis são desnecessárias, é só checar se são 12, e não checar se cada uma é 12 e marcar a variável e depois checar a outra variável.

______________________________
BMS agora em nova plataforma:
Forum.MixMods.com.br
avatar
Designer - Intermediário
Designer - Intermediário
Título : Suh Dude ド姻ぢ
Mensagens : 3254
Reputação : 148
Desde : 13/10/2012
Idade : 18
Localização : Terra Mágica dos Poneys
Link : MixMods.com.br
Ver perfil do usuáriohttp://www.mixmods.blogspot.com
em Sab 28 Jan 2017, 16:41
Spoiler:

Código:

SCRIPT_START
{
    NOP

    LVAR_INT var1
    LVAR_INT var2
    LVAR_INT var3
    LVAR_INT var4
    LVAR_INT 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

    main_loop:
    WAIT 0
//Variavel1
    IF var1 > 12
        var1 -= 1
        ELSE
    IF var1 < 12
        var1 += 1
        ELSE
    IF var1 = 12
    ENDIF
    ENDIF
    ENDIF
//Variavel2
    IF var2 > 12
        var2 -= 1
        ELSE
    IF var2 < 12
        var2 += 1
        ELSE
    IF var2 = 12
    ENDIF
    ENDIF
    ENDIF
//Variavel3
    IF var3 > 12
        var3 -= 1
        ELSE
    IF var3 < 12
        var3 += 1
        ELSE
    IF var3 = 12
    ENDIF
    ENDIF
    ENDIF
//Variavel4
    IF var4 > 12
        var4 -= 1
        ELSE
    IF var4 < 12
        var4 += 1
        ELSE
    IF var4 = 12
    ENDIF
    ENDIF
    ENDIF
//Variavel5
    IF var5 > 12
        var5 -= 1
        ELSE
    IF var5 < 12
        var5 += 1
        ELSE
    IF var5 = 12
    ENDIF
    ENDIF
    ENDIF
    IF var1 = 12
    AND var2 = 12
    AND var3 = 12
    AND var4 = 12
    AND var5 = 12
    GOTO operacaoconcluida
        ELSE
    GOTO main_loop
    operacaoconcluida:
    wait 0
        IF TEST_CHEAT VARIAVEIS
            PRINT_FORMATTED_NOW "Todas as variaveis sao 12: %d %d %d %d %d" 10000 var1 var2 var3 var4 var5
        ENDIF
    ENDIF
    GOTO operacaoconcluida
}
SCRIPT_END
Melhor assim?

______________________________
Existence is Pain プび遺
avatar
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Título : Censurando since 2011
Mensagens : 22701
Reputação : 727
Desde : 03/05/2012
Idade : 22
Localização : Ibitinga - SP
Link : www.MixMods.com.br
Ver perfil do usuáriohttp://MixMods.com.br
em Sab 28 Jan 2017, 16:43
Cara, vai lá no tutorial de condições, ou veja o script pronto aqui desta mesma parte, ou de outras.

Se você tá com preguiça de ir lá, aqui:


______________________________
BMS agora em nova plataforma:
Forum.MixMods.com.br
avatar
Designer - Intermediário
Designer - Intermediário
Título : Suh Dude ド姻ぢ
Mensagens : 3254
Reputação : 148
Desde : 13/10/2012
Idade : 18
Localização : Terra Mágica dos Poneys
Link : MixMods.com.br
Ver perfil do usuáriohttp://www.mixmods.blogspot.com
em Sab 28 Jan 2017, 16:49
Well, pelo que eu entendi é assim então?:
Spoiler:

Código:

SCRIPT_START
{
NOP

LVAR_INT var1
LVAR_INT var2
LVAR_INT var3
LVAR_INT var4
LVAR_INT var5
LVAR_INT operation

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

main_loop:
WAIT 0
//Variavel1
IF var1 > 12
    var1 -= 1
ELSE
IF var1 < 12
    var1 += 1
ELSE
IF var1 = 12
ENDIF
ENDIF
ENDIF
//Variavel2
IF var2 > 12
    var2 -= 1
ELSE
IF var2 < 12
    var2 += 1
ELSE
IF var2 = 12
ENDIF
ENDIF
ENDIF
//Variavel3
IF var3 > 12
    var3 -= 1
ELSE
IF var3 < 12
    var3 += 1
ELSE
IF var3 = 12
ENDIF
ENDIF
ENDIF
//Variavel4
IF var4 > 12
    var4 -= 1
ELSE
IF var4 < 12
    var4 += 1
ELSE
IF var4 = 12
ENDIF
ENDIF
ENDIF
//Variavel5
IF var5 > 12
    var5 -= 1
ELSE
IF var5 < 12
    var5 += 1
ELSE
IF var5 = 12
ENDIF
ENDIF
ENDIF
IF var1 = 12
AND var2 = 12
AND var3 = 12
AND var4 = 12
AND var5 = 12
    GOTO operacaoconcluida
ELSE
    GOTO main_loop
operacaoconcluida:
wait 0
IF TEST_CHEAT VARIAVEIS
    PRINT_FORMATTED_NOW "Todas as variaveis sao 12: %d %d %d %d %d" 10000 var1 var2 var3 var4 var5
ENDIF
ENDIF
    GOTO operacaoconcluida
}
SCRIPT_END

______________________________
Existence is Pain プび遺
avatar
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Título : Censurando since 2011
Mensagens : 22701
Reputação : 727
Desde : 03/05/2012
Idade : 22
Localização : Ibitinga - SP
Link : www.MixMods.com.br
Ver perfil do usuáriohttp://MixMods.com.br
em Sab 28 Jan 2017, 16:54
denilson gostoso
Se bem que não entendo o motivo de você não querer voltar pra aquele tutorial.
Aqui outra imagem do tutorial mostrando um IF dentro do outro que é o que você está tentando fazer:

Você tá fazendo:
Código:
IF tecla
    IF tecla
        //pah
    ELSE
    IF tecla
        // pah
    ENDIF
    ENDIF
ENDIF
Por causa desse erro de organização você se confundiu todo, e fez isso:
Código:
IF var1 = 12
ENDIF
ENDIF
ENDIF
Tipo, você faz nada caso a var ser 12, e ainda ficou um monte de ENDIF sem sentido um embaixo do outro sem você poder saber de onde vem cada um.
Você tem que botar e tirar TAB nas horas certas. Tudo (IF...ELSE...ENDIF) tem que ficar organizadinho um embaixo do outro.

______________________________
BMS agora em nova plataforma:
Forum.MixMods.com.br
avatar
Designer - Intermediário
Designer - Intermediário
Título : Suh Dude ド姻ぢ
Mensagens : 3254
Reputação : 148
Desde : 13/10/2012
Idade : 18
Localização : Terra Mágica dos Poneys
Link : MixMods.com.br
Ver perfil do usuáriohttp://www.mixmods.blogspot.com
em Sab 28 Jan 2017, 17:12
Acho que entendi agora, se não, eu n entendi msm :
Spoiler:

Código:

SCRIPT_START
{
NOP

LVAR_INT var1
LVAR_INT var2
LVAR_INT var3
LVAR_INT var4
LVAR_INT 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

main_loop:
WAIT 0
//Variavel1
IF var1 > 12
    var1 -= 1
ELSE
    IF var1 < 12
        var1 += 1
    ENDIF
ENDIF
//Variavel2
IF var2 > 12
    var2 -= 1
ELSE
    IF var2 < 12
        var2 += 1
    ENDIF
ENDIF
//Variavel3
IF var3 > 12
    var3 -= 1
ELSE
    IF var3 < 12
        var3 += 1
    ENDIF
ENDIF
//Variavel4
IF var4 > 12
    var4 -= 1
ELSE
    IF var4 < 12
        var4 += 1
    ENDIF
ENDIF
//Variavel5
IF var5 > 12
    var5 -= 1
ELSE
    IF var5 < 12
        var5 += 1
    ENDIF
ENDIF
IF var1 = 12
AND var2 = 12
AND var3 = 12
AND var4 = 12
AND var5 = 12
    GOTO operacaoconcluida
ELSE
    GOTO main_loop
ENDIF
operacaoconcluida:
wait 0
IF TEST_CHEAT VARIAVEIS
    PRINT_FORMATTED_NOW "Todas as variaveis sao 12: %d %d %d %d %d" 10000 var1 var2 var3 var4 var5
ENDIF
    GOTO operacaoconcluida
}
SCRIPT_END


Última edição por ThePedro004 em Sab 28 Jan 2017, 17:38, editado 1 vez(es)

______________________________
Existence is Pain プび遺
avatar
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Título : Censurando since 2011
Mensagens : 22701
Reputação : 727
Desde : 03/05/2012
Idade : 22
Localização : Ibitinga - SP
Link : www.MixMods.com.br
Ver perfil do usuáriohttp://MixMods.com.br
em Sab 28 Jan 2017, 17:20
Sim.

______________________________
BMS agora em nova plataforma:
Forum.MixMods.com.br
avatar
Mensagens Nível 4
Mensagens Nível 4
Mensagens : 457
Reputação : 32
Desde : 11/01/2016
Ver perfil do usuário
em Sab 28 Jan 2017, 21:59
CODIGO:
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 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

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
goto script_test

}
SCRIPT_END


DUVIDA:
Ali no final eu perguntei se as variaveis são maiores ou menores que 12, e mandei uma mensagem, mesmo sabendo que o script lê tudo de cima para baixo, então quando chegasse nelas as variaveis ja seriam doze, mas existe alguma chance do script falhar? e se falhar, ele vai executar esse comando?
avatar
Designer - Intermediário
Designer - Intermediário
Título : Suh Dude ド姻ぢ
Mensagens : 3254
Reputação : 148
Desde : 13/10/2012
Idade : 18
Localização : Terra Mágica dos Poneys
Link : MixMods.com.br
Ver perfil do usuáriohttp://www.mixmods.blogspot.com
em Sab 28 Jan 2017, 22:14
Eu acho qur no final você poderia ter colocado só um ELSE e depois mostrar o texto, alem de q vc colocou maior ou IGUAL eu acho que o certo ali seria colocar só o > ou o <.

______________________________
Existence is Pain プび遺
avatar
Mensagens Nível 2
Mensagens Nível 2
Mensagens : 50
Reputação : 2
Desde : 14/03/2015
Ver perfil do usuário
em Sab 28 Jan 2017, 22:41
@Und escreveu:
CODIGO:

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

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
goto script_test

}
SCRIPT_END


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 < ?
avatar
Mensagens Nível 1
Mensagens Nível 1
Mensagens : 1
Reputação : 0
Desde : 28/01/2017
Idade : 18
Ver perfil do usuário
em Sab 28 Jan 2017, 22:51
Spoiler:
Código:

SCRIPT_START
{
    NOP

    LVAR_INT var1 var2 var3 var4 var5    // Definindo as variáveis.
   
    ATIVACAO: // Ativando e desativando a geração dos valores.

        WAIT 0

        IF IS_KEY_PRESSED VK_KEY_1    // Apertando "1" e "2" pula para GERACAO depois de 5 segundos.
        AND IS_KEY_PRESSED VK_KEY_2   
            PRINT_STRING_NOW "A geracao comecara em 5 segundos" 5000   
        WHILE IS_KEY_PRESSED VK_KEY_1
        AND IS_KEY_PRESSED VK_KEY_2
            WAIT 0
        ENDWHILE
            WAIT 5000
            GOTO geracao
        ENDIF
        GOTO ativacao

    GERACAO: // Thread onde são gerados os valores.

        WAIT 0
       
        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
 
    REGULACAO: //Thread onde são regulados os valores.
           
        WAIT 0
       
        IF var1 >= 12
            var1 -= 1
        ELSE
            var1 += 1 
        ENDIF
       
        IF var2 >= 12
            var2 -= 1
        ELSE
            var2 += 1 
        ENDIF
 
        IF var3 >= 12
            var3 -= 1
        ELSE
            var3 += 1 
        ENDIF                       

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

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

    VERIFICACAO:

        WAIT 0
       
        IF var1 = 12
        AND var2 = 12
        AND var3 = 12
        AND var4 = 12
        AND var5 = 12
            PRINT_FORMATTED_NOW "Todas as variaveis sao 12: %d %d %d %d %d" 10000 var1 var2 var3 var4 var5
        ELSE
            GOTO regulacao
        ENDIF

    WAIT 5000
    GOTO ativacao
}
SCRIPT_END

Nas 2 primeiras vezes funcionou, depois ele não pegou mais depois da ativação.

Dúvidas:
-Se usa o WAIT 0 no inicio de toda ação? Nas lições anteriores as vezes você usava, as vezes não.
-Primeiro eu fiz no sorteio que nem o resto do pessoal, mas quando vim postar vi o que você disse. Fiz assim, mas nas 2 vezes que funcionou demorou uns 2 segundos depois de ter começado. Eu tentei usar o IFNOT no início de cada um, mas sempre dava erro no ENDIF.
-E que tipos de mod você nos recomenda para treinar?
Conteúdo patrocinado
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum