10. Exercício #1

    Compartilhe
    avatar
    Um Geek
    Mensagens Nível 3
    Mensagens Nível 3

    Mensagens : 129
    Reputação : 54
    Desde : 07/03/2017
    Localização : Los Santos
    Link : http://emcodigo.blogspot.com.br/

    Re: 10. Exercício #1

    Mensagem por Um Geek em Qui 09 Mar 2017, 13:07

    @Fabio escreveu:
    Esse tipo de coisa só é possível em linguagens de tipagem fraca, em uma linguagem de tipagem forte você precisa converter o inteiro para string e depois concatenar com a outra string.

    Pode usar SCAN_STRING para converter string para número.
    E STRING_FORMAT de número para string.

    Tem "infinitas" formas de usar esse opcode, por usar inclusive para concatenar as strings. Formatos aceitos: http://www.cplusplus.com/reference/cstdio/scanf/ http://www.cplusplus.com/reference/cstdio/printf/

    Valeu 2x pela rapidez
    isto vai ajudar bastante por exemplo para chamar uma textura, já que descobri que textura não pode ter um nome com valor numérico apenas. (BG)
    avatar
    Fabio
    Programador - Avançado
    Programador - Avançado

    Título : CEO da Fabio's Gambiarra Industries
    Mensagens : 18456
    Reputação : 336
    Desde : 04/05/2012
    Idade : 20
    Localização : Reserva, Paraná, Brasil, América Latina, America do Sul, América, Planeta Terra, Sistema Solar, Via láctea, Universo
    Link : gtamodvicio.blogspot.com

    Re: 10. Exercício #1

    Mensagem por Fabio em Qui 09 Mar 2017, 13:16

    @Um Geek escreveu:
    @Fabio escreveu:
    Esse tipo de coisa só é possível em linguagens de tipagem fraca, em uma linguagem de tipagem forte você precisa converter o inteiro para string e depois concatenar com a outra string.

    Pode usar SCAN_STRING para converter string para número.
    E STRING_FORMAT de número para string.

    Tem "infinitas" formas de usar esse opcode, por usar inclusive para concatenar as strings. Formatos aceitos: http://www.cplusplus.com/reference/cstdio/scanf/ http://www.cplusplus.com/reference/cstdio/printf/

    Valeu 2x pela rapidez
    isto vai ajudar bastante por exemplo para chamar uma textura, já que descobri que textura não pode ter um nome com valor numérico apenas.  (BG)

    De nada. :)

    https://ideone.com/Y5IDiq (Observe a parte stdout abaixo da caixa com o código)

    Em gta3script seria mais ou menos assim:
    Código:

    STRING_FORMAT varResultado "%s%i" texto numero


    ____________________

    Modifico quase qualquer coisa.   :)
    ------------------>>>http://gtamodvicio.blogspot.com/<<<------------------

    Meu PC:
    Spoiler:

    Configurações PC:
    *Processador: Intel Core i7 4790K 4.00GHz LGA1150
    *Placa Mãe: GIGABYTE GA-H97M-D3H Intel (LGA1150)
    *HD: 1TB Seagate Barracuda 64MB Sata III 7200RPM (2x - RAID 0)
    *HD²: SAMSUNG M3 Externo USB 5400RPM 1TB
    *Placa de vídeo: Nvidia GTX660 2GB DDR5 192bit EVGA
    *RAM: 8GB DDR3 1600MHZ Kingston HYPER X BEAST (2x4GB)
    *Fonte: Corsair 600W Reais CX600M Modular - CP-9020060-WW (80 Plus Bronze)
    *Gabinete: Gabinete Raidmax Super Hurricane Branco - 248WB
    *Monitor: LG 23MP55HQ Full HD HDMI 23'
    avatar
    Fernando Leal
    Mensagens Nível 1
    Mensagens Nível 1

    Mensagens : 1
    Reputação : 0
    Desde : 01/04/2017

    Olá Junior Djjr , gostaria de saber se meu código está aceitável ,desde já muito obg.

    Mensagem por Fernando Leal em Sab 01 Abr 2017, 02:51

    Spoiler:
    Código:

    SCRIPT_START
    {
    NOP
    //Faça com que 5 variáveis iniciadas com valores aleatórios fiquem com o valor "12".

    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

    LVAR_INT var1
    LVAR_INT var2
    LVAR_INT var3
    LVAR_INT var4
    LVAR_INT var5




    IF var1 > 0
    OR var1 < 100
        var1 = 12
    ENDIF

    IF var2 > 0
    OR var2 < 100
        var2 = 12
    ENDIF
    IF var3 > 0
    OR var3 < 100
        var3 = 12
    ENDIF
    IF var4 > 0
    OR var4 < 100
        var4 = 12
    ENDIF
    IF var5 > 0
    OR var5 < 100
        var5 = 12
    ENDIF

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

    }
    SCRIPT_END

    Eae pessoal blz? queria saber se ficou certo ou ser burlei alguma regra , mto obg a todos ...
    avatar
    Arthropod
    Mensagens Nível 3
    Mensagens Nível 3

    Mensagens : 228
    Reputação : 6
    Desde : 20/12/2016
    Localização : Unidade Federal do Leste
    Link : 127.0.0.1:80

    Re: 10. Exercício #1

    Mensagem por Arthropod em Sab 01 Abr 2017, 03:22

    Os opcodes de formatação de texto, tais como 0x0AD3 e 0x0AD4, não suportam todos os caracteres especificadores suportados pelos procedimentos sprintf() e sscanf() da livraria C.


    ____________________
    Especificações de hardware:
    PC AMD FX Octa Core de 4.0GHz (OC), com GPU AMD Radeon de VRAM de 2GB, RAM de 8GB, HDD de 1TB, e fonte de alimentação ATX de 750W. Sequestrado por tempo indeterminado pelo TRIBUNAL DE JUSTIÇA DO ESTADO DO ESPÍRITO SANTO. É para tomar meus bens que pago impostos nessa aldeia chamada Brasil. YUNO

    avatar
    Fabio
    Programador - Avançado
    Programador - Avançado

    Título : CEO da Fabio's Gambiarra Industries
    Mensagens : 18456
    Reputação : 336
    Desde : 04/05/2012
    Idade : 20
    Localização : Reserva, Paraná, Brasil, América Latina, America do Sul, América, Planeta Terra, Sistema Solar, Via láctea, Universo
    Link : gtamodvicio.blogspot.com

    Re: 10. Exercício #1

    Mensagem por Fabio em Sab 01 Abr 2017, 05:50

    @Fernando Leal escreveu:
    Spoiler:

    Código:

    SCRIPT_START
    {
    NOP
    //Faça com que 5 variáveis iniciadas com valores aleatórios fiquem com o valor "12".

    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

    LVAR_INT var1
    LVAR_INT var2
    LVAR_INT var3
    LVAR_INT var4
    LVAR_INT var5




    IF var1 > 0
    OR var1 < 100
        var1 = 12
    ENDIF

    IF var2 > 0
    OR var2 < 100
        var2 = 12
    ENDIF
    IF var3 > 0
    OR var3 < 100
        var3 = 12
    ENDIF
    IF var4 > 0
    OR var4 < 100
        var4 = 12
    ENDIF
    IF var5 > 0
    OR var5 < 100
        var5 = 12
    ENDIF

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

    }
    SCRIPT_END

    Eae pessoal blz? queria saber se ficou certo ou ser burlei alguma regra , mto obg a todos ...

    Precisa fazer com WHILE e usar operadores matemáticos (adicionar ou subtrair), até ser igual a 12.

    @Arthropod escreveu:Os opcodes de formatação de texto, tais como 0x0AD3 e 0x0AD4, não suportam todos os caracteres especificadores suportados pelos procedimentos sprintf() e sscanf() da livraria C.

    %d suporta, sempre usei %d


    ____________________

    Modifico quase qualquer coisa.   :)
    ------------------>>>http://gtamodvicio.blogspot.com/<<<------------------

    Meu PC:
    Spoiler:

    Configurações PC:
    *Processador: Intel Core i7 4790K 4.00GHz LGA1150
    *Placa Mãe: GIGABYTE GA-H97M-D3H Intel (LGA1150)
    *HD: 1TB Seagate Barracuda 64MB Sata III 7200RPM (2x - RAID 0)
    *HD²: SAMSUNG M3 Externo USB 5400RPM 1TB
    *Placa de vídeo: Nvidia GTX660 2GB DDR5 192bit EVGA
    *RAM: 8GB DDR3 1600MHZ Kingston HYPER X BEAST (2x4GB)
    *Fonte: Corsair 600W Reais CX600M Modular - CP-9020060-WW (80 Plus Bronze)
    *Gabinete: Gabinete Raidmax Super Hurricane Branco - 248WB
    *Monitor: LG 23MP55HQ Full HD HDMI 23'
    avatar
    Arthropod
    Mensagens Nível 3
    Mensagens Nível 3

    Mensagens : 228
    Reputação : 6
    Desde : 20/12/2016
    Localização : Unidade Federal do Leste
    Link : 127.0.0.1:80

    Re: 10. Exercício #1

    Mensagem por Arthropod em Sab 01 Abr 2017, 14:02

    @Fabio escreveu:[...]
    @Arthropod escreveu:Os opcodes de formatação de texto, tais como 0x0AD3 e 0x0AD4, não suportam todos os caracteres especificadores suportados pelos procedimentos sprintf() e sscanf() da livraria C.

    %d suporta, sempre usei %d

    Sim, os mais comuns funcionam, mas alguns outros mais raros não, como o '%p' — pointer —, por exemplo. O Deji já havia relatado isso nalguns anos atrás.


    ____________________
    Especificações de hardware:
    PC AMD FX Octa Core de 4.0GHz (OC), com GPU AMD Radeon de VRAM de 2GB, RAM de 8GB, HDD de 1TB, e fonte de alimentação ATX de 750W. Sequestrado por tempo indeterminado pelo TRIBUNAL DE JUSTIÇA DO ESTADO DO ESPÍRITO SANTO. É para tomar meus bens que pago impostos nessa aldeia chamada Brasil. YUNO

    avatar
    Fabio
    Programador - Avançado
    Programador - Avançado

    Título : CEO da Fabio's Gambiarra Industries
    Mensagens : 18456
    Reputação : 336
    Desde : 04/05/2012
    Idade : 20
    Localização : Reserva, Paraná, Brasil, América Latina, America do Sul, América, Planeta Terra, Sistema Solar, Via láctea, Universo
    Link : gtamodvicio.blogspot.com

    Re: 10. Exercício #1

    Mensagem por Fabio em Sab 01 Abr 2017, 15:07

    @Arthropod escreveu:
    @Fabio escreveu:[...]
    @Arthropod escreveu:Os opcodes de formatação de texto, tais como 0x0AD3 e 0x0AD4, não suportam todos os caracteres especificadores suportados pelos procedimentos sprintf() e sscanf() da livraria C.

    %d suporta, sempre usei %d

    Sim, os mais comuns funcionam, mas alguns outros mais raros não, como o '%p' — pointer —, por exemplo. O Deji já havia relatado isso nalguns anos atrás.

    Ah sim, achei que você tivesse postado isso referente ao exercício anterior à sua mensagem.


    ____________________

    Modifico quase qualquer coisa.   :)
    ------------------>>>http://gtamodvicio.blogspot.com/<<<------------------

    Meu PC:
    Spoiler:

    Configurações PC:
    *Processador: Intel Core i7 4790K 4.00GHz LGA1150
    *Placa Mãe: GIGABYTE GA-H97M-D3H Intel (LGA1150)
    *HD: 1TB Seagate Barracuda 64MB Sata III 7200RPM (2x - RAID 0)
    *HD²: SAMSUNG M3 Externo USB 5400RPM 1TB
    *Placa de vídeo: Nvidia GTX660 2GB DDR5 192bit EVGA
    *RAM: 8GB DDR3 1600MHZ Kingston HYPER X BEAST (2x4GB)
    *Fonte: Corsair 600W Reais CX600M Modular - CP-9020060-WW (80 Plus Bronze)
    *Gabinete: Gabinete Raidmax Super Hurricane Branco - 248WB
    *Monitor: LG 23MP55HQ Full HD HDMI 23'
    avatar
    Arthropod
    Mensagens Nível 3
    Mensagens Nível 3

    Mensagens : 228
    Reputação : 6
    Desde : 20/12/2016
    Localização : Unidade Federal do Leste
    Link : 127.0.0.1:80

    Re: 10. Exercício #1

    Mensagem por Arthropod em Sab 01 Abr 2017, 15:39

    ↑ Falha minha. Eu evitei citar para não formar uma pilha citações.


    ____________________
    Especificações de hardware:
    PC AMD FX Octa Core de 4.0GHz (OC), com GPU AMD Radeon de VRAM de 2GB, RAM de 8GB, HDD de 1TB, e fonte de alimentação ATX de 750W. Sequestrado por tempo indeterminado pelo TRIBUNAL DE JUSTIÇA DO ESTADO DO ESPÍRITO SANTO. É para tomar meus bens que pago impostos nessa aldeia chamada Brasil. YUNO

    avatar
    Kalimba
    Mensagens Nível 1
    Mensagens Nível 1

    Mensagens : 4
    Reputação : 0
    Desde : 03/08/2016
    Idade : 13
    Localização : Terrinha dos fogos de artifício de fiação elétrica

    Re: 10. Exercício #1

    Mensagem por Kalimba em Sex 14 Abr 2017, 01:12

    Spoiler:

    Código:
    SCRIPT_START
    {
        NOP

    WAIT 7593


    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

        WHILE NOT var1 = 12
            IF var1 > 12
                var1 -= 1
            ELSE
                var1 += 1
            ENDIF
        ENDWHILE
                        WHILE NOT var2 = 12
                            IF var2 > 12
                                var2 -= 1
                            ELSE
                                var2 += 1
                            ENDIF
                        ENDWHILE
                                        WHILE NOT var3 = 12
                                            IF var3 > 12
                                                var3 -= 1
                                            ELSE
                                                var3 += 1
                                            ENDIF
                                        ENDWHILE
                        WHILE NOT var4 = 12
                            IF var4 > 12
                                var4 -= 1
                            ELSE
                                var4 += 1
                            ENDIF
                        ENDWHILE
        WHILE NOT var5 = 12
            IF var5 > 12
                var5 -= 1
            ELSE
                var5 += 1
            ENDIF
        ENDWHILE

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

    }
    SCRIPT_END
    Obs: O Script parecia um gerador de crash e acabei tirando o loop, sinal de multiplicação e divisão e colocar adicionar e subtrair por 1, tirei o "IFNOT" por que não batia com as "varx", e por fim, acabou quase idêntico ao do Spoiler das Dúvidas (ROLL)
    E eu não queria fazer igual e acabou dando na mesma

    mathnoobsxx
    Mensagens Nível 4
    Mensagens Nível 4

    Título : Anteriormente "Pedreiro Master"
    Mensagens : 367
    Reputação : 10
    Desde : 13/08/2015
    Idade : 12
    Localização : nusei
    Link : nusei

    Re: 10. Exercício #1

    Mensagem por mathnoobsxx em Sex 14 Abr 2017, 09:02

    Lê o tutorial de identação, na moral.


    ____________________
    Se te ajudei de alguma forma, por favor clique no botão de reputação (o "+" verde).

    Meu PC:

    Processador: Intel core 2 quad Q8400 2.66 Ghz
    Placa de vídeo: GT 240 (vou trocá-la)
    Fonte: Corsair CX-500 80 plus bronze
    Directx: 10
    6GB RAM
    avatar
    Junior_Djjr
    Scripter CLEO - Avançado
    Scripter CLEO - Avançado

    Título : Não quero acreditar, quero saber.
    Mensagens : 21266
    Reputação : 611
    Desde : 03/05/2012
    Idade : 21
    Localização : Ibitinga - SP
    Link : www.MixMods.com.br

    Re: 10. Exercício #1

    Mensagem por Junior_Djjr em Sex 14 Abr 2017, 09:37

    @mathnoobsxx escreveu:Lê o tutorial de identação, na moral.
    Realmente Fuch That Guy Fuch That Guy

    Dahora que:
    WAIT 7593
    Que que é isso? Por que 7593?


    ____________________

    mathnoobsxx
    Mensagens Nível 4
    Mensagens Nível 4

    Título : Anteriormente "Pedreiro Master"
    Mensagens : 367
    Reputação : 10
    Desde : 13/08/2015
    Idade : 12
    Localização : nusei
    Link : nusei

    Re: 10. Exercício #1

    Mensagem por mathnoobsxx em Sex 14 Abr 2017, 09:57

    @Junior_Djjr escreveu:
    @mathnoobsxx escreveu:Lê o tutorial de identação, na moral.
    Realmente Fuch That Guy Fuch That Guy

    Dahora que:
    WAIT 7593
    Que que é isso? Por que 7593?

    Talvez pra esperar o jogo começar philosoraptor ?


    ____________________
    Se te ajudei de alguma forma, por favor clique no botão de reputação (o "+" verde).

    Meu PC:

    Processador: Intel core 2 quad Q8400 2.66 Ghz
    Placa de vídeo: GT 240 (vou trocá-la)
    Fonte: Corsair CX-500 80 plus bronze
    Directx: 10
    6GB RAM
    avatar
    Nex'
    Scripter CLEO - Básico
    Scripter CLEO - Básico

    Título : Imposto é roubo
    Mensagens : 947
    Reputação : 66
    Desde : 04/03/2013
    Idade : 17

    Re: 10. Exercício #1

    Mensagem por Nex' em Sex 14 Abr 2017, 10:31

    @mathnoobsxx escreveu:
    @Junior_Djjr escreveu:
    @mathnoobsxx escreveu:Lê o tutorial de identação, na moral.
    Realmente Fuch That Guy Fuch That Guy

    Dahora que:
    WAIT 7593
    Que que é isso? Por que 7593?

    Talvez pra esperar o jogo começar  philosoraptor ?
    É obvio, ele tá perguntando sobre o número e não sobre o comando em si. Como se o jogo tivesse toda essa precisão e fosse literalmente esperar esse tempo ai kkkkk


    ____________________
    PC Specs
    CPU: Intel Core i3-6100 Skylake
    GPU: HD Intel 530
    RAM: Crucial Ballistix Elite 4GB 2133MHz DDR4
    PSU: Corsair CX-430W
    MOBO: Gigabyte GA-H110M-H DDR4
    avatar
    israel
    Scripter CLEO - Avançado
    Scripter CLEO - Avançado

    Mensagens : 642
    Reputação : 111
    Desde : 22/09/2015
    Idade : 19
    Localização : Salvador - BA

    Re: 10. Exercício #1

    Mensagem por israel em Sex 14 Abr 2017, 12:05

    @Kalimba escreveu:
    Spoiler:

    Código:
    SCRIPT_START
    {
        NOP

    WAIT 7593


    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

        WHILE NOT var1 = 12
            IF var1 > 12
                var1 -= 1
            ELSE
                var1 += 1
            ENDIF
        ENDWHILE
                        WHILE NOT var2 = 12
                            IF var2 > 12
                                var2 -= 1
                            ELSE
                                var2 += 1
                            ENDIF
                        ENDWHILE
                                        WHILE NOT var3 = 12
                                            IF var3 > 12
                                                var3 -= 1
                                            ELSE
                                                var3 += 1
                                            ENDIF
                                        ENDWHILE
                        WHILE NOT var4 = 12
                            IF var4 > 12
                                var4 -= 1
                            ELSE
                                var4 += 1
                            ENDIF
                        ENDWHILE
        WHILE NOT var5 = 12
            IF var5 > 12
                var5 -= 1
            ELSE
                var5 += 1
            ENDIF
        ENDWHILE

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

    }
    SCRIPT_END
    Essa indentação... :v:


    Mas como você ainda não chegou no tutorial de indentação, dá pra entender.
    @Kalimba escreveu:Obs: O Script parecia um gerador de crash e acabei tirando o loop, sinal de multiplicação e divisão e colocar adicionar e subtrair por 1, tirei o "IFNOT" por que não batia com as "varx", e por fim, acabou quase idêntico ao do Spoiler das Dúvidas (ROLL)
    E eu não queria fazer igual e acabou dando na mesma
    É muito raro scripts de duas pessoas diferentes saírem iguais, ainda mais que é perceptível que você não sabe indentar, mas mesmo assim, até a indentação dos whiles e dos ifs dentro deles está exatamente igual. serious?

    Mas só você sabe se é cópia ou não, vai de você, se quer realmente aprender ou não.


    ____________________
    " Everyone gonna remember my name ! "
    avatar
    Kalimba
    Mensagens Nível 1
    Mensagens Nível 1

    Mensagens : 4
    Reputação : 0
    Desde : 03/08/2016
    Idade : 13
    Localização : Terrinha dos fogos de artifício de fiação elétrica

    Re: 10. Exercício #1

    Mensagem por Kalimba em Sex 14 Abr 2017, 21:07

    A indentação ficou assim porque eu fui tentar mexer e deu erro (devo ter apagado algo certo aí coloquei a culpa na indentação cjfacepalm ) Mas a indentação em forma de ">" na parte dos "GENERATE_RANDOM" realmente esqueci (outra burrada minha)

    Conteúdo patrocinado

    Re: 10. Exercício #1

    Mensagem por Conteúdo patrocinado


      Data/hora atual: Seg 24 Abr 2017, 17:57