Otimizações em um código

    Compartilhe
    avatar
    Adryan Araújo
    Mensagens Nível 1
    Mensagens Nível 1

    Mensagens : 8
    Reputação : 0
    Desde : 18/12/2016
    Idade : 15
    Localização : Várzea Paulista - São Paulo

    Otimizações em um código

    Mensagem por Adryan Araújo em Sex 12 Maio 2017, 13:49

    Gostaria de que vocês pudessem avaliar esse simples mod que eu acabei fazendo para uso pessoal. A função dele é basicamente armazenar em 5 slots 5 coordenadas diferentes. Seja elas pegas de maneira única ou coletiva.

    Spoiler:

    Código:
    SCRIPT_START
    {
    NOP

    LVAR_INT scplayer
    LVAR_FLOAT coord[24]

    main_loop:
    WAIT 0

    GET_PLAYER_CHAR 0 scplayer
    GET_CHAR_COORDINATES scplayer coord[0] coord[1] coord[2]
    GET_CHAR_COORDINATES scplayer coord[3] coord[4] coord[5]
    GET_CHAR_COORDINATES scplayer coord[6] coord[7] coord[8]
    GET_CHAR_COORDINATES scplayer coord[9] coord[10] coord[11]
    GET_CHAR_COORDINATES scplayer coord[12] coord[13] coord[14]

    //--SLOT 1--
        IF TEST_CHEAT "1coordx"
            PRINT_FORMATTED_NOW "X = %d" 850 coord[0]
            WRITE_FLOAT_TO_INI_FILE coord[0] "cleo/coordinates.ini" "Coordinates" "X"
            
        ENDIF

        IF TEST_CHEAT "1coordy"
            PRINT_FORMATTED_NOW "Y = %d" 850 coord[1]
            WRITE_FLOAT_TO_INI_FILE coord[1] "cleo/coordinates.ini" "Coordinates" "Y"
            
        ENDIF

        IF TEST_CHEAT "1coordz"
            PRINT_FORMATTED_NOW "Z = %d" 850 coord[2]
            WRITE_FLOAT_TO_INI_FILE coord[2] "cleo/coordinates.ini" "Coordinates" "Z"
            
        ENDIF

        IF TEST_CHEAT "1allcoord"
            PRINT_FORMATTED_NOW "X=%d Y=%d X=%d" 850 coord[0] coord[1] coord[2]
            WRITE_FLOAT_TO_INI_FILE coord[0] "cleo/coordinates.ini" "Coordinates" "X"
            WRITE_FLOAT_TO_INI_FILE coord[1] "cleo/coordinates.ini" "Coordinates" "Y"
            WRITE_FLOAT_TO_INI_FILE coord[2] "cleo/coordinates.ini" "Coordinates" "Z"
            
        ENDIF
    //--SLOT 1--

    //--SLOT 2--
        IF TEST_CHEAT "2coordx"
            PRINT_FORMATTED_NOW "X = %d" 850 coord[3]
            WRITE_FLOAT_TO_INI_FILE coord[3] "cleo/coordinates.ini" "Coordinates2" "X"
            
        ENDIF

        IF TEST_CHEAT "2coordy"
            PRINT_FORMATTED_NOW "Y = %d" 850 coord[4]
            WRITE_FLOAT_TO_INI_FILE coord[4] "cleo/coordinates.ini" "Coordinates2" "Y"
            
        ENDIF

        IF TEST_CHEAT "2coordz"
            PRINT_FORMATTED_NOW "Z = %d" 850 coord[5]
            WRITE_FLOAT_TO_INI_FILE coord[5] "cleo/coordinates.ini" "Coordinates2" "Z"
            
        ENDIF

        IF TEST_CHEAT "2allcoord"
            PRINT_FORMATTED_NOW "X=%d Y=%d X=%d" 850 coord[3] coord[4] coord[5]
            WRITE_FLOAT_TO_INI_FILE coord[3] "cleo/coordinates.ini" "Coordinates2" "X"
            WRITE_FLOAT_TO_INI_FILE coord[4] "cleo/coordinates.ini" "Coordinates2" "Y"
            WRITE_FLOAT_TO_INI_FILE coord[5] "cleo/coordinates.ini" "Coordinates2" "Z"
            
        ENDIF
    //--SLOT 2--

    //--SLOT 3--
        IF TEST_CHEAT "3coordx"
            PRINT_FORMATTED_NOW "X = %d" 850 coord[6]
            WRITE_FLOAT_TO_INI_FILE coord[6] "cleo/coordinates.ini" "Coordinates3" "X"
            
        ENDIF

        IF TEST_CHEAT "3coordy"
            PRINT_FORMATTED_NOW "Y = %d" 850 coord[7]
            WRITE_FLOAT_TO_INI_FILE coord[7] "cleo/coordinates.ini" "Coordinates3" "Y"
            
        ENDIF

        IF TEST_CHEAT "3coordz"
            PRINT_FORMATTED_NOW "Z = %d" 850 coord[8]
            WRITE_FLOAT_TO_INI_FILE coord[8] "cleo/coordinates.ini" "Coordinates3" "Z"
            
        ENDIF

        IF TEST_CHEAT "3allcoord"
            PRINT_FORMATTED_NOW "X=%d Y=%d X=%d" 850 coord[6] coord[7] coord[8]
            WRITE_FLOAT_TO_INI_FILE coord[6] "cleo/coordinates.ini" "Coordinates3" "X"
            WRITE_FLOAT_TO_INI_FILE coord[7] "cleo/coordinates.ini" "Coordinates3" "Y"
            WRITE_FLOAT_TO_INI_FILE coord[8] "cleo/coordinates.ini" "Coordinates3" "Z"
            
        ENDIF
    //--SLOT 3--

    //--SLOT 4--
        IF TEST_CHEAT "4coordx"
            PRINT_FORMATTED_NOW "X = %d" 850 coord[9]
            WRITE_FLOAT_TO_INI_FILE coord[9] "cleo/coordinates.ini" "Coordinates4" "X"
            
        ENDIF

        IF TEST_CHEAT "4coordy"
            PRINT_FORMATTED_NOW "Y = %d" 850 coord[10]
            WRITE_FLOAT_TO_INI_FILE coord[10] "cleo/coordinates.ini" "Coordinates4" "Y"
            
        ENDIF

        IF TEST_CHEAT "4coordz"
            PRINT_FORMATTED_NOW "Z = %d" 850 coord[11]
            WRITE_FLOAT_TO_INI_FILE coord[11] "cleo/coordinates.ini" "Coordinates4" "Z"
            
        ENDIF

        IF TEST_CHEAT "4allcoord"
            PRINT_FORMATTED_NOW "X=%d Y=%d X=%d" 850 coord[9] coord[10] coord[11]
            WRITE_FLOAT_TO_INI_FILE coord[9] "cleo/coordinates.ini" "Coordinates4" "X"
            WRITE_FLOAT_TO_INI_FILE coord[10] "cleo/coordinates.ini" "Coordinates4" "Y"
            WRITE_FLOAT_TO_INI_FILE coord[11] "cleo/coordinates.ini" "Coordinates4" "Z"
            
        ENDIF
    //--SLOT 4--

    //--SLOT 5--
        IF TEST_CHEAT "5coordx"
            PRINT_FORMATTED_NOW "X = %d" 850 coord[12]
            WRITE_FLOAT_TO_INI_FILE coord[12] "cleo/coordinates.ini" "Coordinates5" "X"
            
        ENDIF

        IF TEST_CHEAT "5coordy"
            PRINT_FORMATTED_NOW "Y = %d" 850 coord[13]
            WRITE_FLOAT_TO_INI_FILE coord[13] "cleo/coordinates.ini" "Coordinates5" "Y"
            
        ENDIF

        IF TEST_CHEAT "5coordz"
            PRINT_FORMATTED_NOW "Z = %d" 850 coord[14]
            WRITE_FLOAT_TO_INI_FILE coord[14] "cleo/coordinates.ini" "Coordinates5" "Z"
            
        ENDIF

        IF TEST_CHEAT "5allcoord"
            PRINT_FORMATTED_NOW "X=%d Y=%d X=%d" 850 coord[12] coord[13] coord[14]
            WRITE_FLOAT_TO_INI_FILE coord[12] "cleo/coordinates.ini" "Coordinates5" "X"
            WRITE_FLOAT_TO_INI_FILE coord[13] "cleo/coordinates.ini" "Coordinates5" "Y"
            WRITE_FLOAT_TO_INI_FILE coord[14] "cleo/coordinates.ini" "Coordinates5" "Z"
            
        ENDIF
    //--SLOT 5--

    GOTO main_loop
    }
    SCRIPT_END

    Digam-me os defeitos, ou se há como otimizar algo. Estou fazendo do jeito certo? Grato.
    avatar
    mathnoobsxx
    Mensagens Nível 4
    Mensagens Nível 4

    Título : Anteriormente "Pedreiro Master"
    Mensagens : 455
    Reputação : 12
    Desde : 13/08/2015
    Idade : 12
    Localização : Passo de Torres - SC

    Re: Otimizações em um código

    Mensagem por mathnoobsxx em Sex 12 Maio 2017, 13:52

    Você criou 24 variáveis, só utilizou 14, você pegou as coordenadas do CJ 5 vezes, apenas 1 é necessária.

    De resto tá bom.


    ____________________
    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 : 21616
    Reputação : 635
    Desde : 03/05/2012
    Idade : 21
    Localização : Ibitinga - SP
    Link : www.MixMods.com.br

    Re: Otimizações em um código

    Mensagem por Junior_Djjr em Sex 12 Maio 2017, 18:29

    É o que o mathnoobsxx disse, não fez sentido esse negócio de pegar a mesma coordenada várias vezes em um monte de variáveis diferentes, é só pegar uma.

    E você está mostrando na tela em "%d", o que é decimal usado pra números inteiros. Você tem que usar "%f"


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

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

    Re: Otimizações em um código

    Mensagem por Um Geek em Sex 12 Maio 2017, 19:41

    ↓:
    Código:

        IF TEST_CHEAT "1coordx"
            PRINT_FORMATTED_NOW "X = %d" 850 coord[0]
            WRITE_FLOAT_TO_INI_FILE coord[0] "cleo/coordinates.ini" "Coordinates" "X"
           
        ENDIF
     
        IF TEST_CHEAT "1coordy"
            PRINT_FORMATTED_NOW "Y = %d" 850 coord[1]
            WRITE_FLOAT_TO_INI_FILE coord[1] "cleo/coordinates.ini" "Coordinates" "Y"
           
        ENDIF
     
        IF TEST_CHEAT "1coordz"
            PRINT_FORMATTED_NOW "Z = %d" 850 coord[2]
            WRITE_FLOAT_TO_INI_FILE coord[2] "cleo/coordinates.ini" "Coordinates" "Z"
           
        ENDIF

    Posso esta errado, mas acho que pegar coordenadas assim seja errado, uma vez que só pode considerar coordenadas se tiver no minimo dois pontos de referencia (HMM)


    ____________________


    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: Otimizações em um código

    Mensagem por Junior_Djjr em Sex 12 Maio 2017, 19:48

    ↑ é que ele não sabe como guardar X Y Z tudo ao mesmo tempo (o que é meio saco mesmo).


    ____________________
    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: Otimizações em um código

    Mensagem por israel em Sex 12 Maio 2017, 23:36

    Haviam formas MUITO mais simples e práticas de fazer o mesmo, mas fora os erros que já mencionaram, ficou bom. :)


    ____________________
    " Everyone gonna remember my name ! "

    Conteúdo patrocinado

    Re: Otimizações em um código

    Mensagem por Conteúdo patrocinado


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