Página 1 de 2

Existe algum TRY no GTA3Script?

Enviado: 04 Abr 2021, 18:12
por Gabriel432135
Em java, por exemplo, tem o
try{
   //Código
}catch(Exception e){
   //Caso ocorra alguma exception...
}

Mas no GTA3Script tem algo assim? Porque eu quero fazer um mod, e ele não tem como saber quantos players estão lá. Então o
GET_PLAYER_CHAR crasha o jogo

Re: Existe algum TRY no GTA3Script?

Enviado: 04 Abr 2021, 22:50
por nadalao
usa o comando IS_2PLAYER_GAME_GOING_ON antes do GET_PLAYER_CHAR, já vai dar certo pra esse caso

mas esse negócio de TRY não existe mesmo, o mais parecido é o ELSE, tipo:

IF...
       faz as coisas
ELSE
       faz outra coisa
ENDIF

mas também não são todos comandos que suportam IF, tem que testar mesmo.

 

Re: Existe algum TRY no GTA3Script?

Enviado: 04 Abr 2021, 23:50
por Gabriel432135
Que pena. Na verdade, o que eu quero é alguma forma de "detectar" os players por perto. Eu to fazendo um mod pra usar no samp, já que tem uns hackers que somem no radar. O problema é que o GET_RANDOM_CHAR_IN_SPHERE_NO_SAVE_RECURSIVE não funciona. Tem algum outro jeito de detectar os chars por perto? Por favor, qualquer coisa

Re: Existe algum TRY no GTA3Script?

Enviado: 05 Abr 2021, 00:00
por wooZ
Gabriel432135 escreveu:
04 Abr 2021, 23:50
Que pena. Na verdade, o que eu quero é alguma forma de "detectar" os players por perto. Eu to fazendo um mod pra usar no samp, já que tem uns hackers que somem no radar. O problema é que o GET_RANDOM_CHAR_IN_SPHERE_NO_SAVE_RECURSIVE não funciona. Tem algum outro jeito de detectar os chars por perto? Por favor, qualquer coisa
Já tentou com cleo+?

Re: Existe algum TRY no GTA3Script?

Enviado: 05 Abr 2021, 00:07
por Gabriel432135
wooZ escreveu:
05 Abr 2021, 00:00
Gabriel432135 escreveu:
04 Abr 2021, 23:50
Que pena. Na verdade, o que eu quero é alguma forma de "detectar" os players por perto. Eu to fazendo um mod pra usar no samp, já que tem uns hackers que somem no radar. O problema é que o GET_RANDOM_CHAR_IN_SPHERE_NO_SAVE_RECURSIVE não funciona. Tem algum outro jeito de detectar os chars por perto? Por favor, qualquer coisa
Já tentou com cleo+? 
Não, nunca tentei. Como ele funciona? Tem um compilador próprio? Como eu instalo? 

Re: Existe algum TRY no GTA3Script?

Enviado: 05 Abr 2021, 00:17
por Gabriel432135
wooZ escreveu:
05 Abr 2021, 00:00
Gabriel432135 escreveu:
04 Abr 2021, 23:50
 
Já tentou com cleo+?  
Eu li lá, muito foda, gostei demais. Coisas simples como obter o trailer de algum carro. Facilitam de mais. Não sei por que não se chama CLEO 5. Um monte de mod meu tem problemas porque os opcodes são muito limitados. Vou tentar com ele, se funcionar, é foda

Re: Existe algum TRY no GTA3Script?

Enviado: 05 Abr 2021, 09:44
por nadalao
o GET_PLAYER_CHAR serve só pro CJ e pro modo multiplayer local, se você quer retornar todos os peds do jogo tem que usar RECURSIVE,

IF GET_RANDOM_CHAR_IN_SPHERE_NO_SAVE_RECURSIVE
      WHILE GET_RANDOM_CHAR_IN_SPHERE_NO_SAVE_RECURSIVE
             //faz as coisas
      ENDWHILE
ENDIF

existe um comando desse no CLEO+ mas eu ainda não sei usar ele  :fts:

(isso funciona em todos peds, incluindo CJ)

Re: Existe algum TRY no GTA3Script?

Enviado: 05 Abr 2021, 11:34
por Gabriel432135
nadalao escreveu:
05 Abr 2021, 09:44
o GET_PLAYER_CHAR serve só pro CJ e pro modo multiplayer local, se você quer retornar todos os peds do jogo tem que usar RECURSIVE,

IF GET_RANDOM_CHAR_IN_SPHERE_NO_SAVE_RECURSIVE
WHILE GET_RANDOM_CHAR_IN_SPHERE_NO_SAVE_RECURSIVE
//faz as coisas
ENDWHILE
ENDIF

existe um comando desse no CLEO+ mas eu ainda não sei usar ele :fts:

(isso funciona em todos peds, incluindo CJ)
Aí que está o problema, porque esse comando não funciona. Você sabe onde fica a pasta do compilador do GTA3Script?

Re: Existe algum TRY no GTA3Script?

Enviado: 05 Abr 2021, 11:47
por nadalao
Gabriel432135 escreveu:
05 Abr 2021, 11:34
Aí que está o problema, porque esse comando não funciona. Você sabe onde fica a pasta do compilador do GTA3Script? 
é você que escolheu onde a pasta do compilador fica kkkk

mas esse comando funciona sim, que erro aparece quando você tenta compilar? consegue mostrar uma print?

Re: Existe algum TRY no GTA3Script?

