raylandersilva
raylandersilva
Mensagens Nível 1
Mensagens Nível 1
Mensagens : 4
Reputação : 0
Desde : 20/04/2013
Sab 27 Jan 2018, 23:24
Como criar um script que faz para aperta algum botão tipo aperta o T do samp ao fazer algum comando ex: digitei : CHAT ai o script endendeu que era pra aperta T.


Última edição por raylandersilva em Dom 28 Jan 2018, 12:53, editado 1 vez(es)
Jacobi
Jacobi
Moderador
Moderador
Título : Memento Mori
Mensagens : 985
Reputação : 60
Desde : 13/12/2015
Idade : 24
Localização : Santa Cruz do Sul
Link : github.com/edujacobi
Sab 27 Jan 2018, 23:38
Acho que agora aprendi como fazer, obrigado.

______________________________
Como criar um script que faz para aperta algum botão? BEQxokm
GTA Brasil  - O verdadeiro GTA brasileiro
ReLive Modding  - Mods para PS2
Alchemistry  - Game mobile com conceitos de química
GTA Discord  - Bot RPG para Discord
Fabio
Fabio
Programador - Avançado
Programador - Avançado
Mensagens : 18271
Reputação : 388
Desde : 04/05/2012
Idade : 23
Link : gtamodvicio.blogspot.com
http://gtamodvicio.blogspot.com
Dom 28 Jan 2018, 00:03
@Jacobi escreveu:Acho que agora aprendi como fazer, obrigado.

philosoraptor philosoraptor philosoraptor





Teria que usar uma mistura entre TEST_CHEAT e SendKeys do Windows, acredito eu.

______________________________
Como criar um script que faz para aperta algum botão? 226c0ef57f9d7520d171cbadc68b3c56
Modifico quase qualquer coisa.   :)
------------------>>>http://gtamodvicio.blogspot.com/ <<<------------------
Como criar um script que faz para aperta algum botão? 76561198069372249
Meu PC:
Spoiler:

Configurações PC:
*Processador: Intel Core i7 4790K 4.00GHz LGA1150
*Placa Mãe: GIGABYTE GA-H97M-D3H Intel (LGA1150)
*HD: 1TB Seagate Barracuda 64MB Sata III 7200RPM (2x - RAID 0)
*HD²: SAMSUNG M3 Externo USB 5400RPM 1TB
*Placa de vídeo: Nvidia GTX660 2GB DDR5 192bit EVGA
*RAM: 8GB DDR3 1600MHZ Kingston HYPER X BEAST (2x4GB)
*Fonte: Corsair 600W Reais CX600M Modular - CP-9020060-WW (80 Plus Bronze)
*Gabinete: Gabinete Raidmax Super Hurricane Branco - 248WB
*Monitor: LG 23MP55HQ Full HD HDMI 23'
Nex
Nex
Scripter CLEO - Intermediário
Scripter CLEO - Intermediário
Mensagens : 1240
Reputação : 99
Desde : 04/03/2013
Idade : 20
Dom 28 Jan 2018, 15:19
Um pouco complexo, o jeito mais fácil seria usando Lua (MoonLoader ) com alguma lib pra usar as funções da WinAPI, isso aqui deve servir (não testei).
Agora é só tu aprender a fazer scripts Lua, isso aqui vai te ajudar e aprender a usar o SendInput da WinAPI (só procurar no google).

Alternativamente, você pode só usar um desses muitos programas de macros que existem por ai. :)
Fabio
Fabio
Programador - Avançado
Programador - Avançado
Mensagens : 18271
Reputação : 388
Desde : 04/05/2012
Idade : 23
Link : gtamodvicio.blogspot.com
http://gtamodvicio.blogspot.com
Dom 28 Jan 2018, 19:03
Nex' escreveu:Um pouco complexo, o jeito mais fácil seria usando Lua (MoonLoader ) com alguma lib pra usar as funções da WinAPI, isso aqui deve servir (não testei).
Agora é só tu aprender a fazer scripts Lua, isso aqui vai te ajudar e aprender a usar o SendInput da WinAPI (só procurar no google).

Alternativamente, você pode só usar um desses muitos programas de macros que existem por ai. :)

Pois é philosoraptor

Deve ter uns códigos prontos em sites como Stack Overflow, entretanto ainda vai precisar reescreve-los na sintaxe de lua.

______________________________
Como criar um script que faz para aperta algum botão? 226c0ef57f9d7520d171cbadc68b3c56
Modifico quase qualquer coisa.   :)
------------------>>>http://gtamodvicio.blogspot.com/ <<<------------------
Como criar um script que faz para aperta algum botão? 76561198069372249
Meu PC:
Spoiler:

Configurações PC:
*Processador: Intel Core i7 4790K 4.00GHz LGA1150
*Placa Mãe: GIGABYTE GA-H97M-D3H Intel (LGA1150)
*HD: 1TB Seagate Barracuda 64MB Sata III 7200RPM (2x - RAID 0)
*HD²: SAMSUNG M3 Externo USB 5400RPM 1TB
*Placa de vídeo: Nvidia GTX660 2GB DDR5 192bit EVGA
*RAM: 8GB DDR3 1600MHZ Kingston HYPER X BEAST (2x4GB)
*Fonte: Corsair 600W Reais CX600M Modular - CP-9020060-WW (80 Plus Bronze)
*Gabinete: Gabinete Raidmax Super Hurricane Branco - 248WB
*Monitor: LG 23MP55HQ Full HD HDMI 23'
Delmar grande
Delmar grande
Mensagens Nível 2
Mensagens Nível 2
Mensagens : 54
Reputação : 4
Desde : 06/12/2014
Link : http://dbatchscript.forumeiros.com/
http://dbatchscript.forumeiros.com/
Ter 30 Jan 2018, 13:58
eu também senti falta de um sendkeys no cleo não sei se existe!

to tentando fazer assim

Código:

        0AA2: $hLIB = load_library "user32.dll" // IF and SET
        0AA3: free_library $hLIB
        0AA4: $hPROC = get_proc_address "SendInput" library $hLIB // IF and SET
        0AA5: call $hPROC num_params 3 pop 3 params 1 0x4a 1

acredito que estou errando aqui 0AA5: call $hPROC num_params 3 pop 3 params 1 0x4a 1
estou quase criando uma dll para fazer sendkeys

alguns exemplo de uso de dlls http://ugbase.eu/Thread-Tutorial-Using-functions-from-Windows-libraries

______________________________
"Todos na busca do conhecimento"
Como criar um script que faz para aperta algum botão? I_logo10
Fabio
Fabio
Programador - Avançado
Programador - Avançado
Mensagens : 18271
Reputação : 388
Desde : 04/05/2012
Idade : 23
Link : gtamodvicio.blogspot.com
http://gtamodvicio.blogspot.com
Ter 30 Jan 2018, 16:22
@Delmar grande escreveu:eu também senti falta de um sendkeys no cleo não sei se existe!

to tentando fazer assim

Código:

        0AA2: $hLIB = load_library "user32.dll" // IF and SET
        0AA3: free_library $hLIB
        0AA4: $hPROC = get_proc_address "SendInput" library $hLIB // IF and SET
        0AA5: call $hPROC num_params 3 pop 3 params 1 0x4a 1

acredito que estou errando aqui 0AA5: call $hPROC num_params 3 pop 3 params 1 0x4a 1
estou quase criando uma dll para fazer sendkeys

alguns exemplo de uso de dlls http://ugbase.eu/Thread-Tutorial-Using-functions-from-Windows-libraries

Funções do Windows geralmente são stdcall, portanto, pop 0.

OBS: não use variáveis globais.

A user32.dll nunca será descarregada, entretanto, não use FreeLibrary se não terminou de usar.

Os parâmetros não estão corretos: https://msdn.microsoft.com/en-us/library/windows/desktop/ms646310%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396

O argumento do meio é um ponteiro para um array de estruturas de INPUT.

______________________________
Como criar um script que faz para aperta algum botão? 226c0ef57f9d7520d171cbadc68b3c56
Modifico quase qualquer coisa.   :)
------------------>>>http://gtamodvicio.blogspot.com/ <<<------------------
Como criar um script que faz para aperta algum botão? 76561198069372249
Meu PC:
Spoiler:

