Duvida: Como saber se um script externo já esta rodando?

    Compartilhe
    avatar
    Um Geek
    Mensagens Nível 3
    Mensagens Nível 3

    Mensagens : 228
    Reputação : 67
    Desde : 07/03/2017
    Localização : Los Santos
    Link : http://emcodigo.blogspot.com.br/

    Duvida: Como saber se um script externo já esta rodando?

    Mensagem por Um Geek em Dom 21 Maio 2017, 00:09

    Ao usa o comando STREAM_CUSTOM_SCRIPT, é possível saber de o tal script ja esta sendo executado? A questão é que eu queria que só pudesse o executar novamente caso o anterior tenha sido terminado (ONO)

    fragmento de codigo:
    Código:

    ...
                    IF IS_KEY_PRESSED VK_KEY_1
                    AND DOES_CHAR_EXIST poke_char
                        READ_MEMORY pFORCE 1 0 temp_i
                        READ_MEMORY pTYPE 1 0 temp_ii
                        READ_MEMORY pATTACK1 1 0 temp_iii
                        GET_LABEL_POINTER buffer_string_temp pTemp
                        STRING_FORMAT pTemp "Pokemon SA/Attacks/attack_%d.cs" temp_iii
                        READ_MEMORY pLEVEL 1 0 temp_iii
                        IF DOES_FILE_EXIST $pTemp
                            STREAM_CUSTOM_SCRIPT $pTemp poke_char (temp_i temp_ii temp_iii) //-- external
                        ENDIF
                        WHILE IS_KEY_PRESSED VK_KEY_1
                            WAIT 0
                        ENDWHILE
                    ENDIF
    ...
    avatar
    Arthropod
    Mensagens Nível 4
    Mensagens Nível 4

    Mensagens : 272
    Reputação : 6
    Desde : 20/12/2016
    Localização : Unidade Federal do Leste
    Link : 127.0.0.1:80

    Re: Duvida: Como saber se um script externo já esta rodando?

    Mensagem por Arthropod em Dom 21 Maio 2017, 01:43

    0A92 também é condicional. Você pode chamá-lo condicionalmente. É possível saber se esse foi iniciado com sucesso. Você pode usar 0AAA, com nome truncado à 7 caracteres, para verificar. Bem, visivelmente, não há garantias disto funcionar fino.
    Há outros métodos que eu uso, mas estes são menos amistosos, tais como verificar algo no bytecode do script. Caso não haja qualquer outro thread compartilhando do mesmo bytecode, é um dos mais seguros métodos.


    ____________________
    Especificações de hardware:
    PC AMD FX Octa Core de 4.0GHz (OC), com GPU AMD Radeon de VRAM de 2GB, RAM de 8GB, HDD de 1TB, e fonte de alimentação ATX de 750W. Sequestrado por tempo indeterminado pelo TRIBUNAL DE JUSTIÇA DO ESTADO DO ESPÍRITO SANTO. É para tomar meus bens que pago impostos nessa aldeia chamada Brasil. YUNO

    avatar
    Um Geek
    Mensagens Nível 3
    Mensagens Nível 3

    Mensagens : 228
    Reputação : 67
    Desde : 07/03/2017
    Localização : Los Santos
    Link : http://emcodigo.blogspot.com.br/

    Re: Duvida: Como saber se um script externo já esta rodando?

    Mensagem por Um Geek em Dom 21 Maio 2017, 13:17

    Eu j usava o TERMINATE_THIS_CUSTOM_SCRIPT, mesmo assim empilhava scripts antes de serem terminados.

    Eu dei um jeitinho aqui assim...

    pressiono a tecla e o script externo é executado, enquanto eu segurar a tecla o script atual se manterá parado e o externo estará ativo. Não poderei iniciar novos scripts externos enquanto a tecla estiver pressionada.

    Fragmento - Script principal:

    Código:

    ...
    STREAM_CUSTOM_SCRIPT {src}
    WHILE IS_KEY_PRESSED VK_KEY_1
     OR IS_KEY_PRESSED VK_KEY_2
     WAIT 0
    ENDWHILE
    ...

    Se eu soltar a tecla o script externo sera encerrado e o script principal continuara de onde tinha parado
    Fragmento - Script externo:

    Código:

    ...
    WHILE IS_KEY_PRESSED VK_KEY_1
    OR IS_KEY_PRESSED VK_KEY_2
     WAIT 0
    ENDWHILE
    TERMINATE_THIS_CUSTOM_SCRIPT
    ...

    Bem simples.

    Ainda estou avaliando, mas tem funcionado bem até agora (BG)
    avatar
    Junior_Djjr
    Scripter CLEO - Avançado
    Scripter CLEO - Avançado

    Título : Não quero acreditar, quero saber.
    Mensagens : 21616
    Reputação : 635
    Desde : 03/05/2012
    Idade : 21
    Localização : Ibitinga - SP
    Link : www.MixMods.com.br

    Re: Duvida: Como saber se um script externo já esta rodando?

    Mensagem por Junior_Djjr em Dom 21 Maio 2017, 13:52

    Como o Arthropod disse, o 0AAA serve, eu uso várias vezes no MixSets. 100%

    Daí é só botar SCRIPT_NAME pra dar um nome pro seu outro script (máximo 7 carácteres), assim fica mais seguro também, daí você simplesmente pega o ponteiro desse script com o 0AAA e checa se o ponteiro é diferente de 0.


    ____________________
    avatar
    Um Geek
    Mensagens Nível 3
    Mensagens Nível 3

    Mensagens : 228
    Reputação : 67
    Desde : 07/03/2017
    Localização : Los Santos
    Link : http://emcodigo.blogspot.com.br/

    Re: Duvida: Como saber se um script externo já esta rodando?

    Mensagem por Um Geek em Dom 21 Maio 2017, 18:55

    Valeu!

    Com isto já da para deixar mais seguro o que estou tentando fazer. (BG)

    Nome do comando
    0AAA = GET_SCRIPT_STRUCT_NAMED


    ____________________



    Conteúdo patrocinado

    Re: Duvida: Como saber se um script externo já esta rodando?

    Mensagem por Conteúdo patrocinado


      Data/hora atual: Ter 27 Jun 2017, 21:23