annuncio

Comprimi
Ancora nessun annuncio.

[EasyUo - Help] sub che riconosca il save...

Comprimi
X
 
  • Filtro
  • Ora
  • Visualizza
Elimina tutto
nuovi messaggi

  • [EasyUo - Help] sub che riconosca il save...

    Scusatemi.. Di solito non chiedo aiuto per li script, cerco per quanto possibile di modificarli da solo, ma stavolta non riesco proprio a risolvere questo problema...
    Mi servirebbe una sub, da inserire in vari script, che riconosca sia il save (the world is saving) che il cleaning resources e e appena ciò accade che aspetti circa 30-40 secondi (non importa che riconosca anche il termine dell'operazione)..
    Se qualcuno potesse aiutarmi mi farebbe davvero felice

  • #2
    Ho fatto una sub che controlla il journal e, nel caso, si ferma e non fa return finchè non finisce il save/clean.

    Uso:
    codice:
    ...
    gosub CheckShardStatus
    ...
    Ecco qua:

    codice:
    sub CheckShardStatus
    CheckShardStatusLoop1:
    sleep 1
    gosub CheckStatusInJournal
    if #result = #false
       goto CheckShardStatusLoop1
    return
    
    sub CheckStatusInJournal
    set %SaveMessage the_world_is_saving,_please_wait.
    set %SaveCompleteMessage world_save_complete._the_entire_process_took
    set %CleanMessage cleaning_resources,_please_wait...
    set %CleanCompleteMessage resources_cleaned
    if %LastJIndex = N/A
       set %LastJIndex #jindex - 1
    if %ShardStatus = N/A
       set %ShardStatus #true
    set %CurrentJIndex %LastJIndex + 1
    while %CurrentJIndex <= #jindex
    {
      scanjournal %CurrentJIndex
      if %SaveMessage in #journal
         set %ShardStatus #false
      if %CleanMessage in #journal
         set %ShardStatus #false
      if %SaveCompleteMessage in #journal
         set %ShardStatus #true
      if %CleanCompleteMessage in #journal
         set %ShardStatus #true
      set %LastJIndex %CurrentJIndex
      set %CurrentJIndex %CurrentJIndex + 1
    }
    return %ShardStatus
    Take care of yourself.

    Commenta


    • #3
      grazie mille davvero!
      ora vedo se riesco a collocarla nello scirpt

      Commenta


      • #4
        Originariamente inviato da Mitraton
        Ho fatto una sub che controlla il journal e, nel caso, si ferma e non fa return finchè non finisce il save/clean.

        Uso:
        codice:
        ...
        gosub CheckShardStatus
        ...
        Ecco qua:

        codice:
        sub CheckShardStatus
        CheckShardStatusLoop1:
        sleep 1
        gosub CheckStatusInJournal
        if #result = #false
           goto CheckShardStatusLoop1
        return
        
        sub CheckStatusInJournal
        set %SaveMessage the_world_is_saving,_please_wait.
        set %SaveCompleteMessage world_save_complete._the_entire_process_took
        set %CleanMessage cleaning_resources,_please_wait...
        set %CleanCompleteMessage resources_cleaned
        if %LastJIndex = N/A
           set %LastJIndex #jindex - 1
        if %ShardStatus = N/A
           set %ShardStatus #true
        set %CurrentJIndex %LastJIndex + 1
        while %CurrentJIndex <= #jindex
        {
          scanjournal %CurrentJIndex
          if %SaveMessage in #journal
             set %ShardStatus #false
          if %CleanMessage in #journal
             set %ShardStatus #false
          if %SaveCompleteMessage in #journal
             set %ShardStatus #true
          if %CleanCompleteMessage in #journal
             set %ShardStatus #true
          set %LastJIndex %CurrentJIndex
          set %CurrentJIndex %CurrentJIndex + 1
        }
        return %ShardStatus
        Una domanda, ma quando la eseguo con gosub non esce dalla sub finchè non è finito il save/clear?

        Icq 223-493-903

        I only use the brakes so I can accelerate all over again.
        « Guardati dalla furia di un uomo tranquillo » John Dryden




        Commenta


        • #5
          Originariamente inviato da Gendo Ikari
          Una domanda, ma quando la eseguo con gosub non esce dalla sub finchè non è finito il save/clear?
          esatto, è proprio quello che intendevo con la frase "non fa return finchè non finisce il save/clean"
          Take care of yourself.

          Commenta


          • #6
            Scusate se uppo, in fondo sono solo 7 anni e dalla ricerca ho trovato solo questo..

            1) Questa sub funziona ancora?
            2) In che posizione devo collocare il "gosub CheckShardStatus" all'interno di uno script di EUOX?

            Grazie a chi mi risponderà!
            OregoN []
            https://www.youtube.com/watch?v=rxslqSGCXGw

            Commenta


            • #7
              Originariamente inviato da Alberto2 Visualizza il messaggio
              Scusate se uppo, in fondo sono solo 7 anni e dalla ricerca ho trovato solo questo..

              1) Questa sub funziona ancora?
              2) In che posizione devo collocare il "gosub CheckShardStatus" all'interno di uno script di EUOX?

              Grazie a chi mi risponderà!
              Non se se funge ancora, comunque sia questo lo metti a fine script

              codice:
              sub CheckShardStatus
              CheckShardStatusLoop1:
              sleep 1
              gosub CheckStatusInJournal
              if #result = #false
                 goto CheckShardStatusLoop1
              return
              
              sub CheckStatusInJournal
              set %SaveMessage the_world_is_saving,_please_wait.
              set %SaveCompleteMessage world_save_complete._the_entire_process_took
              set %CleanMessage cleaning_resources,_please_wait...
              set %CleanCompleteMessage resources_cleaned
              if %LastJIndex = N/A
                 set %LastJIndex #jindex - 1
              if %ShardStatus = N/A
                 set %ShardStatus #true
              set %CurrentJIndex %LastJIndex + 1
              while %CurrentJIndex <= #jindex
              {
                scanjournal %CurrentJIndex
                if %SaveMessage in #journal
                   set %ShardStatus #false
                if %CleanMessage in #journal
                   set %ShardStatus #false
                if %SaveCompleteMessage in #journal
                   set %ShardStatus #true
                if %CleanCompleteMessage in #journal
                   set %ShardStatus #true
                set %LastJIndex %CurrentJIndex
                set %CurrentJIndex %CurrentJIndex + 1
              }
              return %ShardStatus
              Mentre questo lo metti nel punto in cui vuoi che lo script faccia il controllo se il game sta salvando
              codice:
              ...
              gosub CheckShardStatus
              ...

              Commenta


              • #8
                Originariamente inviato da ErCristo Visualizza il messaggio

                Mentre questo lo metti nel punto in cui vuoi che lo script faccia il controllo se il game sta salvando
                codice:
                ...
                gosub CheckShardStatus
                ...
                Si ok ma dove? in ogni sub prima del return ad esempio? Xke ho provato con una sub (non questa sopra) e mi faceva buggare lo script, tipo come se mettessi pausa...
                OregoN []
                https://www.youtube.com/watch?v=rxslqSGCXGw

                Commenta


                • #9
                  il gosub lo metti Dove Vuoi TE, dentro o fuori il return, dove lo script necessita di controllo, dove secondo te è indispensabile fare un check del save, non so come altro dirtelo più di cosi

                  Commenta


                  • #10
                    Quindi se per esempio ho una sub che consegna oggetti per una quest la metto in quella sub ke è dove passa + tempo lo script e dov'è + probabile che, durante quel periodo, accada il save giusto?
                    Ed all'interno di quella sub lo metto all'inizio xke è un'azione che ripete e quindi prima di farla e di bloccarsi controlla se ci sta un save giusto?
                    OregoN []
                    https://www.youtube.com/watch?v=rxslqSGCXGw

                    Commenta

                    Sto operando...
                    X