Configurações PC:
*Processador: Intel Core i7 4790K 4.00GHz LGA1150
*Placa Mãe: GIGABYTE GA-H97M-D3H Intel (LGA1150)
*HD: 1TB Seagate Barracuda 64MB Sata III 7200RPM (2x - RAID 0)
*HD²: SAMSUNG M3 Externo USB 5400RPM 1TB
*Placa de vídeo: Nvidia GTX660 2GB DDR5 192bit EVGA
*RAM: 8GB DDR3 1600MHZ Kingston HYPER X BEAST (2x4GB)
*Fonte: Corsair 600W Reais CX600M Modular - CP-9020060-WW (80 Plus Bronze)
*Gabinete: Gabinete Raidmax Super Hurricane Branco - 248WB
*Monitor: LG 23MP55HQ Full HD HDMI 23'
Nex
Nex
Scripter CLEO - Intermediário
Scripter CLEO - Intermediário
Mensagens : 1240
Reputação : 99
Desde : 04/03/2013
Idade : 20
Ter 30 Jan 2018, 19:55
Acabei de achar essa função no MoonLoader: https://blast.hk/wiki/lua:setvirtualkeydown
Ou seja, nem precisa de fazer aquilo que falei ali em cima.

Talvez vocês devessem usar MoonLoader .
Delmar grande
Delmar grande
Mensagens Nível 2
Mensagens Nível 2
Mensagens : 54
Reputação : 4
Desde : 06/12/2014
Link : http://dbatchscript.forumeiros.com/
http://dbatchscript.forumeiros.com/
Ter 30 Jan 2018, 20:40
fabio veja o script agora ao apertar  a tecla D  ele chama a função da dll a ideia é para simular a tecla j

Código:

{$CLEO .cs}
0000:
while true
    wait 0 ms
    if
        Player.Defined($PLAYER_CHAR)
    then
        if
        0ADC:   test_cheat "D"
        then
        
        if 0AA2: 31@ = load_library "user32.dll" // IF and SET
        then
        0ACD: show_text_highpriority "carregou dll..." time 20
        if 0AA4: 30@ = get_proc_address "keybd_event" library 31@ // IF and SET
        then
           0ACD: show_text_highpriority "carregou função..." time 20
           0AA7: call_function 30@ num_params 4 pop 0 0x4a 0 0 0 error_code 2@
           if 2@ <= 32
           then 0664: printfloat "falha... : %d" 2@
           end
        end
        0AA3: free_library 31@
        end
        /*teste 2*/                
        {0AB1: @SendKey_J 0}
        end
    end        
end

{:SendKey_J
0AA2: 31@ = load_library "user32.dll" // IF and SET
0AA4: 30@ = get_proc_address "keybd_event" library 31@ // IF and SET
0AA5: call 30@ num_params 4 pop 0 0x4a 0 0 0
0AA3: free_library 31@
0AB2: 0}

acho que esta quase tudo certo só que percebo  que não passa dessa linha if 0AA4: 30@ = get_proc_address "keybd_event" library 31@ // IF and SET
estou tentando usar a função keybd_event

https://msdn.microsoft.com/en-us/library/windows/desktop/ms646304(v=vs.85).aspx

https://msdn.microsoft.com/en-us/library/windows/desktop/dd375731(v=vs.85).aspx

______________________________
"Todos na busca do conhecimento"
Como criar um script que faz para aperta algum botão? I_logo10
Fabio
Fabio
Programador - Avançado
Programador - Avançado
Mensagens : 18271
Reputação : 388
Desde : 04/05/2012
Idade : 23
Link : gtamodvicio.blogspot.com
http://gtamodvicio.blogspot.com
Ter 30 Jan 2018, 21:00
Não tem nenhum crash?

Poderia tentar usar a função GetLastError do Windows.

______________________________
Como criar um script que faz para aperta algum botão? 226c0ef57f9d7520d171cbadc68b3c56
Modifico quase qualquer coisa.   :)
------------------>>>http://gtamodvicio.blogspot.com/ <<<------------------
Como criar um script que faz para aperta algum botão? 76561198069372249
Meu PC:
Spoiler:

