Author Topic: Gen's Library Donations  (Read 95243 times)

0 Members and 1 Guest are viewing this topic.

Offline Dan123The123Man

  • Jr. Member
  • **
  • Posts: 31
  • Activity:
    0%
  • Reputation Power: 1
  • Dan123The123Man has no influence.
  • Respect: +11
  • Referrals: 0
    • View Profile
Re: Gen's Library Donations
« Reply #120 on: January 18, 2016, 06:00:51 AM »
+1
oh damn thank you man for replying... Yeah I cant even get mine to like even attempt to buy from the vendors though let alone try to donate (haven't gotten that far yet). Is there any way you could post your working version or PM it to me or something?

Offline cybercasper

  • Full Member
  • ***
  • Posts: 228
  • Activity:
    0%
  • Reputation Power: 3
  • cybercasper has no influence.
  • Respect: +89
  • Referrals: 1
    • View Profile
Re: Gen's Library Donations
« Reply #121 on: January 18, 2016, 06:23:53 AM »
+1
sure this is the script I have changed it is not my script and I don't say it is my script it is just what I have updated to get it to work. I was doing it for mace and shields so if it doesn't work for you let me know

Code: [Select]
;===========================================================================
; Script Name: Gen's Library Donations
; Author: Gen2000
; Version: 1.5
; Client Tested with: 7.0.1.1
; EUO version tested with: 1.5 155
; Shard OSI/FS: OSI
; Public Release: 11/1/09
; Revision Date:
; Global Variables Used: CEO*FILESYSTEM
; Purpose: Recalls to smith/mage shops, buys axes/spell books,
;          Recalls to library & donates for glasses
;
; Glasses: Mace & Sheild, Wizard's Crystal , Fold & Steel
;===========================================================================
; http://www.scriptuo.com
;===========================================================================
; Special Thanks:
;---------------------------------------------------------------------------
; Author:  snicker7
; Script Name:  sub s7UseRunebook
;---------------------------------------------------------------------------
; Author:  Quintok / Raziel
; Script Name: sub waitForSysVars
;---------------------------------------------------------------------------
; Author  CEO
; Script Name: Sub CEO*FILESYSTEM
;===========================================================================
; Items Needed:
; Backpack:     2 Rune Books, 1 bank/library runes, and 1 with vendor shops.
;===========================================================================
; Instructions:  Bank/Library runebook should have rune to bank and library.
;                Vendor runebook should have runes marked to vendor shops.
;                Start off at any bank, click play and follow menu.
;===========================================================================
; Tips:  *DO NOT START WITH MORE THAN 3K GOLD IN PACK.
;        *REMOVE ALL BATTLE AXES YOU MAY WANT TO KEEP FROM PACK.
;        *REMOVE ALL SPELLBOOKS (SLAYERS ECT.) FROM PACK IF DONATING TO MAGE.
;         AND THE SPELLBOOK YOUR USING IN HAND!
;===========================================================================
set %lpc 1000               ;Adjust lpc if buying menu is going too fast.
set %axe_amount 95          ;Amount of axes to buy at a time.
set %spellbook_amount 100   ;Amount of spellbooks to buy at a time.
set %No_Dachi_amount 40     ;Amount of No-Dashis to buy at a time.
set %NPC_axe Garner           ;Name of NPC to Donate Axes.
set %NPC_spellbook William  ;Name of NPC to Donate Spellbooks
set %NPC_No_Dachi Pamela  ;Name of NPC to Donate No Dachis
;===========================================================================
;Option below is used to setup points you already have or reset points.
;Set %reset to #true, set %donated to points you have divided by 9/10 axe/spellbook.
;===========================================================================
set %reset #false ;set true to reset count
if %reset
{
   set %donated 2046 ;Number of points divided by points per item(s).
   gosub putGlobalVar Gen LD #CHARID DONATED
   display set reset back to false and restart script
   halt
}
;===========================================================================
;----------------------------------Setup------------------------------------
;===========================================================================
set %start #true
set %vendortype IS_HS
set #menubutton closed
set %vendor 1
set %pause pause
set %pause_resume Pause
set %d_lpc #lpc
set %status Please , #spc , Wait...
gosub openpack
gosub openstatusbar
gosub getGlobalVar GEN LD #CHARID first
if ! #result
{
   set %first 1
   gosub putGlobalVar GEN LD #CHARID first
   set %donated 0
   set %points 0
   gosub showeuomenu1
   set %status Ready...
   gosub menu_refresh2
   goto setup
}
gosub first_setup
if %SETUP = NO
{
   gosub GetGlobalVars
   goto setup3
}
menu hideeuo
gosub showeuomenu1
set %status Ready...
gosub menu_refresh2
setup:
if #menubutton = runebook
   goto runebook
if #menubutton = runebook2
   goto runebook2
if #menubutton = start
   goto setup2
goto setup
setup2:
menu get travel
if #MENURES = 1
   set %travel r
if #MENURES = 2
   set %travel c
menu get Donation
if #MENURES = 1
   set %donationtype warrior
if #MENURES = 2
   set %donationtype mage
if #MENURES = 3
   set %donationtype warrior2
menu get library
set %library #MENURES
menu get bank
set %bank #MENURES
menu get vendors
set %vendors #MENURES
setup3:
gosub donationtype
gosub showeuomenu2
menu hide
menu hideeuo
set #menubutton closed
gosub SetGlobalVars
goto mainloop
;======================================
;---------------Main Loop--------------
;======================================
mainloop:
finditem %items c_ , #BACKPACKID
if #FINDCNT > 0
{
   set %start #false
   goto mainloop3
}
gosub recall2bank
mainloop2:
gosub recall2vendor
goto findvendor
mainloop3:
gosub recall2library
gosub donate
goto mainloop
;=======================================
;--------------Buy----------------------
;=======================================
findvendor:
set %status Finding , #spc , vendor..
gosub menu_refresh
if *stop
{
   set #menubutton pause
   set *stop #false
}
if #menubutton = pause
   gosub pause
finditem %vendortype G_25
if #findkind = -1
{
   if %donationtype = warrior || %donationtype = mage
   {
      set %vendor %vendor + 1
      if %vendor > %vendors
      {
         set %vendor 1
         ignoreitem reset 2
      }
      if #gold = %did_I_buy
         goto mainloop2
      goto mainloop3
   }
   if %donationtype = Warrior2
   {
      set %wait_count 0
      repeat
      set %wait_count %wait_count + 1
      wait 20
      set %status Waiting , #spc , %wait_count , #spc , Secs
      gosub menu_refresh
      until %wait_count > 60
      ignoreitem reset 2
      goto findvendor
   }
}
if #FINDREP <> 7
{
   ignoreitem #findid 3
   goto findvendor
}
set %vendorid #findid
event Property #findID
if %vendorname notin #property || quest in #property || banker in #property || minter in #property
{
   ignoreitem #findid 3
   goto findvendor
}
;-------------------------------------
if #finddist > 7
{
   set %jindex #jIndex
   set %wait #SCNT + 2
   event pathfind #FINDX #FINDY #FINDZ
   repeat
   scanjournal %jindex
   if get_there in #journal
   {
      ignoreitem #findid 3
      goto findvendor
   }
   set %jindex %jindex + 1
   if N/A in #journal
      set %jindex %jindex - 1
   until pathfinding in #journal || %wait < #SCNT
   wait 2s
}
;-----------------------------------------
exevent popup %vendorid
wait 20
click 20 40
gosub WaitForSysVars CONTNAME = bill_gump CONTSIZE = 283_248 5
if ! #result
{
   if #CONTSIZE = 507_436 ;Quest menu
   {
      set %x2 #CONTPOSX + 350
      set %y2 #CONTPOSY + 400
      click %x2 %y2
      wait 30
      click %x2 %y2
      wait 10
      ignoreitem #findid 3
      set %trys 0
   }
   if #CONTSIZE = 463_414 ;Quest menu 2
   {
      set %x1 #CONTPOSX + 245
      set %y1 #CONTPOSY + 344
      click %x1 %y1
      wait 10
      ignoreitem #findid 3
      set %trys 0
   }
   set %trys %trys + 1
   if %trys > 2
   {
      ignoreitem #findid 3
      set %trys 0
   }
      goto findvendor
}
set %x_buy #CONTPOSX - 118
set %y_buy #CONTPOSY - 135
set %x_next #CONTPOSX + 73
set %y_next #CONTPOSY - 11
set %x_sign #CONTPOSX + 43
set %y_sign #CONTPOSY + 205
itemtobuy:
set #lpc %lpc
set %status Shopping..
gosub menu_refresh
if *stop
{
   set #menubutton pause
   set *stop #false
}
if #menubutton = pause
   gosub pause
getshopinfo
if #SHOPITEMTYPE in %ITEMS
{
goto buy
}
click %x_next %y_next ;next
if #SHOPCURPOS = #SHOPCNT
{
  set #lpc %d_lpc
  click %x_sign %y_sign ;sign
   CONTNAME <> bill_gump CONTSIZE <> 283_248 5
ignoreitem %vendorid 2
  goto findvendor
}
goto itemtobuy


buy:
if *stop
{
   set #menubutton pause
   set *stop #false
}
if #menubutton = pause
   gosub pause
if #SHOPITEMPRICE > %MAX_PRICE
{
   click %x_next %y_next
   goto skip
}
click %x_buy %y_buy d ;buy
click %x_buy %y_buy d ;buy
getShopInfo
set %amount %number
if #SHOPITEMMAX < %number
   set %amount #SHOPITEMMAX
setShopItem #shopItemID %amount
set #lpc %d_lpc
click %x_sign %y_sign ;sign
gosub WaitForSysVars CONTNAME <> bill_gump CONTSIZE <> 283_248 5
;ignoreitem reset 2
goto mainloop3
skip:
if #SHOPCURPOS = #SHOPCNT
{
  set #lpc %d_lpc
  click %x_sign %y_sign ;sign
  gosub WaitForSysVars CONTNAME <> bill_gump CONTSIZE <> 283_248 5
  ignoreitem %vendorid 2
  if #gold = %did_I_buy
     goto findvendor
  goto mainloop3
}
goto itemtobuy
;=======================================
;--------------Subs---------------------
;=======================================
sub donationtype
if %donationtype = warrior
{
   set %MAX_PRICE 23
   set %number %axe_amount
   set %donate %NPC_axe
   set %items BSF_HSF
   set %points_per 9
   set %vendorname smith
   return
}
if %donationtype = mage
{
   set %MAX_PRICE 18
   set %number %spellbook_amount
   set %donate %NPC_spellbook
   set %items MPF
   set %points_per 10
   set %vendorname mage
   return
}
if %donationtype = warrior2
{
   set %MAX_PRICE 73
   set %number %No_Dachi_amount
   set %donate %NPC_No_Dachi
   set %items EDP
   set %points_per 27
   set %vendorname smith
   return
}
display Error in setup!
halt

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

sub recall2bank
if %start
{
set %start #false
set %gold %number * %MAX_PRICE
set %gold %gold - #GOLD
if %gold < 1
   return
event macro 3 0 withdraw %gold
return
}
bank:
if *stop
{
      set #menubutton pause
      set *stop #false
}
if #menubutton = pause
   gosub pause
set %status Recalling , #spc , to , #spc , bank
gosub menu_refresh
set %start #CHARPOSX
gosub s7UseRunebook %runebook %bank %travel
set %recall_timer #SCNT + 10
wait_bank:
if %recall_timer < #SCNT
{
   goto bank
}
if %start = #CHARPOSX
   goto wait_bank
set %start #false
;set %number ( #MAXWEIGHT - #WEIGHT ) / 4
set %gold %number * %MAX_PRICE
set %gold %gold - #GOLD
if %gold < 1
   return
event macro 3 0 withdraw %gold
return


sub recall2vendor
if *stop
{
   set #menubutton pause
   set *stop #false
}
if #menubutton = pause
   gosub pause
set %status Recalling , #spc , to , #spc , vendor , #spc , %vendor
gosub menu_refresh
set %start #CHARPOSX
gosub s7UseRunebook %runebook2 %vendor %travel
set %recall_timer #SCNT + 10
wait_vendor:
if %recall_timer < #SCNT
{
   if err in #result
      set %vendor %vendor + 1
   goto mainloop2
}
if %start = #CHARPOSX
   goto wait_vendor
set %did_I_buy #gold
wait 20
return

sub recall2library
library:
if *stop
{
   set #menubutton pause
   set *stop #false
}
if #menubutton = pause
   gosub pause
set %status Recalling , #spc , to , #spc , library
gosub menu_refresh
set %start #CHARPOSX
gosub s7UseRunebook %runebook %library %travel
set %recall_timer #SCNT + 10
wait_library:
if %recall_timer < #SCNT
{
   goto library
}
if %start = #CHARPOSX
   goto wait_library
return


sub donate
set %status Donating...
gosub menu_refresh
if *stop
{
   set #menubutton pause
   set *stop #false
}
if #menubutton = pause
   gosub pause
donate:
finditem IS_HS g_4
if #findkind = -1
{
   display Not close enough to %Donate - Fix it - Script Paused
   gosub pause
   goto donate
}
if #findrep <> 7
{
   ignoreitem #findid player
   goto donate
}
event property #findid
if #property = $
   goto donate
if %donate notin #property
{
   ignoreitem #findid npc
   goto donate
}
set #lobjectid #findid
finditem %items c_ , #BACKPACKID
if #findkind = -1
{
   click %x %y r
   return
}
set #ltargetid #findid
set #ltargetkind 1
event macro 17 0
set #ltargetid #findid
set #ltargetkind 1
donate2:
if *stop
{
   set #menubutton pause
   set *stop #false
}
if #menubutton = pause
   gosub pause
gosub waitforsysvars CONTNAME = generic_gump CONTSIZE = 345_359 2
if ! #result
   goto donate
if #result
{
   finditem %items c_ , #BACKPACKID
   if #findkind = -1
   {
      click %x %y r
      return
   }
   set #ltargetid #findid
   set #ltargetkind 1
   if %donationtype = Warrior || %donationtype = mage
   {
      set %x #CONTPOSX + 39
      set %y #CONTPOSY + 300
      click %x %y
      target 2s
      event macro 22 0
   }
   if %donationtype = Warrior2
   {
      set %x #CONTPOSX + 306
      set %y #CONTPOSY + 343
      click %x %y
      click %x %y
      set %x #CONTPOSX + 39
      set %y #CONTPOSY + 266
      click %x %y
      target 2s
      event macro 22 0
   }
   set %donated %donated + 1
   set %points ( %donated * %points_per )
   gosub putGlobalVar Gen LD #CHARID DONATED
   gosub menu_refresh
   goto donate2
}
goto donate


runebook:
set %status Target , #spc , your , #spc , #spc , Bank/Library , #spc , Runebook
gosub menu_refresh2
set #targcurs 1
repeat
until #targcurs = 0
set %runebook #ltargetid
set %status Ready...
gosub menu_refresh2
set #menubutton closed
goto setup

runebook2:
set %status Target , #spc , your , #spc , #spc , Vendor(s) , #spc , Runebook
gosub menu_refresh2
set #targcurs 1
repeat
until #targcurs = 0
set %runebook2 #ltargetid
set %status Ready...
gosub menu_refresh2
set #menubutton closed
goto setup


sub openstatusbar
openstatusbar:
event macro 8 2
gosub WaitForSysVars CONTSIZE = 584_216 CONTNAME = status_gump
if ! #result
{
   goto openstatusbar
}
movestatus:
set #CONTPOSX 800
set #CONTPOSY 420
gosub WaitForSysVars CONTPOSX = 800 CONTPOSY = 420 5
if ! #result
{
   goto movestatus
}
wait 20
return

sub openpack
openpack:
event macro 8 7
gosub WaitForSysVars CONTSIZE = 230_204 CONTNAME = container_gump
if ! #result
{
   goto openpack
}
movepack:
set #CONTPOSX 815
set #CONTPOSY 255
gosub WaitForSysVars CONTPOSX = 815 CONTPOSY = 255 5
if ! #result
{
   goto movepack
}
wait 20
return


sub pause
set %pause resume
set %pause_resume Resume
set %status Paused..
menu Font Color Aqua
menu Button %pause 160 20 75 25 %pause_resume
menu set %pause %pause_resume
gosub menu_refresh
pause:
if #menubutton = resume
{
   set %pause pause
   set %pause_resume pause
   menu Font Color Aqua
   menu Button %pause 160 20 75 25 %pause_resume
   menu set %pause %pause_resume
   gosub menu_refresh
   return
}
goto pause
;===================================================
; 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!
;===================================================

;----
;* @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
      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
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
;======================================
;----------End of S7urb----------------
;======================================


;======================================
; 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
;=======================================
sub SetGlobalVars
gosub putGlobalVar GEN LD #CHARID BANK
gosub putGlobalVar Gen LD #CHARID LIBRARY
gosub putGlobalVar Gen LD #CHARID RUNEBOOK
gosub putGlobalVar Gen LD #CHARID RUNEBOOK2
gosub putGlobalVar Gen LD #CHARID TRAVEL
gosub putGlobalVar Gen LD #CHARID VENDORS
gosub putGlobalVar Gen LD #CHARID DONATIONTYPE
return

sub GetGlobalVars
gosub getGlobalVar Gen LD #CHARID BANK
gosub getGlobalVar Gen LD #CHARID DONATED
gosub getGlobalVar Gen LD #CHARID LIBRARY
gosub getGlobalVar Gen LD #CHARID RUNEBOOK
gosub getGlobalVar Gen LD #CHARID RUNEBOOK2
gosub getGlobalVar Gen LD #CHARID TRAVEL
gosub getGlobalVar Gen LD #CHARID VENDORS
gosub getGlobalVar Gen LD #CHARID DONATIONTYPE
return

;==================================
; Script Name:  CEO*FileSystem (pseudo filesystem)
; Author: CEO
; Version: 1.1
; Client Tested with: 4.0.1b
; EUO version tested with: 1_41_103
; Shard OSI / FS: OSI
; Revision Date: 040219
; Public Release: 040219
; Globals Used: User specified (2 total)
; Purpose: Allows you to use a * variable as a pseudo-filesystem
;=======================================
; CEO's global variable management subs:
;      getGlobalVar  . putGlobalVar  . delGlobalVar
;=======================================
;
;ver 1.1
;changed the lock file to use *variablename_lock so it'll work with any named *variable
;
Sub getGlobalVar

;ver 1.0 posted 19Feb04 by CEO
;purpose: Allows you to store multiple variables in one global variable unique to
;             each player and script. getGlobaVar retrieves a value from a global variable.
;@returns: #result = #false if variable not found, #true if found
;            % . %3 contains variable value
;%1 is the global/persistant variable to use ( %1 + 1 is used for locking)
;%2 is the script identifer or pseudo filename
;%3 is #charid or pseudo filename
;%4 is the variable to search for and return in %. %3
;%5 is for lock control. By default getGlobalVar uses a lock to return a value. In some cases you may want to
;       retrieve a variable (mostly for speed) without needing a lock as long as you are aware of
;      any potentional conflicts, that very rarely may occur. Set this param to NOLOCK to access
;      global storage without a lock.
;sample usage:
;               gosub getGlobalVar 50 MyScript #charid backpackid
; Using global var *50 finds the variable labeled MyScript#charidbackpackid and returns it in %backpackid
;
;               gosub getGlobalVar 50 MyScript #charid clothstat NOLOCK
; Using global var *50 find the variable labeled MyScript#charidclothstat and returns it in %clothstat without using a lock
; Warning: do not use *1000. * %1 + 1 is used for locking and there is no *1001!
nameSpace push
nameSpace local #systime , _ , %2 , _ , %3 , _ , %4 , _ , GET
set !lpc #lpc
set #lpc 1000
set !lock %1 , _lock
if ( %0 = 5 ) && ( %5 = NOLOCK )
   goto getGlobalVar_skiplock
set !lockcount 0
getGlobalVar_waitforlock:
if * . !lock <> N/A && * . !lock <> #nsname
{
   wait 1 4
   set !lockcount !lockcount + 1
   if !lockcount < 10
      goto getGlobalVar_waitforlock
   if * . !lock <> N/A
   {
      set !currentlock * . !lock
      if !currentlock = N/A
         goto getGlobalVar_waitforlock
      str pos !currentlock _
      set !strres #strres - 1
      str left !currentlock !strres
      set !systime #systime - #strres
      if !systime < 10000 ; if over 10 seconds assume a broken lock and take it
      {
         set !lockcount 0
         goto getGlobalVar_waitforlock
      }
   }
}
set * . !lock #nsname
wait 3 2
if  * . !lock <> #nsname
{
   set !lockcount 0
   goto getGlobalVar_waitforlock
}
getGlobalVar_skiplock:
set !global * . %1
set !varName %2 , ^ , %3 , ^ , %4 , |
str pos !global !varName
set #result #strres <> 0
if #result
{
   set !varNamePos #strres
   str len !varName
   set !delString !varNamePos + #strres - 1
   str del !global 1 !delString
   set !global #strres
   str pos !global |
   set !varNamePos #strres - 1
   str left !global !varNamePos
   set % . %4 #strres
}
if ( %0 < 5 || %5 <> NOLOCK ) && * . !lock = #nsname
   set * . !lock N/A
set #lpc !lpc
nameSpace Clear
nameSpace Pop
return #result

Sub putGlobalVar
;ver 1.0 posted 19Feb04 by CEO
;purpose: Allows you to store multiple variables in one global variable unique to
;             each player and script. putGlobaVar stores a value into a global variable.

;@returns: #result = #false if variable not found, #true if found
;            % . %3 contains variable
;%1 is the global/persistant variable to use
;%2 is the script identifer or pseudo filename
;%3 #charid or other identifier
;%4 is the variable name of the variable to save into the* variable identified in %1
;sample usage:
;               gosub putGlovalVar 50 MyScript #chardid backpackid
; Using global var *50 stores/updates the variable labeled MyScript#charidbackpackid  with %backpackid
; Warning: do not use *1000. * %1 + 1 is used for locking and there is no *1001!
nameSpace push
nameSpace local #systime , _ , %2 , _ , %3 , _ , %4 , _ , PUT
set !lpc #lpc
set #lpc 1000
set !lock %1 , _lock
set !lockcount 0
putGlobalVar_waitforlock:
if * . !lock <> N/A && * . !lock <> #nsname
{
   wait 1 4
   set !lockcount !lockcount + 1
   if !lockcount < 10
      goto putGlobalVar_waitforlock
   if * . !lock <> N/A
   {
      set !currentlock * . !lock
      if !currentlock = N/A
         goto putGlobalVar_waitforlock
      str pos !currentlock _
      set !strres #strres - 1
      str left !currentlock !strres
      set !systime #systime - #strres
      if !systime < 10000 ; if over 10 seconds assume a hung lock and take it
      {
         set !lockcount 0
         goto putGlobalVar_waitforlock
      }
   }
}
set * . !lock #nsname
wait 4
set !global * . %1
set !varName %2 , ^ , %3 , ^ , %4 , |
str pos !global !varName
if #strres = 0
{
   if  * . !lock <> #nsname
   {
      set !lockcount 0
      goto putGlobalVar_waitforlock
   }
   if  |CEO*FILESYSTEM| notin !global
      set !global |CEO*FILESYSTEM|
   set * . %1 !global , !varName , % . %4 , |
   set * . !lock N/A
   set #lpc !lpc
   nameSpace clear
   nameSpace pop
   return #true
}
set !varNamePos #strres
str len !varName
set !splitString !varNamePos + #strres - 1
str left !global !splitstring
set !globalPart1 #strres
str del !global 1 !splitString
set !global #strres
str len !global
set !globalLen #strres
str pos !global |
set !splitString !globalLen - #strres + 1
str right !global !splitstring
set !global #strres
if  * . !lock <> #nsname
{
   set !lockcount 0
   goto putGlobalVar_waitforlock
}
set * . %1 !globalPart1 , % . %4 , !global
set * . !lock N/A
set #lpc !lpc
nameSpace clear
nameSpace pop
return #true


Sub delGlobalVar
;ver 1.0 posted 19Feb04 by CEO
;purpose: Allows you to delete a variable out of the globalvar pool unique to
;             each player and script. delGlobaVar deletes a global variable in a * variable.

;@returns: #result = #false if variable not found, #true if  deleted
;
;%1 is the global/persistant variable to use
;%2 is the script identifer or pseudo filename
;%3 is #charid or other identifier
;%4 is the variable name of the variable to save into the* variable identified in %1
;sample usage:
;               gosub delGlovalVar 50 MyScript #charid backpackid
; Using global var *50 deletes  the variable label MyScript#charidbackpackid  and it's associated value.
; Warning: do not use *1000. * %1 + 1 is used for locking and there is no *1001!
nameSpace push
nameSpace local #systime , _ , %2 , _ , %3 , _ , %4 , _ , DEL
set !lpc #lpc
set #lpc 1000
set !lock %1 , _lock
set !lockcount 0
delGlobalVar_waitforlock:
if * . !lock <> N/A && * . !lock <> #nsname
{
   wait 1 4
   set !lockcount !lockcount + 1
   if !lockcount <  10
      goto delGlobalVar_waitforlock

   if * . !lock <> N/A
   {
      set !currentlock * . !lock
      if !currentlock = N/A
         goto delGlobalVar_waitforlock
      str pos !currentlock _
      set !strres #strres - 1
      str left !currentlock !strres
      set !systime #systime - #strres
      if !systime < 10000 ; if over 10 seconds assume a broken lock and take it
      {
         set !lockcount 0
         goto delGlobalVar_waitforlock
      }
   }

}
set * . !lock #nsname
wait 4
set !global * . %1
set !varName %2 , ^ , %3 , ^ , %4 , |
str pos !global !varName
set #result #strres <> 0
if #result
{
   set !varNamePos #strres
   str len !varName
   set !splitString !varNamePos + #strres - 1
   set !delString !varNamePos - 1
   str left !global !delString
   set !globalPart1 #strres
   str del !global 1 !splitString
   set !global #strres
   str pos !global |
   set !delString #strres
   str del !global 1 !delString
   if  * . !lock <> #nsname
   {
      set !lockcount 0
      goto delGlobalVar_waitforlock
   }
   set * . %1 !globalPart1 , #strres
}
if  * . !lock = #nsname
   set * . !lock N/A
set #lpc !lpc
nameSpace clear
nameSpace pop
return #result

;=======================================
;----------------Menu-------------------
;=======================================
sub showEUOMenu1
menu Clear
menu Window Title Gen's Library Donations
menu Window Color BtnShadow
menu Window Size 361 442
menu Font Transparent #true
menu Font Align Right
menu Font Name MS Sans Serif
menu Font Size 8
menu Font Style
menu Font Color Aqua
menu Font Transparent #false
menu Font Align Left
menu Font BGColor BtnShadow
menu Text EUOLabel1 52 44 Library rune number
menu Text EUOLabel2 52 72 Bank rune number
menu Text EUOLabel3 92 128 Travel Method
menu Text EUOLabel4 8 212 Status:
menu Font Color Lime
menu Text EUOLabel5 44 212 %status
menu Font Color Aqua
menu Text EUOLabel6 52 100 Number of vendors in runebook
menu Text EUOLabel7 8 236 Instructions:
menu Text EUOLabel8 8 252 1. Start at any bank
menu Text EUOLabel9 8 268 2. setup runebooks.
menu Text EUOLabel10 8 284 3. Set Library/Bank rune numbers, # of vendor runes, and travel mothod.
menu Text EUOLabel11 8 316 5. Click start.
menu Text EUOLabel12 8 336 Tips:
menu Text EUOLabel13 8 352 * Don't start with more than 3k gold in pack.
menu Text EUOLabel14 8 368 * You can start with items already in pack.
menu Text EUOLabel15 8 300 4. Choose Donations Type
menu Text EUOLabel16 132 156 Donation Type
menu Text EUOLabel17 8 384 * Mark library runes within 3 tiles of npc.
menu Text EUOLabel18 8 400 * Make sure and remove all items you don't wish to donate!
menu Text EUOLabel19 16 416 Spellbooks, weapons, ect.
menu Button runebook 4 8 131 25 Bank/Library Runebook
menu Combo Create library 4 40 41
menu Combo Add library 1
menu Combo Add library 2
menu Combo Add library 3
menu Combo Add library 4
menu Combo Add library 5
menu Combo Add library 6
menu Combo Add library 7
menu Combo Add library 8
menu Combo Add library 9
menu Combo Add library 10
menu Combo Add library 11
menu Combo Add library 12
menu Combo Add library 13
menu Combo Add library 14
menu Combo Add library 15
menu Combo Add library 16
menu Combo Create bank 4 68 41
menu Combo Add bank 1
menu Combo Add bank 2
menu Combo Add bank 3
menu Combo Add bank 4
menu Combo Add bank 5
menu Combo Add bank 6
menu Combo Add bank 7
menu Combo Add bank 8
menu Combo Add bank 9
menu Combo Add bank 10
menu Combo Add bank 11
menu Combo Add bank 12
menu Combo Add bank 13
menu Combo Add bank 14
menu Combo Add bank 15
menu Combo Add bank 16
menu Button start 4 180 75 25 Start
menu Combo Create travel 4 124 81
menu Combo Add travel Magery
menu Combo Add travel Chiv
menu Combo Create vendors 4 96 41
menu Combo Add vendors 1
menu Combo Add vendors 2
menu Combo Add vendors 3
menu Combo Add vendors 4
menu Combo Add vendors 5
menu Combo Add vendors 6
menu Combo Add vendors 7
menu Combo Add vendors 8
menu Combo Add vendors 9
menu Combo Add vendors 10
menu Combo Add vendors 11
menu Combo Add vendors 12
menu Combo Add vendors 13
menu Combo Add vendors 14
menu Combo Add vendors 15
menu Combo Add vendors 16
menu Button runebook2 148 8 115 25 Vendor(s) Runebook
menu Combo Create Donation 4 152 121
menu Combo Add Donation Mace and Sheild
menu Combo Add Donation Wizard's Crystal
menu Combo Add Donation Fold & Steel
menu Show 10 50
return


sub showEUOMenu2
menu Clear
menu Window Title Gen's Library Donations
menu Window Color BtnShadow
menu Window Size 256 72
menu Font Transparent #true
menu Font Align Right
menu Font Name MS Sans Serif
menu Font Size 8
menu Font Style
menu Font Color Aqua
menu Font Transparent #false
menu Font Align Left
menu Font BGColor BtnShadow
menu Text EUOLabel1 14 4 Status:
menu Text EUOLabel3 4 24 Donated:
menu Text EUOLabel5 16 44 Points:
menu Button %pause 160 20 75 25 %pause_resume
menu Show 250 495
return

sub showEUOMenu3
menu Clear
menu Window Transparent 80
menu Window Title Gen's Library Donations
menu Window Color BtnShadow
menu Window Size 190 75
menu Font Transparent #true
menu Font Align Right
menu Font Name MS Sans Serif
menu Font Size 10
menu Font Style
menu Font Color Aqua
menu Font Transparent #false
menu Font Align Left
menu Font BGColor BtnShadow
menu Text EUOLabel1 16 8 Do you wish to run setup?
menu Font Size 8
menu Button yes 8 44 75 25 YES
menu Button no 96 44 75 25 NO
menu Show 350 300
return

sub menu_refresh
menu delete status
menu delete donated
menu delete points
menu Font Color lime
menu Text status 52 4 %status
menu Text donated 52 24 %donated
menu Text points 52 44 %points
return

sub menu_refresh2
menu delete euolabel5
menu Font Color lime
menu Text EUOLabel5 44 212 %status
return


Offline ErwinEUO

  • Jr. Member
  • **
  • Posts: 17
  • Activity:
    0%
  • Reputation Power: 1
  • ErwinEUO has no influence.
  • Respect: +9
  • Referrals: 0
    • View Profile
Re: Gen's Library Donations
« Reply #122 on: August 11, 2016, 01:37:47 PM »
+1
Hi,

Thanks for posting the updated script, it's running very well for me on OSI.  I did comment out this line (line 141) for performance tuning purposes.

;gosub recall2bank

Thanks!

Erwin

Offline cybercasper

  • Full Member
  • ***
  • Posts: 228
  • Activity:
    0%
  • Reputation Power: 3
  • cybercasper has no influence.
  • Respect: +89
  • Referrals: 1
    • View Profile
Re: Gen's Library Donations
« Reply #123 on: August 11, 2016, 02:14:41 PM »
+1
your welcome glad that i could actually help someone out :)

Offline cherrios

  • Jr. Member
  • **
  • Posts: 16
  • Activity:
    0%
  • Reputation Power: 1
  • cherrios has no influence.
  • Gender: Male
  • Respect: +7
  • Referrals: 0
    • View Profile
Re: Gen's Library Donations
« Reply #124 on: June 20, 2018, 09:05:29 AM »
+1
Haven't run this script in many years, but i tried it today and when it went back to library to drop of spellbooks it would not change page to get to the spellbook. Im on OSI ty

Offline Crisis

  • Global Moderator
  • *
  • *
  • Posts: 3084
  • Activity:
    2.6%
  • Reputation Power: 42
  • Crisis is a force to reckon with.Crisis is a force to reckon with.Crisis is a force to reckon with.Crisis is a force to reckon with.Crisis is a force to reckon with.Crisis is a force to reckon with.Crisis is a force to reckon with.Crisis is a force to reckon with.
  • Gender: Male
  • Scripting well enough to break things!
  • Respect: +566
  • Referrals: 2
    • View Profile
Re: Gen's Library Donations
« Reply #125 on: June 20, 2018, 01:54:42 PM »
+1
Haven't run this script in many years, but i tried it today and when it went back to library to drop of spellbooks it would not change page to get to the spellbook. Im on OSI ty

You will most likely need to change the size of the gump.

Offline cherrios

  • Jr. Member
  • **
  • Posts: 16
  • Activity:
    0%
  • Reputation Power: 1
  • cherrios has no influence.
  • Gender: Male
  • Respect: +7
  • Referrals: 0
    • View Profile
Re: Gen's Library Donations
« Reply #126 on: June 21, 2018, 07:39:28 AM »
+1
Yea changing the gump is not something i know how to do but thx

Offline cybercasper

  • Full Member
  • ***
  • Posts: 228
  • Activity:
    0%
  • Reputation Power: 3
  • cybercasper has no influence.
  • Respect: +89
  • Referrals: 1
    • View Profile
Re: Gen's Library Donations
« Reply #127 on: June 21, 2018, 09:59:56 AM »
+1
i posted and update to the script not to far up

Offline cherrios

  • Jr. Member
  • **
  • Posts: 16
  • Activity:
    0%
  • Reputation Power: 1
  • cherrios has no influence.
  • Gender: Male
  • Respect: +7
  • Referrals: 0
    • View Profile
Re: Gen's Library Donations
« Reply #128 on: June 22, 2018, 08:01:37 AM »
+1
It still will not donate even with your update. Script will bring up the donation box but will not change the page to click on the spell book. Script works fine up to the point of donation
« Last Edit: June 22, 2018, 08:04:33 AM by cherrios »

Offline Gaderian

  • Elite
  • *
  • *
  • Posts: 490
  • Activity:
    0%
  • Reputation Power: 10
  • Gaderian barely matters.Gaderian barely matters.
  • Respect: +283
  • Referrals: 3
    • View Profile
Re: Gen's Library Donations
« Reply #129 on: June 24, 2018, 12:10:19 AM »
+1
I do not believe it is the gump size that changed. When Endless Journey was released, Broadsword included a token that can be purchased for RL $$ that grants points in various turn-in options (brit library, moonglow zoo, etc.). This token has taken an early place in the donation list for each NPC at the library. Most of the turn-ins have now slipped down and onto a 2nd page when accessing the NPC's menu for donations.

I have a highly modified version of this script that works since those changes were made on the server side.  I am uncertain if there is a clean version of the code where it would allow a simple copy/paste of the modifications. The original uses a series of goto statements to get around and doubles in the donation routine for anti-lag/slow-connection resiliency. In my mixture of boredom when I can't go outside and dislike for goto (in favor a cleaner sub's with a clean exit status) I revamped the major portions of the script.

