annuncio

Comprimi
Ancora nessun annuncio.

[EASYUO HELP] Status of targetID

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

  • [EASYUO HELP] Status of targetID

    Ciao
    domanda: avete presente la viriabile #charstatus ? è molto utile per capire che azione fare per curare il nostro pg.
    La mia intenzione era di capire come verificare le stesse cose (se poisonato,se mortallato,ecc) MA non del mio pg ma del pet.
    Sapete come fare una volta che ho ID del pet?
    Grazie


    Se dovessi rinascere, farei l’idraulico ” – Albert Einstein

  • #2
    Potrei sbagliare, ma che io sappia l' unico sistema è analizzare il colore della status bar del target con i comandi appositi per la gestione dei pixel.

    Vota per UODreams:
    uoshards.it joinuo.com gtop100.com gamesites200.com xtremetop100.com

    Commenta


    • #3
      e' come dice morhua, praticamente devi sempre avere la barra del pet in evidenza, e poi prendendo la posizione della barra vai a controllare il colore dei pixel della barra della vita, azzurro = normale
      verde = poison
      arancio = mortal
      ecc
      e' l'unico modo
      State cercando un particolare item tra i mille vendor o tra i mille container di casa?
      Non ce la fate piu nella ricerca?
      Da ora c'e ZagosProFinder che fara' tutto al posto vostro.
      Impostate da un menu le proprieta' che state cercando e lui cerchera' l'item per voi... (funziona anche con i vendor privati)

      Asta: Sleeves HPI-LMC-LRC Fire Poison Ultra Sgravi!!! - Gorget Sgravi
      Vendo: Colorazioni Red Rum - Bless Deed da 35 a 37k - Spined Leather 9GP OCCASIONE

      Commenta


      • #4
        Impostando sommariamente la cosa:

        codice:
        Display Trascina la barra della vita $ hai 3 secondi nei quali dovrai trascinare la barra e poi senza toccare altro aspettare
        Wait 3s
        Contpos 0 0
        set %checkDelay 500
        set %Normal 4294967295
        set %poison 4885561
        set %Mortal ??? ; non avevo tempo U_U
        Set %ColoredBarx #Contposx + 41    ; X relativa 
        Set %ColoredBary #Contposy + 44
        Check_Loop:
        If #systime > %TimeOutCheck 
        {
        Savepix %ColoredBarx %ColoredBary 1
        If #PixCol = %Normal
           Set %Petstatus N
        If #PixCol = %poison 
           Set %PetStatus P
        If #PixCol = %mortal
           Set %PetStatus M
        Set %TimeOutCheck #Systime + %checkDelay
        }
        Onhotkey X
        Gosub Heal %petstatus
        
        Goto Check_Loop

        • nuovo icq : 442149577

        Commenta


        • #5
          Originariamente inviato da lorenzo.cordiner Visualizza il messaggio
          Impostando sommariamente la cosa:
          easyuo pixcol are different for every video card / driver or something like that.

          Commenta


          • #6
            Originariamente inviato da fnurov Visualizza il messaggio
            easyuo pixcol are different for every video card / driver or something like that.
            rly?btw it was just a map
            Ultima modifica di lorenzo.cordiner; 19-06-2010, 00:14.

            • nuovo icq : 442149577

            Commenta


            • #7
              Vi ringrazio per le risposte! Addiritttura il codice gia composto grazie ancora!

              L'unica cosa che mi convince poco della barra è il fatto che deve essere sempre posizionata nello stesso punto perchè le tonalità di colore del blu verde ecc sono diverse dentro la barra stessa giusto? quindi barra sempre fissa (o un modo per prendere il colore in modo relativo rispetto alla barra vita) e analizzata all'inizio cioè a sinistra (non a destra senno' se il pet perde vita si vede sempre rosso).

              Grazie ancora per l'informazione


              Se dovessi rinascere, farei l’idraulico ” – Albert Einstein

              Commenta


              • #8
                si la barra deve essere sempre aperta... puoi cambiare la posizione ma devi farti un pezzo di script ceh calcoli in automatico il punto dove controllare il colore del pixel...
                State cercando un particolare item tra i mille vendor o tra i mille container di casa?
                Non ce la fate piu nella ricerca?
                Da ora c'e ZagosProFinder che fara' tutto al posto vostro.
                Impostate da un menu le proprieta' che state cercando e lui cerchera' l'item per voi... (funziona anche con i vendor privati)

                Asta: Sleeves HPI-LMC-LRC Fire Poison Ultra Sgravi!!! - Gorget Sgravi
                Vendo: Colorazioni Red Rum - Bless Deed da 35 a 37k - Spined Leather 9GP OCCASIONE

                Commenta


                • #9
                  Il "contpos 0 0" serve a posizionare la targhetta al posto giusto, poi prende le coordinate relative del punto a sinistra della barra che ho scelto e periodicamente lo controlla dando come risultato un valore %petstatus che può essere P (poison), M (Mortal), N (normale) che verrà utilizzato nella sub che non ho scritto ma che ho solo chiamato lì.


                  Originariamente inviato da Zagos Visualizza il messaggio
                  si la barra deve essere sempre aperta... puoi cambiare la posizione ma devi farti un pezzo di script ceh calcoli in automatico il punto dove controllare il colore del pixel...
                  No questo mi sembra un pò rischioso, potrebbe confondere la targhetta con un altro gump o un'altra targhetta e restituire valori a cavolo.

                  Successivamente con un pò di voglia si potrebbe fare anche uno scan di varie parti della barra che restituisca quanta vita ha perso, magari con un allarme se scende sotto un tot.


                  EDIT:
                  codice:
                  Set %PetID  XXX
                  set %chivalry #True
                  Set %magery #False
                  set %checkDelay 500
                  set %Normal 4294967295
                  set %poison 4885561
                  set %Mortal 2731445 ; non avevo tempo U_U
                  
                  
                  Display Trascina la barra della vita $ hai 3 secondi nei quali dovrai trascinare la barra e poi senza toccare altro aspettare
                  Wait 3s
                  Contpos 0 0
                  Set %ColoredBarx #Contposx + 41    ; X relativa
                  Set %ColoredBary #Contposy + 44
                  Check_Loop:
                  If #systime > %checkDelay
                  {
                  Savepix %ColoredBarx %ColoredBary 1
                  If #PixCol = %Normal
                     Set %Petstatus N
                  If #PixCol = %poison
                     Set %PetStatus P
                  If #PixCol = %mortal
                     Set %PetStatus M
                  Set %TimeOutCheck #Systime + %checkDelay
                  }
                  Onhotkey X
                  Gosub Heal %petstatus
                  OnhotKey Y
                  Contpos 0 0
                  Goto Check_Loop
                  
                  Sub Heal
                  If N in %petstatus
                     {
                     If %chivalry
                        set %Spell  202
                     IF %magery
                        Set %Spell 28
                     }
                  If M in %petstatus
                     set %spell 209
                  If P in %petstatus
                     {
                     If %chivalry
                        set %Spell 201
                     IF %magery
                        Set %Spell 24
                     }
                  Event Macro 15 %spell
                  Target 2s
                  Set #LtargetID %PetID
                  Event macro 22
                  Return
                  Vedi se ti piace

                  %Petid = id del tuo pet
                  Onhotkey X = tasto per curare
                  Onhotkey Y = tasto per rimettere al suo posto la terghetta (devi prima cliccarla col cursore altrimenti ti muove l'ultimo gump che hai toccato)
                  %chivalry e %magery sono i modi per curare heal e poison da settare o #true o #false ma in ogni caso almeno una deve essere false

                  U__U ricordate che sono quasi le due del sabato sera per tutti
                  Ultima modifica di lorenzo.cordiner; 20-06-2010, 02:44.

                  • nuovo icq : 442149577

                  Commenta


                  • #10
                    Caspita pure lo scriptone hai postato grazie sai sei stato davvero gentile!
                    Se ti trovo in giro ti offro uno spitz


                    Se dovessi rinascere, farei l’idraulico ” – Albert Einstein

                    Commenta


                    • #11
                      Mi è capitato di usare lo script ed è realmente come dice felix ma a me cambia persino da pg a pg quindi posto una versione che segnali quale colore aggiungere alle liste %normal %poison %mortal (ovviamente lo metterete in quella di stato giusto) in più in questa versione può essere scelto se fare Gheal o MiniHeal all'inizio dello script.

                      codice:
                      Set %PetID  KKB
                      set %chivalry #True
                      Set %magery #False
                      Set %GreatherHeal #True
                      Set %MiniHeal #False
                      
                      set %checkDelay 500
                      set %Normal 4294967295_9196098
                      set %poison 4885561_
                      set %Mortal 2731445_
                      
                      
                      Display Trascina la barra della vita $ hai 3 secondi nei quali dovrai trascinare la barra e poi senza toccare altro aspettare
                      Wait 3s
                      Contpos 0 0
                      Set %ColoredBarx #Contposx + 41    ; X relativa
                      Set %ColoredBary #Contposy + 44
                      Check_Loop:
                      Set %Variations %Petstatus
                      
                      If #systime > %checkDelay
                      {
                      Savepix %ColoredBarx %ColoredBary 1
                      If #PixCol in %Normal
                         Set %Petstatus N
                      If #PixCol in %poison
                         Set %PetStatus P
                      If #PixCol in %mortal
                         Set %PetStatus M
                      Set %TimeOutCheck #Systime + %checkDelay
                      If #PixCol notin %Normal  && #PixCol notin %poison && #PixCol notin %mortal
                         event exMsg %Petid 3 32 Unregistred color: #PixCol please add it to the right category using _ as a separator.
                      If %variations <>  %Petstatus
                         event exMsg %Petid 3 0 %Petstatus
                      }
                      Onhotkey X
                      Gosub Heal %petstatus
                      OnhotKey Y
                      Contpos 0 0
                      Goto Check_Loop
                      
                      Sub Heal
                      If N in %petstatus
                         {
                         If %chivalry
                            set %Spell  202
                         IF %magery && %GreatherHeal
                            Set %Spell 28
                         IF %magery && %MiniHeal
                            Set %Spell 3
                         }
                      If M in %petstatus
                         set %spell 209
                      If P in %petstatus
                         {
                         If %chivalry
                            set %Spell 201
                         IF %magery
                            Set %Spell 24
                         }
                      Set #Ltargetkind 1
                      Event Macro 15 %spell
                      Target 2s
                      Set #LtargetID %PetID
                      Event macro 22
                      Return
                      Ultima modifica di lorenzo.cordiner; 21-06-2010, 13:14.

                      • nuovo icq : 442149577

                      Commenta


                      • #12
                        Event Macro 15 %spell
                        Target 2s
                        Set #LtargetID %PetID
                        Event macro 22
                        Una domanda su questo punto: su uno script che avevo fatto avevo settato due tasti uno per curare vita pet e uno per togliere veleno (usando chiva ma non è influente).
                        Ho notato pero' che il Set "Set #LtargetID %PetID " non mi funzionava. Nn so perchè ma ero costretto a targettare manualmente il pet il primo colpo quindi manualmente settavo nuovo target poi andava. quel SET quindi è come se non avesse funzionato. Nel mio caso cmq facevo cosi:
                        set #lTargetID %id_pet
                        event macro 15 201
                        target 2s
                        event macro 22 0
                        CIoè a differenza tua settavo prima il #lTargetID poi facevo il cast magia mentre tu prima casti la magia poi fai il set. Cambia qualcosa?


                        Se dovessi rinascere, farei l’idraulico ” – Albert Einstein

                        Commenta


                        • #13
                          Provo a darvi un'idea, magari banale e un po' rozza. Che ne pensate di cercare di calcolare dei range di colori? mi spiego meglio, vedendo il codice postato l'id del colore mi sembra tanto un intRGB e a norma facendo la media del colore dei pixel, magari di un quadrato, si dovrebbe riuscire ad ottenere valori simili. Con un po' di fortuna si dovrebbe riuscire ad eliminare così il problema della differenza di colore da pg a pg ( che penso risalga a diverse ambientazioni, giorno , notte ecc).


                          edito per rispondere alla domanda:
                          I due metodi usati per castare la magia sono praticamente equivalenti, l'unica differenza è che il primo metodo acquisisce il target qualche istante prima di castare effettivamente la magia sul target settato. In pratica dovrebbe evitare che tra l'acquisizione del target e il tempo di preparazione della magia il tuo Ltarget possa cambiare ( magari per azioni concorrenti). Evidentemente però nel tuo caso, vuoi per pc lento, connessione lenta o fasi concitate del gioco temo che non riesca a settare in tempo Ltarget prima di effettuare l'event macro 22.( l'ultima parte prendila un po' con le pinze, non ho mai studiato il funzionamento interno di easyuo, è solo una mia supposizione).

                          Ciao
                          Ultima modifica di Alex6g5r; 21-06-2010, 11:33.
                          Icq 430-076-486

                          Commenta


                          • #14
                            Originariamente inviato da Alex6g5r Visualizza il messaggio
                            Provo a darvi un'idea, magari banale e un po' rozza. Che ne pensate di cercare di calcolare dei range di colori? mi spiego meglio, vedendo il codice postato l'id del colore mi sembra tanto un intRGB e a norma facendo la media del colore dei pixel, magari di un quadrato, si dovrebbe riuscire ad ottenere valori simili. Con un po' di fortuna si dovrebbe riuscire ad eliminare così il problema della differenza di colore da pg a pg ( che penso risalga a diverse ambientazioni, giorno , notte ecc).
                            Mmh si potrebbe fare ma richiede una conoscienza del comando che non possiedo e che non saprei dove acquisire.

                            Per quanto riguarda #LtargetID prova ad aggiungerci prima "Set #LtargetKind 1"
                            Se ti serve prendi il mio Icq

                            • nuovo icq : 442149577

                            Commenta


                            • #15
                              Originariamente inviato da lorenzo.cordiner Visualizza il messaggio
                              Mmh si potrebbe fare ma richiede una conoscienza del comando che non possiedo e che non saprei dove acquisire.

                              Per quanto riguarda #LtargetID prova ad aggiungerci prima "Set #LtargetKind 1"
                              Se ti serve prendi il mio Icq
                              Se non ho visto male, il comando dovrebbe essere questo:

                              Savepix %ColoredBarx %ColoredBary 1

                              In pratica salvi in memoria (in #PixCol) il valore del pixel considerato sul piano xy. A questo punto facendo un paio di prove si dovrebbe riuscire a prendere una quantità significativa di pixel della barra status e magari salvarla in un array o matrice. Da qui calcolare una media o quel che si vuole che possa dare un'indicazione generale.
                              Ci tengo comunque a precisare una cosa, questa può essere solo una soluzione "ad hoc" nel senso che se i valori dei pixel fossero differenti di molto da pc a pc, i range sarebbero da ricalcolare.Nonostante questo mi è capitato di usare una tecnica simile per altre applicazioni e devo dire che ha funzionato su pc diversi, con un buono studio dei range non dovrebbe essere così sensibile al cambio di macchina. Non so quanto ne possa valere la pena per lo script di un gioco, magari più come sfida di programmazione eheh.
                              Icq 430-076-486

                              Commenta

                              Sto operando...
                              X