Enviado: 05 Abr 2021, 12:45
por Gabriel432135
nadalao escreveu:
05 Abr 2021, 11:47
Gabriel432135 escreveu:
05 Abr 2021, 11:34
Aí que está o problema, porque esse comando não funciona. Você sabe onde fica a pasta do compilador do GTA3Script?
é você que escolheu onde a pasta do compilador fica kkkk

mas esse comando funciona sim, que erro aparece quando você tenta compilar? consegue mostrar uma print? 
Então kkkk, eu fiz uma pesquisa aqui no pc, e achei já. Vou tentar com o CLEO+. O problema é que esse comando padrão funciona com o gta sa offline, com os npcs, mas não detecta os caras online no SAMP. Eles estão usando um hack que apaga eles no radar. Eu queria fazer um mod para contornar isso, mas o  GET_RANDOM_CHAR_IN_SPHERE_NO_SAVE_RECURSIVE não funciona com eles online. Vou tentar com os comandos do CLEO+. Se eu conseguir, eu volto pra dar reputação pra vocês kkk

Re: Existe algum TRY no GTA3Script?

Enviado: 05 Abr 2021, 13:00
por Gabriel432135
nadalao escreveu:
05 Abr 2021, 11:47
Gabriel432135 escreveu:
05 Abr 2021, 11:34
Aí que está o problema, porque esse comando não funciona. Você sabe onde fica a pasta do compilador do GTA3Script?
é você que escolheu onde a pasta do compilador fica kkkk

mas esse comando funciona sim, que erro aparece quando você tenta compilar? consegue mostrar uma print? 
Eu uso o VS code, mas estou com dificuldades de instalar o CLEO+ nele. Eu abri a pasta do compilador, mas não tem nenhum cleo.xml nele. Nem sem por onde começar

Re: Existe algum TRY no GTA3Script?

Enviado: 05 Abr 2021, 13:05
por Ruben Viera
Gabriel432135 escreveu:
05 Abr 2021, 12:45
nadalao escreveu:
05 Abr 2021, 11:47
Gabriel432135 escreveu:
05 Abr 2021, 11:34
Aí que está o problema, porque esse comando não funciona. Você sabe onde fica a pasta do compilador do GTA3Script?
é você que escolheu onde a pasta do compilador fica kkkk

mas esse comando funciona sim, que erro aparece quando você tenta compilar? consegue mostrar uma print? 
Então kkkk, eu fiz uma pesquisa aqui no pc, e achei já. Vou tentar com o CLEO+. O problema é que esse comando padrão funciona com o gta sa offline, com os npcs, mas não detecta os caras online no SAMP. Eles estão usando um hack que apaga eles no radar. Eu queria fazer um mod para contornar isso, mas o GET_RANDOM_CHAR_IN_SPHERE_NO_SAVE_RECURSIVE não funciona com eles online. Vou tentar com os comandos do CLEO+. Se eu conseguir, eu volto pra dar reputação pra vocês kkk 
Tentou relatá-los à administração do server samp? Eles podem bani-los caso o hack quebra alguma regra do server.

Re: Existe algum TRY no GTA3Script?

Enviado: 05 Abr 2021, 13:07
por Gabriel432135
Ruben Viera escreveu:
05 Abr 2021, 13:05
Gabriel432135 escreveu:
05 Abr 2021, 12:45
 
Tentou relatá-los à administração do server samp? Eles podem bani-los caso o hack quebra alguma regra do server. 
Nem adianta. Eles usam VPN e voltam. Tenho que fazer justiça com minhas próprias mãos kkk

Re: Existe algum TRY no GTA3Script?  [RESOLVIDO]

Enviado: 05 Abr 2021, 13:11
por nadalao
tem ainda outro método pra retornar todos peds, sem recursive. essa função é o for_all:
 

Código: Selecionar tudo

READ_MEMORY 0x00B74490 4 0 (p)
p += 0x04
READ_MEMORY p 4 0 (p)
i = 0
WHILE i <= 0x8B00
    READ_MEMORY p 1 0 (char)
    p++
    IF char >= 0x00
    AND char < 0x80
        char += i

        // char
    ENDIF
    i += 0x100
ENDWHILE
você pode transformar essa função em um cleo_call se quiser.

ali onde está o // char é onde você pode fazer as coisas com o ped

Re: Existe algum TRY no GTA3Script?

Enviado: 05 Abr 2021, 14:34
por Gabriel432135
Eu quero agradecer a você nadalo e ao wooZ, que me indicou o CLEO+. Que biblioteca maravilhosa. Eu finalmente consegui. Eu usei o: SET_SCRIPT_EVENT_CHAR_PROCESS ON do cleo+ e deu certo. VLW. + 3 DE Reputação pra cada um de vcs kkkkk

Adicionado após 3 minutos 6 segundos:
nadalao escreveu:
05 Abr 2021, 13:11
tem ainda outro método pra retornar todos peds, sem recursive. essa função é o for_all:

Código: Selecionar tudo

READ_MEMORY 0x00B74490 4 0 (p)
p += 0x04
READ_MEMORY p 4 0 (p)
i = 0
WHILE i <= 0x8B00
    READ_MEMORY p 1 0 (char)
    p++
    IF char >= 0x00
    AND char < 0x80
        char += i

        // char
    ENDIF
    i += 0x100
ENDWHILE
você pode transformar essa função em um cleo_call se quiser.

ali onde está o // char é onde você pode fazer as coisas com o ped 
Vou guardar esse, pra caso eu precisar, VLW

fazer coisas com o ped ( ͡° ͜ʖ ͡°)