annuncio

Comprimi
Ancora nessun annuncio.

[EASYUO] Bod Gatherer

Comprimi
Questa è una discussione evidenziata.
X
X
 
  • Filtro
  • Ora
  • Visualizza
Elimina tutto
nuovi messaggi

  • #46
    edit ho risolto
    Ultima modifica di Marino; 07-01-2010, 20:06.

    Commenta


    • #47
      ho notato che spesso lo script si impalla cercando di prendere BOD dal Guildmaster che ovviamente non li da...così facendo il PG resta bloccato per parecchio tempo...spesso lo fa con il fabbro ad Umbra mentre il tailor di umbra sembra procedere abbastanza tranquillo...qualcuno ha una soluzione?
      Zio Spino - Piccolo Popolo

      Commenta


      • #48
        Originariamente inviato da Spino Visualizza il messaggio
        ho notato che spesso lo script si impalla cercando di prendere BOD dal Guildmaster che ovviamente non li da...così facendo il PG resta bloccato per parecchio tempo...spesso lo fa con il fabbro ad Umbra mentre il tailor di umbra sembra procedere abbastanza tranquillo...qualcuno ha una soluzione?
        spino togli il type HS su questa sub

        codice:
        sub findNpc
        namespace push
        namespace local findNpc
        set !type %1
        set !previous %2
        set !arraySize 0
        set !element 1
        _findNpc:
        GoSub CheckForConnectionLost
        finditem IS_HS G_10
        a breve posto lo script modificato per il riavvio del server per il mattino e altre modifiche intanto togli HS sulla riga finditem IS_HS G_10

        Commenta


        • #49
          Originariamente inviato da Marino Visualizza il messaggio
          spino togli il type HS su questa sub

          codice:
          sub findNpc
          namespace push
          namespace local findNpc
          set !type %1
          set !previous %2
          set !arraySize 0
          set !element 1
          _findNpc:
          GoSub CheckForConnectionLost
          finditem IS_HS G_10
          a breve posto lo script modificato per il riavvio del server per il mattino e altre modifiche intanto togli HS sulla riga finditem IS_HS G_10
          gentilissimo, grazie mille
          per ora quindi faccio questa modifica in attesa che tu posti lo script nuovo
          grazie ancora!!
          Zio Spino - Piccolo Popolo

          Commenta


          • #50
            un altra cosa che ho notato è che a lungo andare si sfasano i tempi
            mi spiego meglio:

            il primo giro va liscio,
            al secondo/terzo capita che il primo pg chieda il BOD e gli venga risposto dall' NPG di attendere 1 minuto,
            al quarto/quinto giro il primo pg chiede il bod e gli dicono di attendere 2 minuti

            più si va avanti più l'attesa aumenta questo perchè a quanto pare il timer dell'ora parte dal login e non dalla ricezione effettiva del Bod perciò dopo qualche giro si accumula un ritardo che lascia connesso il pg per diversi minuti prima di ruscire a recuperare il bod richiesto.

            infatti dal login alla ricezione bod passano sempre diversi secondi dovuti al fatto che a volte il pg non riesce a beccare al primo colpo l'NPG e ci prova un paio di volte prima di riuscire a trovarlo e prendere il BOD.

            forse basterebbe regolare il timer a 62 minuti invece che 60 per risolvere in parte il problema
            Zio Spino - Piccolo Popolo

            Commenta


            • #51
              Originariamente inviato da Marino Visualizza il messaggio
              spino togli il type HS su questa sub

              codice:
              sub findNpc
              namespace push
              namespace local findNpc
              set !type %1
              set !previous %2
              set !arraySize 0
              set !element 1
              _findNpc:
              GoSub CheckForConnectionLost
              finditem IS_HS G_10
              a breve posto lo script modificato per il riavvio del server per il mattino e altre modifiche intanto togli HS sulla riga finditem IS_HS G_10
              Non mi pare la soluzione giusta, lo script ha un bug non riportato proprio perchè controlla di non chiedere al guildmaster solo al tailor e non agli smith.
              Poco sotto questa parte di codice dovresti avere questa
              codice:
              if #findkind <> -1
              {
              	if #findrep = 7
              	{
              		event property #findid
              		if !type = tailor
              		{
              			if guild notin #property
              			{
              				if weaver in #property || tailor in #property
              				{
              					set !npc . !element #findid
              					set !arraySize !arraySize + 1
              					set !element !element + 1
              				}
              			}
              		}
              		if !type = smith
              		{
              			if blacksmith in #property || armourer in #property && guild notin #property
              			{
              				set !npc . !element #findid
              				set !arraySize !arraySize + 1
              				set !element !element + 1
              			}
              		}
              	}
              	goto _findNpc
              }
              sostituisci con questa che come vedi fa il controllo anche sugli smith, senza cancellare nulla
              codice:
              if #findkind <> -1
              {
              	if #findrep = 7
              	{
              		event property #findid
              		if !type = tailor
              		{
              			if guild notin #property
              			{
              				if weaver in #property || tailor in #property
              				{
              					set !npc . !element #findid
              					set !arraySize !arraySize + 1
              					set !element !element + 1
              				}
              			}
              		}
              		if !type = smith
              		{
              			if guild notin #property
              			{
              			 if blacksmith in #property || armourer in #property
              			 {
              				set !npc . !element #findid
              				set !arraySize !arraySize + 1
              				set !element !element + 1
              			 }
                    }
              		}
              	}
              	goto _findNpc
              }
              Originariamente inviato da Spino Visualizza il messaggio
              un altra cosa che ho notato è che a lungo andare si sfasano i tempi
              mi spiego meglio:

              il primo giro va liscio,
              al secondo/terzo capita che il primo pg chieda il BOD e gli venga risposto dall' NPG di attendere 1 minuto,
              al quarto/quinto giro il primo pg chiede il bod e gli dicono di attendere 2 minuti

              più si va avanti più l'attesa aumenta questo perchè a quanto pare il timer dell'ora parte dal login e non dalla ricezione effettiva del Bod perciò dopo qualche giro si accumula un ritardo che lascia connesso il pg per diversi minuti prima di ruscire a recuperare il bod richiesto.

              infatti dal login alla ricezione bod passano sempre diversi secondi dovuti al fatto che a volte il pg non riesce a beccare al primo colpo l'NPG e ci prova un paio di volte prima di riuscire a trovarlo e prendere il BOD.

              forse basterebbe regolare il timer a 62 minuti invece che 60 per risolvere in parte il problema
              non vedo dove sia il problema nel lasciare il pg fermo ad aspettare il bod, non cambierebbe nulla se invece di aspettare lui di fronte al tailor aspettasse lo script di ripartire con il login, sei sempre in attessa del prossimo bod. In realtà io preferisco quando lo script non aspetta prima di fare il login perchè il consumo di cpu è molto piu elevato in quella fase con conseguente innalzamento delle temperature. In caso tu voglia però posso mostrarti cosa modificare per avere il delay in minuti e poter mettere 62 ma ti ripeto che non ne vedo l'utilità.
              ICQ: 567-107-480

              Sono spesso occupato con l'università , pazientate

              Commenta


              • #52
                Originariamente inviato da DaniOvertures Visualizza il messaggio
                Non mi pare la soluzione giusta, lo script ha un bug non riportato proprio perchè controlla di non chiedere al guildmaster solo al tailor e non agli smith.
                Poco sotto questa parte di codice dovresti avere questa
                codice:
                if #findkind <> -1
                {
                	if #findrep = 7
                	{
                		event property #findid
                		if !type = tailor
                		{
                			if guild notin #property
                			{
                				if weaver in #property || tailor in #property
                				{
                					set !npc . !element #findid
                					set !arraySize !arraySize + 1
                					set !element !element + 1
                				}
                			}
                		}
                		if !type = smith
                		{
                			if blacksmith in #property || armourer in #property && guild notin #property
                			{
                				set !npc . !element #findid
                				set !arraySize !arraySize + 1
                				set !element !element + 1
                			}
                		}
                	}
                	goto _findNpc
                }
                sostituisci con questa che come vedi fa il controllo anche sugli smith, senza cancellare nulla
                codice:
                if #findkind <> -1
                {
                	if #findrep = 7
                	{
                		event property #findid
                		if !type = tailor
                		{
                			if guild notin #property
                			{
                				if weaver in #property || tailor in #property
                				{
                					set !npc . !element #findid
                					set !arraySize !arraySize + 1
                					set !element !element + 1
                				}
                			}
                		}
                		if !type = smith
                		{
                			if guild notin #property
                			{
                			 if blacksmith in #property || armourer in #property
                			 {
                				set !npc . !element #findid
                				set !arraySize !arraySize + 1
                				set !element !element + 1
                			 }
                      }
                		}
                	}
                	goto _findNpc
                }

                non vedo dove sia il problema nel lasciare il pg fermo ad aspettare il bod, non cambierebbe nulla se invece di aspettare lui di fronte al tailor aspettasse lo script di ripartire con il login, sei sempre in attessa del prossimo bod. In realtà io preferisco quando lo script non aspetta prima di fare il login perchè il consumo di cpu è molto piu elevato in quella fase con conseguente innalzamento delle temperature. In caso tu voglia però posso mostrarti cosa modificare per avere il delay in minuti e poter mettere 62 ma ti ripeto che non ne vedo l'utilità.
                Daniovertures grazie delle dritta, solo che usandolo ultimamente ho riscontrato un problema e cioè un npc nella locanda del tailor con il nome may the weaver che non stà più nella posizione dove stava prima (cioè fuori dalla locanda) quindi mettendo i due type HS_IS butta il cursore per prendere i bod sul npc troppo distante, risultato si blocca li con l'effetto di non ritirare il bod per quello ho cavato via il type HS

                se sai un modo per escludere un determinato npc dalla ricerca fammi sapere cosa devo andare a modificare

                Commenta


                • #53
                  Ho avuto anche io lo stesso problema ma ho risolto semplicemente andando a modificare la rail, ora come ultima posizione ho 2076,1330,-80 e riesce a prendere i bod da entrambi gli npc

                  una seconda soluzione è modificare il range di ricerca degli npc
                  codice:
                  finditem IS_HS G_10
                  Prova a mettere G_8 o G_6, conta insomma a quanti tiles di distanza sta al massimo l'npc utile dalla tua ultima posizione di rail. Si potrebbe anche controllare qual'è la distanza massima dalla quale il player può accettare un bod, a stima direi 8 ma se qualcuno testa sarebbe meglio
                  ICQ: 567-107-480

                  Sono spesso occupato con l'università , pazientate

                  Commenta


                  • #54
                    Originariamente inviato da DaniOvertures Visualizza il messaggio
                    non vedo dove sia il problema nel lasciare il pg fermo ad aspettare il bod, non cambierebbe nulla se invece di aspettare lui di fronte al tailor aspettasse lo script di ripartire con il login, sei sempre in attessa del prossimo bod. In realtà io preferisco quando lo script non aspetta prima di fare il login perchè il consumo di cpu è molto piu elevato in quella fase con conseguente innalzamento delle temperature. In caso tu voglia però posso mostrarti cosa modificare per avere il delay in minuti e poter mettere 62 ma ti ripeto che non ne vedo l'utilità.
                    grossi problemi nell'attendere online non ce ne sono affatto
                    il rischio in realtà è uno solo: se il pg è online e per qualche motivo cade la connessione, vuoi per un crash per esempio o per qualche problema di linea temporaneo, lo script si blocca. se invece il pg non è connesso si evita questo rischio connettendosi di fatto solo per ritirare i bod e poi torna in modalità offline.
                    insomma ho l'impressione che da offline si limitino i rischi che lo script si impalli a causa di problemi di connessione.
                    fino ad ora infatti tutte le volte che lo script mi si è impallato è stato sostanzialmente per 3 motivi:

                    1)Cade la connessione (a me o al sever in genere)
                    2)crasha ultima, il gioco non il server (di rado mi è capitato)
                    3)si blocca nella fase connecting (e qui credo ci sia poco da fare)

                    più il pg è online più rischia di incorrere nei punti 1 e 2
                    Ultima modifica di Spino; 12-01-2010, 12:19.
                    Zio Spino - Piccolo Popolo

                    Commenta


                    • #55
                      Originariamente inviato da Spino Visualizza il messaggio
                      grossi problemi nell'attendere online non ce ne sono affatto
                      il rischio in realtà è uno solo: se il pg è online e per qualche motivo cade la connessione, vuoi per un crash per esempio o per qualche problema di linea temporaneo, lo script si blocca. se invece il pg non è connesso si evita questo rischio connettendosi di fatto solo per ritirare i bod e poi torna in modalità offline.
                      insomma ho l'impressione che da offline si limitino i rischi che lo script si impalli a causa di problemi di connessione.
                      fino ad ora infatti tutte le volte che lo script mi si è impallato è stato sostanzialmente per 3 motivi:

                      1)Cade la connessione (a me o al sever in genere)
                      2)crasha ultima, il gioco non il server (di rado mi è capitato)
                      3)si blocca nella fase connecting (e qui credo ci sia poco da fare)

                      più il pg è online più rischia di incorrere nei punti 1 e 2
                      capito!
                      allora prova a modificare quanto segue:
                      VECCHIO:
                      codice:
                      set %hoursBetweenBods 1
                      NUOVO:
                      codice:
                      set %minutesBetweenBods 62
                      VECCHIO:
                      codice:
                      sub timeOld
                      set %time *RazielBodTime
                      set %date_old *RazielBodDate
                      set %seconds_old ( %time % 100 ) + ( ( %time % 10000 ) / 100 ) * 60 + ( %time / 10000 ) * 3600
                      set %date_new #date
                      
                      if %time = N/A 2
                      	set %date_old #date
                      	set %seconds_old ( #time % 100 ) + ( ( #time % 10000 ) / 100 ) * 60 + ( #time / 10000 ) * 3600 - 3600 * %hoursBetweenBods
                      return
                      NUOVO:
                      codice:
                      sub timeOld
                      set %time *RazielBodTime
                      set %date_old *RazielBodDate
                      set %seconds_old ( %time % 100 ) + ( ( %time % 10000 ) / 100 ) * 60 + ( %time / 10000 ) * 3600
                      set %date_new #date
                      
                      if %time = N/A 2
                      	set %date_old #date
                      	set %seconds_old ( #time % 100 ) + ( ( #time % 10000 ) / 100 ) * 60 + ( #time / 10000 ) * 3600 - 60 * %minutesBetweenBods
                      return
                      VECCHIO:
                      codice:
                      sub waitBod
                      set %show #true
                      _waitBOD:
                      set %date_new #date
                      set %seconds_new ( #time % 100 ) + ( ( #time % 10000 ) / 100 ) * 60 + ( #time / 10000 ) * 3600
                      if %date_old <> %date_new
                      	set %get_bod 3600 * %hoursBetweenBods - ( ( %seconds_new - %seconds_old ) + 86400 )
                      else
                      	set %get_bod 3600 * %hoursBetweenBods - ( %seconds_new - %seconds_old )
                      if %get_bod <= 0
                      	return
                      set %h %get_bod / 3600
                      set %m ( %get_bod % 3600 ) / 60
                      if %show
                      {
                      	menu delete time
                        menu Window Title Script Finito
                        menu text time 5 5 Tempo residuo al prossimo giro:$ , %h ore %m minuti
                      	if #menubutton = continue
                      		return
                      	if #menubutton = closed
                      		set %show #false
                      }
                      wait 20
                      goto _waitBOD
                      NUOVO:
                      codice:
                      sub waitBod
                      set %show #true
                      _waitBOD:
                      set %date_new #date
                      set %seconds_new ( #time % 100 ) + ( ( #time % 10000 ) / 100 ) * 60 + ( #time / 10000 ) * 3600
                      if %date_old <> %date_new
                      	set %get_bod 60 * %minutesBetweenBods - ( ( %seconds_new - %seconds_old ) + 86400 )
                      else
                      	set %get_bod 60 * %minutesBetweenBods - ( %seconds_new - %seconds_old )
                      if %get_bod <= 0
                      	return
                      set %h %get_bod / 3600
                      set %m ( %get_bod % 3600 ) / 60
                      if %show
                      {
                      	menu delete time
                        menu Window Title Script Finito
                        menu text time 5 5 Tempo residuo al prossimo giro:$ , %h ore %m minuti
                      	if #menubutton = continue
                      		return
                      	if #menubutton = closed
                      		set %show #false
                      }
                      wait 20
                      goto _waitBOD
                      come puoi intuire sono delle banali sostituzioni che però non ho testato quindi non posso garantirti nulla, in caso ci siano problemi dimmi qui o su icq che trovi qui ↓
                      ICQ: 567-107-480

                      Sono spesso occupato con l'università , pazientate

                      Commenta


                      • #56
                        ok, adesso sono in ufficio, appena rientro provo e ti faccio sapere
                        grazie!
                        Zio Spino - Piccolo Popolo

                        Commenta


                        • #57
                          usando il sistema recall funziona solo se si vuole andare nella locanda tailor o in quel smith non su entrambe, cosa sarebbe da modificare per far ciò in questa sub?

                          codice:
                          sub findRune
                          ignoreitem reset
                          if %0 = 2
                          	ignoreitem %2
                          get_rune:
                          GoSub CheckForConnectionLost
                          finditem QWL C
                          if #findkind = -1
                          	return -1
                          event property #findid
                          if #property = $
                          	goto get_rune
                          if %1 in #property
                          	return #findid
                          ignoreitem #findid
                          goto get_rune

                          Commenta


                          • #58
                            per chi usa il metodo recall (o il sacred del paladino) si può fare in modo che invece delle tre rune sfuse nel bagpack si possa utilizzare un runebook che abbia al suo interno un paio di rune per ogni locazione?

                            a volte mi capita infatti che il tile in cui devo recallarmi è occupato da un altro pg che sta fermo a sua volta per ritirare bod. quando succede questo il mio pg prova infinite volte a recallarsi senza mai riuscirci e inoltre questa attesa falsa il counter dell'ora che nel frattempo procede senza che io abbia effettivamente ritirato i BOD. di conseguenza al prossimo giro di BOD il mio PG starà fermo davanti al tailor/smith di turno perchè non sono ancora passati i canonici 60 minuti con il risultato di bloccare a sua volta un tile per qualcuno che può averne bisogno, oltre che restare online inutilmente con tutti i problemi che ho già elencato qualche post più su....

                            con un runebook contenente 2 o tre rune per ogni locazione questo problema si risolverebbe perchè il pg avrebbe la possibilità di recalarsi su un tile alternativo in caso di blocco
                            Zio Spino - Piccolo Popolo

                            Commenta


                            • #59
                              Originariamente inviato da Marino Visualizza il messaggio
                              queste sono le rail per prendere bod black e tailor 0.1
                              salvarlo su un blocco note con il nome (inn_tailor_umbra)

                              CUT CUT CUT

                              Premesso che nelle righe indicanti i personaggi da utilizzare ho dato comando "2";
                              Premesso che le tue rails, il file di Fengyr ed easy uo sono in una stessa cartella;

                              All'avvio dello script, dopo avere loggato il primo personaggio da me selezionato, mi compare un messaggio

                              "there is something wrong with your rail (inn_tailor_'città.txt)
                              check you have made the file and put it in the same folder as the bod script.
                              halting script"

                              Ho provato a crearmi le mie rails usando lo script CEOAutoRailWriter, ma nel momento della registrazione mi è comparso un altro infelice messaggio :
                              "impossibile trovare il file txt2file.Vbs"

                              Commenta


                              • #60
                                mi ero dimenticato di allegarlo...
                                http://tamerassistant.googlecode.com/files/txt2file.vbs
                                ____________________________________________________________________

                                Il p Fengyr
                                ____________________________________________________________________
                                : algander#6292

                                Commenta

                                Sto operando...
                                X