Pesquisa resultou em 2 ocorrências

por Israel
07 Set 2019, 13:28
Fórum: Scripts & Códigos
Tópico: Custom Teleport (Criar comandos para se teletransportar)
Respostas: 3
Exibições: 620
Gênero:

Re: Custom Teleport (Criar comandos para se teletransportar)

Atualizado
  • Mod recriado;
  • Adicionado menu com coordenadas salvas;
  • Alterado local do arquivo de dados para GTA User Files para melhor organização.
por Israel
04 Mai 2018, 01:17
Fórum: Scripts & Códigos
Tópico: Custom Teleport (Criar comandos para se teletransportar)
Respostas: 3
Exibições: 620
Gênero:

Custom Teleport (Criar comandos para se teletransportar)

Atualizado
  • Mod recriado;
  • Adicionado menu com coordenadas salvas;
  • Alterado local do arquivo de dados para GTA User Files para melhor organização.


Este Mod pode ser resumido em comandos:

X+Y Teleporta para a marca vermelha no mapa;
SPOS Salva coordenadas com um nome personalizado;
RPOS Deleta coordenadas salvas;
COORDS Abre um menu com todas as coordenadas salvas.

Você tem 2 opções para se teletransportar para as coordenadas salvas:
  1. Abrir o menu e selecionar o local desejado;
  2. Simplesmente digitar o nome do local a qualquer momento.

Salvando coordenadas:
Imagem

Removendo coordenadas:
Imagem

Menu de coordenadas:
Imagem

DOWNLOAD
SourceAbrir

Código: Selecionar tudo

{$Cleo}
const
    NULL 0x00
    spacerep [email protected]
            
    VK_X 0x58
    VK_Y 0x59
    VK_BACK 0x08    
    VK_RETURN 0x0D
    VK_LEFT 0x25
    VK_RIGHT 0x27
    
    enter_vehicle 15
    sprint 16
    
    cheat_string 0x969110
    gta_user_dir_path 0x00C92368
        
    strlen 0x00826330 
    strcmp 0x008263C0      
end                                                    

0ADF: add_dynamic_GXT_entry "TH_HMSG" text "Use ~y~ENTER~s~ para confirmar.~n~Delete tudo para cancelar." // help msg
0ADF: add_dynamic_GXT_entry "CTTPHDR" text "Custom Teleport"

0AA7: call_function strlen num_params 1 pop 1 gta_user_dir_path -> [email protected]
[email protected] += 15
0AC8: [email protected] = malloc [email protected]
0AD3: [email protected] = format "%s/coords.dat" gta_user_dir_path
    
while true
    0AA2: [email protected] = load_library "kernel32.dll"
    0AA4: [email protected] = get_proc_address "GetPrivateProfileStringA" library [email protected]
    
    for [email protected] = 0 to 1
        0AC6: [email protected] = label @Buffer offset
        [email protected] = File.Open([email protected], "r")
        0A8E: [email protected] = [email protected] + 0xA0 // pLinebuffer
        
        if [email protected] == 1
        then
            0AC8: [email protected] = malloc [email protected]
            0085: [email protected] = [email protected]
            0A8C: write_memory [email protected] size [email protected] value NULL virtual_protect 0
        end
        
        while File.ReadString([email protected], [email protected], 80)
            for [email protected] = 0 to 30
                0A8D: [email protected] = read_memory [email protected] size 1 virtual_protect 0
                
                if [email protected] == 0x3D
                then
                    0A8F: [email protected] = 80 - [email protected]
                    0A8C: write_memory [email protected] size [email protected] value NULL virtual_protect 0   
                end
                
                [email protected]++
            end
            
            0A8E: [email protected] = [email protected] + 0xA0 // pLinebuffer
            0AA5: call_function [email protected] num_params 6 pop 0 [email protected] 48 [email protected] "REMOVED" [email protected] "Cheats"
            0AA7: call strcmp num_params 2 pop 2 [email protected] "REMOVED" -> [email protected]
            
            if [email protected] <> 0
            jf continue

            if [email protected] == 0
            then
                [email protected] += 30
            else                   
                0AD3: [email protected] = format "%s" [email protected]
                0085: [email protected] = [email protected]
                [email protected] += 30                               
            end                                                          
        end
        
        File.Close([email protected])
    end
               
    while true
        wait 0   
                 
        for [email protected] = [email protected] to [email protected] step 30
            if 0ADC:   test_cheat [email protected]
            then
                0AA5: call_function [email protected] num_params 6 pop 0 [email protected] 48 [email protected] "REMOVED" [email protected] "Cheats"                
                0AA7: call strcmp num_params 2 pop 2 [email protected] "REMOVED" -> [email protected]
                
                if [email protected] <> 0
                then
                    0AD4: [email protected] = scan_string [email protected] format "%f %f %f" [email protected] [email protected] [email protected]                    
                    0AB1: call_scm_func @Teleport 3 [email protected] [email protected] [email protected]
                end
            end
        end   
    
        // save coords
        if 0ADC:   test_cheat "sPos"
        then
            0AB1: call_scm_func @Input 1 0 -> [email protected] [email protected]
                   
            if [email protected] > 0
            then
                0AA4: [email protected] = get_proc_address "WritePrivateProfileStringA" library [email protected] 

                Actor.StorePos($Player_Actor, [email protected], [email protected], [email protected])
        
                [email protected] += 0x50 // pMainbuffer
                0A8E: [email protected] = [email protected] + 0x50 // pLinebuffer        
                0AD3: [email protected] = format "%f %f %f" [email protected] [email protected] [email protected]
                0AA5: call [email protected] num_params 4 pop 0 [email protected] [email protected] [email protected] "Cheats"  
                
                [email protected] -= 0x50
                0A8C: write_memory [email protected] size 0xF0 value NULL virtual_protect 0 // clear buffers
                0A8C: write_memory cheat_string size 30 value NULL virtual_protect 0
                
                0ACD: show_text_highpriority "~g~As coordenadas foram salvas." time 2000                 
            else
                0ACD: show_text_highpriority "~r~Cancelado." time 2000
            end
            
            8AB0:   not key_pressed VK_RETURN           
            jf break                        
        end
        
        // remove coords
        if 0ADC:   test_cheat "rPos"
        then
            0AB1: call_scm_func @Input 1 1 -> [email protected] [email protected]                
                      
            if [email protected] > 0
            then
                [email protected] += 0x50 // pMainbuffer
                0A8E: [email protected] = [email protected] + 0x50 // pLinebuffer
                
                0AA5: call_function [email protected] num_params 6 pop 0 [email protected] 48 [email protected] "REMOVED" [email protected] "Cheats"
                0AA7: call strcmp num_params 2 pop 2 [email protected] "REMOVED" -> [email protected]
                
                0AA4: [email protected] = get_proc_address "WritePrivateProfileStringA" library [email protected]
                
                if [email protected] <> 0
                then
                    0AA5: call [email protected] num_params 4 pop 0 [email protected] "REMOVED" [email protected] "Cheats"
                    0ACD: show_text_highpriority "~g~As coordenadas foram removidas." time 2000
                else
                    0ACD: show_text_highpriority "~r~Nao ha coordenadas salvas com este nome." time 2000    
                end
                
                [email protected] -= 0x50
                0A8C: write_memory [email protected] size 0xF0 value NULL virtual_protect 0 // clear buffers
                0A8C: write_memory cheat_string size 30 value NULL virtual_protect 0                                                    
            else
                0ACD: show_text_highpriority "~r~Cancelado." time 2000
            end
            
            if 8AB0:   not key_pressed VK_RETURN           
            jf break  
        end
        
        if 0ADC:   test_cheat "Coords"
        then
            if 003B: [email protected] == [email protected]
            then 0ACD: show_text_highpriority "~r~Nao ha coordenadas salvas!" time 2000
            else 0AB1: call_scm_func @Menu 4 [email protected] [email protected] [email protected] [email protected]           
            end
        end
             
        if and
        0AB0:   key_pressed VK_X
        0AB0:   key_pressed VK_Y
        then
            if 0AB6: store_target_marker_coords_to [email protected] [email protected] [email protected]
            then
                0AB1: call_scm_func @Teleport 3 [email protected] [email protected] -100.0
            else
                0ACD: show_text_highpriority "~r~O mapa nao esta marcado!" time 2000    
            end
        end
    end
end

:Menu
0512: show_permanent_text_box 'WARDH3' // menu help text
Player.CanMove(0, false)

08D4: [email protected] = create_panel_with_title 'CTTPHDR' position 29.0 145.0 width 186.0 columns 1 interactive 1 background 1 alignment 1
0085: [email protected] = [email protected]

0A8F: [email protected] = [email protected] - [email protected]
[email protected] /= 30
[email protected] /= 10
[email protected]++

for [email protected] = 1 to [email protected]
    0AD3: [email protected] = format "TTLC%d" [email protected]
    0AD3: [email protected] = format "Cheats %d/%d" [email protected] [email protected]
    0ADF: add_dynamic_GXT_entry [email protected] text [email protected]
end

[email protected] = 1
            
repeat        
    for [email protected] = 0 to 9
        0A90: [email protected] = [email protected] * 2
        
        if 001D: [email protected] > [email protected]
        then
            [email protected]([email protected],1i) = 0x4D4D5544
            [email protected]([email protected],1i) = 0x59
        else
            [email protected]([email protected],1i) = 0x50545443
            
            0A8E: [email protected] = [email protected] + 0x30
            0085: [email protected]([email protected],1i) = [email protected]
    
            0AD3: [email protected] = format "CTTP%d" [email protected]
            0ADF: add_dynamic_GXT_entry [email protected] text [email protected]    
        end
        
        [email protected] += 30        
    end
    
    0AD3: [email protected] = format "TTLC%d" [email protected]
    08DB: set_panel [email protected] column 0 header [email protected] data [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] 'DUMMY' 'DUMMY'
    
    repeat
        wait 0
        
        if 00E1:   player 0 pressed_key sprint
        then
            [email protected] -= 300
            
            08D7: [email protected] = panel [email protected] active_row
            [email protected] *= 30
            
            005A: [email protected] += [email protected]

            0AC6: [email protected] = label @Buffer offset
            0AA5: call_function [email protected] num_params 6 pop 0 [email protected] 48 [email protected] "REMOVED" [email protected] "Cheats"
            
            0AD4: [email protected] = scan_string [email protected] format "%f %f %f" [email protected] [email protected] [email protected]                    
            0AB1: call_scm_func @Teleport 3 [email protected] [email protected] [email protected]

            jump @Back
        end
        
        if 0AB0:   key_pressed VK_LEFT
        then
            0A8E: [email protected] = [email protected] + 300

            if 001D: [email protected] > [email protected]
            then
                [email protected] -= 600
                [email protected]
                090E: set_panel [email protected] active_row 0
            else 0085: [email protected] = [email protected]
            end
                        
            while 0AB0:   key_pressed VK_LEFT
                wait 0
            end
            
            break
        end
        
        if and
        0AB0:   key_pressed VK_RIGHT
        801D: [email protected] <= [email protected]
        then
            [email protected]++
            090E: set_panel [email protected] active_row 0
            
            while 0AB0:   key_pressed VK_RIGHT
                wait 0
            end    
            
            break
        end
        
        0ACD: show_text_highpriority "Use ~<~ e ~>~ para navegar entre as paginas." time 200      
    until 00E1:   player 0 pressed_key enter_vehicle
until 00E1:   player 0 pressed_key enter_vehicle

:Back
08DA: remove_panel [email protected]
03E6: remove_text_box
Player.CanMove(0, true)

0AB2: ret 0

:Input
Player.CanMove(0, false)
0512: show_text_box "TH_HMSG"
               
0AC6: [email protected] = label @Buffer offset // pTempbuffer
0A8E: [email protected] = [email protected] + 0x50 // pMainbuffer
0A8C: write_memory [email protected] size 0xF0 value NULL virtual_protect 0 // clear buffers
                                      
repeat
    wait 0
    
    0A8D: [email protected] = read_memory cheat_string size 1 virtual_protect 0
        
    if 0AB0:   key_pressed [email protected]
    then                          
        0AB1: call_scm_func @KeyWait 1 key [email protected]
        
        if [email protected] == 0x20 
        then         
            [email protected] = 0xFF // spaces do hide the text on the screen
            spacerep = true
        end
               
        if [email protected] < 29 // max_length
        then
            0A8C: write_memory [email protected] size 1 value [email protected] virtual_protect 0
            [email protected]++
            
            if spacerep == true
            then
                0A8C: write_memory [email protected] size 1 value 0x20 virtual_protect 0
                spacerep = false
            else
                0A8C: write_memory [email protected] size 1 value [email protected] virtual_protect 0                
            end
            
            [email protected]++                
        end           
    end
    
    0AC6: [email protected] = label @Buffer offset
    0AA7: call_function strlen num_params 1 pop 1 [email protected] -> [email protected]
    
    if 0AB0:   key_pressed VK_BACK
    then
        if [email protected] > 0
        then
            [email protected]
            [email protected]
            0A8C: write_memory [email protected] size 1 value NULL virtual_protect 0                
            0A8C: write_memory [email protected] size 1 value NULL virtual_protect 0            
        else
            Player.CanMove(0, 1)
            03E6: remove_text_box        
            0AB2: ret 2 [email protected] [email protected]
        end    
    end
    
    0AB1: call_scm_func @KeyWait 1 key VK_BACK
    
    if [email protected] == 0
    then 0AD1: show_formatted_text_highpriority "~g~Cheat: ~s~%s" time 250 [email protected]
    else 0AD1: show_formatted_text_highpriority "~r~Remove: ~s~%s" time 250 [email protected]
    end
until 0AB0:   key_pressed VK_RETURN

Player.CanMove(0, 1)
03E6: remove_text_box

0AB2: ret 2 [email protected] [email protected]

:Teleport
fade 0 200 
wait 250
                     
04E4: refresh_game_renderer_at [email protected] [email protected] 
Camera.SetAtPos([email protected], [email protected], [email protected])
[email protected] -= 1.0                    
Actor.PutAt($Player_Actor, [email protected], [email protected], [email protected])
Camera.SetBehindPlayer()
                    
fade 1 200
0AB2: ret 0

:KeyWait
while 0AB0:   key_pressed [email protected]
    wait 0
end
    
0AB2: ret 0

:Buffer
hex
// temp buffer
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
// main buffer
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
// line buffer
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
end

Voltar para “Custom Teleport (Criar comandos para se teletransportar)”