The code for one of the turn in's includes samurai weapons and already has code to access the 2nd page for selecting which item to donate. That is a reasonable hint at how to handle the 2nd page turn in to modify the donation routine area.

On a side note, I had this able to run for about 22-25 hours for mace and shield glasses. Just prior to EJ it was optimized down to 16-18 hours. The extra click from the EJ change has it back up to about 26 hours to turn in the 88K axes necessary. :(
"Go ahead ask me: 'Should I use hard waits or timers?'"
You say:"Should I"
Gaderian:"Timers!"
You Say:"use hard waits or timers?"

The serious side of timer use is illustrated here: http://www.scriptuo.com/index.php?topic=12094.msg101926#msg101926

However, every time I go back and look at this [AutoLooter] script, I realize I had wrote it in my zen state of EUO scripting - so it makes my brain hurt.

Offline lamerucolo

  • Newbie
  • *
  • Posts: 7
  • Activity:
    0%
  • Reputation Power: 1
  • lamerucolo has no influence.
  • Respect: +3
  • Referrals: 0
    • View Profile
Re: Gen's Library Donations
« Reply #130 on: October 26, 2023, 10:43:03 PM »
+1
Hello Gaderian... I think you are the only one who can help me :)
I appreciate very much your contributions here and on easyuo site...

I have been trying to make this script work for a while but unfortunately I have two problems:
1. 90% of the times, the script menu remains invisible thus making me impossible even to configure and start the script
2. The couple of times I was able to start the script menu, unfortunately it stops when it gets to donating to the LIbrary NPCs (i.e spellbooks to Abram on ATL): the script opens the donation gump but it remains stuck on first page and nothing happens...

I have changed the CONTSIZE of the sub "openstatusbar"  but is till does not work :(

sub openstatusbar
openstatusbar:
event macro 8 2
gosub WaitForSysVars CONTSIZE = 345_359 CONTNAME = status_gump
if ! #result
{
   goto openstatusbar
}
movestatus:
set #CONTPOSX 800
set #CONTPOSY 420
gosub WaitForSysVars CONTPOSX = 800 CONTPOSY = 420 5
if ! #result
{
   goto movestatus
}
wait 20



Can you help???
...I would love to test your modified script :)

Thanks so much
Federico
« Last Edit: October 27, 2023, 12:33:55 AM by lamerucolo »

Tags: