annuncio

Comprimi
Ancora nessun annuncio.

[SCRIPT TEACHING] Postate i vostri dubbi sullo scripting!

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

  • [SCRIPT TEACHING] Postate i vostri dubbi sullo scripting!

    Avete dei dubbi sui vostri script? Non sapete come fare qualcosa? CHIEDETE!
    Ok,ho aperto questo thread sperando che chi già ha esperienza nello scripting aiuti chi ne ha di meno, io cercherò di essere presente, anche se lavorando il tempo a disposizione non è tantissimo, prego chiunque ne abbia voglia di sottoscrivere il thread così da poter ricevere notifiche via mail
    Ora, un po' di regole da rispettare, pena la non risposta (almeno da parte mia):
    • Usate i tag CODE per postare il codice, si risparmia spazio e viene ordinato.
    • Siate chiari con le domande, non postate script chiedendo "cosa non funziona?"
    • Siate educati,chi vi risponde non è pagato
    • Se avete delle critiche, purché costruttive, sentitevi liberi di farle, chiunque può sbagliare, indipendentemete dall'esperienza.

    Detto questo, buon posting

  • #2
    Grazie anzitutto del thread, utilissimo secondo me
    Vado ad esporre il mio primo problemuccio.

    Ho uno script, passatomi da raja [sxs] (grazie mille), che una volta avviato chiede se volete craftare items da tailor kit o da blacksmith kit. Una volta selezionato questo, vi dice di targettare il contenitore nel quale posare gli oggetti "buoni" ed un contenitore nel quale buttare gli "scarti". Selezionati i due contenitori chiede di targettare il primo pezzo che deve essere stato precedentemente craftato a mano. Giunti a questo punto lo script iniziava a craftare il tipo di oggetto selezionato e subito dopo craftato faceva apparire una finestrella citante le caratteristiche del pezzo ed infondo l'opzione "si" per mettere l'oggetto nel contenitore degli oggetti buoni e "no" per buttarlo fra gli scarti. Fino a qui tutto ok, perfettamente funzionante ma una noia mortale dover ad uno ad uno cliccare si o no per tenerli o meno. Quindi ho chiesto a raja di potermelo modificare in modo che PRIMA craftasse tot items (possibile deciderlo via script) dello stesso tipo selezionato all'avvio dello script, e POI fare apparire una alla volta le finestre con elencate le proprietà degli oggetti craftati. Così lui mi ha detto di apportare una modifica sostituendo la riga:

    codice:
    finditem %item c_ , #backpackid
    if #findkind = -1
    con

    codice:
    finditem %item c_ , #backpackid
    if #findcnt < XX
    
    (dove al posto di XX tocca scrivere il numero degli oggetti da craftare
    Ora, io l'ho fatto, ma al posto di fare quello che volevo facesse, esso crafta tutti i pezzi, poi appare la prima finestra che elenca le props di un pezzo, spingo si o no e purtroppo si rimette a craftarne un altro ed appare la finestra, e così via..

    Questo è lo script per intero:

    codice:
    display yesno yes = Blacksmith $no = Tailor
    if #dispres = yes
      {
      set %tool TLH
      }
    else
      {
      set %tool HAG
      }
      
    set #targcurs 1
    display Targetta il contenitore per i pezzi buoni
    while #targcurs = 1
    {
    }
    set %buoni #ltargetid
    
    set #targcurs 1
    display Targetta il contenitore per gli scarti
    while #targcurs = 1
    {
    }
    set %trash #ltargetid
    
    set #targcurs 1
    display Targetta un pezzo craftato
    while #targcurs = 1
    {
    }
    finditem #ltargetid C_
    set %item #findtype
    
    
    top:
    finditem %tool C_ , #backpackid
    if #findkind = -1
    {
    display Non hai più runici. Script bloccato.
    halt
    }
    event property #findid
    if runic notin #property
    {
    ignoreitem #findid
    goto top
    }
    set #lobjectid #findid
    event macro 17 0
    while #contname <> generic_gump
    {
    }
    set %x #contposx + 285
    set %y #contposy + 415
    click %x %y
    while #contname <> generic_gump
    {
    }
    wait 20
    finditem %item c_ , #backpackid
    if #findcnt < 20
    goto top
    event property #findid
    display yesno #property
    if #dispres = yes
    {
    exevent drag #findid
    exevent dropc %buoni
    sleep 550
    }
    else
    {
    exevent drag #findid
    exevent dropc %trash
    sleep 550
    }
    
    goto top
    Non capisco dove ho sbagliato... Sapete aiutarmi?
    Spero abbiate capito,
    grazie a tutti

    Commenta


    • #3
      Originariamente inviato da gramoz Visualizza il messaggio
      Grazie anzitutto del thread, utilissimo secondo me
      Vado ad esporre il mio primo problemuccio

      codice:
      display yesno yes = Blacksmith $no = Tailor
      
      finditem %item c_ , #backpackid
      if #findcnt < 20
      goto top
      event property #findid
      display yesno #property
      if #dispres = yes
      {
      exevent drag #findid
      exevent dropc %buoni
      sleep 550
      }
      else
      {
      exevent drag #findid
      exevent dropc %trash
      sleep 550
      }
      
      goto top
      Non capisco dove ho sbagliato... Sapete aiutarmi?
      Spero abbiate capito,
      grazie a tutti
      Non hai sbagliato te, ma è stata una dimenticanza di raja. Allora, alla fine come puoi leggere in fondo c'è un
      codice:
      goto top
      che fa tornare il puntatore di esecuzione all'etichetta
      codice:
      top:
      Che è all'inizio dello script.
      Questo, ora, per come era stato concepito lo script andava bene in quanto dopo ogni oggetto tornava a craftare.
      Ma ora che crafti prima, metterei un
      codice:
      finditem %item c_ , #backpackid
      for #findindex 1 #findcnt
      {
      	event property #findid
      	display yesno #property
      	if #dispres = yes
      	{
      	exevent drag #findid
      	exevent dropc %buoni
      	sleep 550
      	}
      	else
      	{
      	exevent drag #findid
      	exevent dropc %trash
      	sleep 550
      	}
      }
      tra
      codice:
      finditem %item c_ , #backpackid
      if #findcnt < 20
      goto top
      e
      codice:
      goto top (quello alla fine)
      Se non togli il goto top lo script ricomincia, se dopo X item craftati vuoi che si fermi sostituiscilo con stop
      Ultima modifica di danyeleid; 28-07-2008, 21:31.

      Commenta


      • #4
        codice:
        ;################
        ;##### SPOT #####
        ;################
        
        
        spot1
        move 2593 735 0
        wait 1s
        goto mina1
        
        spot2
        move 2600 739 0
        wait 1s
        goto mina2
        
        spot3
        move 2601 744
        wait 1s
        goto mina3
        
        fine
        wait 1s
        key F12
        wait 1s
        move
        stop
        
        
        ;################
        ;##### MINA #####
        ;################
        
        
        mina1:
        goto peso
        scanjournal
        if no_metal_to_mine in #journal
        {
            goto spot2
        }
        else
        {
            finditem QPF C_CERK
            if #FINDCNT > 0
               {
                        wait 0.6s
                        click 861 98 d mc
                        wait 0.5s
                        click 425 264 mc
                        wait 2s
                        goto mina
               }
        }
        goto equippapiccone
        
        
        
        
        
        mina2:
        goto peso
        scanjournal
        if no_metal_to_mine in #journal
        {
            goto spot3
        }
        else
        {
            finditem QPF C_CERK
            if #FINDCNT > 0
               {
                        wait 0.6s
                        click 861 98 d mc
                        wait 0.5s
                        click 425 264 mc
                        wait 2s
                        goto mina
               }
        goto equippapiccone
        
        
        
        
        mina3:
        goto peso
        scanjournal
        if no_metal_to_mine in #journal
        {
            goto fine
        }
        else
        {
            finditem QPF C_CERK
            if #FINDCNT > 0
               {
                        wait 0.6s
                        click 861 98 d mc
                        wait 0.5s
                        click 425 264 mc
                        wait 2s
                        goto mina
               }
        goto equippapiccone
        
        
        
        ;################
        ;##### SUBS #####
        ;################
        
        
        
        equippapiccone
        finditem QPF C_QVMPYMD
        if #findcnt > 0
        {
           wait 0.6s
           event Drag #findid
           wait 1s
           click 860 100 mc
           wait 1s
        }
        return
        
        
        
        
        peso
        set %maxweight 285
        if %weight > %maxweight
        {
           finditem DWJ C_ELXEXMD
           if #findcnt > 0
           {
              wait 0.6s
              event drag #findid
              wait 1s
              click 380 320 mc
              wait 1s
           }
        }
        return
        cosa riesce a fare

        mina
        cambia piccone

        cosa non fa

        cambiare spot (riconoscere no_metal_to_mine)
        e buttare a terra gli ore di troppo quando il peso supera il pesomassimo
        Originariamente inviato da fnurov
        subscribe lol

        Commenta


        • #5
          Iniziativa lodevole

          Hai esperienza anche con injection?
          Ho alcuni dubbi su uo.automenu, uo.waitmenu.
          Premetto che so scriptare su inj, ho visto la documentazione sui vari siti relativa ai comandi, ma c'è qualcosa che non funziona\non capisco sul loro utilizzo.

          Se era riferito solamente all'utilizzo di easyuo ti chiedo scusa per aver sporcato il 3d.
          Icq 430-076-486

          Commenta


          • #6
            Originariamente inviato da danyeleid Visualizza il messaggio
            Se non togli il goto top lo script ricomincia, se dopo X item craftati vuoi che si fermi sostituiscilo con stop
            io vorrei che dopo tot item craftati iniziasse a far comparire tot finestre (una alla volta logicamente) pari al numero degli items craftati che elencano le props degli oggetti craftati.. Non capisco come fare.. Ho provato come hai detto tu ma nulla..

            grazie della risposta

            Commenta


            • #7
              Originariamente inviato da androix Visualizza il messaggio
              codice:
              mina1:
              goto peso
              scanjournal
              if no_metal_to_mine in #journal
              {
                  goto spot2
              }
              else
              {
                  finditem QPF C_CERK
                  if #FINDCNT > 0
                     {
                              wait 0.6s
                              click 861 98 d mc
                              wait 0.5s
                              click 425 264 mc
                              wait 2s
                              goto mina
                     }
              }
              goto equippapiccone
              Ok, dunque, qui credo il problema sia alla base..Non esiste l'etichetta "mina", mi sa che devi aggiungere i numeri.
              Originariamente inviato da androix Visualizza il messaggio
              codice:
              peso
              set %maxweight 285
              if %weight > %maxweight
              {
                 finditem DWJ C_ELXEXMD
                 if #findcnt > 0
                 {
                    wait 0.6s
                    event drag #findid
                    wait 1s
                    click 380 320 mc
                    wait 1s
                 }
              }
              return
              Qui ti consiglio di usare gli exevent drag e dropg per draggare i minerali

              Originariamente inviato da Alex6g5r Visualizza il messaggio
              Iniziativa lodevole

              Hai esperienza anche con injection?
              Ho alcuni dubbi su uo.automenu, uo.waitmenu.
              Premetto che so scriptare su inj, ho visto la documentazione sui vari siti relativa ai comandi, ma c'è qualcosa che non funziona\non capisco sul loro utilizzo.

              Se era riferito solamente all'utilizzo di easyuo ti chiedo scusa per aver sporcato il 3d.
              Non mi intendo di Injection, ho smesso di giocare prima di iniziare a scriptarci su XD

              Commenta


              • #8
                Originariamente inviato da gramoz Visualizza il messaggio
                io vorrei che dopo tot item craftati iniziasse a far comparire tot finestre (una alla volta logicamente) pari al numero degli items craftati che elencano le props degli oggetti craftati.. Non capisco come fare.. Ho provato come hai detto tu ma nulla..

                grazie della risposta
                Hai fatto così?
                codice:
                display yesno yes = Blacksmith $no = Tailor
                if #dispres = yes
                  {
                  set %tool TLH
                  }
                else
                  {
                  set %tool HAG
                  }
                  
                set #targcurs 1
                display Targetta il contenitore per i pezzi buoni
                while #targcurs = 1
                {
                }
                set %buoni #ltargetid
                
                set #targcurs 1
                display Targetta il contenitore per gli scarti
                while #targcurs = 1
                {
                }
                set %trash #ltargetid
                
                set #targcurs 1
                display Targetta un pezzo craftato
                while #targcurs = 1
                {
                }
                finditem #ltargetid C_
                set %item #findtype
                
                
                top:
                finditem %tool C_ , #backpackid
                if #findkind = -1
                {
                display Non hai più runici. Script bloccato.
                halt
                }
                event property #findid
                if runic notin #property
                {
                ignoreitem #findid
                goto top
                }
                set #lobjectid #findid
                event macro 17 0
                while #contname <> generic_gump
                {
                }
                set %x #contposx + 285
                set %y #contposy + 415
                click %x %y
                while #contname <> generic_gump
                {
                }
                wait 20
                finditem %item c_ , #backpackid
                if #findcnt < 20
                goto top
                ;######### DA QUI I CAMBIAMENTI ###########
                finditem %item c_ , #backpackid
                for #findindex 1 #findcnt
                {
                	event property #findid
                	display yesno #property
                	if #dispres = yes
                	{
                	exevent drag #findid
                	exevent dropc %buoni
                	sleep 550
                	}
                	else
                	{
                	exevent drag #findid
                	exevent dropc %trash
                	sleep 550
                	}
                }
                ;######### FINE DEI CAMBIAMENTI ###########
                goto top ; ------> oppure stop se vuoi che si fermi alla fine

                Commenta


                • #9
                  Presto credo proprio che usufruirò ^^

                  Al momento non posso che upparti per la splendida iniziativa, complimenti!

                  Commenta


                  • #10
                    codice:
                    loop:
                    onhotkey y
                    gosub main
                    goto loop
                    
                    sub main
                    {
                    finditem LKF C_ ,  OYWSUMD
                    if #Findkind <> -1
                       {
                       set %i #FINDCNT
                       while %i <> 0
                           {
                           finditem LKF C_ ,  OYWSUMD
                           Exevent Drag #FINDID
                           target 3s
                           Exevent Dropc #Backpackid
                           wait 3s
                           set %i %i - 1
                           }
                       }
                     gosub trappa
                    return
                    }
                     sub trappa {
                       wait 7
                       event macro 8 7
                       wait 3
                       finditem LKF C_ , #BACKPACKID
                       if #Findkind <> -1
                          {
                          set %i #FINDCNT
                          set %j %i
                          while %j <> 0
                             {
                             finditem LKF C_ , #BACKPACKID
                             set #LTARGETID #FINDID
                             event macro 15 12
                             wait 2s
                             event macro 22 0
                             wait 3s
                             exevent Drag #LTARGETID
                             wait 4
                             Exevent Dropc OYWSUMD
                             wait 10
                             set %j %j - 1
                             }
                          }
                          return
                       }
                    col il tasto y ,il pg preleva dalla cassa o dal backpack i pouch e li trappa uno ad uno
                    Il problema è che a volte si impalla e non riesce a castare magic trap sui pouch,cioe non li targhetta,castando solo la spell.
                    Why?
                    Thx in anticipo
                    Ultima modifica di drudrusk8; 28-07-2008, 23:56.
                    MAI PIU SU UO^^

                    Commenta


                    • #11
                      Originariamente inviato da drudrusk8 Visualizza il messaggio
                      codice:
                               {
                               finditem LKF C_ , #BACKPACKID
                               set #LTARGETID #FINDID
                               event macro 15 12
                               wait 2s
                               event macro 22 0
                               wait 3s
                               exevent Drag #LTARGETID
                               wait 4
                               Exevent Dropc OYWSUMD
                               wait 10
                               set %j %j - 1
                               }
                      col il tasto y ,il pg preleva dalla cassa o dal backpack i pouch e li trappa uno ad uno
                      Il problema è che a volte si impalla e non riesce a castare magic trap sui pouch,cioe non li targhetta,castando solo la spell.
                      Why?
                      Thx in anticipo
                      Usi il comando "wait" per aspettare il target, magari un po' di lag e non arriva in tempo, usa il comando target e metti il timeout più alto (appena esce il cursore a target tanto continua)
                      Ultima modifica di danyeleid; 29-07-2008, 00:41.

                      Commenta


                      • #12
                        Originariamente inviato da danyeleid Visualizza il messaggio
                        Hai fatto così?
                        codice:
                        cut
                        Grazie mille,
                        sei grande!

                        Commenta


                        • #13
                          volevo saxe come fare una stringa con if che fa un check su forum solum, e se vede che nn è fra gli "status" va avanti, praticamente devo fare un semplice script che fa un check su forum solum e se nn c'è lo casta
                          se questo nn si può fare, dv fare un check sul journal e metterlo ogni 90 sec, ma se flizza xkè la skill è troppo bassa sul journal nn viene scritto nulla, quindi nn se ne accorge, cm faccio?
                          Ultima modifica di MarioTidus2000; 31-07-2008, 23:55.
                          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


                          • #14
                            Originariamente inviato da Alex6g5r Visualizza il messaggio
                            Iniziativa lodevole

                            Hai esperienza anche con injection?
                            Ho alcuni dubbi su uo.automenu, uo.waitmenu.
                            Premetto che so scriptare su inj, ho visto la documentazione sui vari siti relativa ai comandi, ma c'è qualcosa che non funziona\non capisco sul loro utilizzo.

                            Se era riferito solamente all'utilizzo di easyuo ti chiedo scusa per aver sporcato il 3d.
                            Aiuto io il paladino danyeleid, oltretutto mio grande amante, in inj questo comando era utilizzato ai tempi dei vecchi gump come vedi nella documentazione di Yoko, io sono anni che cerco di usarli ma credo proprio non vadano, ora come ora si usano i classici click su schermo ma devi sapere cosa fare :O.

                            Spero vivamente di sbagliarmi e che qualcuno mi sappia insegnare ad usarli...
                            Lista dei Punti di Xorina
                            icq 112740352

                            Commenta


                            • #15
                              Originariamente inviato da MarioTidus2000 Visualizza il messaggio
                              volevo saxe come fare una stringa con if che fa un check su forum solum, e se vede che nn è fra gli "status" va avanti, praticamente devo fare un semplice script che fa un check su forum solum e se nn c'è lo casta
                              Come mi disse cove cerca l'#enemyid, e controlla la #findrep, se è 5 (enemy), allora è castato, sennò non è castato.

                              Commenta

                              Sto operando...
                              X