LightVelox
LightVelox
Designer - Intermediário
Designer - Intermediário
Mensagens : 287
Reputação : 48
Desde : 27/03/2016
Idade : 19
Localização : Rio Grande do Sul - Brasil
Qua 14 Fev 2018, 11:31
Bem, eu estou fazendo o JobWorker so que eu to trabalhando num script em que o ped tem que ir até tal local(caminhando mesmo, lentamente) se abaixar, ficar um tempo ali depois se alevantar e voltar, o problema é que eu não consigo verificar se ele terminou ou não a sequence_task, eu tentei usar "GET_SEQUENCE_PROGRESS" mas não importa o quanto ele fez esse opcode sempre retorna o valor -1

______________________________
Se eu te ajudei/fui útil a você clique no Saber se terminou a sequence task? C40360b647564590b2f2529ac7fe9b9c no lado da minha mensagem,ou se fiz um bom trabalho tbm clique no Saber se terminou a sequence task? C40360b647564590b2f2529ac7fe9b9c

Spoiler:
isso vai aumentar um numero inútil que n serve pra porra nenhuma mas que aumenta minha auto-estima a continuar :v
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 14 Fev 2018, 21:34
Procurei rapidamente aqui e não achei, mais tarde procuro com mais calma. ;-;

______________________________
Saber se terminou a sequence task? 226c0ef57f9d7520d171cbadc68b3c56
Modifico quase qualquer coisa.   :)
------------------>>>http://gtamodvicio.blogspot.com/ <<<------------------
Saber se terminou a sequence task? 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 14 Fev 2018, 21:54
Eu acho que esse GET_SEQUENCE_PROGRESS tem um nome meio errado...
Ele só parece funcionar com a tarefa de ID 1560, na qual não sei qual é .

Não dá para simplesmente checar uma coisa específica? Ou seja, a posição que ele está, se está agachado ou não etc.

______________________________
BMS agora em nova plataforma:
Forum.MixMods.com.br
LightVelox
LightVelox
Designer - Intermediário
Designer - Intermediário
Mensagens : 287
Reputação : 48
Desde : 27/03/2016
Idade : 19
Localização : Rio Grande do Sul - Brasil
Qua 14 Fev 2018, 22:51
@Fabio escreveu:Procurei rapidamente aqui e não achei, mais tarde procuro com mais calma. ;-;
;-;
@Junior_Djjr escreveu:Eu acho que esse GET_SEQUENCE_PROGRESS tem um nome meio errado...
Ele só parece funcionar com a tarefa de ID 1560, na qual não sei qual é .

Não dá para simplesmente checar uma coisa específica? Ou seja, a posição que ele está, se está agachado ou não etc.
Problema e que a ia do jogo é meio retardada, as vezes o cara demora séculos pra dar uma simples volta no carro ou ele simplesmente "trava" e se não tiver um timer pra teleportar ele fica "freezado", mas vou ver se consigo detectar a posição dele, pra saber se ele voltou, problema que se tiver qualquer obstaculo no caminho ja era

______________________________
Se eu te ajudei/fui útil a você clique no Saber se terminou a sequence task? C40360b647564590b2f2529ac7fe9b9c no lado da minha mensagem,ou se fiz um bom trabalho tbm clique no Saber se terminou a sequence task? C40360b647564590b2f2529ac7fe9b9c

Spoiler:
isso vai aumentar um numero inútil que n serve pra porra nenhuma mas que aumenta minha auto-estima a continuar :v
Kevin Prestes
Kevin Prestes
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Mensagens : 1955
Reputação : 26
Desde : 30/05/2013
Localização : Estância Velha - RS
Qui 15 Fev 2018, 04:28
Para mim o GET_SEQUENCE_PROGRESS está funcionando normalmente... Tente fazer assim, manualmente:

Código:
CLEO_CALL GetSequenceProgress 0 (char) prog

{
GetSequenceProgress:
LVAR_INT char  // in

GET_PED_POINTER (char) char
char += 0x47C  // CPed->CPedIntelligence
READ_MEMORY (char 4 0) char
char += 0x10   // CPedIntelligence.CTaskManager->m_primaryTasks[3]
READ_MEMORY (char 4 0) char

IF char > 0
    char += 0x10
    READ_MEMORY (char 4 0) char
ELSE
    char = -1
ENDIF

//char++
CLEO_RETURN 0 (char)
}
LightVelox
LightVelox
Designer - Intermediário
Designer - Intermediário
Mensagens : 287
Reputação : 48
Desde : 27/03/2016
Idade : 19
Localização : Rio Grande do Sul - Brasil
Qui 15 Fev 2018, 11:14
Nossa obrigado mesmo, funciona que é uma beleza, so não entendi oque é o "0x10" no código ;-; quer dizer até entendi mais ou menos mas não sei que thread é esse n tem na database(o 0x47c eu sei que é o handle do char)

EDIT:
so deu um problema com esse code:

Código:
[size=14]GET_OFFSET_FROM_CAR_IN_WORLD_COORDS car -1.5 0.0 0.0 xx yy zz
                    OPEN_SEQUENCE_TASK task
                        TASK_GO_STRAIGHT_TO_COORD -1 xx yy zz 4 -1
                        TASK_ACHIEVE_HEADING -1 264.0
                        TASK_LOOK_ABOUT -1 2000
                        TASK_SAY -1 129
                        TASK_PAUSE -1 2500
                        TASK_GO_STRAIGHT_TO_COORD -1 1872.1408 -1857.5594 13.5787 4 -1
                        TASK_ACHIEVE_HEADING -1 264.0
                        TASK_PLAY_ANIM char "dealer_idle" "DEALER" 4.0 1 0 0 0 -1
                    CLOSE_SEQUENCE_TASK task
                    PERFORM_SEQUENCE_TASK char task
                    CLEAR_SEQUENCE_TASK task
                    progress = 0
                    WHILE progress < 5
                        CLEO_CALL GetSequenceProgress 0 (char) progress
                        PRINT_FORMATTED_NOW "Prog: %i" 2000 progress
                        IF IS_CHAR_DEAD char
                            MARK_CHAR_AS_NO_LONGER_NEEDED char
                            PRINT_BIG M_FAIL 4000 1
                            created = 0
                            GOSUB JobReset
                        ENDIF
                        WAIT 0
                    ENDWHILE[/size]
por algum motivo a variavel progress sempre retorna um valor tipo "1238128" ou algo assim

______________________________
Se eu te ajudei/fui útil a você clique no Saber se terminou a sequence task? C40360b647564590b2f2529ac7fe9b9c no lado da minha mensagem,ou se fiz um bom trabalho tbm clique no Saber se terminou a sequence task? C40360b647564590b2f2529ac7fe9b9c

Spoiler:
isso vai aumentar um numero inútil que n serve pra porra nenhuma mas que aumenta minha auto-estima a continuar :v
Kevin Prestes
Kevin Prestes
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Mensagens : 1955
Reputação : 26
Desde : 30/05/2013
Localização : Estância Velha - RS
Qui 15 Fev 2018, 17:19
@LightVelox escreveu:não sei que thread é esse
Thread é algo bem diferente. Dê uma olhada no Glossário aqui: 2. Preparações

@LightVelox escreveu:so não entendi oque é o "0x10" no código
Está dizendo nos comentários o que é cada coisa. O primeiro 0x10 pega um ponteiro (acredito que para um CTaskComplexSequence) que está
dentro do CTaskManager, que está dentro do CPedIntelligence (que foi pego no 0x47C)...

O segundo 0x10 é o offset para a lista de eventos (CTaskList?) dentro do CTaskComplexSequence.

@LightVelox escreveu:o 0x47c eu sei que é o handle do char
Não. É o ponteiro para o CPedIntelligence, está dizendo no comentário...

@LightVelox escreveu:so deu um problema com esse code:

[...]
Para mim está funcionando normal... Tanto a função, quanto o opcode. E perceba que você utilizou uma variável no TASK_PLAY_ANIM, e não o -1.
LightVelox
LightVelox
Designer - Intermediário
Designer - Intermediário
Mensagens : 287
Reputação : 48
Desde : 27/03/2016
Idade : 19
Localização : Rio Grande do Sul - Brasil
Qui 15 Fev 2018, 17:37
Eu que não é um thread mas eu costuma dar nomes comuns a coisas similares, tipo eu sei que o 0x47c não é precisamente o "handle" do char mas é sim ligado a ele(o ped) pelo ponteiro do CPedIntelligence, o 0x10 no caso eu não tinha entendido se era um ponteiro ou uma "array"(não literalmente) pcs do "if char > 0" mas agora entendi que na vdd isso é so pra checagem kksksksk(o > 0 no caso) eu consegui consertar, o problema tava no "task_say" por algum motivo, eu so tirei ele e funcionou normal o codigo, sla pq

______________________________
Se eu te ajudei/fui útil a você clique no Saber se terminou a sequence task? C40360b647564590b2f2529ac7fe9b9c no lado da minha mensagem,ou se fiz um bom trabalho tbm clique no Saber se terminou a sequence task? C40360b647564590b2f2529ac7fe9b9c

Spoiler:
isso vai aumentar um numero inútil que n serve pra porra nenhuma mas que aumenta minha auto-estima a continuar :v
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
Qui 15 Fev 2018, 22:15
@Kevin Prestes escreveu:
@LightVelox escreveu:o 0x47c eu sei que é o handle do char
Não. É o ponteiro para o CPedIntelligence, está dizendo no comentário...
Falando mais certinho: offset para o ponteiro.

______________________________
BMS agora em nova plataforma:
Forum.MixMods.com.br
Kevin Prestes
Kevin Prestes
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Mensagens : 1955
Reputação : 26
Desde : 30/05/2013
Localização : Estância Velha - RS
Qui 15 Fev 2018, 22:43
@Junior_Djjr escreveu:Falando mais certinho: offset para o ponteiro.
Acho que é bom ressaltar que isso é um offset mesmo, ele parece estar se confundindo.
Conteúdo patrocinado
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum