- RafaQNMensagens Nível 2
- Mensagens : 97
Reputação : 12
Desde : 18/10/2015
Idade : 27
Localização : São Paulo - SP
Olá galera, gostaria de pedir ajuda num script simples que estou fazendo, muito interessante, mas imperfeito.
Trata-se de tornar inativo o pay 'n' spray quando procurado e quando tiver um policial por perto.
A princípio, consegui realizar isso, mas ainda tem bugs, que, por exemplo, se você entrar num pay 'n' spray e um policial se aproximar, o jogo vai travar (não sei a respeito de crash, acredito que não tenha pelo que fiz).
Tem algum jeito de verificar se o player está dentro do pay 'n' spray e está a ter o veículo reformado e repintado?
Agradeço a ajuda.
Trata-se de tornar inativo o pay 'n' spray quando procurado e quando tiver um policial por perto.
A princípio, consegui realizar isso, mas ainda tem bugs, que, por exemplo, se você entrar num pay 'n' spray e um policial se aproximar, o jogo vai travar (não sei a respeito de crash, acredito que não tenha pelo que fiz).
Tem algum jeito de verificar se o player está dentro do pay 'n' spray e está a ter o veículo reformado e repintado?
Agradeço a ajuda.
- Código:
{$CLEO}
0000:
while true
wait 500
if and
0256: player $PLAYER_CHAR defined
010F: player $PLAYER_CHAR wanted_level > 0
then
0A8D: 29@ = read_memory 0xB74490 size 4 virtual_protect 0
000A: 29@ += 0x4
0A8D: 29@ = read_memory 29@ size 4 virtual_protect 0
for 30@ = 0 to 35584 step 0x100
0A8D: 31@ = read_memory 29@ size 1 virtual_protect 0
000A: 29@ += 0x1
if and
0029: 31@ >= 0x00
001B: 0x80 > 31@
then
005A: 31@ += 30@
089F: get_actor 31@ pedtype_to 0@
if 0039: 0@ == 6
then
if 0104: actor 31@ near_actor $PLAYER_ACTOR radius 15.0 15.0 15.0 sphere 0
then
0A14: disable_respray_garages 1
while true
wait 500
if or
8256: not player $PLAYER_CHAR defined
8104: not actor 31@ near_actor $PLAYER_ACTOR radius 15.0 15.0 15.0 sphere 0
810F: not player $PLAYER_CHAR wanted_level > 0
then
0A14: disable_respray_garages 0
break
end
end
end
end
end
end
end
end
- RafaQNMensagens Nível 2
- Mensagens : 97
Reputação : 12
Desde : 18/10/2015
Idade : 27
Localização : São Paulo - SP
Olá galera, estou tentando fazer um pay'n spray onde não ative caso a polícia esteja por perto.
A ideia do .ini é o mod funcionar com outros tipos de totais conversões, só colocar a coordenada central dos pay'n spray's e estará funcionado.
Está funcionando basicamente, mas alguns bugs aparentes que encontrei:
- A polícia continua ignorando se você está dentro de uma dessas garagens;
- Queria fazer um texto central como é no pay'n spray em outros casos de recusa, não sei qual o opcode certo;
- Talvez um jeito de não precisar desse .ini talvez dê certo inclusive.
Devo ter esquecido de algum detalhe. Qualquer coisa, falo novamente. vlw
- Código:
{$CLEO}
thread "PayNSpr"
0000:
//Loop principal do mod
while true
wait 0
if 0256: player $PLAYER_CHAR defined
then
0AB1: call_scm_func @LOOKINGFOR 0 retorna 0@
if 0039: 0@ == 1
then
if 010F: player $PLAYER_CHAR wanted_level > 0
then
0A8D: 29@ = read_memory 0xB74490 size 4 virtual_protect 0
000A: 29@ += 0x4
0A8D: 29@ = read_memory 29@ size 4 virtual_protect 0
for 30@ = 0 to 35584 step 0x100
0A8D: 31@ = read_memory 29@ size 1 virtual_protect 0
000A: 29@ += 0x1
if and
0029: 31@ >= 0x00
001B: 0x80 > 31@
then
005A: 31@ += 30@
089F: get_actor 31@ pedtype_to 1@
if and
//Verificando se tem polcial por perto da área
0039: 1@ == 6
0104: actor 31@ near_actor $PLAYER_ACTOR radius 25.0 25.0 25.0 sphere 0
then
0A14: disable_respray_garages 1
while true
wait 0
0ACD: show_text_highpriority "~r~I THINK NOBODY IS SO STUPID TO DO IT..." time 100
0AB1: call_scm_func @LOOKINGFOR 0 retorna 0@
if or
8256: not player $PLAYER_CHAR defined
810F: not player $PLAYER_CHAR wanted_level > 0
0039: 0@ == 0
then
0A14: disable_respray_garages 0
01C2: remove_references_to_actor 31@ // Like turning an actor into a random pedestrian
break
end
end
end
end
end
while true
wait 0
0AB1: call_scm_func @LOOKINGFOR 0 retorna 0@
if or
0039: 0@ == 0
8256: not player $PLAYER_CHAR defined
then break
end
end
else
while true
wait 0
0AB1: call_scm_func @LOOKINGFOR 0 retorna 0@
if or
0039: 0@ == 0
8256: not player $PLAYER_CHAR defined
then break
end
end
end
end
end
end
//Função para verificar se o player está na área de algum Pay'n Spray segundo o .ini
//Possui função de verificar se o .ini está bem definido
//Retorna 0 se não estiver em Pay'n spray nenhum. Caso contrário, retorna 1.
:LOOKINGFOR
//Verificando se o .ini existe
if 8AAB: not file_exists "cleo\Paynspray.ini"
then
0ACD: show_text_highpriority "Unable to load1 ~b~'CLEO/Paynspray.ini'" time 5000
0A93: end_custom_thread
end
//Pegando o valor de ativação do mod
if 8AF0: 0@ = get_int_from_ini_file "cleo\Paynspray.ini" section "Settings" key "Amount"
then 0@ = -1
end
if not 0@ > 0
then
0ACD: show_text_highpriority "Unable to load2 ~b~'CLEO/Paynspray.ini'" time 5000
0A93: end_custom_thread
end
For 1@ = 1 to 0@
0093: 1@ = integer 1@ to_float
0087: 5@ = 1@ // (float)
0AED: 1@v = float 1@ to_string_format "%.15g"
//Coord X
if 8AF2: 2@ = get_float_from_ini_file "cleo\Paynspray.ini" section 1@v key "CX"
then
0ACD: show_text_highpriority "Unable to load3 ~b~'CLEO/Paynspray.ini'" time 5000
0A93: end_custom_thread
end
//Coord Y
if 8AF2: 3@ = get_float_from_ini_file "cleo\Paynspray.ini" section 1@v key "CY"
then
0ACD: show_text_highpriority "Unable to load3 ~b~'CLEO/Paynspray.ini'" time 5000
0A93: end_custom_thread
end
//Coord Z
if 8AF2: 4@ = get_float_from_ini_file "cleo\Paynspray.ini" section 1@v key "CZ"
then
0ACD: show_text_highpriority "Unable to load3 ~b~'CLEO/Paynspray.ini'" time 5000
0A93: end_custom_thread
end
//Verificando se está no espaço datado
if 0100: actor $PLAYER_ACTOR in_sphere 2@ 3@ 4@ radius 8.0 8.0 8.0 sphere 0 in_car
then
0AB2: ret 1 1
end
0092: 1@ = float 5@ to_integer
end
0AB2: ret 1 0
- Paynspray.ini:
- [Settings]
Amount = 10
;LOS SANTOS
;Idlewood
[1]
CX = 2065.24
CY = -1831.46
CZ = 13.55
;Temple
[2]
CX = 1025.01
CY = -1024.72
CZ = 32.10
; Saint Maria Beach
[3]
CX = 487.39
CY = -1740.02
CZ = 11.13
;COUNTY
;Dillimore
[4]
CX = 719.86
CY = -457.80
CZ = 16.34
;SANFIERRO
;Doherty
[5]
CX = -1904.86
CY = 284.15
CZ = 41.05
;Juniper Hollow
[6]
CX = -2425.38
CY = 1021.54
CZ = 50.40
;Michelle's garage
[7]
CX = -1787.283
CY = 1216.9333
CZ = 25.15
;DESERT
;El Quebrados
[8]
CX = -1420.37
CY = 2584.43
CZ = 55.84
;Fort Carson
[9]
CX = -100.11
CY = 1117.90
CZ = 19.74
;LAS VENTURAS
;Redsands West
[10]
CX = 1974.62
CY = 2162.76
CZ = 11.07
A ideia do .ini é o mod funcionar com outros tipos de totais conversões, só colocar a coordenada central dos pay'n spray's e estará funcionado.
Está funcionando basicamente, mas alguns bugs aparentes que encontrei:
- A polícia continua ignorando se você está dentro de uma dessas garagens;
- Queria fazer um texto central como é no pay'n spray em outros casos de recusa, não sei qual o opcode certo;
- Talvez um jeito de não precisar desse .ini talvez dê certo inclusive.
Devo ter esquecido de algum detalhe. Qualquer coisa, falo novamente. vlw
- ElyzandroVeterano
- Mensagens : 2915
Reputação : 81
Desde : 31/07/2013
Legal a ideia :D
Só não testei, pra tu ter ideia, testei acho que ontem o seu MOD Real Area 69.
Só não testei, pra tu ter ideia, testei acho que ontem o seu MOD Real Area 69.