Configurações PC:
*Processador: Intel Core i7 4790K 4.00GHz LGA1150
*Placa Mãe: GIGABYTE GA-H97M-D3H Intel (LGA1150)
*HD: 1TB Seagate Barracuda 64MB Sata III 7200RPM (2x - RAID 0)
*HD²: SAMSUNG M3 Externo USB 5400RPM 1TB
*Placa de vídeo: Nvidia GTX660 2GB DDR5 192bit EVGA
*RAM: 8GB DDR3 1600MHZ Kingston HYPER X BEAST (2x4GB)
*Fonte: Corsair 600W Reais CX600M Modular - CP-9020060-WW (80 Plus Bronze)
*Gabinete: Gabinete Raidmax Super Hurricane Branco - 248WB
*Monitor: LG 23MP55HQ Full HD HDMI 23'
avatar
Convidado
Convidado
Ter 30 Jan 2018, 23:09
.


Última edição por Veryzon em Dom 01 Jul 2018, 08:27, editado 1 vez(es)
Delmar grande
Delmar grande
Mensagens Nível 2
Mensagens Nível 2
Mensagens : 54
Reputação : 4
Desde : 06/12/2014
Link : http://dbatchscript.forumeiros.com/
http://dbatchscript.forumeiros.com/
Ter 30 Jan 2018, 23:29
@Fabio escreveu:Não tem nenhum crash?

Poderia tentar usar a função GetLastError do Windows.

pelo que percebi o cleo aqui não esta conseguindo usar dll veja o log  philosoraptor


********************************************
script SendKey
Local variables dump:
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
289166 1279363982
********************************************

00000006&0: [00D6] IF 0
00000010&0: [0256] IS_PLAYER_PLAYING 0    // TRUE
00000015&1: [004D] GOTO_IF_FALSE -45
00000022&1: [00D6] IF 0
00000026&0: [0ADC] TEST_CHEAT "D"    // TRUE
00000031&1: [004D] GOTO_IF_FALSE -45
00000038&1: [0050] GOSUB -52
00000052&1: [0AA2] LOAD_LIBRARY "USER32.DLL" -> 1997864960    // TRUE
00000069&1: [0AA4] GET_PROC_ADDRESS "KEYBD_EVENT" 1997864960 -> 0    // FALSE
00000090&0: [0AA5] CALL_FUNCTION 0x0 4 0 74 0 0 0

*********************************

______________________________
"Todos na busca do conhecimento"
Como criar um script que faz para aperta algum botão? I_logo10
avatar
Convidado
Convidado
Ter 30 Jan 2018, 23:39
.


Última edição por Veryzon em Dom 01 Jul 2018, 08:26, editado 1 vez(es)
Nex
Nex
Scripter CLEO - Intermediário
Scripter CLEO - Intermediário
Mensagens : 1240
Reputação : 99
Desde : 04/03/2013
Idade : 20
Ter 30 Jan 2018, 23:48
@Delmar grande escreveu:
Código:
00000052&1: [0AA2] LOAD_LIBRARY "USER32.DLL" -> 1997864960    // TRUE
00000069&1: [0AA4] GET_PROC_ADDRESS "KEYBD_EVENT" 1997864960 -> 0    // FALSE

No Sanny Builder, vai em Ferramentas > Opções... > Formatos, no "Convertor de Case" coloca "Como é"
Delmar grande
Delmar grande
Mensagens Nível 2
Mensagens Nível 2
Mensagens : 54
Reputação : 4
Desde : 06/12/2014
Link : http://dbatchscript.forumeiros.com/
http://dbatchscript.forumeiros.com/
Ter 30 Jan 2018, 23:51
Veryzon escreveu:Checa se o GetProcAddress retornou algum endereço antes de usar. O comando CallFunc está sendo usado sem endereço.
Veja: "[0AA5] CALL_FUNCTION 0x0 4 0 74 0 0 0"

sim chequei aqui nesse script e realmente não esta retornado nada não consegui usar nenhuma dll mas

Código:

{$CLEO .cs}
0000:
while true
    wait 0 ms
    if
        Player.Defined($PLAYER_CHAR)
    then
        if
        0ADC:  test_cheat "D"
        then
       
        if 0AA2: 31@ = load_library "user32.dll" // IF and SET
        then
        0ACD: show_text_highpriority "carregou dll..." time 20
        if 0AA4: 30@ = get_proc_address "keybd_event" library 31@ // IF and SET
        then
          0ACD: show_text_highpriority "carregou função..." time 20
          0AA7: call_function 30@ num_params 4 pop 0 0x4a 0 0 0 error_code 2@
          if 2@ <= 32
          then 0664: printfloat "falha... : %d" 2@
          end
        end
        0AA3: free_library 31@
        end
        /*teste 2*/               
        {0AB1: @SendKey_J 0}
        end
    end       
end

{:SendKey_J
0AA2: 31@ = load_library "user32.dll" // IF and SET
0AA4: 30@ = get_proc_address "keybd_event" library 31@ // IF and SET
0AA5: call 30@ num_params 4 pop 0 0x4a 0 0 0
0AA3: free_library 31@
0AB2: 0}

______________________________
"Todos na busca do conhecimento"
Como criar um script que faz para aperta algum botão? I_logo10
Nex
Nex
Scripter CLEO - Intermediário
Scripter CLEO - Intermediário
Mensagens : 1240
Reputação : 99
Desde : 04/03/2013
Idade : 20
Qua 31 Jan 2018, 00:13
Isso ai, cagou pro que eu acabei de falar.
Delmar grande
Delmar grande
Mensagens Nível 2
Mensagens Nível 2
Mensagens : 54
Reputação : 4
Desde : 06/12/2014
Link : http://dbatchscript.forumeiros.com/
http://dbatchscript.forumeiros.com/
Qua 31 Jan 2018, 01:04
Nex' escreveu:
@Delmar grande escreveu:
Código:
00000052&1: [0AA2] LOAD_LIBRARY "USER32.DLL" -> 1997864960    // TRUE
00000069&1: [0AA4] GET_PROC_ADDRESS "KEYBD_EVENT" 1997864960 -> 0    // FALSE

No Sanny Builder, vai em Ferramentas > Opções... > Formatos, no "Convertor de Case" coloca "Como é"

isso agora pegou o get_proc_address agora falta pouco para funcionar.

Código:

********************************************
 script SendKey
 Local variables dump:
 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 288660 1279363476
********************************************

00000006&0: [00D6] IF 0
00000010&0: [0256] IS_PLAYER_PLAYING 0    // TRUE
00000015&1: [004D] GOTO_IF_FALSE -45
00000022&1: [00D6] IF 0
00000026&0: [0ADC] TEST_CHEAT "D"    // TRUE
00000031&1: [004D] GOTO_IF_FALSE -45
00000038&1: [0050] GOSUB -52
00000052&1: [0AA2] LOAD_LIBRARY "user32.dll" -> 1997864960    // TRUE
00000069&1: [0AA4] GET_PROC_ADDRESS "keybd_event" 1997864960 -> 1998253211    // TRUE
00000090&1: [0AA5] CALL_FUNCTION 0x771AEC9B 4 0 74 0 0 0
00000108&1: [0AA3] FREE_LIBRARY 1997864960
00000113&1: [0AB2] RET

*********************************

______________________________
"Todos na busca do conhecimento"
Como criar um script que faz para aperta algum botão? I_logo10
Junior_Djjr
Junior_Djjr
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Título : Censurando since 2011
Mensagens : 22701
Reputação : 727
Desde : 03/05/2012
Idade : 25
Localização : Ibitinga - SP
Link : www.MixMods.com.br
http://MixMods.com.br
Qua 31 Jan 2018, 01:08
Você usou "RET" (0AB2:) sem usar 0AB1:
Você usou "gosub", tem que ser "return".

______________________________
BMS agora em nova plataforma:
Forum.MixMods.com.br
Fabio
Fabio
Programador - Avançado
Programador - Avançado
Mensagens : 18271
Reputação : 388
Desde : 04/05/2012
Idade : 23
Link : gtamodvicio.blogspot.com
http://gtamodvicio.blogspot.com
Qua 31 Jan 2018, 01:10
Me parece ser um problema de parâmetros da função agora.

Você precisa colocar os parâmetros de forma invertida no opcode.

Código:
0AA7: call_function 30@ num_params 4 pop 0 params 0 0 0 0x4a error_code 2@

______________________________
Como criar um script que faz para aperta algum botão? 226c0ef57f9d7520d171cbadc68b3c56
Modifico quase qualquer coisa.   :)
------------------>>>http://gtamodvicio.blogspot.com/ <<<------------------
Como criar um script que faz para aperta algum botão? 76561198069372249
Meu PC:
Spoiler:

