annuncio

Comprimi
Ancora nessun annuncio.

[Razor Enhanced] Mace and Shield

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

  • [Razor Enhanced] Mace and Shield

    Con la nuova versione di Razor Enhanced ecco a voi lo script che vi permette di acquistare asce dai vendor e consegnarle (tutto in automatico) per incrementare punti alla Libreria di Britain.

    I requisiti sono i seguenti:

    Runebook con:
    - Primi 14 Spot rune marcate all'interno di shop (Dove vendono le battle axe)
    - 15 Spot runa in una banca
    - 16 Spot Runa accanto al quest giver della libreria (Talbart)

    Buy Agent:
    Configurate un buy agent per le battle axe consiglio quantità 100 se avete spazio se no meno. (ID ascia: 0x0F47 - Colore: 0)

    Banca:
    Dovete avere soldi e un sacchetto vuoto.

    Fatto questo basterà che configurare i parametri nello script, il serial del runebook e il serial del sacchetto in banca. Se vedete che non ci state dietro con FC e FCR per il recall aumentate il delay sempre nella variabili iniziali dello script.

    codice:
    ## Parametri     ##
    VendorSpotRuneBook = 0x401AB43E
    GoldBankContainer = 0x4006551F
    QuestGiverSerial = 0x000377D0
    ContextBuy = 1
    AxeID = 0x0F47
    GoldAmount = 5000
    TimeoutOnWaitAction = 4000
    RecallPause = 2500
    DragActionDelay = 1000
    
    def DeliveryAxe( ): 
        Misc.Pause(RecallPause)
        Gumps.ResetGump()
        Items.UseItem(VendorSpotRuneBook)
        Gumps.WaitForGump(1431013363, TimeoutOnWaitAction)
        Gumps.SendAction(1431013363, 95)
        Misc.Pause(RecallPause)
        Gumps.ResetGump()
        while not Mobiles.FindBySerial(QuestGiverSerial):
            Misc.SendMessage("--> Quest location locked... retry", 33)
            Misc.Pause(RecallPause)
            Gumps.ResetGump()
            Items.UseItem(VendorSpotRuneBook)
            Gumps.WaitForGump(1431013363, TimeoutOnWaitAction)
            Gumps.SendAction(1431013363, 95)
            Misc.Pause(RecallPause)        
            
        Mobiles.UseMobile(QuestGiverSerial)
        Gumps.WaitForGump(2510313894, TimeoutOnWaitAction)
        Gumps.SendAction(2510313894, 305)
        Target.WaitForTarget(TimeoutOnWaitAction)
        Misc.SendMessage("--> Inizio Consegna", 33)
        
        for bitem in Player.Backpack.Contains:
            if bitem.ItemID == AxeID and bitem.Hue == 0:
                Gumps.ResetGump()
                Target.TargetExecute(bitem.Serial)
                Gumps.WaitForGump(2510313894, TimeoutOnWaitAction)
                Gumps.SendAction(2510313894, 305)            
                Target.WaitForTarget(TimeoutOnWaitAction)
        Target.Cancel() 
    
        return; 
    
    def RecallAndBuy( ):
        if Misc.ReadSharedValue("RuneStep") == 1:
            runeid=5
            Misc.SetSharedValue("RuneStep", 2)
        elif Misc.ReadSharedValue("RuneStep") == 2:
            runeid= 11
            Misc.SetSharedValue("RuneStep", 3)
        elif Misc.ReadSharedValue("RuneStep") == 3:
            runeid= 17
            Misc.SetSharedValue("RuneStep", 4)
        elif Misc.ReadSharedValue("RuneStep") == 4:
            runeid= 23
            Misc.SetSharedValue("RuneStep", 5)
        elif Misc.ReadSharedValue("RuneStep") == 5:
            runeid= 29
            Misc.SetSharedValue("RuneStep", 6)
        elif Misc.ReadSharedValue("RuneStep") == 6:        
            runeid= 35
            Misc.SetSharedValue("RuneStep", 7)
        elif Misc.ReadSharedValue("RuneStep") == 7:
            runeid= 41
            Misc.SetSharedValue("RuneStep", 8)
        elif Misc.ReadSharedValue("RuneStep") == 8:      
            runeid= 47
            Misc.SetSharedValue("RuneStep", 9)
        elif Misc.ReadSharedValue("RuneStep") == 9:    
            runeid= 53
            Misc.SetSharedValue("RuneStep", 10)
        elif Misc.ReadSharedValue("RuneStep") == 10:        
            runeid= 59
            Misc.SetSharedValue("RuneStep", 11)
        elif Misc.ReadSharedValue("RuneStep") == 11:       
            runeid= 65
            Misc.SetSharedValue("RuneStep", 12)
        elif Misc.ReadSharedValue("RuneStep") == 12:   
            runeid= 71
            Misc.SetSharedValue("RuneStep", 13)
        elif Misc.ReadSharedValue("RuneStep") == 13:     
            runeid= 77
            Misc.SetSharedValue("RuneStep", 14)
        elif Misc.ReadSharedValue("RuneStep") == 14:              
            runeid= 83
            Misc.SetSharedValue("RuneStep", 1)    
        else:
            Misc.NoOperatio()
        
        msg = '--> Step: %d Button: %d' % (Misc.ReadSharedValue("RuneStep"), runeid)
        Misc.SendMessage(msg, 33)
        Gumps.ResetGump()
        Items.UseItem(VendorSpotRuneBook)
        Gumps.WaitForGump(1431013363, TimeoutOnWaitAction)
        Gumps.SendAction(1431013363, runeid)
        Misc.Pause(RecallPause)
        
        if Items.BackpackCount(AxeID, 0) > 1:
            Misc.SendMessage("--> Asce Presenti nello zaino", 33)
            Misc.Pause(RecallPause)
            return;
        else:
            fil = Mobiles.Filter()
            fil.Enabled = True
            fil.RangeMax = 5
            vendors = Mobiles.ApplyFilter(fil)
            for vendor in vendors:
                    Misc.WaitForContext(vendor, TimeoutOnWaitAction)
                    Misc.ContextReply(vendor, ContextBuy)
                    msg = '--> Compro da vendor %s' % (vendor.Name)
                    Misc.SendMessage(msg, 33)
                    Misc.Pause(DragActionDelay)
                    if Items.BackpackCount(AxeID, 0) > 1:
                        break
                    else:
                        Misc.NoOperation()
        return;            
    
    while True:
        Misc.SendMessage("--> Recall Banca", 33)
        Gumps.ResetGump()
        Items.UseItem(VendorSpotRuneBook)
        Gumps.WaitForGump(1431013363, TimeoutOnWaitAction)
        Gumps.SendAction(1431013363, 89)
        Misc.Pause(RecallPause)
        Misc.SendMessage("--> Prendo Soldi e sposto resto", 33)
    
        for bitem in Player.Backpack.Contains:
            if bitem.ItemID == 0x0EED:
                Player.ChatSay(33,"Bank")
                Misc.Pause(DragActionDelay)
                Misc.SendMessage("--> Sposto Gold")
                Items.Move(bitem.Serial, GoldBankContainer, 0)
                Misc.Pause(DragActionDelay)
    
        Player.ChatSay(33,"withdraw 5000")
        
    
        if not Misc.CheckSharedValue("RuneStep"): 
            Misc.SendMessage("--> Inizzializza Step Runebook",44)
            Misc.SetSharedValue("RuneStep", 1)
        else:
            Misc.NoOperation()
        
        while Items.BackpackCount(AxeID, 0) < 1:    
            RecallAndBuy()
        DeliveryAxe()

  • #2
    Grazie mille molto utile e comodo. Ho notato giusto qualche piccola imperfezione:
    1. Il pg chiede party a tutti gli altri player vicini Oo
    2. Ogni tanto si blocca il giro dei fabbri per cui passa direttamente dalla banca alla britain library
    Eccetto qualche sporadico riavvio, per il resto è una bomba

    Commenta


    • #3
      Originariamente inviato da PIPINOETANKGIRL Visualizza il messaggio
      Grazie mille molto utile e comodo. Ho notato giusto qualche piccola imperfezione:
      1. Il pg chiede party a tutti gli altri player vicini Oo
      2. Ogni tanto si blocca il giro dei fabbri per cui passa direttamente dalla banca alla britain library
      Eccetto qualche sporadico riavvio, per il resto è una bomba
      1- E' un effetto collaterale del acquisto ... vedo di sistemarlo ed escludere i player dalla lista da chi compra.
      2- Si blocca in che senso ? tenta di recallare e non è ancora passato il delay e perde un colpo ?

      Commenta


      • #4
        Fixato il problema che richiedeva party:

        codice:
        ## Parametri ##
        VendorSpotRuneBook = 0x401AB43E
        GoldBankContainer = 0x4006551F
        QuestGiverSerial = 0x000377D0
        ContextBuy = 1
        AxeID = 0x0F47
        GoldAmount = 5000
        TimeoutOnWaitAction = 4000
        RecallPause = 2500
        DragActionDelay = 1000
        
        def DeliveryAxe( ): 
            Misc.Pause(RecallPause)
            Gumps.ResetGump()
            Items.UseItem(VendorSpotRuneBook)
            Gumps.WaitForGump(1431013363, TimeoutOnWaitAction)
            Gumps.SendAction(1431013363, 95)
            Misc.Pause(RecallPause)
            Gumps.ResetGump()
            while not Mobiles.FindBySerial(QuestGiverSerial):
                Misc.SendMessage("--> Quest location locked... retry", 33)
                Misc.Pause(RecallPause)
                Gumps.ResetGump()
                Items.UseItem(VendorSpotRuneBook)
                Gumps.WaitForGump(1431013363, TimeoutOnWaitAction)
                Gumps.SendAction(1431013363, 95)
                Misc.Pause(RecallPause)        
                
            Mobiles.UseMobile(QuestGiverSerial)
            Gumps.WaitForGump(2510313894, TimeoutOnWaitAction)
            Gumps.SendAction(2510313894, 305)
            Target.WaitForTarget(TimeoutOnWaitAction)
            Misc.SendMessage("--> Inizio Consegna", 33)
            
            for bitem in Player.Backpack.Contains:
                if bitem.ItemID == AxeID and bitem.Hue == 0:
                    Gumps.ResetGump()
                    Target.TargetExecute(bitem.Serial)
                    Gumps.WaitForGump(2510313894, TimeoutOnWaitAction)
                    Gumps.SendAction(2510313894, 305)            
                    Target.WaitForTarget(TimeoutOnWaitAction)
            Target.Cancel() 
        
            return; 
        
        def RecallAndBuy( ):
            if Misc.ReadSharedValue("RuneStep") == 1:
                runeid=5
                Misc.SetSharedValue("RuneStep", 2)
            elif Misc.ReadSharedValue("RuneStep") == 2:
                runeid= 11
                Misc.SetSharedValue("RuneStep", 3)
            elif Misc.ReadSharedValue("RuneStep") == 3:
                runeid= 17
                Misc.SetSharedValue("RuneStep", 4)
            elif Misc.ReadSharedValue("RuneStep") == 4:
                runeid= 23
                Misc.SetSharedValue("RuneStep", 5)
            elif Misc.ReadSharedValue("RuneStep") == 5:
                runeid= 29
                Misc.SetSharedValue("RuneStep", 6)
            elif Misc.ReadSharedValue("RuneStep") == 6:        
                runeid= 35
                Misc.SetSharedValue("RuneStep", 7)
            elif Misc.ReadSharedValue("RuneStep") == 7:
                runeid= 41
                Misc.SetSharedValue("RuneStep", 8)
            elif Misc.ReadSharedValue("RuneStep") == 8:      
                runeid= 47
                Misc.SetSharedValue("RuneStep", 9)
            elif Misc.ReadSharedValue("RuneStep") == 9:    
                runeid= 53
                Misc.SetSharedValue("RuneStep", 10)
            elif Misc.ReadSharedValue("RuneStep") == 10:        
                runeid= 59
                Misc.SetSharedValue("RuneStep", 11)
            elif Misc.ReadSharedValue("RuneStep") == 11:       
                runeid= 65
                Misc.SetSharedValue("RuneStep", 12)
            elif Misc.ReadSharedValue("RuneStep") == 12:   
                runeid= 71
                Misc.SetSharedValue("RuneStep", 13)
            elif Misc.ReadSharedValue("RuneStep") == 13:     
                runeid= 77
                Misc.SetSharedValue("RuneStep", 14)
            elif Misc.ReadSharedValue("RuneStep") == 14:              
                runeid= 83
                Misc.SetSharedValue("RuneStep", 1)    
            else:
                Misc.NoOperatio()
            
            msg = '--> Step: %d Button: %d' % (Misc.ReadSharedValue("RuneStep"), runeid)
            Misc.SendMessage(msg, 33)
            Gumps.ResetGump()
            Items.UseItem(VendorSpotRuneBook)
            Gumps.WaitForGump(1431013363, TimeoutOnWaitAction)
            Gumps.SendAction(1431013363, runeid)
            Misc.Pause(RecallPause)
            
            if Items.BackpackCount(AxeID, 0) > 1:
                Misc.SendMessage("--> Asce Presenti nello zaino", 33)
                Misc.Pause(RecallPause)
                return;
            else:
                fil = Mobiles.Filter()
                fil.Enabled = True
                fil.RangeMax = 5
                vendors = Mobiles.ApplyFilter(fil)
                for vendor in vendors:
                    if vendor.Notoriety == 7:
                        Misc.WaitForContext(vendor, TimeoutOnWaitAction)
                        Misc.ContextReply(vendor, ContextBuy)
                        msg = '--> Compro da vendor %s' % (vendor.Name)
                        Misc.SendMessage(msg, 33)
                        Misc.Pause(DragActionDelay)
                        if Items.BackpackCount(AxeID, 0) > 1:
                            break
                        else:
                            Misc.NoOperation()
                    else:
                        Misc.NoOperation()
            return;            
        
        while True:
            Misc.SendMessage("--> Recall Banca", 33)
            Gumps.ResetGump()
            Items.UseItem(VendorSpotRuneBook)
            Gumps.WaitForGump(1431013363, TimeoutOnWaitAction)
            Gumps.SendAction(1431013363, 89)
            Misc.Pause(RecallPause)
            Misc.SendMessage("--> Prendo Soldi e sposto resto", 33)
        
            for bitem in Player.Backpack.Contains:
                if bitem.ItemID == 0x0EED:
                    Player.ChatSay(33,"Bank")
                    Misc.Pause(DragActionDelay)
                    Misc.SendMessage("--> Sposto Gold")
                    Items.Move(bitem.Serial, GoldBankContainer, 0)
                    Misc.Pause(DragActionDelay)
        
            Player.ChatSay(33,"withdraw 5000")
            
        
            if not Misc.CheckSharedValue("RuneStep"): 
                Misc.SendMessage("--> Inizzializza Step Runebook",44)
                Misc.SetSharedValue("RuneStep", 1)
            else:
                Misc.NoOperation()
            
            while Items.BackpackCount(AxeID, 0) < 1:    
                RecallAndBuy()
            DeliveryAxe()

        Commenta


        • #5
          Anche a me lo fa molto spesso: dopo un po' che va, in banca carica 5000 gold e invece di recallare in uno shop recalla dal quest guiver, sta fermo un po' e poi recalla in banca e cosi in loop. Bisogna fermare lo script, aspettare qualche secondo e farlo ripartire.
          Comunque sia un bellissimo script, complimenti!

          Commenta


          • #6
            Ciao, fino a ieri funzionava tutto bene, da stamattina invece non no. E' cambiato qualcosa? devo aspettare una nuova versione o posso fare qualcosa io?

            Commenta


            • #7
              Originariamente inviato da tedolouedro Visualizza il messaggio
              Ciao, fino a ieri funzionava tutto bene, da stamattina invece non no. E' cambiato qualcosa? devo aspettare una nuova versione o posso fare qualcosa io?
              Ciao,
              ti segnalo questo post: http://www.gamesnet.it/showthread.ph...=1#post7480637

              La cosa più probabile è che gli ID dei gump utilizzati dallo script siano cambiati: puoi però rintracciare quelli nuovi usando il Gump Inspector presente dall'interno dello Script Editor di Razor Enhanced.
              Ciao e buon game
              sigpic

              Commenta


              • #8
                Sinceramente ho provato ma non sono capace magari aspetto un aggiornamento dello script!!

                Commenta


                • #9
                  Scusate ma facendo copia e incolla poi me lo fa salvare solo in txt ma razor non lo legge.. come lo trasformo in .py?

                  Commenta

                  Sto operando...
                  X