______________________________
I̜mpe͢r͚at̲ivoͯ, ͘no̅ mụnd̶o͋ ̺sl͟o͗w
́Co͔m͢ó ̼a ̒p̎eçͦa̲ ̖MC͝s ̚só͊ ͡faz̀em̈́ ̛s̸p͆ee͌df̡l̡owͭ
̟Pͭra ̌que̲ ä́ p̐r͜es̋s͉aͤ?
- CloudScripter CLEO - Avançado
- Nick anterior : Israel
Título : Baiano
Mensagens : 858
Reputação : 138
Desde : 22/09/2015
(Só vi o tópico hoje)
Teste ai :
Teste ai :
- Código:
0A8D: 0@ = read_memory 0x96BFE4 size 1 virtual_protect 0
if 0@ == true
then
// Tá num pay 'n' spray
end
______________________________
Everyone gonna remember my name !
- RafaQNMensagens Nível 2
- Mensagens : 97
Reputação : 12
Desde : 18/10/2015
Idade : 27
Localização : São Paulo - SP
Vlw @Israel , diminuiu um .ini e metade das linhas do script
Apesar disso, ainda não resolveu nenhum dos problemas de scripts anteriores...
Deixa eu perguntar:
- Como faço pra ver as memórias do jogo como essa (li o tutorial de memória e arrays, mas não sei como procurar os bancos de memória e ver a que quero)?;
- Tem como saber qual memória é num script descompilado (muda o número da memória);
- Essa memória pega quando você está numa garagem, certo?
- Código:
{$CLEO}
thread "PayNSpr"
0000:
while true
wait 100
0A8D: 0@ = read_memory 0x96BFE4 size 1 virtual_protect 0 //Veificador se está num pay 'n spray
if and
0256: player $PLAYER_CHAR defined
010F: player $PLAYER_CHAR wanted_level > 0
0039: 0@ == true
then
//Caso seja definido, procurado e que esteja num pay'n spray, verificar se não há policial por perto
0A8D: 29@ = read_memory 0xB74490 size 4 virtual_protect 0
000A: 29@ += 0x4
0A8D: 29@ = read_memory 29@ size 4 virtual_protect 0
for 30@ = 0 to 35584 step 0x100
0A8D: 31@ = read_memory 29@ size 1 virtual_protect 0
000A: 29@ += 0x1
if and
0029: 31@ >= 0x00
001B: 0x80 > 31@
then
005A: 31@ += 30@
089F: get_actor 31@ pedtype_to 1@
if and
//Verificando se tem polcial por perto da área
0039: 1@ == 6
0104: actor 31@ near_actor $PLAYER_ACTOR radius 25.0 25.0 25.0 sphere 0
then
//Se tiver, o pay'n spray não funcionará!
0A14: disable_respray_garages 1
while true
wait 10
0ACD: show_text_highpriority "~r~I THINK NOBODY IS SO STUPID TO DO IT..." time 100
0A8D: 0@ = read_memory 0x96BFE4 size 1 virtual_protect 0
if or
8256: not player $PLAYER_CHAR defined
810F: not player $PLAYER_CHAR wanted_level > 0
0039: 0@ == false
then
0A14: disable_respray_garages 0
break
end
end
end
end
end
//Caso esteja num pay'n spray, estive sendo procurado e não tiver policial por perto, é para evitar do pay'n spray travar
while true
wait 10
0A8D: 0@ = read_memory 0x96BFE4 size 1 virtual_protect 0
if or
0039: 0@ == false
8256: not player $PLAYER_CHAR defined
then break
end
end
end
end
Apesar disso, ainda não resolveu nenhum dos problemas de scripts anteriores...
Deixa eu perguntar:
- Como faço pra ver as memórias do jogo como essa (li o tutorial de memória e arrays, mas não sei como procurar os bancos de memória e ver a que quero)?;
- Tem como saber qual memória é num script descompilado (muda o número da memória);
- Essa memória pega quando você está numa garagem, certo?
- CloudScripter CLEO - Avançado
- Nick anterior : Israel
Título : Baiano
Mensagens : 858
Reputação : 138
Desde : 22/09/2015
Tem várias formas. O Jr fez um tutorial básico ensinando a achar endereços usando disasm. Veja aqui.- Como faço pra ver as memórias do jogo como essa (li o tutorial de memória e arrays, mas não sei como procurar os bancos de memória e ver a que quero)?;
Quando você compila o script, o endereço é convertido para decimal. Dê um CTRL + H nele.- Tem como saber qual memória é num script descompilado (muda o número da memória);
Parece que sim. Só testei no pay 'n' spray, não percebi que é pra qualquer garagem ;-;- Essa memória pega quando você está numa garagem, certo?
- RafaQNMensagens Nível 2
- Mensagens : 97
Reputação : 12
Desde : 18/10/2015
Idade : 27
Localização : São Paulo - SP
Não sei também, só testei na garagem da Transfender e acionou também, foi só uma suposição...Parece que sim. Só testei no pay 'n' spray, não percebi que é pra qualquer garagem ;-;
Acho que você poderá tirar algum proveito desse mod: https://brmodstudio.forumeiros.com/t4227-selecionar-cor-no-pay-n-spray
Não to muito legal para ajudar com um script hoje, quem sabe mais tarde.
Não to muito legal para ajudar com um script hoje, quem sabe mais tarde.
______________________________

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'
- Killer_xDVeterano
- Título : "Griffin Station! Follow me!"
Mensagens : 1046
Reputação : 57
Desde : 16/02/2015
Idade : 23
Localização : Mato Grosso
Ia se legal se desse pra escolher a cor dentro das cores setadas pro carro, igual esse mod do fabia, soq só com as cores setadas no carcols, e nao todas do jogo, tipo como aparece no GGMM

(No caso sao as cores do sentinel)

(No caso sao as cores do sentinel)
- RafaQNMensagens Nível 2
- Mensagens : 97
Reputação : 12
Desde : 18/10/2015
Idade : 27
Localização : São Paulo - SP
Puts, pra fazer isso precisaria entender um pouco mais de programação (principalmente .asi que nunca vi especificamente).
E também queria focar em fazê-la não funcionar pra polícia como no GTA IV por exemplo. Seria bom se eu conseguisse fazê-los não me ignorar quando eu estiver dentro de uma como acontece...
E também queria focar em fazê-la não funcionar pra polícia como no GTA IV por exemplo. Seria bom se eu conseguisse fazê-los não me ignorar quando eu estiver dentro de uma como acontece...
- CloudScripter CLEO - Avançado
- Nick anterior : Israel
Título : Baiano
Mensagens : 858
Reputação : 138
Desde : 22/09/2015
@RafaQN escreveu:- Queria fazer um texto central como é no pay'n spray em outros casos de recusa, não sei qual o opcode certo;
- Código:
0ACB: show_styled_text "~r~I THINK NOBODY IS SO STUPID TO DO IT..." time 2000 style 5
______________________________
Everyone gonna remember my name !
- RafaQNMensagens Nível 2
- Mensagens : 97
Reputação : 12
Desde : 18/10/2015
Idade : 27
Localização : São Paulo - SP
Vlw de novo @Israel .
@Fabbio, já que você mostrou esse mod, descobri que eles são bem imcompatíveis, pois quando você entra no pay'n spray, acaba aparecendo a tela de escolha de cor mas não haverá respray. Ai buga tudo né...
@Fabbio, já que você mostrou esse mod, descobri que eles são bem imcompatíveis, pois quando você entra no pay'n spray, acaba aparecendo a tela de escolha de cor mas não haverá respray. Ai buga tudo né...
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum
|
|