- BossMensagens Nível 1
- Mensagens : 19
Reputação : 0
Desde : 14/12/2017
Idade : 20
Localização : Uberlândia - MG
Olá, estou estudando gta3script há um tempo e gostaria de saber como posso desativar todos os códigos com mensagem.
Já pesquisei muito sobre isso mas não encontrei nada que ajude. Agradeço desde já.
Já pesquisei muito sobre isso mas não encontrei nada que ajude. Agradeço desde já.
- CloudScripter CLEO - Avançado
- Nick anterior : Israel
Título : Baiano
Mensagens : 858
Reputação : 138
Desde : 22/09/2015
Não sei se entendi direito, mas se você estiver falando dos cheats, tem a opção DisaCheats do MixSets .
______________________________
Everyone gonna remember my name !
- BossMensagens Nível 1
- Mensagens : 19
Reputação : 0
Desde : 14/12/2017
Idade : 20
Localização : Uberlândia - MG
@israel sim eu me refiro aos cheats, mas eu preciso colocar essa função no meu script, eu até baixei o sanny builder mas não consegui abrir o MixSets, fica tudo branco, talvez eu não tenha configurado direito... Alguma dica ?
Agradeço desde já.
Agradeço desde já.
- BossMensagens Nível 1
- Mensagens : 19
Reputação : 0
Desde : 14/12/2017
Idade : 20
Localização : Uberlândia - MG
Alguém ?

- NexScripter CLEO - Intermediário
- Mensagens : 1240
Reputação : 99
Desde : 04/03/2013
Idade : 20
Código do MixSets:
- Código:
0A8C: write_memory 0x4384D0 size 2 value 0x9090 virtual_protect 1
0A8C: write_memory 0x4384D2 size 1 value 0x90 virtual_protect 1
0A8C: write_memory 0x4384D3 size 1 value 0xE9 virtual_protect 1
0A8C: write_memory 0x4384D4 size 4 value 0xCD virtual_protect 1
- BossMensagens Nível 1
- Mensagens : 19
Reputação : 0
Desde : 14/12/2017
Idade : 20
Localização : Uberlândia - MG
Muito obrigado @Nex', funcionou perfeitamente !
- Código:
WRITE_MEMORY 0x4384D0 2 0x9090 1
WRITE_MEMORY 0x4384D2 1 0x90 1
WRITE_MEMORY 0x4384D3 1 0xE9 1
WRITE_MEMORY 0x4384D4 4 0xCD 1
- CloudScripter CLEO - Avançado
- Nick anterior : Israel
Título : Baiano
Mensagens : 858
Reputação : 138
Desde : 22/09/2015
É só marcar essa opção aí (IGNORE_UNKNOWN):

Pra desativar os cheats, dá pra fazer assim também:
- Código:
WRITE_MEMORY 0x004384D2 1 0xFF 1
______________________________
Everyone gonna remember my name !
Não sei bem, mas acho que o método do MixSets (que é parecido, mas mais completo) é o mais aconselhável.israel escreveu:Pra desativar os cheats, dá pra fazer assim também:
- Código:
WRITE_MEMORY 0x004384D2 1 0xFF 1
Foi o Fabio que fez e nunca teve relato de problemas.
- CloudScripter CLEO - Avançado
- Nick anterior : Israel
Título : Baiano
Mensagens : 858
Reputação : 138
Desde : 22/09/2015
↑
Código original:
O código do @Fabio transforma nisso:
O que eu fiz foi pôr um 255 no lugar daquele 6:
A cheat_string é char[30], ou seja, sempre vai pular.
No fim, dá no mesmo.
Outra forma de fazer:
Código original:
- Código:
cmp eax, 6
jb loc_4385A5
O código do @Fabio transforma nisso:
- Código:
jmp loc_4385A5
O que eu fiz foi pôr um 255 no lugar daquele 6:
- Código:
cmp eax, 255
jb loc_4385A5
A cheat_string é char[30], ou seja, sempre vai pular.
No fim, dá no mesmo.
Outra forma de fazer:
- Código:
WRITE_MEMORY 0x004384D0 4 0x4385A5B8 1
WRITE_MEMORY 0x004384D4 4 0x90E0FF00 1
- Código:
mov eax, 0x004385A5
jmp eax
______________________________
Everyone gonna remember my name !
- BossMensagens Nível 1
- Mensagens : 19
Reputação : 0
Desde : 14/12/2017
Idade : 20
Localização : Uberlândia - MG
Agradeço as respostas de todos.
Gostaria de saber como mostrar uma mensagem para os cheats desativados ? "Cheats não são permitidos!". Não sei se é possível...
Agradeço desde já.
Gostaria de saber como mostrar uma mensagem para os cheats desativados ? "Cheats não são permitidos!". Não sei se é possível...
Agradeço desde já.
- NexScripter CLEO - Intermediário
- Mensagens : 1240
Reputação : 99
Desde : 04/03/2013
Idade : 20
Possível é, mas ia cê já tá complicando de mais meu amigo, por que não só avisar uma vez que os cheats foram desativados?

