annuncio

Comprimi
Ancora nessun annuncio.

[EASY-UO] Script consegna Board 2 - La vendetta di Britain

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

  • [EASY-UO] Script consegna Board 2 - La vendetta di Britain

    Dato che molti di voi hanno richiesto la modifica per poter consegnare traquillamente la legna anche a Britain da Zorda the artist,ho pensato di editare lo script originale di Halda per svolgere questo "sporco" lavoro...

    I settaggi sono i medesimi, quoto direttamente dal precedente topic:

    Originariamente inviato da Alex6g5r Visualizza il messaggio
    Le primi variabili da settare sono:

    set %book

    Qui dovrete inserire il vostro ID. Il modo per ottenerlo è sempre lo stesso, basterà trascinare il vostro runebook da una parte all'altra dello zaino. Senza spostare nient'altro andate nella finestra di destra di euox e copiate il valore di #LLIFTEDID.

    set %cassa_risorse

    Qui avrete 2 possibili scelte. Se utilizzerete la banca potete ottenere l'id con lo stesso identico metodo adottato per il runebook ( ricordatevi poi di reinserire la cassa in banca:P). Se la cassa è invece lockata a terra nella vostra bella casetta basterà aprirla e poi copiare il valore di #LOBJECTID.

    seconda parte:

    set %banca
    set %casa

    Queste due variabili viaggiano in coppia. per utilizzare la casa dovrete settare:

    set %banca 0
    set %casa 1

    Nb: Utilizzando la casa, l'id della cassa settato in precedenza deve essere una secure all'esterno, quindi non all'interno di altre casse.

    per la banca :

    set %banca 1
    set %casa 0

    terza parte:

    set %NCasa xx ; Numero della runa per casa o bank
    set %NQuestSCU xx ; Numero della runa per la quest della consegna della legna di vesper
    set %NQuestSCU2 xx ; numero della seconda runa della consegna della legna di vesper

    Questa è la parte più semplice, dovrete inserire il numero a cui corrispondono le rune all'interno del vostro runebook.

    Un'ultimo accorgimento, se utilizzerete una cassa risorse in casa, assicuratevi di far partire lo script a massimo 2 tile dalla cassa delle risorse.
    In linea generale per le altre rune il consiglio è di markarle a non più di 7-8 tile dal quester o cassa delle risorse.
    A seguire metterò il codice dello script.
    Enjoy!

    Edit: Sistemati alcuni tempi di attesa troppo lunghi e aggiunto un piccolo commento che permette , a piacimento dell'utente,di poter togliere le due piccole finestre iniziali di avviso:

    ;;;;I messaggi sottostanti possono essere eliminati se l'utente non desidera visualizzarli all'avvio dello script

    Display Questo script funziona solo se hai fatto la quest della libreria di Britain!! Controlla di averla già fatta
    sound
    Display Fai partire lo script vicino alla cassa delle risorse.Se la cassa delle risorse è distante termina lo script e fallo ripartire, altrimenti premi OK.
    Se non vi interessano i messaggi iniziali potete tranquillamente cancellare queste poche righe o aggiungergli dei semplici " ; " all'inizio di ogni rigo:

    ;;;;I messaggi sottostanti possono essere eliminati se l'utente non desidera visualizzarli all'avvio dello script

    ;Display Questo script funziona solo se hai fatto la quest della libreria di Britain!! Controlla di averla già fatta
    ;sound
    ;Display Fai partire lo script vicino alla cassa delle risorse.Se la cassa delle risorse è distante termina lo script e fallo ripartire, altrimenti premi OK.
    Ultima modifica di DarkRitual; 03-01-2009, 05:52.

    _.-+* Kyoko, Draenei Shaman 80 <Out of Control> *+-._

    _.-+* Sayoko, Draenei Shaman 80 on Runetotem EU *+-._

  • #2
    1/3
    codice:
    ;==================================
    ; Script Name: CollectorQuestHelper
    ; Author: Halda
    ; Piccole modifiche per consegnare a Britain
    ; A cura di Dark_Ritual
    ; Version: 1.0
    ; Client Tested with: 6.0.1.3
    ; EUO version tested with: 1.5 v115
    ; Shard UOD
    ; Revision Date: 24/11/08
    ; Public Release: 24/11/08
    ; Sub esterne utilizzate: Alcune sub di snicker7 e il CheckForWorldSave di Boydon
    ; Purpose:  Lo script consegna al quester Zorda di Britain qualsiasi tipo di legna sia contenuta all'interno di una secure in casa o in banca
    ;==================================
    initevents
    
    set %cassa_risorse LOLXVMD ; id della cassa che contiene le risorse
    set %book DGKBEND   ; inserisci l'id del tuo runebook
    set %travel r         ; c per chivarly , r per recall
    set %NCasa  1     ; Numero della runa per casa o bank
    set %NQuestSCU 11    ; Numero della runa per la quest della consegna della legna di britain
    set %NQuestSCU2 11     ; numero della seconda runa della consegna della legna di britain
    set %banca 0  ; inserisci 1 per utilizzare una cassa all'interno della banca , 0 per utilizzare una cassa secure in casa.
    set %casa  1  ; inserisci 0 per utilizzare una cassa all'interno della banca , 1 per utilizzare una cassa secure in casa.
    
    ;;;; SETTAGGI TYPE AND WEIGHT
    
    set %boardtype  TLK
    set %PesoBoard 1
    
    ;;;;I messaggi sottostanti possono essere eliminati se l'utente non desidera visualizzarli all'avvio dello script
    
    Display Questo script funziona solo se hai fatto la quest della libreria di Britain!! Controlla di averla già fatta :)
    sound
    Display  Fai partire lo script vicino alla cassa delle risorse.Se la cassa delle risorse è distante termina lo script e fallo ripartire, altrimenti premi OK.
    
    
    ;;;; NON MODIFICARE DA QUI
    set %xcasa #CHARPOSX
    set %ycasa #CHARPOSY
    set %zcasa #CHARPOSZ
    doScu_init:
    set %init_pos #Charposx
    set %init_posy #charposy
    gosub CheckForWorldSave
    loopforrecallscu:
    gosub s7UseRunebook %book %NCasa %travel
    wait 5
    set %end_pos #charposx
    set %end_posy #charposy
    if %end_pos = %init_pos && %end_posy = %init_posy
      goto loopforrecallscu
    
    if %Banca = 1
             gosub openbank
    set %i 0
    wait 10
    if %Casa = 1
    {
    ;finditem %cassa_risorse G_10
    gosub vai %xcasa %ycasa %zcasa ;move #FINDX #FINDY 1 3s
    }
    
    openbagscu:
    if %i = 10
       {
        display Cassa delle risorse non trovata. Script Fermato.
        sound
        halt
       }
    set #LOBJECTID %cassa_risorse
    event macro 17 0
    wait 5
    if ! ( #contid = %cassa_risorse )
    {
           set %i %i + 1
           wait 10
           goto openbagscu
    }
    
    unloadscu:
    finditem %boardtype C_ , #backpackid
    if #FINDCNT > 0
       {
                 	Exevent Drag #findid #findstack
    	            wait 15
    	            Exevent Dropc %cassa_risorse
    	            wait 15
    	            ;ignoreitem #findid
    	            goto unloadscu
       }
    wait 15
    
    set %peso_base #weight
    ;;event sysmessage %peso_base ;;;;;; DA CANCELLARE
    set %Nboard ( #MAXWEIGHT - ( #WEIGHT + 5 ) ) / %pesoboard
    finditem %boardtype C_ , %cassa_risorse
    if #FINDKIND = -1
       {
           Display Board Finite. Script Fermato.
           sound
           Halt
       }
    	Exevent Drag #findid %Nboard
    	wait 15
    	Exevent Dropc #backpackid
    	wait 15
    
    	finditem %boardtype C_ , #backpackid
    	event property #findid
    	set %BoardMat normal
    	wait 5
    	   if oak in #property
            set %BoardMat oak
         if ash in #property
            set %BoardMat ash
         if yew in #property
            set %BoardMat yew
         if heartwood in #property
            set %BoardMat heartwood
         if bloodwood in #property
            set %BoardMat bloodwood
         if frostwood in #property
            set %BoardMat frostwood
    
    
    set %init_pos2 #charposx
    gosub CheckForWorldSave
    
    set %tentativi 0
    loopforrecallscu2:
    gosub s7UseRunebook %book %NQuestSCU %travel
    wait 5
    set %end_pos2 #charposx
    if %end_pos2 = %init_pos2
    {
    set %tentativi %tentativi + 1
    if %tentativi < 5
       goto loopforrecallscu2
    loopforscu:
    gosub s7UseRunebook %book %NQuestSCU2 %travel
    set %end_pos2 #charposx
    if %end_pos2 = %init_pos2
    {
     set %tentativi %tentativi + 1
     if %tentativi < 10
        goto loopforscu
     else
         goto loopforrecallscu2
    }
    }
    ;gosub checkgump
    gosub CheckForWorldSave
    
    wait 10
    
    finditem BEYM G
    move #FINDX #FINDY 2 10s
    
    
    opengumpscu:
    wait 5
    set #LOBJECTID BEYM  ;npc della quest Zorda the Artist
    event macro 17 0
    wait 10
    if ! ( #CONTSIZE = 345_359 )
           goto opengumpscu
    contpos 0 0
    wait 10
    
    
    
    click 305 340
    wait 10
    contpos 0 0
    wait 10
    
    if %BoardMat = normal
    click 40 210
    else
    
    if %BoardMat = oak
    click 41 243
    else
    
    if %BoardMat = ash
    click 40 282
    else
    
    {
    click 305 340
    wait 10
    contpos 0 0
    wait 10
    
    if %BoardMat = yew {
    click 40 170 }
    
    if %BoardMat = heartwood {
    click  40 210 }
    
    if %BoardMat = bloodwood {
    click  40 245  }
    
    if %BoardMat = frostwood  {
    click  40 282  }
    
    }
    
    wait 10
    set %RealBoard ( ( #weight - %peso_base ) / %pesoboard )
    wait 1
    msg %RealBoard $
    wait 15
    if ( #CONTSIZE = 345_359 )
    {
       contpos 0 0
       wait 5
       click 150 150 r
    }
    gosub checkmana
    
    goto doScu_init
    return
    
    sub checkmana
    ctrmana:
    	if #mana < 15
    	{
    		menu delete EUOLabel2
    		menu Text EUOLabel2 4 20 Recupero mana...
    		wait 3s
    		goto ctrmana
    	}
    return
    
    
    
    
    
    sub openbank
    openbank:
    msg bank$
    gosub WaitForSysVars CONTNAME = container_gump CONTSIZE = 180_240 5
    if ! #result
       goto openbank
    set #CONTPOSX 640
    set #CONTPOSY 387
    gosub WaitForSysVars CONTPOSX = 640 CONTPOSY = 387 5
    if ! #result
       goto openbank
    return
    
    
    
    ;===================================================
    ; Script Name:  sub s7UseRunebook
    ; Author:  snicker7
    ; Version:  2.0
    ; Client Tested with:  4.0.11c
    ; EUO version tested with:  1.42/1.5
    ; Shard OSI / FS:  OSI/FS
    ; Revision Date:  24Aug05
    ; Public Release:  24Aug05
    ; Global Variables Used: N/A
    ; Purpose:  Failsafe sub to recall, gate, sacred journey flawlessly. Options to use scrolls, default locations, recharge books with scrolls in pack if book runs out of charges, and perfect gate travel. Not for the feint of heart!
    ;===================================================
    ;======= This file includes the main sub and =======
    ;===== several support subs that are required. =====
    ;===================================================
    ;===== Much love for T-Mo and BM, but I needed =====
    ;====== to write something I could only blame ======
    ;======= myself for if it fails. even though =======
    ;=================== it doesn't. ===================
    ;===================================================
    
    ; ===================================================================== ;
    ; ///////////////////////////////////////////////////////////////////// ;
    ; // EXCERPTS FROM S7SUBS.EUO ///////////////////////////////////////// ;
    ; ///////////////////////////////////////////////////////////////////// ;
    ; // Any reproduction of the subroutines below is strictly pro- /////// ;
    ; // hibited without express written permission of the author ///////// ;
    ; // (snicker7). Violation of the above will result in malicious ////// ;
    ; // actions by the aforementioned author performed upon your person // ;
    ; // including but not limited to: bodily harm, slander, maternal ///// ;
    ; // insults, possible legal action, and callin' the five-oh. Thank /// ;
    ; // you. ///////////////////////////////////////////////////////////// ;
    ; ///////////////////////////////////////////////////////////////////// ;
    ; ===================================================================== ;
    
    ;=/ 1NCLUD3D SUBS: /================================
    ; s7UseRunebook: Duh, you know why it's there.
    ; s7ScanJournalFor: SuperMultiParameterJournalScanning Power!
    ; s7MoveToPos: Legendary snicker7 brand name drag and drop sub. updated!
    ; s7MoveToCont: Wrapper for the above sub, updated for 1.5 exevents!
    ; s7WaitForAction: Mildly obsolete, begging for a rewrite object-delay sub!
    ; s7WaitForVars: Classic sysvar wait sub. One line shorter than Quintok's!
    ;===================================================
    Ultima modifica di DarkRitual; 03-01-2009, 05:44.

    _.-+* Kyoko, Draenei Shaman 80 <Out of Control> *+-._

    _.-+* Sayoko, Draenei Shaman 80 on Runetotem EU *+-._

    Commenta


    • #3
      2/3

      codice:
      ;----
      ;* @name s7UseRunebook
      ;* @author snicker7
      ;* @ver 2.0a 24Aug05
      ;* @purpose   do anything and everything travel related with a runebook
      ;* @params    %1   Rune or Runebook item ID to use
      ;*      %2   number of rune to travel to, use "default" for runes or default in runebook
      ;*      %3   travel method:
      ;*         r: recall
      ;*         g: gate
      ;*         c: sacred journey
      ;*         s: scrolls
      ;* @dependencies
      ;*      s7WaitForVars
      ;*      s7WaitForAction
      ;*      s7ScanJournalFor
      ;*      s7MoveToCont for recharging runebooks
      ;* @returns    #true   on success
      ;*      ERR_*   various errors.
      ;* @notes    none
      ;* @example:    gosub s7UseRunebook %bookID 14 r
      ;* @status done
      sub s7UseRunebook
        if %0 < 3 || _ , %2 , _ notin _1_2_3_4_5_6_7_8_9_10_11_12_13_14_15_16_default_
          return ERR_IncorrectParams
        namespace push
        namespace local _s7URB
        set !runebook %1
        set !index %2
        set !method %3
        set !fails 0
        if #contsize = 452_236
        {
          set !_cx #contposx + 20
          set !_cy #contposy + 20
          click !_cx !_cy r f dmc
          wait 5
        }
        for !_ 1 1
        {
          finditem OTF_JEF_KEF G_0
          if #findkind <> -1
            set !_ 0
        }
        for !orb 1 1
        {
          if !fails > 0 2 ; (changed this line to only fail once before returning)
            namespace pop
            return ERR_ , #journal
          set !jStart #jindex + 1
          if !index <> default
          {
            gosub s7WaitForAction 12
            set #lobjectid !runebook
            event macro 17 0
            gosub s7WaitForVars contname = generic_gump contsize = 452_236 3
            if ! #result 2
              set !fails !fails + 1
              set !orb 0
            if #result
            {
              set !_cy #contposy + 196
              set !_cx #contposx + 105 + ( ( ( !index / 2 ) + ( !index % 2 ) ) * 35 )
              if !index > 8
                set !_cx !_cx + 30
              click !_cx !_cy f dmc
              wait 5
              set !_cx #contposx + 135
              set !_cy #contposy + 144
              if !method = G
                set !_cy !_cy + 20
              if !method = C
                set !_cy !_cy + 36
              if !method = S
                set !_cy !_cy - 76
              if ( !index % 2 ) = 0
                set !_cx !_cx + 160
              set !charpos #charposx , _ , #charposy
              set !timeout #scnt2
              click !_cx !_cy f dmc
            }
          }
          if !index = default
          {
            set #ltargetid !runebook
            set #ltargetkind 1
            if !method = c
              event macro 15 210
            if !method = r
              event macro 15 31
            if !method = g
              event macro 15 51
            if !method = s
            {
              finditem WTL C_ , #backpackid
              if #findkind = -1 2
                namespace pop
                return ERR_NoRecallScrolls
              if #findkind <> -1 3
                set #lobjectid #findid
                gosub s7WaitForAction 12
                event macro 17 0
            }
            for !_ 1 1
            {
              if #targcurs <> 1
                set !_ 0
              gosub s7ScanJournalFor !jStart fizzles more_reagents tithing_points insufficient_mana
              if #result 3
                set !_ 1
                set !orb 0
                wait 20
            }
            set !charpos #charposx , _ , #charposy
            set !timeout #scnt2
            event macro 22 0
          }
          if !orb = 1
          {
            for !success 1 1
            {
              if #charposx , _ , #charposy = !charpos && !method in _r_c_s_
                set !success 0
              if !method = g
              {
                finditem OTF_JEF_KEF G_0
                if #findkind = -1
                  set !success 0
                if #findkind <> -1
                {
                  set #lobjectid #findid
                  gosub s7WaitForAction 12
                  event macro 17 0
                  for !_ 1 1
                  {
                    if #charposx , _ , #charposy = !charpos
                      set !_ 0
                    if #contname = generic_gump && #contsize = 420_280
                    {
                      set !_cx #contposx + 20
                      set !_cy #contposy + 260
                      click !_cx !_cy f dmc
                    }
                  }
                }
              }
              gosub s7ScanJournalFor !jStart fizzles location_is_blocked not_yet_recovered no_charges_left more_reagents tithing_points insufficient_mana not_marked
              if #result || !timeout + 60 < #scnt2
              {
                if no_charges in #journal
                {
                  finditem WTL C_ , #backpackid
                  if #findkind = -1
                    set !fails 2
                  if #findkind <> -1
                  {
                    set !scrolls #findid
                    finditem !runebook
                    set #findmod 0
                    gosub s7WaitForAction 12
                    event drag !runebook
                    for !_ 1 1
                    {
                      if #lliftedkind <> 1 2
                        wait 1
                        set !_ 0
                    }
                    str pos #contsize _
                    set #strres #strres - 1
                    str left #contsize #strres
                    set !_cx #findx + #strres / 2
                    str pos #contsize _
                    str del #contsize 1 #strres
                    set !_cy #findy + #strres / 2
                    click !_cx !_cy p f dmc
                    gosub s7MoveToCont !scrolls !runebook #backpackid 20_10
                  }
                }
                set !fails !fails + 1
                set !success 1
                set !orb 0
              }
            }
            wait 20
          }
        }
      namespace pop
      return #true
      
      sub s7ScanJournalFor
        set !SJFje #jindex + 1
        for !SJFji %1 !SJFje
        {
          scanjournal !SJFji
          for !SJFpi 2 %0
          {
            if % . !SJFpi in #journal
              return #true
          }
        }
      return #false
      
      ;----
      ;* @name s7MoveToPos
      ;* @author snicker7
      ;* @ver 1.2 24Aug05
      ;* @purpose Just Another Item Dragger.
      ;* @params    %1 is the item to be dragged
      ;*      %2 is the x-coord to drop to
      ;*       %3 is the y-coord to drop to
      ;*      %4 is the timeout in seconds
      ;*       %5 is the amount to be dragged (blank for all)
      ;* @returns    #true if drop was successful
      ;*      #false on error (drop to backpack, insufficient params, failed to drag)
      ;*      halt on critical error
      ;* @notes moves any item to a position on the screen. Will
      ;*   attempt to drop on character if drop fails. If character
      ;*   drop fails, halts and error message to avoid crash.
      ;* @dependencies
      ;*      s7WaitForAction
      ;* @example: call s7Subs.euo s7MoveToPos #findid 7 9 4 77
      ;* @status unknown
      sub s7MoveToPos
        if %0 < 4
          return #false
        namespace Push
        namespace Local _s7MvToPos
        set !_ID %1
        set !_x %2
        set !_y %3
        set !_tO %4
        set !_Amt #spc
        if %0 > 4
          set !_Amt %5
        set !_retry 0
        _s7MvToPos_SD:
        finditem !_ID
        if #findkind = -1 2
          namespace pop
          return #false
        gosub s7WaitForAction 13
        event drag #findid
        if #findstack > 1
        {
          set !_timeOut #scnt
          for !_ 1 1
          {
            if #contname <> stack_gump && #contname <> drag_gump
            {
              wait 1
              if !_timeOut + !_tO < #scnt
              {
                set !_retry !_retry + 1
                if !_retry > 2 2
                  namespace pop
                  return #false
                goto _s7MvToPos_SD
              }
              set !_ 0
            }
          }
          if !_Amt > #findstack
            set !_Amt #findstack
          msg !_Amt , $
        }
        set !_retry 0
        set !_timeOut #scnt
        for !_ 1 1
        {
          if #lliftedkind <> 1
          {
            wait 1
            if !_timeOut + !_tO < #scnt
            {
              set !_retry !_retry + 1
              if !_retry > 2 2
                namespace pop
                return #false
              goto _s7MvToPos_SD
            }
            set !_ 0
          }
        }
        set !_retry 0
        click !_x !_y p
        set !_timeout #scnt
        for !_ 1 1
        {
          if #lliftedkind = 1
          {
            wait 1
            if !_timeout + !_t0 < #scnt
            {
              set !_retry !_retry + 1
              if !_retry = 1
              {
                set !_x #clixres / 2
                set !_y ( #cliyres / 2 ) - 30
                click !_x !_y p
                set #result #false
                set !_timeout #scnt
              }
              if !_retry = 2 2
                display ok You have failed to drop an item to the correct position.$$The script is now halting to prevent a crash.
                halt
            }
            set !_ 0
          }
        }
        set #result #true
        namespace pop
      return #result
      
      ;----
      ;* @name s7MoveToCont
      ;* @author snicker7
      ;* @ver 1.2 24Aug05
      ;* @purpose A wrapper for the sub s7MoveToPos for moving to containers.
      ;* @params    %1 is the item to be dragged
      ;*      %2 is the container to drag to
      ;*      %3 is the mother container in which %2 is contained
      ;*       %4 is the #findmod value for the container
      ;*       %5 is the amount to be dragged (blank for all)
      ;* @returns none
      ;* @notes this is mad basic. no error checking. That is up to you.
      ;* @dependencies   s7MoveToPos
      ;* @example: call s7Subs.euo s7MoveToCont #findid #backpackid #charid 140_220
      ;* @status tested good

      _.-+* Kyoko, Draenei Shaman 80 <Out of Control> *+-._

      _.-+* Sayoko, Draenei Shaman 80 on Runetotem EU *+-._

      Commenta


      • #4
        3/3
        codice:
        sub s7MoveToCont
          namespace Push
          namespace Local _s7MoveToCont
          set !_ID %1
          set !_DCont %2
          set !_MCont %3
          set !_FMod %4
          if 1_5 in #euover
          {
            set !_Amt 65535
            if %0 > 4
              set !_Amt abs %5
            finditem !_ID
            if #findkind = -1 2
              namespace pop
              return #false
            gosub s7WaitForAction 13
            exevent drag #findid !_Amt
            exevent dropc !_DCont
            namespace pop
            return #true
          }
          set !_Amt #spc
          if %0 > 4
            set !_Amt %5
          set #result #true
          set !_retry 0
          for !_ 1 1
          {
            finditem !_DCont C_ , !_MCont
            if #findkind = -1
            {
              set #lobjectid !_MCont
              gosub s7WaitForAction 13
              event macro 17 0
              gosub s7WaitForVars contid = !_MCont 3
              if ! #result
              {
                set !_retry !_retry + 1
                if !_retry > 2 2
                  namespace pop
                  return #false
              }
              set !_ 0
            }
          }
          set !_retry 0
          set #findmod !_Fmod
          for !_ 1 1
          {
            gosub s7MoveToPos !_ID #findx #findy 4 !_Amt
            if ! #result
            {
              set !_retry !_retry + 1
              if !_retry > 2 2
                namespace pop
                return #false
              set !_ 0
            }
          }
        namespace Pop
        return #true
        
        ;----
        ;* @name s7WaitForAction
        ;* @author snicker7
        ;* @ver 1.1 31Jan05
        ;* @purpose waits 1.3 seconds before continuing, useful for waiting to perform
        ;*    another action
        ;* @params    none
        ;* @returns none
        ;* @notes probably not an original idea, but I need to use it frequently and it
        ;*    was easier to write it myself than to try to look for it as written by
        ;*    someone else
        
        ;* @example: call s7Subs.euo s7WaitForAction 13
        ;* @status tested good
        sub s7WaitForAction
          _s7WaitForAction:
          if %_s7ActionTimer + %1 > #scnt2 2
            wait 1
            goto _s7WaitForAction
          set %_s7ActionTimer #scnt2
        return
        
        ;----
        ;* @name s7WaitForVars
        ;* @author snicker7, inspired by Quintok, and of course, Smertrios
        ;* @ver 1.2 24Aug05
        ;* @purpose Multiple input sysvar waiter.
        ;* @params    %1*n is the gump sysvar being checked
        ;*      %2*n is the comparative operator (>, <, <>, =, etc)
        ;*      %3*n is the desired value of the sysvar
        ;*      %nfinal is the timeout in seconds
        ;* @returns #false if it times out
        ;*          #true if success
        ;* @notes    %1 does not require the preceding number sign
        ;*      one line shorter than Q's, no disrespect son
        ;*      originally written by Smertrios, included in Lexia
        ;*      Multiple inputs by Quintok, Obfuscation and name-
        ;*      spacing by snicker7!
        ;* @example: call s7Subs.euo s7WaitForVars contID = #backpackID contSize = 7_9 3
        ;* @status tested good
        sub s7WaitForVars
          namespace Push
          namespace Local _s7WFVs
          set !C %0 / 3
          set !T #scnt + 5
          if ( %0 % 3 ) = 1
            set !T #scnt + % . %0
          for !i 1 !C
          {
            set !o 3 * !i - 2
            set !p !o + 1
            set !q !o + 2
            if ! ( # . % . !o % . !p % . !q )
              set !i 0
            if #scnt > !T 2
              namespace pop
              return #false
          }
          namespace Pop
        return #true
        
        
        
        Sub itemsetup
        menu get mageregs
        if #MENURES
        {
           set %ITEMS1 KUF_JUF_KZF_JZF_MZF_WZF_RZF_SZF
           set %ITEMS2 false
           set %ITEMS3 false
           set %ITEMS4 false
           set %MAX_PRICE 8
           set %MAGEREGS YES
        }
        menu get necroregs
        if #MENURES
        {
           set %ITEMS2 IUF_YZF_TZF_DUF_UZF
           set %ITEMS1 false
           if %MAGEREGS = YES
              set %ITEMS1 KUF_JUF_KZF_JZF_MZF_WZF_RZF_SZF
           set %ITEMS3 false
           set %ITEMS4 false
           set %MAX_PRICE 8
           set %NECROREGS YES
        }
        menu get scrolls
        if #MENURES
        {
           set %ITEMS3 DPF
           set %ITEMS1 false
           set %ITEMS2 false
           set %ITEMS4 false
           if %MAGEREGS = YES
              set %ITEMS1 KUF_JUF_KZF_JZF_MZF_WZF_RZF_SZF
           if %NECROREGS = YES
              set %ITEMS2 IUF_YZF_TZF_DUF_UZF
           set %MAX_PRICE 8
           set %SCROLLS YES
        }
        menu get misc
        if #MENURES
        {
           menu get types
           set %ITEMS4 #MENURES
           set %ITEMS1 false
           set %ITEMS2 false
           set %ITEMS3 false
           set %ALLITEMS %ITEMS4
        }
        return
        
        sub travel_runes
        menu get BR1
        if #MENURES > 0
           set %BR1 #MENURES
        menu get BR2
        if #MENURES > 0
           set %BR2 #MENURES
        menu get VR
        if #MENURES > 0
           set %VR #MENURES
        menu get travel_method
        if #MENURES = 1
           set %TRAVEL r
        if #MENURES = 2
           set %TRAVEL c
        if #MENURES = 3
           set %TRAVEL g
        if #MENURES = 4
           set %TRAVEL s
        return
        
        sub first_setup
        gosub showeuomenu3
        first_setup:
        if #MENUBUTTON = yes
        {
           set #MENUBUTTON closed
           set %SETUP yes
           return
        }
        if #MENUBUTTON = no
        {
           set #MENUBUTTON closed
           set %SETUP no
           return
        }
        goto first_setup
        
        
        
        ;==================================
        ; Script Name: sub waitForSysVars
        ; Author: Quintok / Raziel
        ; Version: 1.05
        ; Client Tested with: 4.0.2b
        ; EUO version tested with: 0078
        ; Shard OSI / FS: OSI / FS
        ; Revision Date: 22th August 2005
        ; Public Release: 20th March 2004
        ; Global Variables Used: none
        ; Purpose: same as waitForSysVar but for multiple inputs.
        ;%1 system variable without '#'
        ;%2 = <> > < ... etc
        ;%3 comparing value
        ;%4 system variable without '#'
        ;%5 = <> > < ... etc
        ;%6 comparing value
        ;%n = timeout (not required)
        ;==================================
        sub waitForSysVars
          set !cnt %0 / 3
          set !timeOut #scnt + 5
          if ( %0 % 3 = 1 )
            set !timeOut #scnt + % . %0
          for !i 1 !cnt
          {
            set !offset 3 * !i - 2
            set !evaluation !offset + 1
            set !value !offset + 2
            if ! ( # . % . !offset % . !evaluation % . !value )
              set !i 0
            if #scnt > !timeout
              return #false
          }
        return #true
        ;=================================
        
        ;***************************************************************************************************
        ;==================
        ;**
        ;* @name CheckForWorldSave
        ;* @ver 1.0 20May05
        ;* @author  Boydon
        ;* @purpose To detect world saves and resources cleaning of RunUO Shards
        ;* @params
        ;* @returns
        ;* @notes the sub keep track of the last scanned journal line using
        ;*					the variable %Saveindex: every time the sub is called the script will
        ;*					start to scan from that line.
        ;* @dependencies sub WaitForSaveEnd
        ;* @example gosub CheckForWorldSave
        ;* @status Tested and working fine
        
        sub CheckForWorldSave
        
        	nameSpace Push
        	nameSpace Local CheckForWorldSave , #time , #random , #scnt2
        
        	if %SaveIndex = N/A
        		set %SaveIndex #jindex
        
        	set !Save #false
        	set !Jstart %SaveIndex
        	for !i !Jstart #jindex
        	{
        		scanjournal !i
        		if #jcolor = 53
        		{
        			if THE_WORLD_WILL_SAVE_IN in #journal || WORLD_IS_SAVING in #journal
        			{
        				set !Save #true
        				Event ExMsg #charid 3 33 SAVE Detected
        				gosub WaitForSaveEnd WORLD_SAVE_COMPLETE 100 !i SAVE
        				set %SaveIndex #jindex
        				set !i #jindex
        			}
        			if CLEANING in #journal
        			{
        				set !Save #true
        				Event ExMsg #charid 3 33 CLEANING Detected
        				gosub WaitForSaveEnd CLEANED 30 !i CLEANING
        				set %SaveIndex #jindex
        				set !i #jindex
        			}
        		}
        		set %SaveIndex !i
        	}
        
        	nameSpace Clear
        	nameSpace Pop
        
        return
        
        ;==================
        ;**
        ;* @name WaitForSaveEnd
        ;* @ver 1.0 20May05
        ;* @author  Boydon
        ;* @purpose To detect when world save/ resource cleaning has ended
        ;* @params %1 req End of save message
        ;*				 %2 req Time to wait before the sub goes in time out
        ;*				 %3 req #jindex of world save start message
        ;*				 %4 req Tells what are we waiting for, can be SAVE|CLEANING
        ;* @returns
        ;* @notes This sub _MUST_ be called _ONLY_FROM_ sub CheckForWorldSave.
        ;*				This sub uses the same namespace as sub CheckForSave.
        ;* @dependencies sub CheckForWorldSave
        ;* @example
        ;* @status Tested and working fine
        
        sub WaitForSaveEnd
        
        	if %0 < 4 || %1 = N/A || %2 = N/A || %3 = N/A || %4 = N/A
        	{
        		display ok Wrong use of Sub WaitForSaveEnd: some required arguments are missing!
        			+$Script will be halted.
        		halt
        	}
        
        	set !EndOfSave %1
        	set !SaveTimeOut #scnt + %2
        	set !Jstart %3
        	set !Message %4
        
        	waitforsaveend:
        
        	for !j !jstart #jindex
        	{
        		scanjournal !j
        		if #jcolor = 53
        		{
        			if !EndOfSave in #journal
        			{
        				set !Save #false
        				set %SaveIndex #jindex
        				set !j #jindex
        			}
        		}
        	}
        	if !Save = #true && #scnt <= !SaveTimeOut
        	{
        		wait 1
        		goto waitforsaveend
        	}
        	if #scnt > !SaveTimeOut
        	{
        		set !Save #false
        		set %SaveIndex #jindex
        		event ExMsg #charid 3 33 !Message detection timed out...
        	}
        	event ExMsg #charid 3 33 End of !Message Detected
        return
        ;=======================================================
        sub vai
            set !vx %1
            set !vy %2
            set !vz %3
            set !inizioj #JINDEX + 1
            if #CHARPOSX = !vx && #CHARPOSY = !vy
            {
              goto fattopathvai
            }
            riprovacasavai:
            event PathFind !vx !vy !vz
            set !error #scnt + 10
            attendipathvai:
            for !scjvai !inizioj #JINDEX
            {
               scanjournal !scjvai
               if Can't_get_there in #journal || That_location_is_blocked in #journal
               {
                  DELETEJOURNAL
                  return #false
               }
            }
            if #CHARPOSX = !vx && #CHARPOSY = !vy
            {
               goto fattopathvai
            }
            if #scnt > !error
            {
               goto riprovacasavai
            }
            goto attendipathvai
            fattopathvai:
        return #true
        ;=======================================================

        _.-+* Kyoko, Draenei Shaman 80 <Out of Control> *+-._

        _.-+* Sayoko, Draenei Shaman 80 on Runetotem EU *+-._

        Commenta


        • #5
          Allora Dark, scusami con il ritardo con il quale rispondo al thread.
          Comunque l'ho testato. Fino a che recalla, prende boards, recalla a Brit tutto perfetto.
          Una volta a Brit ci mette un tempo assurdo per doppio-cliccare l'npc e consegnargli le boards.
          Si può sistemare?

          ps: ti chiedo questo perchè con quello per il museo di vesper non ho di questi problemi.
          Grazie mille!

          Commenta


          • #6
            Appena trovo un buco di tempo per sistemarlo lo faccio e edito i primi thread, il tempo messo in più è stato fatto per quelli che hanno una linea lenta come la mia e pingano parecchio :P

            _.-+* Kyoko, Draenei Shaman 80 <Out of Control> *+-._

            _.-+* Sayoko, Draenei Shaman 80 on Runetotem EU *+-._

            Commenta


            • #7
              uppo per chiedere se è stato sistemato visto che tra poco dovrei metterlo in funzione ...gramoz m sai dire qualcosa?grazie mille cmq a darkritual per aver trasformato il grande lavoro di halda anche per britain...
              Sephirot [Fear]

              sigpic
              ICQ : 376331016

              Commenta


              • #8
                Abbassati i tempi di attesa in alcuni punti per farlo andare più veloce,non l'ho ancora testato, ma dovrebbe andare senza problemi

                _.-+* Kyoko, Draenei Shaman 80 <Out of Control> *+-._

                _.-+* Sayoko, Draenei Shaman 80 on Runetotem EU *+-._

                Commenta


                • #9
                  a me una volta recallato comincia a camminare in giro x la biblioteca
                  icq: 361-063-578

                  Commenta

                  Sto operando...
                  X