Compartilhe
avatar
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Título : Não quero acreditar, quero saber.
Mensagens : 21864
Reputação : 676
Desde : 03/05/2012
Idade : 22
Localização : Ibitinga - SP
Link : www.MixMods.com.br
Ver perfil do usuáriohttp://MixMods.com.br

Re: Sobre CLEO

em Dom 11 Out 2015, 16:39
Ue, achei q "SCR" era destinado ao SCRambl e não ao Sanny Builder

______________________________

avatar
Programador - Avançado
Programador - Avançado
Mensagens : 7857
Reputação : 347
Desde : 03/05/2012
Ver perfil do usuário

Re: Sobre CLEO

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
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Título : Não quero acreditar, quero saber.
Mensagens : 21864
Reputação : 676
Desde : 03/05/2012
Idade : 22
Localização : Ibitinga - SP
Link : www.MixMods.com.br
Ver perfil do usuáriohttp://MixMods.com.br

Re: Sobre CLEO

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
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Mensagens : 677
Reputação : 111
Desde : 22/09/2015
Ver perfil do usuário

Re: Sobre CLEO

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
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Título : Não quero acreditar, quero saber.
Mensagens : 21864
Reputação : 676
Desde : 03/05/2012
Idade : 22
Localização : Ibitinga - SP
Link : www.MixMods.com.br
Ver perfil do usuáriohttp://MixMods.com.br

Re: Sobre CLEO

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
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Mensagens : 677
Reputação : 111
Desde : 22/09/2015
Ver perfil do usuário

Re: Sobre CLEO

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
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Título : Não quero acreditar, quero saber.
Mensagens : 21864
Reputação : 676
Desde : 03/05/2012
Idade : 22
Localização : Ibitinga - SP
Link : www.MixMods.com.br
Ver perfil do usuáriohttp://MixMods.com.br

Re: Sobre CLEO

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
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Mensagens : 677
Reputação : 111
Desde : 22/09/2015
Ver perfil do usuário

Re: Sobre CLEO

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
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
Ver perfil do usuário

Re: Sobre CLEO

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
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Título : Não quero acreditar, quero saber.
Mensagens : 21864
Reputação : 676
Desde : 03/05/2012
Idade : 22
Localização : Ibitinga - SP
Link : www.MixMods.com.br
Ver perfil do usuáriohttp://MixMods.com.br

Re: Sobre CLEO

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
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
Ver perfil do usuário

Re: Sobre CLEO

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
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Mensagens : 677
Reputação : 111
Desde : 22/09/2015
Ver perfil do usuário
  • Reputação da mensagem: 100% (1 votos)

Re: Sobre CLEO

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
Moderador
Moderador
Mensagens : 3926
Reputação : 58
Desde : 03/06/2012
Idade : 15
Ver perfil do usuário

Re: Sobre CLEO

em Sex 23 Out 2015, 14:15
Sempre sonhei com isso, te amo.
avatar
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
Ver perfil do usuário

Re: Sobre CLEO

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
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Título : Não quero acreditar, quero saber.
Mensagens : 21864
Reputação : 676
Desde : 03/05/2012
Idade : 22
Localização : Ibitinga - SP
Link : www.MixMods.com.br
Ver perfil do usuáriohttp://MixMods.com.br

Re: Sobre CLEO

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
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Mensagens : 677
Reputação : 111
Desde : 22/09/2015
Ver perfil do usuário

Re: Sobre CLEO

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
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Título : Não quero acreditar, quero saber.
Mensagens : 21864
Reputação : 676
Desde : 03/05/2012
Idade : 22
Localização : Ibitinga - SP
Link : www.MixMods.com.br
Ver perfil do usuáriohttp://MixMods.com.br

Re: Sobre CLEO

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
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Mensagens : 677
Reputação : 111
Desde : 22/09/2015
Ver perfil do usuário

Re: Sobre CLEO

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
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
Ver perfil do usuário

Re: Sobre CLEO

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
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Mensagens : 677
Reputação : 111
Desde : 22/09/2015
Ver perfil do usuário

Re: Sobre CLEO

em Sex 23 Out 2015, 17:41
↑↑ Exatamente isso.

______________________________
" Everyone gonna remember my name ! "
avatar
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Título : Não quero acreditar, quero saber.
Mensagens : 21864
Reputação : 676
Desde : 03/05/2012
Idade : 22
Localização : Ibitinga - SP
Link : www.MixMods.com.br
Ver perfil do usuáriohttp://MixMods.com.br

Re: Sobre CLEO

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
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
Ver perfil do usuário

Re: Sobre CLEO

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
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Título : Não quero acreditar, quero saber.
Mensagens : 21864
Reputação : 676
Desde : 03/05/2012
Idade : 22
Localização : Ibitinga - SP
Link : www.MixMods.com.br
Ver perfil do usuáriohttp://MixMods.com.br

Re: Sobre CLEO

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
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
Ver perfil do usuário

Re: Sobre CLEO

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
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Mensagens : 677
Reputação : 111
Desde : 22/09/2015
Ver perfil do usuário

Re: Sobre CLEO

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

Permissão deste fórum:
Você não pode responder aos tópicos neste fórum