annuncio

Comprimi
Ancora nessun annuncio.

[GUIDA] Scripting EasyUO

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

  • [GUIDA] Scripting EasyUO

    We è un po che non ci si sente eh? ^_^
    Mi sono un po' scocciato di ultima, e anche di wow devo dire. Forse mi sto scocciando dei videogiochi in generale, o dei mmorpg. Quindi è probabile che non mi rivedrete postare quasi mai qui, ma volevo lasciarvi un ricordino.
    (Ovviamente non è escluso che mi torni voglia di giocare prima o poi!)

    Un paio di mesi fa cominciai a scrivere una guida per EasyUO, visto che tanta gente aveva voglia di imparare a scriptare. Purtroppo però non l'ho finita, vista la perdita dell'interesse nel mondo di ultima. Tuttavia il primo e unico capitolo della guida raccoglie tutto quello che un apprendista scripter deve sapere, il resto poi è tutta esperienza e pazienza nel leggere il manuale di Easyuo in inglese. Esiste anche un'altra guida italiana che è stata linkata proprio in questo forum poco tempo fa. In realtà non si tratta di una guida ma di una lista di tutti i comandi con spiegazioni dettagliate su come funzionano. Dunque direi che la mia guida e quest'altra sono complementari: la mia dà le basi a chi non ha mai avuto esperienza di scripting e programmazinoe, l'altra spiega tutti i comandi uno per uno.

    Link alla mia home page fatta 2 minuti fa in maniera molto rozza con word ^_^ (mi seccava installare frontpage o dreamweaver per fare 1 stupida pagina)

    http://xoomer.virgilio.it/vash1986/

    E voglio anche regalarvi il mio script per healing di Easyuo. Badate però: fatelo funzionare da soli, è tutto scritto lì e non posso passare le giornate a rispondere alla gente :P

    Una persona mi ha detto che è molto lento a ribendarsi dopo che ha finito la bendata, eppure i test che ho fatto io andavano alla grande. Diciamo che forse potrebbe essere migliorato, non ci ho mai badato tanto visto ke injection è tornato a funzionare proprio il giorno dopo in cui ho fatto questo script. Sempre meglio di quelli che girano su easyuo.com eh! Buona fortuna

    ;=============================
    ;JOURNAL HEALING by Vash v. 2.0
    ;=============================
    ;Testato su emulatore di Ultima Online RunUO 1.0.1 col client 4.0.8a-4.0.7x-4.0.6x
    ;Dovrebbe funzionare anche coi client vecchi.
    ;Lo script utilizza automaticamente le bende se hp < maxhp (valore modificabile in un numero statico, vedi nella sub principale), o se il pg è avvelenato.
    ;Se le bende finiscono o sono poche ti avverte, ma basta rifornirsi senza dover riavviare lo script (importante è non chiudere lo zaino!).
    ;Controlla il journal per verificare che le bende siano state correttamente applicate, altrimenti riprova.
    ;Ottimo calcolo della bendata in base alla dex, secondo le ultime modifiche OSI.
    ;Mostra una sorta di countdown sulla testa del pg, rappresentante i decimi di secondo mancanti alla fine della bendata.

    ;CONTATORE
    ;===========
    ;set %counter 1 per usare il contatore in decimi di secondo, set %counter 0 per non usarlo
    set %counter 1

    ;SPECIAL CURE
    ;=============
    ;Questa parte qui riguarda una particolare opzione che permette di assicurare la cura di hp.
    ;Nel senso che a un secondo dalla fine della bendata effettua un controllo e se il pg è avvelenato fa partire una macro di Razor.
    ;Quindi se tale opzione non vi interessa, settate semplicemente %cure a 0
    set %cure 0
    ;Se invece volete usarla, settate %cure a 1 e fate la macro di Razor.
    ;Per farla non dovete assolutamente trascinare lo scudo a mano in quanto sarebbe un'operazione lenta e rischiosa.
    ;Usate invece una macro toggle scudo.
    ;Registrate le azioni 1- togli scudo 2- bevi pozza 3- rimetti scudo (la terza non è obbligatoria) in questa macro.
    ;Bindatela sul tasto FINE. Per cambiare tasto vedete in fondo allo script.
    ;Ovviamente ricordate che premendo ALT, CTRL o SHIFT mentre easyuo simula la pressione del tasto FINE, Razor non riconoscerà il tasto.
    ;Nella macro spunterà sia exec: toggle scudo, sia exec: undress/dress scudo.
    ;Togliete le due righe con toggle, e la macro è pronta, e il setup finito :-)


    ;MAIN LOOP
    ;=========
    linespercycle 20
    mainloop:
    if #hits < #maxhits || C in #charstatus
    {
    GoSub CheckAids
    if #result = #true
    {
    GoSub CheckDex
    GoSub Apply
    if #result = #false
    goto mainloop
    GoSub Waitnew
    wait 2
    }
    }
    wait 1
    goto mainloop

    ;SUB CHECK AIDS
    ;==============
    Sub CheckAids
    finditem ZLF C_ , #BACKPACKID
    if #findstack = 0
    {
    event ExMsg #charID 3 0 No bandages found!
    wait 5s
    return #false
    }
    if #findstack < 10 && #findcnt < 2
    event sysmessage Attention, only #finstack aids remaining
    return #true

    ;SUB CHECK DEX
    ;==============
    Sub CheckDex
    set %delay 11 - ( #dex / 20 )
    set %euowait %delay * 20
    return

    ;SUB APPLY
    ;=========
    Sub Apply
    aidloop:
    finditem ZLF C_ , #BACKPACKID
    set #lobjectid #findid
    set %startscan #jindex
    event macro 17 0
    target 15
    if #targcurs = 0
    goto aidloop
    event macro 23 0
    GoSub WaitStartMsg 15
    if #result = #false
    goto aidloop
    if #result = 1
    return #false
    return

    ;SUB WAITSTARTMSG
    ;===============
    Sub WaitStartMsg
    set %start #scnt2
    set %start %start + %1
    _waitsysmsgloop:
    for %i %startscan #jindex
    {
    scanjournal %i
    if you_begin in #journal
    {
    set %applystart #scnt2
    return #true
    }
    if that_being in #journal
    return 1
    }
    if #scnt2 >= %start
    return #false
    wait 1
    goto _waitsysmsgloop

    ;SUB WAITNEW
    ;============
    Sub WaitNew
    set %keypressed 0
    set %end %euowait + %applystart
    set %limitcure %end - 16
    waitloop:
    if %counter = 1
    {
    set %remaining ( %end - #scnt2 )
    event ExMsg #charID 3 0 %remaining
    }
    wait 2
    if C in #charstatus && %cure = 1
    {
    if #scnt2 > %limitcure && %keypressed = 0
    {
    key f7 ; Cambiatelo se necessario
    set %keypressed 1
    }
    }
    if #SCNT2 >= %end || you_finish in #sysmsg || you_have in #sysmsg
    return
    goto waitloop
    Bye
    Ultima modifica di Vash1986; 20-07-2005, 17:03.
    Vash U'Sgrav [LorD] - Labora et Basta [KP] on UODreams
    ICQ: 150088146

    MSN: iociriprovo chiocciola hotmail.com

    Non contattatemi su ICQ per scambio item o aste o spam di alcun genere. Se mi serve un item faccio il post sul forum, inutile che mi spammate su ICQ.

    This signature is powered by Gingillo

  • #2
    sei un grande



    Iscriviti anche tu nel primo mercato virtuale dedicato ai giocatori di UODreams e inizia a fare affari insieme a noi



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

    Commenta


    • #3
      grazie mille Vash

      Commenta


      • #4
        grande vash!!!

        grazie a mbare evilrox per la firma

        vulcanello!

        Commenta


        • #5
          Ciao Vash spero che torni presto

          Originally posted by Geonortsort II
          Per il tipo che diceva che com o minax troveranno buchi... Com Seba nn lo sarà mai in quanto voglio picchiarlo di brutto.
          E poi sei pazzo? Torna un giocatore esperto come Sorano e secondo te io lo prenderei al mio fianco (che già mi annoio nelle partite in parità numerica poi co gente come lui sarebbe ancora + facile) invece di vedermelo contro e gioire di un pvp + competitivo?
          Seba u have to go or SL or Minax !!!

          Commenta


          • #6
            Mitico! grazie kk!

            Commenta


            • #7
              uguale a quello ke uso io asdasdadsd

              Commenta


              • #8
                Grazie, penso mi saranno utili!
                Who is Kaiser Souze? He is supposed to be Turkish. Some say his father was German. Nobody believed he was real. Nobody ever saw him or knew anybody that ever worked directly for him, but to hear Kobayashi tell it, anybody could have worked for Souze. You never knew. That was his power. The greatest trick the Devil ever pulled was convincing the world he didn't exist. And like that, poof. He's gone.

                Commenta


                • #9
                  aggiungo 2 cose: il fatto ke mi allontano momentaneamente o definitivamente da uo vorrebbe dire anke di non spammarmi link al mercato su icq... grazie ^_____^"""

                  PS: ma un po' di commenti sulla guida no eh? avete imparato qualcosa? parlo arabo? non serve a niente? è grandiosa? skifosa? e lo script funziona bene? :O
                  Vash U'Sgrav [LorD] - Labora et Basta [KP] on UODreams
                  ICQ: 150088146

                  MSN: iociriprovo chiocciola hotmail.com

                  Non contattatemi su ICQ per scambio item o aste o spam di alcun genere. Se mi serve un item faccio il post sul forum, inutile che mi spammate su ICQ.

                  This signature is powered by Gingillo

                  Commenta


                  • #10
                    lo script funziona molto bene (lo uso da un bel po' ormai) tranne quelle rare volte in cui si pianta, in quei casi è veramente un problema farlo ripartire, a volta basta bendarsi una volta a mano, a volte basta premere pausa e play, a volta pausa non basta e si rende necessario premere stop. a volte, tutti i miei tentativi sono andati vani e ho dovuto proprio cambiare script per un po'. ho provato anche a modificarlo un po' ma senza nessun risultato apprezzabile.

                    per fortuna non si pianta quasi mai

                    la guida... hem... non l'ho ancora letta, ora mi metto a leggerla poi ti so dire

                    ps: la tua homepage è un po'... come dire... minimalista ecco

                    Commenta


                    • #11
                      uhm.... che strano. mi dispiace di non poterlo testare a fondo, ma non avendo il warrior... ^_^
                      e cmq a me non si è mai bloccato.
                      se ti capitasse di nuovo e riuscissi ad allontanarti dalla battaglia, premi F7 a ripetizione davanti allo script ed eseguirà una riga per volta. se sai scriptare capirai sicuramente l'errore, o cmq puoi dirmi un po' come si comporta il parser così capisco dov'è il punto in cui si blocca. rileggendo + volte mi sembra logicamente perfetto, posso pensare solo ke ci sia uno stupido errore da qualche parte.

                      com'è ke si blocca di preciso?
                      Vash U'Sgrav [LorD] - Labora et Basta [KP] on UODreams
                      ICQ: 150088146

                      MSN: iociriprovo chiocciola hotmail.com

                      Non contattatemi su ICQ per scambio item o aste o spam di alcun genere. Se mi serve un item faccio il post sul forum, inutile che mi spammate su ICQ.

                      This signature is powered by Gingillo

                      Commenta


                      • #12
                        Grazie mille Vash, torna presto eh
                        Riguardo lo script lo proverò immediatamente
                        Originariamente inviato da delarge
                        A me pare che ora che la situazione si sta riequilibrando stiate piagnucolando un pò troppo, forse perchè era divertente quando in 10 venivate a segare 4 com e magari vi si rizzava pure il pisello.
                        ICQ: 474222675
                        MSN: puchkp@hotmail.it

                        Commenta


                        • #13
                          miticuzzo

                          ora non mi resta che aspettare che si stanchi di giocare un tizio con uno script autoloot cazzuto

                          Commenta


                          • #14
                            ho letto la guida

                            bravo vash complimenti davvero, semplice e chiara, dovresti fare il duvulgatore ho anche capito un paio di cose che da autodidatta quale sono (ero?) non avevo avuto modo di comprendere thx

                            vabbe per la parte 2 e 3 mi toccherà finalmente leggere il manuale in inglese... che faticaaaaaa

                            cmq thx per quello che hai fatto fin qui e spero che torni a giocare

                            per quanto riguarda il blocco dell script... non ho mia potuto fare test a riguardo perchè quando mi si pianta, mi si pianta in battaglia, quando tento di farlo piantare per testarlo ovviamente non si pianta

                            Commenta


                            • #15
                              visto ke vash ha postato il suo allora aggiungo anke il mio LOL

                              il mio disarma e beve le pozze gh e gr

                              provatelo
                              --------------------------------------------
                              initevents

                              set %Tstart #scnt

                              Set %Shields FIK_GIK_CIK_NIK_AIK_MIK_HLK_CLK_OIK_
                              Set %Archi QPO_WOH_USF_
                              Set %Balestra LMH_

                              Set %Scelte %Archi , %Shields , %Balestra

                              gosub OpenPaperdoll
                              ;wait 2s
                              gosub OpenBackPack
                              ;wait 2s


                              Loop:
                              if #hits < #maxhits
                              {
                              if %Tstart < #scnt
                              {
                              set %Tstart #scnt + ( ( 11 ) - ( ( #dex ) / 20 ) +3 )
                              finditem ZLF C
                              set #lobjectid #findid
                              event macro 17 0
                              target
                              wait 10
                              ; wait 1s
                              event macro 23 0
                              gosub WaitFineBendata
                              }
                              }
                              if #STAMINA < ( #MAXSTAM - 35 )
                              {
                              finditem ZUF_NUF C_ , %BackPackid ;get pozioni
                              if #findkind <> -1
                              {
                              finditem %Scelte C_ , %PaperDollid
                              if #findkind <> -1
                              {
                              event macro 24 1
                              wait 20
                              finditem ZUF_NUF C_ , %BackPackid ;get pozioni
                              if #findkind <> -1
                              {
                              SET #LOBJECTID #FINDID
                              EVENT MACRO 17 0
                              }
                              wait 20
                              ; wait 2s
                              event macro 24 1
                              }
                              else
                              {
                              finditem ZUF C_ , %BackPackid ;get pozioni
                              if #findkind <> -1
                              {
                              SET #LOBJECTID #FINDID
                              EVENT MACRO 17 0
                              }
                              }
                              }
                              }
                              goto Loop

                              sub OpenPaperdoll
                              event macro 8 1
                              set %PaperDollid #CONTID
                              return

                              sub OpenBackPack
                              event Macro 8 7
                              set %BackPackid #BACKPACKID
                              return


                              sub WaitFineBendata

                              LoopWaitFineBendata:

                              if #STAMINA < ( #MAXSTAM - 35 )
                              {
                              finditem ZUF C_ , %BackPackid ;get pozioni
                              if #findkind <> -1
                              {
                              finditem %Scelte C_ , %PaperDollid
                              if #findkind <> -1
                              {
                              event macro 24 1
                              wait 20
                              finditem ZUF C_ , %BackPackid ;get pozioni
                              if #findkind <> -1
                              {
                              SET #LOBJECTID #FINDID
                              EVENT MACRO 17 0
                              }
                              wait 20
                              event macro 24 1
                              }
                              else
                              {
                              finditem ZUF C_ , %BackPackid ;get pozioni
                              if #findkind <> -1
                              {
                              SET #LOBJECTID #FINDID
                              EVENT MACRO 17 0
                              }
                              }
                              }
                              }

                              if ( #MAXHITS - #HITS ) > 50 && C notIn #charstatus
                              {
                              finditem UUF C_ , %BackPackid ;get pozioni
                              if #findkind <> -1
                              {
                              finditem %Scelte C_ , %PaperDollid
                              if #findkind <> -1
                              {
                              event macro 24 1
                              wait 20
                              finditem UUF C_ , %BackPackid ;get pozioni
                              if #findkind <> -1
                              {
                              SET #LOBJECTID #FINDID
                              EVENT MACRO 17 0
                              }
                              wait 20
                              ; wait 2s
                              event macro 24 1
                              }
                              else
                              {
                              finditem UUF C_ , %BackPackid ;get pozioni
                              if #findkind <> -1
                              {
                              SET #LOBJECTID #FINDID
                              EVENT MACRO 17 0
                              }
                              }
                              }
                              }

                              if %Tstart > #scnt
                              {
                              set %Compare %Timer
                              set %Timer %Tstart - #scnt

                              if %Compare <> %Timer
                              event ExMsg #charID 3 0 %Timer
                              if %Timer = 2
                              {
                              if C in #charstatus
                              {
                              finditem %Scelte C_ , %PaperDollid
                              if #findkind <> -1
                              {
                              event macro 24 1
                              wait 20
                              finditem NUF C_ , %BackPackid
                              if #findkind <> -1
                              {
                              SET #LOBJECTID #FINDID
                              EVENT MACRO 17 0
                              }
                              wait 20
                              ; wait 2s
                              event macro 24 1
                              }
                              else
                              {
                              finditem NUF C_ , %BackPackid
                              if #findkind <> -1
                              {
                              SET #LOBJECTID #FINDID
                              EVENT MACRO 17 0
                              }
                              }
                              }
                              }
                              goto LoopWaitFineBendata
                              }
                              return
                              Alzò il capo e mi fissò. E proseguì: “ Ho concluso che ho sopravvalutato l’intelligenza delle masse. Nei dialoghi che tante volte ho avuto con le moltitudini, avevo la convinzione che le grida che seguivano le mie domande fossero segno di coscienza, di comprensione, di evoluzione. Invece, era isterismo collettivo...”.
                              ----
                              E ognuno costruisce il suo sistema
                              Di piccoli rancori irrazionali,
                              Di cosmi personali
                              Scordando che poi infine tutti avremo
                              Due metri di terreno

                              Commenta

                              Sto operando...
                              X