annuncio

Comprimi
Ancora nessun annuncio.

[OpenEUO HELP] Ma funziona quì?

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

  • [OpenEUO HELP] Ma funziona quì?

    Cdt.
    Chiedo perchè ho visto che è circa 1327* volte più veloce di EasyUO

    *: e non stò scherzando...è l'esatto numero.

  • #2
    si e benone
    ____________________________________________________________________

    Il p Fengyr
    ____________________________________________________________________
    : algander#6292

    Commenta


    • #3
      e vanno bene gli script di easy uo?
      . . . . . . . . . . . . . . . . .


      . . . . . . . . . . . . . . . . .

      GM Kriegstreiber Käse®
      Discord: Jack___#9551

      Commenta


      • #4
        Originariamente inviato da Dav87E Visualizza il messaggio
        e vanno bene gli script di easy uo?
        per ora non sono supportati, OpenEUO usa il LUA, un linguaggio di programmazione serio e diverso.
        Ultima modifica di fengyr; 30-12-2010, 21:11.
        ____________________________________________________________________

        Il p Fengyr
        ____________________________________________________________________
        : algander#6292

        Commenta


        • #5
          mmm ok ora mi guarderò le guide sul sito di easyuo e chissà se non lancerò una nuova sezione di openuo quì

          Commenta


          • #6
            Fai bene ad iniziare con le guide... se ti leggi bene i primi 4 capitoli dell'OpenEUO manual http://www.easyuo.com/forum/viewtopic.php?t=43602 puoi iniziare subito a scriptare, io ho comprato anche dei libri di LUA e in un paio di giorni ho cominciato con degli script più "pesanti" ma quello che trovi sul forum di Easyuo è più che sufficiente per cominciare.

            Se poi vuoi qualcosa da guardare tanto per iniziare io mi sono messo a tradurre i miei script che uso maggiormente, sia per imparare sia per essere più tranquillo

            questo era uno scriptino semplice che avevo fatto al volo per un utente e mi son ritrovato ad usarlo spesso :P :


            codice:
            loop:
            onhotkey F10
                gosub type
            goto loop
            
            sub type
            set #targcurs 1
            while #targcurs = 1
                    {
                    }
            finditem #ltargetid
            event sysmessage Type: #findtype Stack: #findstack
            return
            il corrispondente semplificato (ho dovuto rimuovere qualche concetto pò più avanzato per non darvi troppe informazioni da assimilare tutte insieme) che ho ottenuto in LUA (il linguaggio di OpenEUO) e mi da lo stesso risultato è questo:

            codice:
            _printkey = "F10"     [COLOR=Lime]<==> set %hotkey F10[/COLOR]
            
            --[[ NON MODIFICARE OLTRE ]]
               
            local function target()         [COLOR=Lime]<==> sub target (il "local" è come se in EUO [/COLOR][COLOR=Lime]si dichiarasse[/COLOR]
            [COLOR=Lime] automaticamente tutta la sub racchiudendola in un namespace)[/COLOR]
            UO.TargCurs = true                  [COLOR=Lime]<==>    set #targcurs 1[/COLOR]
            while UO.TargCurs == true do     [COLOR=Lime]<==>[/COLOR][COLOR=Lime]    while #targcurs = 1[/COLOR]
                  wait (50)                                   [COLOR=Lime]{[/COLOR]
                  end                                      [COLOR=Lime]"wait 50ms"[/COLOR]
            return UO.LTargetID                          [COLOR=Lime]}[/COLOR]
            end
                      
            local function printinfo(col) [COLOR=Lime]<==> sub printinfo[/COLOR]
            _ID = target()     [COLOR=Lime]<==> gosub "target"
                                           set %_ID #result[/COLOR] 
            [COLOR=Cyan]da qui in poi è la parte del finditem, molto differente in OEUO, guarda qualche post sotto[/COLOR]
            local _itemname = UO.Property(_ID)
            local _itemcnt = UO.ScanItems(false)
            for _itemindex = 1 , _itemcnt do 
            local ID,Type,Kind,ContID,X,Y,Stack,Rep,Col = UO.GetItem(_itemindex)
            if ID == _ID then
                 _Type = Type
                 break
                 end
            end
            UO.SysMessage ( _itemname .. " OEUO Type: " .. _Type, col)[COLOR=Lime]<==> event sysmessage %nomeitem EUOTYPE %type[/COLOR]
            UO.SysMessage ( "OEUO ID: " .. _ID , 233)  [COLOR=Lime]<==> event sysmessage %_ID[/COLOR]
            end
            
            repeat                                                  [COLOR=Lime]<==>[/COLOR] [COLOR=Lime]repeat[/COLOR]
            if getkey(_printkey) then printinfo (68) end [COLOR=Lime]<==> onhotkey %hotkey
                                                                                  gosub "printinfo"
            [/COLOR] until false == true [COLOR=Lime]<==> until #false = #true[/COLOR]
            edit: ho aggiunto le corrispondenze tra EasyUO e OpenEUO.

            perchè dico che è molto più potente? ho modficato i due script per renderli il più simili possibile nelle azioni che devono eseguire ed il risultato su una dozzina di test è stato: che lo script di openeuo sebbene piu lungo "soltanto" di una ventina di righe e con circa 500 variabili in più da scorrere con il 'for' ha avuto un tempo medio di esecuzione di 0.9 - 1.4 secondi, easyuo ha impiegato tra 1.1 e 1.7 secondi... purtroppo con windows e non ho a portata di mano un modo per controllare la CPU e la memora impiegate ma anche sotto quel profilo credo che i risultati siano interessanti.


            ps: a parte qualche dettaglio se prendi i commenti in verde e li metti in easyuo danno effettivamente uno script funzionante, quindi non siamo così lontani
            Ultima modifica di fengyr; 30-12-2010, 21:51.
            ____________________________________________________________________

            Il p Fengyr
            ____________________________________________________________________
            : algander#6292

            Commenta


            • #7
              uf non mi piace sto linguaggio...già c'ho rinunciato xD
              i love easyuo

              Commenta


              • #8
                che poi vanno scritte bene le maiuscole e le minuscole se no ti da errore...

                Commenta


                • #9
                  questo è un pò più avanzato...

                  la complessità di questo script è dovuta al fatto che il corrispondente del finditem non è più "prefiltrato" come in easyuo, ad esempio prima una ricerca era piuttosto immediata: passavi al finditem type, contenitore o la distanza a cui cercare ed avevi un risultato limitato a pochi ID ora con UO.GetItem ottieni tutti gli item presenti in schermata (ground e contenitori aperti) il "filtraggio" va fatto successivamente, per semplificare il tutto ci sono già delle ottime librerie di funzioni pronte all'uso che aiutano ma vanno comunque conosciute...

                  per farti un esempio pratico tutta questa parte dello script di prima:

                  codice:
                  local _itemname = UO.Property(_ID)
                  local _itemcnt = UO.ScanItems(false)
                  for _itemindex = 1 , _itemcnt do 
                  local ID,Type,Kind,ContID,X,Y,Stack,Rep,Col = UO.GetItem(_itemindex)
                  if ID == _ID then
                       _Type = Type
                       break
                       end
                  è semplificabile in una riga:

                  codice:
                  dofile(getinstalldir().."FileAccess.lua") 
                  dofile(getinstalldir().."FindItems.lua") [COLOR="Lime"] 
                  -- carica le librerie (simile a un call ma usi le funzioni degli altri file senza uscire dallo script)[/COLOR]
                  
                  t = ScanItems(true,{_ID}) [COLOR="Lime"]<--- assegni il risultato della funzione ScanItems a t, 
                  in pratica come se avessi fatto: set %t gosub finditem %ID :O[/COLOR]

                  il mio consiglio è, se sei interessato ad imparare un linguaggio di programmazione serio, dovresti prendere in considerazione la cosa, c'è da leggere un pò di guide ma in linea generale acquisisci poi i rudimenti per scriptare con molti linguaggi moderni stile Java, C etc... se poi il LUA proprio non ti piace ci sono addirittura degli adattamenti fatti dagli utenti per scriptare OpenEUO in C o C#.

                  Quindi non ti scoraggiare, anche se ora può sembrare arabo è molto potente
                  Ultima cosa per chiunque fosse interessato, se volete imparare e fare qualcosa di utile perchè qualcuno non pubblica una versione del tanto richiesto honor counter in OpenEUO?


                  PS: ho aggiunto al post sopra le corrispondenze tra EasyUO e OpenEUO, tanto per darvi un idea di cosa cambia
                  Ultima modifica di fengyr; 30-12-2010, 21:10.
                  ____________________________________________________________________

                  Il p Fengyr
                  ____________________________________________________________________
                  : algander#6292

                  Commenta


                  • #10
                    fengyr se sono libri tradotti in italiano mi passi i link via pm x favore? vorrei approfondire un po la cosa

                    cmq si è difficile, anche easyuo lo era, prima di capire che in realta è facile

                    Commenta


                    • #11
                      sono i libri ufficiali pubblicati online dall'autore stesso: http://www.lua.org/pil/index.html#P1 disponibili in forma cartacea su amazon (me li son fatti spedire dall'america) dubito che ci sia già qualcosa di altrettanto buono in italiano, dopotutto è soltanto un linguaggio moderno che ha già preso piede come linguaggio di programmazione per molti videogiochi (robetta stile w@w per capirci), ma in italia nessuno se ne è ancora accorto
                      Ultima modifica di fengyr; 31-12-2010, 12:35.
                      ____________________________________________________________________

                      Il p Fengyr
                      ____________________________________________________________________
                      : algander#6292

                      Commenta


                      • #12
                        ho già visto che è typizzato.. non promette niente di buono.. Vedrò di applicarmici nell'immediato futuro
                        Se lo attacchi con i pugni, Niky torna con una mazza;
                        Se lo attacchi con un coltello, lui torna con una pistola;
                        E se lo attacchi con una pistola, ti conviene ucciderlo,
                        perchè continuerà a tornare e tornare, fino a che uno di voi due non è morto
                        Realizzo Script Euo Personalizzati a Pagamento

                        Commenta


                        • #13
                          Originariamente inviato da fengyr Visualizza il messaggio
                          sono i libri ufficiali pubblicati online dall'autore stesso: http://www.lua.org/pil/index.html#P1 disponibili in forma cartacea su amazon (me li son fatti spedire dall'america) dubito che ci sia già qualcosa di altrettanto buono in italiano, dopotutto è soltanto un linguaggio moderno che ha già preso piede come linguaggio di programmazione per molti videogiochi (robetta stile w@w per capirci), ma in italia nessuno se ne è ancora accorto

                          ho visto alcuni libri tradotti in altre lingue sul sito ma poi dopo che ho postato ho dubitato fortemente per quanto riguarda l' italiano :P grazie mille.

                          Commenta

                          Sto operando...
                          X