Sobre CLEO

    Compartilhe
    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: Sobre CLEO

    Mensagem por Junior_Djjr em Dom 11 Out 2015, 16:39

    Ue, achei q "SCR" era destinado ao SCRambl e não ao Sanny Builder


    ____________________
    avatar
    LINK/2012
    Programador - Avançado
    Programador - Avançado

    Título : Veterano
    Mensagens : 7857
    Reputação : 347
    Desde : 03/05/2012

    Re: Sobre CLEO

    Mensagem por LINK/2012 em Dom 11 Out 2015, 18:10

    Acho que tem que usar o sascm.ini também


    ____________________
    "Give a man a game engine and he delivers a game. Teach a man to make a game engine and he never delivers anything."

    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: Sobre CLEO

    Mensagem por Junior_Djjr em Seg 12 Out 2015, 06:58

    Código:
        0@ = actor.CurrentCar($player_actor)
        
        04ED: load_animation "changegear"
        while 04EE:   animation "changegear" loaded
            wait 0
        end
        
        0A97: 28@ = car 0@ struct
    kct mano, q perigo

    Tinha isso (basicamente) no meu mod de anim de mudar marcha
    Eu entrei num carro (ok, começou a carregar a animação 'changegear') logo em seguida, rapidamente eu sai dele (a animação ainda não terminou de carregar, por algum motivo ela demorou) e rapidamente criei um novo veículo por cima spawnando, assim apagando o carro anterior (e assim, quando terminou de carregar a animação, o opcode 0A97: entrou em ação e não encontrou o veículo na qual eu tinha antes entrado) ....oq fez o script crashar...

    Coisas simples q passam despercebidas mas q causam um bom crash pokerface
    Eu sempre uso 038B:, não sei pq não usei agr, isso evitaria o crash (pois carregaria a animação no msm instante, nem passaria por wait)


    http://gtag.gtagaming.com/opcode-database/opcode/071F/
    Acho q Deji errou, se eh pra setar, pq "store_to"?


    ____________________
    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: Sobre CLEO

    Mensagem por israel em Sex 16 Out 2015, 00:42

    @Junior_Djjr escreveu:http://gtag.gtagaming.com/opcode-database/opcode/071F/
    Acho q Deji errou, se eh pra setar, pq "store_to"?
    Verdade, acho que poderia ser algo como :
    Código:
    071F=2,set_object %1d% health_to %2h%
    Ou quase isso :)
    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: Sobre CLEO

    Mensagem por Junior_Djjr em Sex 16 Out 2015, 05:08

    Cara, começar a usar as definições de opcodes do Deji eh pra matar
    Todos os atuais mods q estou fazendo não poderão ser compilados assim, pois o Sanny Builder tem coisas assim:
    1@ = car 0@ angle
    enquanto o do Deji eh por exemplo assim:
    car_angle 0@ store_to 1@

    Eu tbm prefiro muito mais o modo do Sanny Builder, mais direto, melhor para os olhos
    Eu queria igual o Sanny Builder, mas com nomes corrigidos...


    ____________________
    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: Sobre CLEO

    Mensagem por israel em Sex 16 Out 2015, 10:29

    @Junior_Djjr escreveu:1@ = car 0@ angle
    enquanto o do Deji eh por exemplo assim:
    car_angle 0@ store_to 1@
    Fica complicado de entender, deixe-me com o modo do SB msm. @_@
    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: Sobre CLEO

    Mensagem por Junior_Djjr em Sex 16 Out 2015, 10:45

    Eh q Deji tem um sonho: Programar como a Rockstar
    E a Rockstar programou os GTAs da Era 3D desse modo

    Código:

    // Test script for Industrial level

    VAR_INT      player scplayer
    VAR_INT      TEST_CAR test_char
    VAR_FLOAT x_float_m y_float_m z_float_m player_heading_debug debug_car_heading
    VAR_INT magic_car button_press_flag car_colour car_colour2
    VAR_INT flag_create_car initial_create_car initial_car_selected counter_create_car

    x_float_m = 0.0
    y_float_m = 0.0
    z_float_m = 0.0
    player_heading_debug = 0.0
    debug_car_heading = 0.0

    magic_car = 0
    button_press_flag = 0
    car_colour = 0
    car_colour2 = 0
    flag_create_car = 0
    initial_create_car = 0
    initial_car_selected = 0
    counter_create_car = 151 //CAR_CHEETAH


    SCRIPT_NAME mainscr

    //   SET_INTRO_IS_PLAYING FALSE

    CREATE_PLAYER 0 1498.8 -1661.3 12.5 player
    GET_PLAYER_CHAR player scplayer

    DO_FADE 0 FADE_OUT

    LOAD_SCENE 137.0 -1574.0 11.0

    /*
    REQUEST_MODEL CAR_CHEETAH

    WHILE NOT HAS_MODEL_LOADED CAR_CHEETAH
     
       WAIT 0

    ENDWHILE

    CREATE_CAR CAR_CHEETAH -1138.406f -661.471f -100.0f TEST_CAR

    MARK_MODEL_AS_NO_LONGER_NEEDED CAR_CHEETAH
    */

    REQUEST_MODEL male01

    WHILE NOT HAS_MODEL_LOADED male01
     
       WAIT 0

    ENDWHILE

    CREATE_CHAR PEDTYPE_CIVMALE male01 1500.0 -1660.0 13.0f test_char

    //   MARK_MODEL_AS_NO_LONGER_NEEDED male01


    DEBUG_ON

    //LAUNCH_MISSION debug.sc

    DO_FADE 1000 FADE_IN

    MainLoop:

    WAIT 0


       IF IS_PLAYER_PLAYING player
          IF IS_BUTTON_PRESSED PAD2 RIGHTSHOULDER1
          AND flag_create_car = 0
          AND button_press_flag = 0
             GET_CHAR_COORDINATES scplayer x_float_m y_float_m z_float_m
             GET_CHAR_HEADING scplayer player_heading_debug
             IF player_heading_debug < 45.0
             AND player_heading_debug > 0.0
                y_float_m += 5.0
                debug_car_heading = 90.0
             ENDIF
             IF player_heading_debug < 360.0
             AND player_heading_debug > 315.0
                y_float_m += 5.0
                debug_car_heading = 90.0
             ENDIF
             IF player_heading_debug < 135.0
             AND player_heading_debug > 45.0
                x_float_m -= 5.0
                debug_car_heading = 180.0
             ENDIF
             IF player_heading_debug < 225.0
             AND player_heading_debug > 135.0
                y_float_m -= 5.0
                debug_car_heading = 270.0
             ENDIF
             IF player_heading_debug < 315.0
             AND player_heading_debug > 225.0
                x_float_m += 5.0
                debug_car_heading = 0.0
             ENDIF
             z_float_m = z_float_m + 0.6
             GET_GROUND_Z_FOR_3D_COORD x_float_m y_float_m z_float_m   z_float_m
             REQUEST_MODEL counter_create_car
             WHILE NOT HAS_MODEL_LOADED counter_create_car
                
                WAIT 0
                
                PRINT_NOW LOADCAR 100 1 //"Loading vehicle, press pad2 leftshoulder1 to cancel"
                
                IF IS_BUTTON_PRESSED PAD2 LEFTSHOULDER1
                   //++ counter_create_car
                   GOTO next_carzzz
                ENDIF
             
             ENDWHILE
             
             CREATE_CAR counter_create_car x_float_m y_float_m z_float_m magic_car
             SET_CAR_HEADING   magic_car debug_car_heading
             
             LOCK_CAR_DOORS magic_car CARLOCK_UNLOCKED

             MARK_MODEL_AS_NO_LONGER_NEEDED counter_create_car
             MARK_CAR_AS_NO_LONGER_NEEDED magic_car

             next_carzzz:
             IF initial_create_car = 0
             
                IF counter_create_car = 151
                AND initial_car_selected = 0
                   counter_create_car = 105 //BIKE_BIKE
                   initial_car_selected = 1
                ENDIF
             
                IF counter_create_car = 105
                AND initial_car_selected = 0
                   counter_create_car = 110 //CAR_TAXI
                   initial_car_selected = 1
                ENDIF
             
                IF counter_create_car = 110   
                AND initial_car_selected = 0
                   counter_create_car = 128 //CAR_CABBIE
                   initial_car_selected = 1
                ENDIF
             
                IF counter_create_car = 128   
                AND initial_car_selected = 0
                   counter_create_car = 116 //CAR_POLICE
                   initial_car_selected = 1
                ENDIF
             
                IF counter_create_car = 116   
                AND initial_car_selected = 0
                   counter_create_car = 97   //CAR_FIRETRUCK
                   initial_car_selected = 1
                ENDIF
             
                IF counter_create_car = 97
                AND initial_car_selected = 0
                   counter_create_car = 106 //CAR_AMBULANCE
                   initial_car_selected = 1
                ENDIF
             
                IF counter_create_car = 106   
                AND initial_car_selected = 0
                   counter_create_car = 119 //CAR_BANSHEE
                   initial_car_selected = 1
                ENDIF
             
                IF counter_create_car = 119   
                AND initial_car_selected = 0
                   counter_create_car = 101 //CAR_INFERNUS
                   initial_car_selected = 1
                   initial_create_car = 1
                ENDIF
             
                IF counter_create_car = 101   
                AND initial_car_selected = 0
                   counter_create_car = 92 //CAR_STINGER
                   initial_car_selected = 1
                   initial_create_car = 1
                ENDIF
             
             ELSE
                ++ counter_create_car
             
                IF counter_create_car > 153
                   counter_create_car = 90
                ENDIF
             
                IF counter_create_car =   140   //PLANE_AIRTRAIN
                OR counter_create_car = 141   //PLANE_DEADDODO
                   counter_create_car = 142
                ENDIF
             
                IF counter_create_car =   124   //TRAIN_SUBWAY
                OR counter_create_car = 125   //HELI_POLICE
                   counter_create_car = 126
                ENDIF
                      
                IF counter_create_car = 131 //CAR_RCBANDIT
                   counter_create_car = 132
                ENDIF

                IF counter_create_car = 147 //HELI
                   counter_create_car = 148
                ENDIF

             ENDIF
             flag_create_car = 1
             button_press_flag = 1
          ENDIF

          IF IS_BUTTON_PRESSED PAD2 LEFTSHOULDER1
          AND flag_create_car = 1
             IF NOT IS_CAR_DEAD magic_car
                GENERATE_RANDOM_INT_IN_RANGE 0 88 car_colour2
                CHANGE_CAR_COLOUR magic_car car_colour car_colour2 // 0 - 88
                ++car_colour
                IF car_colour > 87
                   car_colour = 0
                ENDIF
             ENDIF
          ENDIF

          IF NOT IS_BUTTON_PRESSED PAD2 RIGHTSHOULDER1
          AND button_press_flag = 1
             button_press_flag = 0
          ENDIF

          IF IS_BUTTON_PRESSED PAD2 RIGHTSHOULDER1
          AND flag_create_car = 1
          AND button_press_flag = 0
             IF IS_CAR_DEAD magic_car
                DELETE_CAR magic_car
             ELSE
                IF NOT IS_CHAR_IN_CAR scplayer magic_car
                   DELETE_CAR magic_car
                ELSE
                   MARK_CAR_AS_NO_LONGER_NEEDED magic_car
                ENDIF
             ENDIF
             flag_create_car = 0
             initial_car_selected = 0
             button_press_flag = 1
          ENDIF
       ENDIF


    GOTO MainLoop

    TERMINATE_THIS_SCRIPT


    ____________________
    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: Sobre CLEO

    Mensagem por israel em Sab 17 Out 2015, 00:02

    @Junior_Djjr escreveu:Eh q Deji tem um sonho: Programar como a Rockstar
    Ele vai programar só. :)
    avatar
    RenanMSV
    Mensagens Nível 4
    Mensagens Nível 4

    Mensagens : 263
    Reputação : 38
    Desde : 27/09/2015
    Localização : Cps - SP
    Link : goo.gl/BgNT9p

    Re: Sobre CLEO

    Mensagem por RenanMSV em Qui 22 Out 2015, 12:26

    A variavel global padrao de um Timer eh $253 como vc fez no prisao realista?


    ____________________
    Não importa o quão pequeno você
    comece, apenas comece algo que
    importa.


    Mods cleo de minha autoria: https://db.tt/91oW1EWC
    Jogos de minha autoria: nenhum por enquanto
    ModLoader VIsual Editor WIP
    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: Sobre CLEO

    Mensagem por Junior_Djjr em Sex 23 Out 2015, 04:57

    @RenanMSV escreveu:A variavel global padrao de um Timer eh $253 como vc fez no prisao realista?
    Sim, inclusive tem mais variáveis globais pra isso, procure no main.scm pelos opcodes de timer, vc vai ver o uso de outras vars, dah pra escolher



    Vendo o tópico do opcode database, encontrei uma coisa curiosa sobre estes opcodes:
    Código:
    0485:  return_true
    059A:  return_false
    Eles foram descobertos pelo Deji em 2010, meio q um truque:
    http://gtag.gtagaming.com/forums/index.php?s=&showtopic=111&view=findpost&p=704
    Also, recomendo esse tópico quando precisar de mais definições sobre os parâmetros de algum opcode.




    Recriei o Peds Skills
    http://mixmods.blogspot.com/2015/10/ped-skills.html
    Código:
    {$cleo}
    0000:

    const
    hPed = 28@
    end

    if 8AAB:   file_exists "cleo\Peds Skills.ini"
    then
        0ACD: show_text_highpriority "Nao foi possivel abrir o arquivo ~b~'CLEO/Peds Skills.ini'" time 5000
        0A93: end_custom_thread
    end


    // All
    if 8AF0: 0@ = get_int_from_ini_file "cleo\Peds Skills.ini" section "All" key "NoDrowns"
    then 0@ = -1
    end

    // Peds
    if 8AF0: 1@ = get_int_from_ini_file "cleo\Peds Skills.ini" section "Peds" key "AggrAttack"
    then 1@ = -1
    end
    if 8AF0: 2@ = get_int_from_ini_file "cleo\Peds Skills.ini" section "Peds" key "WeapSkill"
    then 2@ = -1
    end  
    if 8AF0: 3@ = get_int_from_ini_file "cleo\Peds Skills.ini" section "Peds" key "WeapAcc"
    then 3@ = -1
    end  
    if 8AF2: 4@ = get_float_from_ini_file "cleo\Peds Skills.ini" section "Peds" key "MeleeAcc"
    then 4@ = -1
    end  
    if 8AF0: 5@ = get_int_from_ini_file "cleo\Peds Skills.ini" section "Peds" key "FightStyle"  
    then 5@ = -1
    end
    if 8AF0: 6@ = get_int_from_ini_file "cleo\Peds Skills.ini" section "Peds" key "Uninterrupt"
    then 6@ = -1
    end

    // Cops
    if 8AF0: 7@ = get_int_from_ini_file "cleo\Peds Skills.ini" section "Cops" key "AggrAttack"  
    then 7@ = -1
    end
    if 8AF0: 8@ = get_int_from_ini_file "cleo\Peds Skills.ini" section "Cops" key "WeapSkill"
    then 8@ = -1
    end  
    if 8AF0: 9@ = get_int_from_ini_file "cleo\Peds Skills.ini" section "Cops" key "WeapAcc"  
    then 9@ = -1
    end
    if 8AF2: 10@ = get_float_from_ini_file "cleo\Peds Skills.ini" section "Cops" key "MeleeAcc"
    then 10@ = -1
    end  
    if 8AF0: 11@ = get_int_from_ini_file "cleo\Peds Skills.ini" section "Cops" key "FightStyle"  
    then 11@ = -1
    end
    if 8AF0: 12@ = get_int_from_ini_file "cleo\Peds Skills.ini" section "Cops" key "Uninterrupt"  
    then 12@ = -1
    end

    // Gangs
    if 8AF0: 13@ = get_int_from_ini_file "cleo\Peds Skills.ini" section "Gangs" key "AggrAttack"  
    then 13@ = -1
    end
    if 8AF0: 14@ = get_int_from_ini_file "cleo\Peds Skills.ini" section "Gangs" key "WeapSkill"
    then 14@ = -1
    end  
    if 8AF0: 15@ = get_int_from_ini_file "cleo\Peds Skills.ini" section "Gangs" key "WeapAcc"    
    then 15@ = -1
    end
    if 8AF2: 16@ = get_float_from_ini_file "cleo\Peds Skills.ini" section "Gangs" key "MeleeAcc"  
    then 16@ = -1
    end
    if 8AF0: 17@ = get_int_from_ini_file "cleo\Peds Skills.ini" section "Gangs" key "FightStyle"  
    then 17@ = -1
    end
    if 8AF0: 18@ = get_int_from_ini_file "cleo\Peds Skills.ini" section "Gangs" key "Uninterrupt"  
    then 18@ = -1
    end

    const
    TYPE_PLAYER1         = 0  
    TYPE_PLAYER2         = 1  
    TYPE_PLAYER_NETWORK  = 2  
    TYPE_PLAYER_UNUSED   = 3  
    TYPE_CIVMALE         = 4  
    TYPE_CIVFEMALE       = 5  
    TYPE_COP             = 6  
    TYPE_GANG1           = 7  
    TYPE_GANG2           = 8  
    TYPE_GANG3           = 9  
    TYPE_GANG4           = 10
    TYPE_GANG5           = 11
    TYPE_GANG6           = 12
    TYPE_GANG7           = 13
    TYPE_GANG8           = 14
    TYPE_GANG9           = 15
    TYPE_GANG10          = 16
    TYPE_DEALER          = 17
    TYPE_MEDIC           = 18
    TYPE_FIREMAN         = 19
    TYPE_CRIMINAL        = 20
    TYPE_BUM             = 21
    TYPE_PROSTITUTE      = 22
    TYPE_SPECIAL         = 23
    TYPE_MISSION1        = 24
    TYPE_MISSION2        = 25
    TYPE_MISSION3        = 26
    TYPE_MISSION4        = 27
    TYPE_MISSION5        = 28
    TYPE_MISSION6        = 29
    TYPE_MISSION7        = 30
    TYPE_MISSION8        = 31
    end

    while true
        wait 0
        0A8D: 29@ = read_memory 0xB74490 size 4 virtual_protect 0
        29@ += 0x4
        0A8D: 29@ = read_memory 29@ size 4 virtual_protect 0
        for 30@ = 0 to 35584 step 0x100
            wait 0
            0A8D: 28@ = read_memory 29@ size 1 virtual_protect 0
            29@ += 0x1
            if and
            28@ >= 0x00
            0x80 > 28@
            then
                005A: 28@ += 30@
                
                if 87D6:   hPed <> $player_actor
                then
                
                    if 8118:   not actor hPed dead
                    then
                    
                        089F: get_actor hPed pedtype_to 32@
            
                        if or
                        32@ == TYPE_CIVMALE
                        32@ == TYPE_CIVFEMALE
                        32@ == TYPE_MEDIC
                        32@ == TYPE_FIREMAN
                        32@ == TYPE_PROSTITUTE
                        then
                            33@ = 0
                            gosub @Set
                            continue
                        end
                        
                        if
                        32@ == TYPE_COP
                        then
                            33@ = 6
                            gosub @Set
                            continue
                        end
                        
                        if and
                        32@ >= TYPE_GANG1
                        32@ <= TYPE_GANG10
                        then    
                            33@ = 12
                            gosub @Set
                            continue
                        end
                        
                        if or
                        32@ == TYPE_DEALER
                        32@ == TYPE_CRIMINAL
                        then
                            33@ = 12
                            gosub @Set
                            continue
                        end
                        
                        if 0@ == true
                        then 04D8: set_actor hPed drowns_in_water false
                        end
                    end
                end
            end
        end
    end

    :Set
    07DD: set_actor hPed attack_rate 1@(33@,1i)
    081A: set_actor hPed weapon_skill_to 2@(33@,1i)
    02E2: set_actor hPed weapon_accuracy_to 3@(33@,1i)
    060F: set_actor hPed melee_accuracy_to 4@(33@,1i)
    07FE: set_actor hPed fighting_style_to 5@(33@,1i) moves 15
    0946: set_actor hPed actions_uninterupted_by_weapon_fire 6@(33@,1i)
    return
    Poderia melhorar muita coisa, com o uso de thread memory pra não gastar variáveis, e (assim) principalmente expandi-lo (se alguém quiser, fique a vontade)
    Eu estava pensado em checar o walkstyle do pedestre para descobrir se ele eh alguma velhinha etc, assim, se for, então ela teria menos habilidade nas armas e talz :v:



    Código:
    02D8:  actor $PLAYER_ACTOR current_weapon == 56
    EITA, usar o ID "56" faz checar se a pessoa está ou não segurando uma arma perigosa @_@ (tbm vi isso lah no tópico q falei acima)


    ____________________
    avatar
    RenanMSV
    Mensagens Nível 4
    Mensagens Nível 4

    Mensagens : 263
    Reputação : 38
    Desde : 27/09/2015
    Localização : Cps - SP
    Link : goo.gl/BgNT9p

    Re: Sobre CLEO

    Mensagem por RenanMSV em Sex 23 Out 2015, 07:17

    " Notável (?)
    Limite Global Vars == 50000
    Hehe mais acho que é muito mais
    baixo"

    Lol e eu q ja tinha tentado colocar $85494918401401407 pra tentar nao substituir nada do main :v


    Hoje tive um crash no scr.log que nao sei porque deu. Se alguem puder dar uma olhada e ou passar ao link.

    4shared.com/rar/VHffPKNYce/Errorlog.html
    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: Sobre CLEO

    Mensagem por israel em Sex 23 Out 2015, 11:33

    Script inútil que corrige os passageiros drogados, que saem do carro e entram novamente para pegar o volante quando o condutor sai ou morre. :)
    Código:
    {$Cleo}
    0000: Israel
    while true 
        wait 0
        0A8D: 1@ = read_memory 0xB74494 size 4 vp 0
        1@ += 4
        0A8D: 1@ = read_memory 1@ size 4 vp 0
        for 2@ = 0 to 27904 step 0x100
            0A8D: 0@ = read_memory 1@ size 1 vp 0
            1@ += 1
            if and
                0@ >= 0
                0@ < 80
            then                                                       
                005A: 0@ += 2@
                046C: 3@ = car 0@ driver
                01E9: 4@ = car 0@ num_passengers
                if and
                    856D:  not actor 3@ defined
                    4@ > 0
                    8431:  not car 0@ passenger_seat_free 0       
                jf continue       
                0432: 4@ = get_actor_handle_from_car 0@ passenger_seat 0
                0676: AS_actor 4@ in_car 0@ move_from_passengerseat_to_driverseat
                5@ = 0     
                repeat
                    wait 0
                    056E:  car 0@ defined
                    jf break               
                    046C: 3@ = car 0@ driver
                                   
                    0079: 5@ += frame_delta_time * 0.1 // (float)               
                    if not 5@ >= 4.0
                    jf break               
                until 003B:  4@ == 3@
            end
        end   
    end
    Com isto, eles apenas passarão para o assento do condutor.
    @Edit
    Mudei o método de pegar a handle de todos os carros. Sugerido pelo Djjr.


    Última edição por israel em Sex 23 Out 2015, 22:53, editado 5 vez(es)
    avatar
    Izuna
    Moderador
    Moderador

    Título : Vileiro
    Mensagens : 3923
    Reputação : 57
    Desde : 03/06/2012
    Idade : 15

    Re: Sobre CLEO

    Mensagem por Izuna em Sex 23 Out 2015, 14:15

    Sempre sonhei com isso, te amo.


    ____________________
    Vem ser minha farofa pra eu passar a línguiça:
    avatar
    RenanMSV
    Mensagens Nível 4
    Mensagens Nível 4

    Mensagens : 263
    Reputação : 38
    Desde : 27/09/2015
    Localização : Cps - SP
    Link : goo.gl/BgNT9p

    Re: Sobre CLEO

    Mensagem por RenanMSV em Sex 23 Out 2015, 16:18

    a um tempo atras eu tava tentando fazer um que desse pra entrar como passageiro em qualquer veiculo na rua. Apertando G como no samp. E apertando J ele ia pro banco do motorista sem sair do carro. Ateh ai td bem mod funcionando...soh um detalhe um simples detalhe me fez deixar parado. De jeito nenhum o cidadao continuava a andar na rua dps q eu entrasse. Seja eu setando o driver behavior, trafic behavior, dando uns tiro pra ve se assusta nem nada. Simplesmente fica parado me olhando kkkk


    ____________________
    Não importa o quão pequeno você
    comece, apenas comece algo que
    importa.


    Mods cleo de minha autoria: https://db.tt/91oW1EWC
    Jogos de minha autoria: nenhum por enquanto
    ModLoader VIsual Editor WIP
    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: Sobre CLEO

    Mensagem por Junior_Djjr em Sex 23 Out 2015, 16:21

    ↑ no GTA modificado de PS2 q eu tinha dava pra entrar como passageiro deboa


    @RenanMSV escreveu:Hoje tive um crash no scr.log que nao sei porque deu. Se alguem puder dar uma olhada e ou passar ao link.

    4shared.com/rar/VHffPKNYce/Errorlog.html
    Gzuz, não tem como mandar tudo direto aqui (num [spoiler]) ou pelo menos o fim do log? (caso não caber na mensagem)
    Eh um saco baixar no 4shared com minha net lenta
    Lembrando q: http://brmodstudio.forumeiros.com/t700-usando-o-scrlog

    @israel escreveu:Script inútil que corrige os passageiros drogados, que saem do carro e entram novamente para pegar o volante quando o condutor sai ou morre. :)
    Código:
    {$Cleo}
    0000: Israel
    while true
        wait 0
        Actor.StorePos($Player_Actor, 1@, 2@, 3@)
        if 0AE2: 0@ = random_vehicle_near_point 1@ 2@ 3@ in_radius 300.0 find_next 1 pass_wrecked 1
        jf continue
        046C: 4@ = car 0@ driver
        01E9: 5@ = car 0@ num_passengers
        if and
            856D:   not actor 4@ defined
            5@ > 0
            8431:   not car 0@ passenger_seat_free 0        
        jf continue
        0432: 5@ = get_actor_handle_from_car 0@ passenger_seat 0
        0676: AS_actor 5@ in_car 0@ move_from_passengerseat_to_driverseat
    end
    Com isto, eles apenas passarão para o assento do condutor.
    kct, ótimo ter feito isso, boa correção
    O opcode 0AE2: eh muito pesado, vc poderia ter usado o "for all cars", do DK22Pac
    Código:
    while true  
        wait 0
        0A8D: 29@ = read_memory 0xB74494 size 4 vp 0
        29@ += 0x4
        0A8D: 29@ = read_memory 29@ size 4 vp 0
        for 30@ = 0 to 27904 step 0x100
            0A8D: 31@ = read_memory 29@ size 1 vp 0
            000A: 29@ += 0x1
            if and
            0029: 31@ >= 0x00
            001B: 0x80 > 31@
            then
                005A: 31@ += 30@

                //31@ = o carro
            end
        end
    end
    Assim ao invés do script ficar procurando carros num raio (onde faz vários cálculos), irá entrar na memória do jogo e pegar todos os atuais carros criados

    edit:
    http://brmodstudio.forumeiros.com/t4929-basico-for-all-extremamente-util


    Última edição por Junior_Djjr em Sex 23 Out 2015, 20:41, editado 1 vez(es)


    ____________________
    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: Sobre CLEO

    Mensagem por israel em Sex 23 Out 2015, 16:56

    @Junior_Djjr escreveu:O opcode 0AE2: eh muito pesado, vc poderia ter usado o "for all cars", do DK22Pac.
    Não conhecia esse método, ficou bem melhor assim. Atualizei lá. ↑↑↑↑
    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: Sobre CLEO

    Mensagem por Junior_Djjr em Sex 23 Out 2015, 17:30

    O wait 500 eh realmente necessário? se não colocar vai se repetir ou alguma coisa assim?
    Eh q isso faz esperar meio segundo até ir procurar outro carro, dentro desse meio segundo algum outro carro pode pode fazer alguém sair e assim o mod falhará (sim, uma chance extremamente minúscula)


    ____________________
    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: Sobre CLEO

    Mensagem por israel em Sex 23 Out 2015, 17:35

    @Junior_Djjr escreveu:O wait 500 eh realmente necessário? se não colocar vai se repetir ou alguma coisa assim?
    Eh q isso faz esperar meio segundo até ir procurar outro carro, dentro desse meio segundo algum outro carro pode pode fazer alguém sair e assim o mod falhará (sim, uma chance extremamente minúscula)
    Sem ele dá esse bug. \/ Por isso coloquei...
    avatar
    RenanMSV
    Mensagens Nível 4
    Mensagens Nível 4

    Mensagens : 263
    Reputação : 38
    Desde : 27/09/2015
    Localização : Cps - SP
    Link : goo.gl/BgNT9p

    Re: Sobre CLEO

    Mensagem por RenanMSV em Sex 23 Out 2015, 17:40

    Creio que o wait seja pra esperar o personagem ir de passageiro para motorista. Essa espera impede que o mesmo carro seja ativado 30 vezes. Pois pro passageiro pegar no volante demora um pouco.. Nao?


    Última edição por RenanMSV em Sex 23 Out 2015, 17:54, editado 1 vez(es)
    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: Sobre CLEO

    Mensagem por israel em Sex 23 Out 2015, 17:41

    ↑↑ Exatamente isso.


    ____________________
    " 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: Sobre CLEO

    Mensagem por Junior_Djjr em Sex 23 Out 2015, 20:23

    Se não colocar irá dar problemas graves msm? Tipo ele ser impossibilitado de mudar? (sem tempo pra testar isso, já q tbm eh um tipo de coisa meio complicada de se ver no jogo)
    Agr carregou a print da página anterior

    Eu acho q seria melhor fazer o script loopar esperando até o ator ir até o outro banco (num limite de tempo, pra caso alguma coisa ocorra e ele não consiga mudar o banco assim o script não ficaria loopando pra sempre)
    Tipo, enquanto o ator não mudou de banco, ficar checando até ele mudou (até ele ser o motorista), se sim, continue o script normalmente.

    Pq loopar ao invés de soh esperar? Simples, pois 500 ms pra uma pessoa jogando em 60 FPS é muito diferente de uma pessoa jogando a 10 FPS
    Meio segundo num jogo em 10 FPS é muito pouco tempo, mal vai começar a fazer a animação e jah vai acabar o tempo, assim o script se repete...
    Jah esperando, não importa o FPS da pessoa, nunca falhará, pois o script soh voltará a andar depois de ter já terminado de mudar o banco... mas como eu disse, um tempo limite é sempre ótimo, uns 3, 4 ou 5 segundos pra caso ele não conseguir mudar o script continuar


    Última edição por Junior_Djjr em Sex 23 Out 2015, 20:30, editado 1 vez(es)


    ____________________
    avatar
    RenanMSV
    Mensagens Nível 4
    Mensagens Nível 4

    Mensagens : 263
    Reputação : 38
    Desde : 27/09/2015
    Localização : Cps - SP
    Link : goo.gl/BgNT9p

    Re: Sobre CLEO

    Mensagem por RenanMSV em Sex 23 Out 2015, 20:28

    Se usar delta time?


    ____________________
    Não importa o quão pequeno você
    comece, apenas comece algo que
    importa.


    Mods cleo de minha autoria: https://db.tt/91oW1EWC
    Jogos de minha autoria: nenhum por enquanto
    ModLoader VIsual Editor WIP
    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: Sobre CLEO

    Mensagem por Junior_Djjr em Sex 23 Out 2015, 20:30

    Usar delta time para saber o tempo q esperar? Oq nisso eh melhor doq ficar loopando até o ator chegar até o outro banco? :v:

    (ps: agr carregou a print da página anterior)


    ____________________
    avatar
    RenanMSV
    Mensagens Nível 4
    Mensagens Nível 4

    Mensagens : 263
    Reputação : 38
    Desde : 27/09/2015
    Localização : Cps - SP
    Link : goo.gl/BgNT9p

    Re: Sobre CLEO

    Mensagem por RenanMSV em Sex 23 Out 2015, 20:36

    Diminuindo o "tempo" de acordo com o delta time nao faria o balanceamento do tempo independente de estar com qualquer fps?

    Eu n quis dizer que eh melhor, soh quis dizer q da pra fazer os 500ms durarem o mesmo tempo em qualquer pc...uma alternativa ao uso do loop q vc citou (o loop eh melhor..mas)
    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: Sobre CLEO

    Mensagem por israel em Sex 23 Out 2015, 21:05

    Pronto, fiz do jeito que o Djjr disse, eu acho.
    Código:
    {$Cleo}
    0000: Israel
    while true 
        wait 0
        0A8D: 1@ = read_memory 0xB74494 size 4 vp 0
        1@ += 4
        0A8D: 1@ = read_memory 1@ size 4 vp 0
        for 2@ = 0 to 27904 step 0x100
            0A8D: 0@ = read_memory 1@ size 1 vp 0
            1@ += 1
            if and
                0@ >= 0
                0@ < 80
            then
                005A: 0@ += 2@
                046C: 3@ = car 0@ driver
                01E9: 4@ = car 0@ num_passengers
                if and
                    856D:  not actor 3@ defined
                    4@ > 0
                    8431:  not car 0@ passenger_seat_free 0       
                jf continue       
                0432: 4@ = get_actor_handle_from_car 0@ passenger_seat 0
                0676: AS_actor 4@ in_car 0@ move_from_passengerseat_to_driverseat
                5@ = 0     
                repeat
                    wait 0
                    0079: 5@ += frame_delta_time * 0.1 // (float)               
                    if not 5@ >= 4.0
                    jf break
                until 003B:  4@ == 3@
            end
        end   
    end

    Conteúdo patrocinado

    Re: Sobre CLEO

    Mensagem por Conteúdo patrocinado


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