- CloudScripter CLEO - Avançado
- Nick anterior : Israel
Título : Baiano
Mensagens : 858
Reputação : 138
Desde : 22/09/2015
@Boss escreveu:Agradeço as respostas de todos.
Gostaria de saber como mostrar uma mensagem para os cheats desativados ? "Cheats não são permitidos!". Não sei se é possível...
Agradeço desde já.
- Código:
IF TEST_CHEAT "Desativar"
// faz o bagui pra desativar aqui
PRINT_HELP_STRING "Cheats nao sao permitidos!"
ENDIF
É isso aí que você precisa ? Ou você quer mostrar a mensagem cada vez que a pessoa tentar usar um cheat ? Se for a segunda opção, é um pouco mais complicado e também não vejo necessidade.
______________________________
Everyone gonna remember my name !
- BossMensagens Nível 1
- Mensagens : 19
Reputação : 0
Desde : 14/12/2017
Idade : 20
Localização : Uberlândia - MG
@Israel @Nex'
Eu queria mostrar a mensagem cada vez que tentasse usar um cheat mesmo eu até tentei simular cada um com TEST_CHEAT, ams ficou muito triste claro... mas posso me conformar mostrando só na hora de desativar mesmo.
Agradeço muito pela ajuda.
Eu queria mostrar a mensagem cada vez que tentasse usar um cheat mesmo eu até tentei simular cada um com TEST_CHEAT, ams ficou muito triste claro... mas posso me conformar mostrando só na hora de desativar mesmo.

Agradeço muito pela ajuda.
É mais fácil criar uma pequena função e substituir toda a tabela de cheats do jogo.


______________________________

Modifico quase qualquer coisa. :)
------------------>>>http://gtamodvicio.blogspot.com/ <<<------------------

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'
- CloudScripter CLEO - Avançado
- Nick anterior : Israel
Título : Baiano
Mensagens : 858
Reputação : 138
Desde : 22/09/2015
Nem ia dar muito certo por causa dos hashs. Muitos nomes resultam num mesmo cheat.@Boss escreveu:[...] eu até tentei simular cada um com TEST_CHEAT, ams ficou muito triste claro... [...]
O mesmo que eu pensei:
- Código:
SCRIPT_START
{
LVAR_INT pNoCheats, pMsg, pMsgOffset
LVAR_INT ptr
GET_LABEL_POINTER NoCheats (pNoCheats)
GET_LABEL_POINTER Msg (pMsg)
pMsgOffset = pNoCheats + 0x01
WRITE_MEMORY pMsgOffset 4 pMsg 0
ptr = 0x008A5B58
WHILE ptr <= 0x008A5CBC
WRITE_MEMORY ptr 4 pNoCheats 1
ptr += 0x04
ENDWHILE
}
SCRIPT_END
NoCheats:
DUMP
/*00000000*/ 6800000000 // push Msg ; str
/*00000005*/ B8E08B5800 // mov eax, 0x00588BE0 ; CHud::SetHelpMessage
/*0000000A*/ FFD0 // call eax
/*0000000C*/ C9 // leave
/*0000000D*/ C3 // ret
ENDDUMP
Msg:
DUMP
"~r~Cheats nao sao permitidos!" 00
ENDDUMP
______________________________
Everyone gonna remember my name !
Israel escreveu:Nem ia dar muito certo por causa dos hashs. Muitos nomes resultam num mesmo cheat.@Boss escreveu:[...] eu até tentei simular cada um com TEST_CHEAT, ams ficou muito triste claro... [...]O mesmo que eu pensei:
- Código:
SCRIPT_START
{
LVAR_INT pNoCheats, pMsg, pMsgOffset
LVAR_INT ptr
GET_LABEL_POINTER NoCheats (pNoCheats)
GET_LABEL_POINTER Msg (pMsg)
pMsgOffset = pNoCheats + 0x01
WRITE_MEMORY pMsgOffset 4 pMsg 0
ptr = 0x008A5B58
WHILE ptr <= 0x008A5CBC
WRITE_MEMORY ptr 4 pNoCheats 1
ptr += 0x04
ENDWHILE
}
SCRIPT_END
NoCheats:
DUMP
/*00000000*/ 6800000000 // push Msg ; str
/*00000005*/ B8E08B5800 // mov eax, 0x00588BE0 ; CHud::SetHelpMessage
/*0000000A*/ FFD0 // call eax
/*0000000C*/ C9 // leave
/*0000000D*/ C3 // ret
ENDDUMP
Msg:
DUMP
"~r~Cheats nao sao permitidos!" 00
ENDDUMP
Muito bom, mas você testou? Acredito que esteja faltando uma instrução enter no ínicio, ou
- Código:
push ebp
mov esp, ebp
Já que usou leave que é o processo inverso do código acima.
Se não me engano a mensagem de cheat é mostrada na função que chama a função de cheat, talvez seja necessário colocar alguns NOP lá.
______________________________

Modifico quase qualquer coisa. :)
------------------>>>http://gtamodvicio.blogspot.com/ <<<------------------

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'
- CloudScripter CLEO - Avançado
- Nick anterior : Israel
Título : Baiano
Mensagens : 858
Reputação : 138
Desde : 22/09/2015
↑ Sim, eu testei. Me baseei nas próprias funções que são substituídas. 
Sobre a mensagem, a que eu coloquei, sobrepõe a da AddToPCCheatString.