Configurações PC:
*Processador: Intel Core i7 4790K 4.00GHz LGA1150
*Placa Mãe: GIGABYTE GA-H97M-D3H Intel (LGA1150)
*HD: 1TB Seagate Barracuda 64MB Sata III 7200RPM (2x - RAID 0)
*HD²: SAMSUNG M3 Externo USB 5400RPM 1TB
*Placa de vídeo: Nvidia GTX660 2GB DDR5 192bit EVGA
*RAM: 8GB DDR3 1600MHZ Kingston HYPER X BEAST (2x4GB)
*Fonte: Corsair 600W Reais CX600M Modular - CP-9020060-WW (80 Plus Bronze)
*Gabinete: Gabinete Raidmax Super Hurricane Branco - 248WB
*Monitor: LG 23MP55HQ Full HD HDMI 23'
Junior_Djjr
Junior_Djjr
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Título : Censurando since 2011
Mensagens : 22701
Reputação : 727
Desde : 03/05/2012
Idade : 25
Localização : Ibitinga - SP
Link : www.MixMods.com.br
http://MixMods.com.br
Qua 31 Jan 2018, 01:21
(mas o erro do RET ainda continua valendo)

______________________________
BMS agora em nova plataforma:
Forum.MixMods.com.br
Fabio
Fabio
Programador - Avançado
Programador - Avançado
Mensagens : 18271
Reputação : 388
Desde : 04/05/2012
Idade : 23
Link : gtamodvicio.blogspot.com
http://gtamodvicio.blogspot.com
Qua 31 Jan 2018, 01:25
@Junior_Djjr escreveu:(mas o erro do RET ainda continua valendo)

Eu nem tinha percebido, acabei focando na parte da função. :) :) :)

______________________________
Como criar um script que faz para aperta algum botão? 226c0ef57f9d7520d171cbadc68b3c56
Modifico quase qualquer coisa.   :)
------------------>>>http://gtamodvicio.blogspot.com/ <<<------------------
Como criar um script que faz para aperta algum botão? 76561198069372249
Meu PC:
Spoiler:

Configurações PC:
*Processador: Intel Core i7 4790K 4.00GHz LGA1150
*Placa Mãe: GIGABYTE GA-H97M-D3H Intel (LGA1150)
*HD: 1TB Seagate Barracuda 64MB Sata III 7200RPM (2x - RAID 0)
*HD²: SAMSUNG M3 Externo USB 5400RPM 1TB
*Placa de vídeo: Nvidia GTX660 2GB DDR5 192bit EVGA
*RAM: 8GB DDR3 1600MHZ Kingston HYPER X BEAST (2x4GB)
*Fonte: Corsair 600W Reais CX600M Modular - CP-9020060-WW (80 Plus Bronze)
*Gabinete: Gabinete Raidmax Super Hurricane Branco - 248WB
*Monitor: LG 23MP55HQ Full HD HDMI 23'
Delmar grande
Delmar grande
Mensagens Nível 2
Mensagens Nível 2
Mensagens : 54
Reputação : 4
Desde : 06/12/2014
Link : http://dbatchscript.forumeiros.com/
http://dbatchscript.forumeiros.com/
Qua 31 Jan 2018, 01:46
boa noticia deu certo consegui simular o a tecla j mudei para 0AA5: call 30@ num_params 4 pop 0 0 0 0 0x4a por não ser uma função e sim uma procedure

Código:

{$CLEO .cs}
0000:
while true
    wait 0 ms
    if
        Player.Defined($PLAYER_CHAR)
    then
        if
        0ADC:  test_cheat "D"
        then
       
        if 0AA2: 31@ = load_library "user32.dll" // IF and SET
        then
        /*0ACD: show_text_highpriority "carregou dll..." time 20*/
        if 0AA4: 30@ = get_proc_address "keybd_event" library 31@ // IF and SET
        then
          /*0ACD: show_text_highpriority "carregou função..." time 20*/
          {0AA7: call_function 30@ num_params 4 pop 0 params 0 0 0 0x4a error_code 2@}
          0AA5: call 30@ num_params 4 pop 0 0 0 0 0x4a
          {if 2@ <= 32
          then 0664: printfloat "falha... : %d" 2@
          end}
        end
        0AA3: free_library 31@   
        end                   
        {teste 2}               
        /*0AB1: @SendKey_J 0*/
        {gosub @SendKey_J}
        end
    end       
end

{:SendKey_J
0AA2: 31@ = load_library "user32.dll" // IF and SET
0AA4: 30@ = get_proc_address "keybd_event" library 31@ // IF and SET
0AA5: call 30@ num_params 4 pop 0 0 0 0 0x4a
0AA3: free_library 31@
/*0AB2: ret 0*/
return}

só que o player ficou paralisado

______________________________
"Todos na busca do conhecimento"
Como criar um script que faz para aperta algum botão? I_logo10
Junior_Djjr
Junior_Djjr
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Título : Censurando since 2011
Mensagens : 22701
Reputação : 727
Desde : 03/05/2012
Idade : 25
Localização : Ibitinga - SP
Link : www.MixMods.com.br
http://MixMods.com.br
Qua 31 Jan 2018, 02:04
@Delmar grande escreveu:boa noticia deu certo consegui simular o a tecla j mudei para 0AA5: call 30@ num_params 4 pop 0 0 0 0 0x4a por não ser uma função e sim uma procedure
Mas uma procedure é uma função pokerface
A diferença do 0AA5 para o 0AA7 é que o segundo tem valor de retorno, e o primeiro não (é, os nomes no Sanny Builder não fazem sentido).
No GTA3script se chamam CALL_FUNCTION e CALL_FUNCTION_RETURN respectivamente.

______________________________
BMS agora em nova plataforma:
Forum.MixMods.com.br
Delmar grande
Delmar grande
Mensagens Nível 2
Mensagens Nível 2
Mensagens : 54
Reputação : 4
Desde : 06/12/2014
Link : http://dbatchscript.forumeiros.com/
http://dbatchscript.forumeiros.com/
Qua 31 Jan 2018, 02:13
Veja o script resumido

Código:

{$CLEO .cs}
0000:
while true
    wait 0 ms
    if
        Player.Defined($PLAYER_CHAR)
    then
        if
        0ADC:  test_cheat "D"
        then
        if 0AA2: 31@ = load_library "user32.dll" // IF and SET
        then
        if 0AA4: 30@ = get_proc_address "keybd_event" library 31@ // IF and SET
        then
          0AA5: call 30@ num_params 4 pop 0 0 0 0 0x4a
        end
        0AA3: free_library 31@   
        end                               
        end
    end       
end

ao apertar D ele simula o J só que esta entrando em looping (HMM)

______________________________
"Todos na busca do conhecimento"
Como criar um script que faz para aperta algum botão? I_logo10
Delmar grande
Delmar grande
Mensagens Nível 2
Mensagens Nível 2
Mensagens : 54
Reputação : 4
Desde : 06/12/2014
Link : http://dbatchscript.forumeiros.com/
http://dbatchscript.forumeiros.com/
  • Reputação da mensagem: 100% (2 votos)
Qua 31 Jan 2018, 04:04
Problema resolvido estava faltando liberar a tecla obrigado a todos pela ajuda (BG)

Código:

{$CLEO .cs}
const
  KEYEVENTF_EXTENDEDKEY = 0x01
  KEYEVENTF_KEYUP = 0x02  
end
0000:
while true
    wait 0 ms
    if
        Player.Defined($PLAYER_CHAR)
    then
        if
        0ADC:   test_cheat "D"
        then
        if 0AA2: 31@ = load_library "user32.dll" // IF and SET
        then
        if 0AA4: 30@ = get_proc_address "keybd_event" library 31@ // IF and SET
        then
           //Pressiona a tecla
           0AA5: call 30@ num_params 4 pop 0 0 KEYEVENTF_EXTENDEDKEY 0 0x4a
           wait 100
           //Libera a tecla
           0AA5: call 30@ num_params 4 pop 0 0 KEYEVENTF_KEYUP 0 0x4a
        end
        0AA3: free_library 31@    
        end                                
        end
    end        
end

http://tksinghal.blogspot.com.br/2011/04/how-to-press-and-hold-keyboard-key.html

______________________________
"Todos na busca do conhecimento"
Como criar um script que faz para aperta algum botão? I_logo10
Conteúdo patrocinado
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum