GTA3script: Migração Sanny Builder e Auxílios

    Compartilhe
    avatar
    Deadstroke
    Scripter CLEO - Intermediário
    Scripter CLEO - Intermediário

    Mensagens : 481
    Reputação : 30
    Desde : 08/02/2016
    Localização : São Paulo

    GTA3script: Migração Sanny Builder e Auxílios

    Mensagem por Deadstroke em Dom 01 Jan 2017, 13:36

    GTA3script Toolchain

    É uma nova ferramenta de criação de scripts Cleo, feito pelo @LINK/2012, baseada na que foi usada pela Rockstar Games para a criação do jogo. Esse tópico é para quem quer tirar dúvidas, quer dicas entre outras coisas.

    Links importantes e auxiliares

    - SCM Language (GTAModding) (inglês): explica o que é a linguagem SCM e também menciona o GTA3Script;
    - GTA3Script na GTAForums (@LINK/2012) (inglês): o link principal da GTA3Script no GTAForums. Possui auxilios gerais assim como aqui, e ensina a instalar o GTA3Script

    - Instalação: Como instalar o GTA3Script (português)

    Tutoriais

    - Tutorial Cleo - GTA3Script (@Junior_Djjr)
    : recomendadíssimo iniciar seus estudos de GTA3Script aqui! Ele inicia desde do zero a como scriptar por essa ferramenta. Ainda está intermediário (mais pra baixo), mas anda em atualização;
    - Tutorial do Link2012 (inglês): complementar ao anterior, contém alguns tópicos que ainda não foram ainda ensinados no do Junior.


    Funções auxiliares

    - Opcode Database (Deji): para quem quer passar opcodes do Sanny Builder para o GTA3Script ou somente pegar opcodes.

    - Pegar variáveis globais (não se faz ainda pelo GTA3Script. Atualizado em 15/05/17)
    Pegar var globais:

    Código:

    //Feito por Fabio
    {
    get_global_var:
       LVAR_INT var addr
       READ_MEMORY 0x00468D5E 4 0 addr
       var *= 0x4
       var += addr
       READ_MEMORY var 4 0 var
       CLEO_RETURN 0 var
    }


    Última edição por Deadstroke em Ter 16 Maio 2017, 22:02, editado 7 vez(es) (Razão : Atualizar tópico)
    avatar
    Junior_Djjr
    Scripter CLEO - Avançado
    Scripter CLEO - Avançado

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

    Re: GTA3script: Migração Sanny Builder e Auxílios

    Mensagem por Junior_Djjr em Dom 01 Jan 2017, 13:45

    Uma das coisas que entendi só recentemente sobre SCM vs GTA3script é que SCM é o nome da linguagem que a gente imaginou / tentou adivinhar para a programação da Rockstar. Possivelmente por causa da extensão .SCM?

    Quando se referenciam ao Sanny Builder, chamam simplesmente de "linguagem do sanny builder".

    SCM = Script MultiFle, sabemos devido ao vazamento do compilador oficial de GTA3script da Rockstar no lançamento do GTA VC mobile.


    Bota também o link:
    http://www.gtamodding.com/wiki/GTA3script
    Mesmo que já tenha ele no tópico lá na GTAF.
    avatar
    Deadstroke
    Scripter CLEO - Intermediário
    Scripter CLEO - Intermediário

    Mensagens : 481
    Reputação : 30
    Desde : 08/02/2016
    Localização : São Paulo

    Re: GTA3script: Migração Sanny Builder e Auxílios

    Mensagem por Deadstroke em Dom 01 Jan 2017, 16:44

    Tenho uma dúvida já: como eu escrevo uma variável global na nova programação? Não sei como identificar e colocá-la no jogo?
    Sobre tutoriais Junior, pretende fazer para mais de um idioma ou algo assim?
    avatar
    Junior_Djjr
    Scripter CLEO - Avançado
    Scripter CLEO - Avançado

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

    Re: GTA3script: Migração Sanny Builder e Auxílios

    Mensagem por Junior_Djjr em Dom 01 Jan 2017, 17:26

    @Deadstroke escreveu:Tenho uma dúvida já: como eu escrevo uma variável global na nova programação? Não sei como identificar e colocá-la no jogo?
    Sobre tutoriais Junior, pretende fazer para mais de um idioma ou algo assim?
    Definir uma nova var global dentro de um custom script é impossível, simplesmente porque é errado. Meio que o Sanny Builder deu mal manias.
    Usar uma var já existente eu ainda não sei. Vai ter um DIM_VAR_INT. Atualmente só pegando da memória mesmo.
    avatar
    AguiaX2
    Scripter CLEO - Intermediário
    Scripter CLEO - Intermediário

    Mensagens : 609
    Reputação : 37
    Desde : 19/08/2015
    Idade : 14
    Localização : Em algum lugar do brasil
    Link : https://www.youtube.com/watch?v=lMB18XPgEWA

    Re: GTA3script: Migração Sanny Builder e Auxílios

    Mensagem por AguiaX2 em Dom 01 Jan 2017, 17:35

    Se eu passa das 32 vars  da erro quando compila :)?


    ____________________


    avatar
    Junior_Djjr
    Scripter CLEO - Avançado
    Scripter CLEO - Avançado

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

    Re: GTA3script: Migração Sanny Builder e Auxílios

    Mensagem por Junior_Djjr em Dom 01 Jan 2017, 17:43




    ____________________
    avatar
    AguiaX2
    Scripter CLEO - Intermediário
    Scripter CLEO - Intermediário

    Mensagens : 609
    Reputação : 37
    Desde : 19/08/2015
    Idade : 14
    Localização : Em algum lugar do brasil
    Link : https://www.youtube.com/watch?v=lMB18XPgEWA

    Re: GTA3script: Migração Sanny Builder e Auxílios

    Mensagem por AguiaX2 em Dom 01 Jan 2017, 17:46

    ;-;


    ____________________


    avatar
    Junior_Djjr
    Scripter CLEO - Avançado
    Scripter CLEO - Avançado

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

    Re: GTA3script: Migração Sanny Builder e Auxílios

    Mensagem por Junior_Djjr em Dom 01 Jan 2017, 17:55

    Em breve esse limite será quebrado e o número de vars será ajustado automaticamente com o quanto você usou.
    Deverá vir numa nova versão da CLEO (4.4?)

    ....E ainda não penso em traduzir pra outro idioma..
    avatar
    israel
    Scripter CLEO - Avançado
    Scripter CLEO - Avançado

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

    Re: GTA3script: Migração Sanny Builder e Auxílios

    Mensagem por israel em Dom 01 Jan 2017, 17:57

    @Deadstroke escreveu:Tenho uma dúvida já: como eu escrevo uma variável global na nova programação? Não sei como identificar e colocá-la no jogo?
    Sobre tutoriais Junior, pretende fazer para mais de um idioma ou algo assim?
    Não sei se entendi bem o que você quis dizer, mas...
    Não dá pra usar como no sanny, mas dá pra usar endereços de memoria. Ex do $OnMission:



    ↓↓

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    SCRIPT_START
    {
    NOP
    LVAR_INT OnMission

    loop:
    WAIT 0

    IF TEST_CHEAT "Save"
       READ_MEMORY 0x96ABA0 1 0 OnMission
       IF OnMission = FALSE
           ACTIVATE_SAVE_MENU
       ELSE
           PRINT_STRING_NOW "~r~Nao e possivel salvar com uma missao em andamento." 3500
       ENDIF
    ENDIF

    GOTO loop
    }
    SCRIPT_END


    ____________________
    " Everyone gonna remember my name ! "
    avatar
    Junior_Djjr
    Scripter CLEO - Avançado
    Scripter CLEO - Avançado

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

    Re: GTA3script: Migração Sanny Builder e Auxílios

    Mensagem por Junior_Djjr em Dom 01 Jan 2017, 18:01

    Num pc, tudo é endereços de memória.
    Se você entrar no local onde estão guardadas as variáveis globais do jogo, você irá poder lê-las.

    Mas neste caso em específico que você mostrou, o melhor é assim mesmo :v:


    ____________________
    avatar
    Rodrigo294
    Mensagens Nível 2
    Mensagens Nível 2

    Mensagens : 50
    Reputação : 2
    Desde : 14/03/2015

    Re: GTA3script: Migração Sanny Builder e Auxílios

    Mensagem por Rodrigo294 em Dom 01 Jan 2017, 18:18

    @Junior_Djjr escreveu:

    vc pode usar 32 dentro de cada scope, certo?
    avatar
    Junior_Djjr
    Scripter CLEO - Avançado
    Scripter CLEO - Avançado

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

    Re: GTA3script: Migração Sanny Builder e Auxílios

    Mensagem por Junior_Djjr em Dom 01 Jan 2017, 18:20

    @Rodrigo294 escreveu:
    @Junior_Djjr escreveu:

    vc pode usar 32 dentro de cada scope, certo?
    Sim
    avatar
    Deadstroke
    Scripter CLEO - Intermediário
    Scripter CLEO - Intermediário

    Mensagens : 481
    Reputação : 30
    Desde : 08/02/2016
    Localização : São Paulo

    Re: GTA3script: Migração Sanny Builder e Auxílios

    Mensagem por Deadstroke em Dom 01 Jan 2017, 19:57

    Estou querendo refazer o No 100% Advantages para o GTA3Script. Só que ele só tem variáveis globais:

    Código:
    {$CLEO .cs}
    0000:

    while true
        if  $_100_Percent_Complete == 1
        then
            014C: set_parked_car_generator $parked_Rhino cars_to_generate_to 0
            014C: set_parked_car_generator $parked_Hydra cars_to_generate_to 0
            030D: set_max_progress 190
            $_100_Percent_Complete = 0
            $STAT_Percentage_Completed = 99.0
        end
        wait 250
    end

    Vi o 'CustomVariables' no Sanny Builder, como mostrado em http://bms.mixmods.com.br/t211-4-variaveis, e se pudesse usar os números das variáveis globais, seria muito bom.
    É bem complicado ter que pegar endereços nesses casos. Eu teria que fazer como naquele tutorial de engenharia reversa né...
    avatar
    Junior_Djjr
    Scripter CLEO - Avançado
    Scripter CLEO - Avançado

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

    Re: GTA3script: Migração Sanny Builder e Auxílios

    Mensagem por Junior_Djjr em Dom 01 Jan 2017, 20:02

    Espere ele colocar isso. Vá atrás de refazer algum outro mod que é melhor.

    Falando nele, ele não cuida do benefício "todas as tags pichadas", né?
    avatar
    Deadstroke
    Scripter CLEO - Intermediário
    Scripter CLEO - Intermediário

    Mensagens : 481
    Reputação : 30
    Desde : 08/02/2016
    Localização : São Paulo

    Re: GTA3script: Migração Sanny Builder e Auxílios

    Mensagem por Deadstroke em Dom 01 Jan 2017, 20:17

    @Junior_Djjr escreveu:Espere ele colocar isso. Vá atrás de refazer algum outro mod que é melhor.

    Falando nele, ele não cuida do benefício "todas as tags pichadas", né?

    Acho que isso é pré-requisito pra 100%, e não um ganho por estar em 100%. Nâo sei se há outro benefício que não coloquei antes.

    @Israel , vlw pela dica doi $onmission, vai ser útil por enquanto.

    E como vai funcionar o sistema de atualização, vai ter patches?
    avatar
    Kevin Prestes
    Scripter CLEO - Intermediário
    Scripter CLEO - Intermediário

    Mensagens : 1892
    Reputação : 18
    Desde : 30/05/2013
    Localização : Estância Velha - RS

    Re: GTA3script: Migração Sanny Builder e Auxílios

    Mensagem por Kevin Prestes em Seg 02 Jan 2017, 00:02

    @Deadstroke escreveu:É bem complicado ter que pegar endereços nesses casos. Eu teria que fazer como naquele tutorial de engenharia reversa né...
    Pegando a global var * 4 + 0xA49960 não terá o ponteiro pra tal variável?
    avatar
    Deadstroke
    Scripter CLEO - Intermediário
    Scripter CLEO - Intermediário

    Mensagens : 481
    Reputação : 30
    Desde : 08/02/2016
    Localização : São Paulo

    Re: GTA3script: Migração Sanny Builder e Auxílios

    Mensagem por Deadstroke em Seg 02 Jan 2017, 09:42

    @Kevin Prestes escreveu:
    @Deadstroke escreveu:É bem complicado ter que pegar endereços nesses casos. Eu teria que fazer como naquele tutorial de engenharia reversa né...
    Pegando a global var * 4 + 0xA49960 não terá o ponteiro pra tal variável?

    Aqui aparentemente não funcionou...
    avatar
    Junior_Djjr
    Scripter CLEO - Avançado
    Scripter CLEO - Avançado

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

    Re: GTA3script: Migração Sanny Builder e Auxílios

    Mensagem por Junior_Djjr em Seg 02 Jan 2017, 09:52

    @Kevin Prestes escreveu:
    @Deadstroke escreveu:É bem complicado ter que pegar endereços nesses casos. Eu teria que fazer como naquele tutorial de engenharia reversa né...
    Pegando a global var * 4 + 0xA49960 não terá o ponteiro pra tal variável?
    Esse local tem espaço para 50 mil vars globais, não faz sentido.
    Código:
    0xA49960 = start of scm block
    É aí onde o script principal do jogo fica guardado, não as vars.

    Nex'
    Scripter CLEO - Básico
    Scripter CLEO - Básico

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

    Re: GTA3script: Migração Sanny Builder e Auxílios

    Mensagem por Nex' em Seg 02 Jan 2017, 09:59

    Ia falar isso agora, uma função do Lua Hooker que faz isso:
    Código:
    int CLuaFunctions::getSCMVarPointer(lua_State *L)
    {
       LuaParams p(L);

       for (int i = 0, size = p.getNumParams(); i < size; i++)
       {
          unsigned int glob = 0;
          p >> glob;
          p << 0x00A49960 + glob * 4;
       }

       return p.rtn();
    }


    ____________________
    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 : 657
    Reputação : 111
    Desde : 22/09/2015
    Idade : 19
    Localização : Salvador - BA

    Re: GTA3script: Migração Sanny Builder e Auxílios

    Mensagem por israel em Seg 02 Jan 2017, 10:58

    Eu vi o Deji explicando sobre isso uma vez, mas nem lembrava mais.
    Não faz sentido apenas printar na tela, mas fiz apenas como exemplo :

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    SCRIPT_START
    {  
    LVAR_INT Parked_Rhino Parked_Hydra _100_Percent_Complete

    CLEO_CALL get_global_var 0 2777 Parked_Rhino
    CLEO_CALL get_global_var 0 673 Parked_Hydra
    CLEO_CALL get_global_var 0 802 _100_Percent_Complete

    PRINT_FORMATTED_NOW "Values : %i - %i - %i" 7000 Parked_Rhino Parked_Hydra _100_Percent_Complete
    }
    SCRIPT_END

    {
    get_global_var:
       LVAR_INT var
       var *= 0x4
       var += 0xA49960
       READ_MEMORY var 4 0 var
       CLEO_RETURN 0 var
    }

    Bem mais simples.


    Última edição por israel em Seg 02 Jan 2017, 11:25, editado 3 vez(es)


    ____________________
    " Everyone gonna remember my name ! "
    avatar
    Fabio
    Programador - Avançado
    Programador - Avançado

    Título : CEO da Fabio's Gambiarra Industries
    Mensagens : 18627
    Reputação : 338
    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: GTA3script: Migração Sanny Builder e Auxílios

    Mensagem por Fabio em Seg 02 Jan 2017, 10:59

    @Junior_Djjr escreveu:
    @Kevin Prestes escreveu:
    @Deadstroke escreveu:É bem complicado ter que pegar endereços nesses casos. Eu teria que fazer como naquele tutorial de engenharia reversa né...
    Pegando a global var * 4 + 0xA49960 não terá o ponteiro pra tal variável?
    Esse local tem espaço para 50 mil vars globais, não faz sentido.
    Código:
    0xA49960 = start of scm block
    É aí onde o script principal do jogo fica guardado, não as vars.

    São as vars, elas ficam no main.scm, por isso tem um jump nos primeiros 7 bytes do main.scm, por isso também que o GTA não usa $0 nem $1



    ____________________

    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
    Deadstroke
    Scripter CLEO - Intermediário
    Scripter CLEO - Intermediário

    Mensagens : 481
    Reputação : 30
    Desde : 08/02/2016
    Localização : São Paulo

    Re: GTA3script: Migração Sanny Builder e Auxílios

    Mensagem por Deadstroke em Seg 02 Jan 2017, 12:07

    @israel escreveu:Eu vi o Deji explicando sobre isso uma vez, mas nem lembrava mais.
    Não faz sentido apenas printar na tela, mas fiz apenas como exemplo :

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    SCRIPT_START
    {  
    LVAR_INT Parked_Rhino Parked_Hydra _100_Percent_Complete

    CLEO_CALL get_global_var 0 2777 Parked_Rhino
    CLEO_CALL get_global_var 0 673 Parked_Hydra
    CLEO_CALL get_global_var 0 802 _100_Percent_Complete

    PRINT_FORMATTED_NOW "Values : %i - %i - %i" 7000 Parked_Rhino Parked_Hydra _100_Percent_Complete
    }
    SCRIPT_END

    {
    get_global_var:
       LVAR_INT var
       var *= 0x4
       var += 0xA49960
       READ_MEMORY var 4 0 var
       CLEO_RETURN 0 var
    }

    Bem mais simples.

    Essa função também falhou miseravelmente, infelizmente...
    avatar
    israel
    Scripter CLEO - Avançado
    Scripter CLEO - Avançado

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

    Re: GTA3script: Migração Sanny Builder e Auxílios

    Mensagem por israel em Seg 02 Jan 2017, 12:16

    @Deadstroke escreveu:Essa função também falhou miseravelmente, infelizmente...
    Como assim "falhou" ? Você tentou do jeito que está ai e não apareceu a mensagem na tela ? ou usou outro código seguindo o exemplo e não funcionou ? Mostre o código. :v:
    avatar
    Fabio
    Programador - Avançado
    Programador - Avançado

    Título : CEO da Fabio's Gambiarra Industries
    Mensagens : 18627
    Reputação : 338
    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: GTA3script: Migração Sanny Builder e Auxílios

    Mensagem por Fabio em Seg 02 Jan 2017, 12:28

    Código:
    CLEO_CALL get_global_var 0 802 _100_Percent_Complete

    0?

    Código:
    CLEO_RETURN 0 var

    0?


    ____________________

    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
    Junior_Djjr
    Scripter CLEO - Avançado
    Scripter CLEO - Avançado

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

    Re: GTA3script: Migração Sanny Builder e Auxílios

    Mensagem por Junior_Djjr em Seg 02 Jan 2017, 12:33

    Fabio ainda não conhece GTA3script :v:


    ____________________

    Conteúdo patrocinado

    Re: GTA3script: Migração Sanny Builder e Auxílios

    Mensagem por Conteúdo patrocinado


      Data/hora atual: Ter 27 Jun 2017, 12:51