Sobre a mensagem, a que eu coloquei, sobrepõe a da AddToPCCheatString.

______________________________
Everyone gonna remember my name !
- NexScripter CLEO - Intermediário
- Mensagens : 1240
Reputação : 99
Desde : 04/03/2013
Idade : 20
Israel escreveu:
- Código:
SCRIPT_START
{
LVAR_INT pNoCheats, pMsg, pMsgOffset
LVAR_INT ptr
GET_LABEL_POINTER NoCheats (pNoCheats)
GET_LABEL_POINTER Msg (pMsg)
pMsgOffset = pNoCheats + 0x01
WRITE_MEMORY pMsgOffset 4 pMsg 0
ptr = 0x008A5B58
WHILE ptr <= 0x008A5CBC
WRITE_MEMORY ptr 4 pNoCheats 1
ptr += 0x04
ENDWHILE
}
SCRIPT_END
NoCheats:
DUMP
/*00000000*/ 6800000000 // push Msg ; str
/*00000005*/ B8E08B5800 // mov eax, 0x00588BE0 ; CHud::SetHelpMessage
/*0000000A*/ FFD0 // call eax
/*0000000C*/ C9 // leave
/*0000000D*/ C3 // ret
ENDDUMP
Msg:
DUMP
"~r~Cheats nao sao permitidos!" 00
ENDDUMP
Comparação com o que é possível fazer em Lua:
- Código:
local ffi = require "ffi"
function noCheat()
printHelpString("~r~Cheats OFF!")
end
function main()
local _cheatHandlers = ffi.cast("void (**)()", 0x008A5B58)
for i = 0, 89 do
_cheatHandlers[i] = noCheat
end
wait(-1)
end

@Nex escreveu:
- Spoiler:
Israel escreveu:
- Código:
SCRIPT_START
{
LVAR_INT pNoCheats, pMsg, pMsgOffset
LVAR_INT ptr
GET_LABEL_POINTER NoCheats (pNoCheats)
GET_LABEL_POINTER Msg (pMsg)
pMsgOffset = pNoCheats + 0x01
WRITE_MEMORY pMsgOffset 4 pMsg 0
ptr = 0x008A5B58
WHILE ptr <= 0x008A5CBC
WRITE_MEMORY ptr 4 pNoCheats 1
ptr += 0x04
ENDWHILE
}
SCRIPT_END
NoCheats:
DUMP
/*00000000*/ 6800000000 // push Msg ; str
/*00000005*/ B8E08B5800 // mov eax, 0x00588BE0 ; CHud::SetHelpMessage
/*0000000A*/ FFD0 // call eax
/*0000000C*/ C9 // leave
/*0000000D*/ C3 // ret
ENDDUMP
Msg:
DUMP
"~r~Cheats nao sao permitidos!" 00
ENDDUMP
Comparação com o que é possível fazer em Lua:
- Código:
local ffi = require "ffi"
function noCheat()
printHelpString("~r~Cheats OFF!")
end
function main()
local _cheatHandlers = ffi.cast("void (**)()", 0x008A5B58)
for i = 0, 89 do
_cheatHandlers[i] = noCheat
end
wait(-1)
end![]()
Em cleo:
- Código:
{$CLEO}
0AA2: 0@ = load_library "cppToCleo.asi" // IF and SET
0AA4: 1@ = get_proc_address "generateFunction" library 0@ // IF and SET
0A9F: 4@ = current_thread_pointer
0AA7: call_function 1@ num_params 4 pop 4 0 0 @noCheats 4@ -> 3@ // cleoToCppCallBackLabel
2@ = 0x008A5B58
while 2@ < 0x008A5CC8
0A8C: write_memory 2@ size 4 value 3@ virtual_protect 1
2@ += 4
end
while true
wait 0x7FFFFFFF
end
:noCheats
0AD1: show_formatted_text_highpriority "Cheats nao sao permitidos" time 5000
wait 0
Não, pera.
______________________________

Modifico quase qualquer coisa. :)
------------------>>>http://gtamodvicio.blogspot.com/ <<<------------------

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'
- BossMensagens Nível 1
- Mensagens : 19
Reputação : 0
Desde : 14/12/2017
Idade : 20
Localização : Uberlândia - MG
Vlw galera, funcionou perfeitamente! 
Desculpa a demora

- CloudScripter CLEO - Avançado
- Nick anterior : Israel
Título : Baiano
Mensagens : 858
Reputação : 138
Desde : 22/09/2015
De nada.

É, dá nem pra comparar.@Nex escreveu:Comparação com o que é possível fazer em Lua:
- Código:
local ffi = require "ffi"
function noCheat()
printHelpString("~r~Cheats OFF!")
end
function main()
local _cheatHandlers = ffi.cast("void (**)()", 0x008A5B58)
for i = 0, 89 do
_cheatHandlers[i] = noCheat
end
wait(-1)
end![]()
FFI >>
______________________________
Everyone gonna remember my name !
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum