ScriptUO

Official ScriptUO EasyUO Scripts => Script Library => Gold Farming => Topic started by: Paulonius on April 21, 2010, 02:17:05 PM

Title: Whole Book BOD Filler
Post by: Paulonius on April 21, 2010, 02:17:05 PM
This script calls Snicker7's BODFiller to fill SBODs in one book and drop them in another.  This has been done before, but I needed a version of it for something I am working on and had to write a custom version.  It was relatively easy to edit it into a stand-alone version, so I have done that here.  Please read the code intro posted below for setup.  If you use it and encounter errors, please let me know so that I can trouble shoot. Script takes about a minute per sBOD. Script is currently configured to complete smithy bods only.

The filler can be found here:

http://www.easyuo.com/forum/viewtopic.php?t=18664&postdays=0&postorder=asc&start=0


Code: [Select]
;=====================================================================
; Script Name:  S7 Filler Call Full BOD Book Filler
; Version: 0.10
; Author: Paulonius
; Special Thanks to TrailMix and S7 for the use of their code
; Client Tested with:
; EUO version tested with:
; Shard OSI / FS: OSI
; Initial Release Date:  04/21/2010
; Revision Date: TBD
; Global Variables Used: N/A
; Dependencies: Script requires that you have S7BodFiller and CraftInfo
;               in the same file as script
;----------------------------------------------------------------------
; Purpose: Fills Bods in one book and transfers them into a second
;======================================================================
; TO Do List
; 1. build a tracking menu
; 2. Menu based setup
;======================================================================
; Initial Setup
; 1. You must have a secure with your resources in it within reach
; 2. You should have two books in your pack, one with bods that you
;    want to fill, and another to drop the completed bods into
;======================================================================
; Instructions:
; 1. Position yourself with reach of a forge, anvil, and your secures
; 2. Have a tinker kit in your backpack
; 3. Toon should have 120 Blacksmith, 100 Mining and 70 Tinker
; 4. Not recommended that you try to fill books with more than 450 BODs
;    490 is your max with a pack empty of everything except what you
;    need to run the script.
; 5. Do not use the same BOD book for full and empty deeds
;======================================================================
Title: Re: Whole Book BOD Filler
Post by: manwinc on April 21, 2010, 03:23:59 PM
Thanks for the info on how to fix it. My guildmates were complaining to me about it.
Title: Re: Whole Book BOD Filler
Post by: anewbe4u on April 24, 2010, 06:40:52 AM
This is great, thank you!
Title: Re: Whole Book BOD Filler
Post by: NObama on April 24, 2010, 08:52:17 AM
Making spears instead of kryss, don't have a moment to figure out what to change in S7s script.
Title: Re: Whole Book BOD Filler
Post by: luv2luvlong on April 24, 2010, 10:15:04 AM
Making spears instead of kryss, don't have a moment to figure out what to change in S7s script.
You might need to check that things didn't change in the craftinfo.txt with the latest patch.
Title: Re: Whole Book BOD Filler
Post by: NObama on April 24, 2010, 12:12:38 PM
Ah.  Of course.  I'll take a look, although I'm not sure if I'll understand what I'm seeing...

EDIT:  As usual, the problem is me.  I hadn't updated craftinfo since early 2009...
Title: Re: Whole Book BOD Filler
Post by: luv2luvlong on April 24, 2010, 01:26:22 PM
actually craftinfo update is on easyuo site
http://www.easyuo.com/forum/viewtopic.php?t=41405 (http://www.easyuo.com/forum/viewtopic.php?t=41405)
it is actually easy once you look at the craftinfo.txt

Code: [Select]
gosub _sub formal_shirt tjn 1 scissors shirts 3 12 1 tailoring 260 1 cloth 16
if %1 = cloth_ninja_jacket || %1 = cloth , #spc , ninja , #spc , jacket
if you look at this snippet from it the main numbers to be concerned with is the 3 and 12 this is telling it where to click in the craft menu
Title: Re: Whole Book BOD Filler
Post by: Ultima on April 24, 2010, 08:55:30 PM
I finally started messing around with S7's BOD filler last month...for the first time. In all my years of playing I never messed with BOD's. I knew I would eventually get too it. I tried a few times manually do some BOD's  but quickly lost interest when I kept getting back lousy rewards and lousy requests.

With S7's I was doing increments of 30-45 and I had to keep a close eye on things to make sure I wasn't losing production time.

Nicely done Paulonius. This script is friggin' sweet! Your a genius man! 8)

I just filled approximately 350 SBOD's. No way in high hell I would have gotten that accomplished tonight using s7's standalone.

The only time I ran into trouble was when it grabbed a LBOD I overlooked. I need to get better organized what can I say I'm a rookie BOD'er and still learning...

It's really nice being able to pull in some POF and other goodies and not having to purchase POF at 150k-200k a pop. It adds up and the way I'm blowing through POF trying to make some woodland armor pieces it would cost me and arm and a leg.

I notice some players...probably more seasoned BOD'ers tossing alot of unfilled BOD's on the ground. Is this wise? Even if it's just an Iron ingot one...you could potentially fill it and get something good later on down the line...right?

Or maybe some players must have such an excess of BOD's that it's not significant to them?

I need to read up and get a leg up on what is wise and intelligent BOD'ing and what isn't...

Title: Re: Whole Book BOD Filler
Post by: luv2luvlong on April 24, 2010, 09:55:18 PM
Just remember the only drawback to s7's script is it won't do most of the bone armor stuff. only does normal bone, not spined, barbed, or horned.
Title: Re: Whole Book BOD Filler
Post by: Paulonius on April 25, 2010, 05:26:13 AM
Most of the people dropping BODs have a ton and are not using a script to fill them.  I use a gatherer to get me the crappy BODs they throw away, then I churn them through S7s filler.  Check out Special project B if you are interested, I am going to need some folks testing it and I want to keep it elite when its done, but you might like what you see there.
Title: Re: Whole Book BOD Filler
Post by: NObama on April 25, 2010, 07:03:48 AM
Paulonius -

Fantastic use of S7's script.  It pulled me back into bods for the first time in years...I knew there was a reason I was saving 5000 crap bods to recycle, and you're it!

If we happen to solve the bone armor problem, that would be worth an SUO hall of fame nomination for the scripter.

 :)
Title: Re: Whole Book BOD Filler
Post by: Paulonius on April 26, 2010, 12:35:42 PM
There are several problems with the BODFiller post publish 65 that I have have found so far.  If you see one, post it here and I will see what I can do. 
Title: Re: Whole Book BOD Filler
Post by: newbielove on June 21, 2010, 12:51:26 PM
This is a fantastic script!

Thank you, soooo very much!!!!!!!  :o
Title: Re: Whole Book BOD Filler
Post by: Outlaw Josey Wales on August 15, 2010, 11:33:17 PM
dam nice script
Title: Re: Whole Book BOD Filler
Post by: Magier on August 15, 2010, 11:57:46 PM
this thing is so nice! love it thanks for making it
Title: Re: Whole Book BOD Filler
Post by: Outlaw Josey Wales on August 17, 2010, 10:26:38 AM
I love this script but i did have one question why does it put ten copper ingots in your bag before every bod filled?

Im being noisy lets say its filling shadow bod ive noticed it will pull out ten copper then the shadow ingots just curious if there was any sugnifgance of why it does that
Title: Re: Whole Book BOD Filler
Post by: Paulonius on August 17, 2010, 10:37:33 AM
My guess is that I screwed up somewhere.  I will have to take a peek at it
Title: Re: Whole Book BOD Filler
Post by: Outlaw Josey Wales on August 17, 2010, 10:41:25 AM
ment no offense sir at all.  i was just thinking the added time it took to pull the ten copper out takes off the total fill time for bods
Title: Re: Whole Book BOD Filler
Post by: Paulonius on August 17, 2010, 10:45:47 AM
None taken, I always appreciate someone taking the time to watch a script enough to tell me something I can do to improve it.

I have noticed this one myself and just never bothered with it. I will try to make time to fix whatever is causing it.
Title: Re: Whole Book BOD Filler
Post by: Outlaw Josey Wales on August 17, 2010, 10:48:31 AM
None taken, I always appreciate someone taking the time to watch a script enough to tell me something I can do to improve it.

I have noticed this one myself and just never bothered with it. I will try to make time to fix whatever is causing it.
im noodlet at scripting but im good bug finder so if u need more help sir ill be more than happy to help
Title: Re: Whole Book BOD Filler
Post by: asdman on October 18, 2010, 02:13:04 AM
Anyone wanna fix it for freeshards? not working atm.. the tinkering doesnt work
Title: Re: Whole Book BOD Filler
Post by: Paulonius on October 18, 2010, 04:34:00 AM
Sorry, I don's support freeshards.  I will be redirecting my efforts on this and all other script to making the transition from EUO to OEUO.
Title: Re: Whole Book BOD Filler
Post by: asdman on October 19, 2010, 04:29:34 AM
Can you give any tips why its not working? I just started EUO/OEUO, tried changing the clickoffsets to match my shard but didnt help
Title: Re: Whole Book BOD Filler
Post by: Cerveza on October 19, 2010, 04:44:49 AM
When asking for support on something the author has said is NOT supported, there's two things that are important to remember.

1 - Kiss his butt. Yep, you need to ask as nicely as possible and not make your request seem like a demand. Continued requests for help without even having the courtesy of saying "please" will get your posts deleted and send you to the timout room.

2 - Provide good information. It's your problem on a shard that the author has NEVER logged into. He has NO idea what the gumps are like, how basic functionality works or anything about your free shard. This statement:
the tinkering doesnt work
Is very little help to the author in identifying where the problem might be. When asking for help provide as much information as possible, remembering there are tools build into EUO that can assist. Hitting F7 will begin stepping through the script, running it line by line. Do that and you might spot where the script is cycling or hanging up.

Failing to follow those steps, especially #1 will get you very negative responses, and possibly a trip to the timout corner.
Title: Re: Whole Book BOD Filler
Post by: asdman on October 19, 2010, 04:58:27 AM
Ah yeah, to be more specific, it stumbles on gump responses aka clicking the right button, so the offsets are off for my shard.. and its a AOS/ML shard, mostly AOS. I love your script, i do play on OSI too but freeshards too, I'd be eternally gratefull for even some tips, and keep up the good work :)
Title: Re: Whole Book BOD Filler
Post by: Paulonius on October 19, 2010, 06:21:22 AM
If the offset's are off on your freeshard, then you will need to find the new offset values and change the values in the script.  The offsets for making new tinker kits and for cycling the item with "Make Last Item" are hard coded into the process that makes the kits/cycles last item, so check those first.  The offsets for the items are in a sub that resets the tinker gump to the next item when you hit a skill threshold.*  You can check your gump locations by using TM's Offset Click finder script.  

Which is located here:

http://www.scriptuo.com/index.php?topic=505.0

*When I first read this note I thought I was looking at comments on my tinker trainer.  Ignore the line I crossed out, left there to avoid confusing anyone who had read this the first time I posted it.
Title: Re: Whole Book BOD Filler
Post by: Paulonius on October 19, 2010, 06:33:53 AM
I just poked through the script to see what might have to be changed to make it work freeshard for you and it occurred to me that I don't know whether S7's filler works freeshard.  This won't work if that doesn't.  I believe that S7 did write it to work freeshard (He plays Alexandria), but I don't know if it works everywhere of whether he has it up to date.  You may have to change the Call line to tell his filler that you are playing freeshard, but I don't know.

Anyway, to find all of the offset's you need to change, open the script hit edit and do a find with the word "click".  I used the sub OffsetClick for all of the menu's, so you will be able to look at every click with that edit search.  Use TM's sub referenced in the previous post to check the numbers.

I just realized that I was thinking of my tinker trainer script and not the book filler. (I was looking through the right script though)  This one will be easy to fix the tinker script where the offset clicks are concerned.  The issue is going to be determining what the call line needs to look like to tell the filler that it should use freeshard gump clicks.  I have never done it, so you will probably need to give S7's instruction pages on the filler a close read.  
Title: Re: Whole Book BOD Filler
Post by: asdman on October 19, 2010, 11:34:21 PM
Thanks, got it working but dropping the bod from the book is really slow and it makes an extra item sometimes, and dragging the bod to finished bods book bugs a bit, also it makes new tongs everytime so item id's might be wrong for my shard. Ill try to tweak it more, but thanks alot for the tips.


EDIT: Got it fixed, except the dragging. Tries to drag ingots first or something.
EDIT2: Hmm, it drags the ingots back to secure after finishing a bod, any idea how i could fix that?
Title: Re: Whole Book BOD Filler
Post by: Paulonius on October 20, 2010, 05:01:36 AM
Both issues you mention are processes in S7s BODFiller script that is called by this script.  I can't support a fix for either issue.
Title: Re: Whole Book BOD Filler
Post by: asdman on October 20, 2010, 06:07:14 AM
Had to change %ResourceSecure to true for the ingot restock to even work, i think it was false before.
Title: Re: Whole Book BOD Filler
Post by: Paulonius on October 20, 2010, 06:52:25 AM
The variable %ResourceSecure is set in the setup process when the script asks you to target the container with your ingots.  Its also part of the call line to S7's BODFiller that tells it where to get ingots.  It would never be True or False, as it represents the item ID for the container, a unique seven letter tag in EUO. 
Title: Re: Whole Book BOD Filler
Post by: asdman on October 20, 2010, 06:59:21 AM
Ah okay, dunno.. doesnt seem normal behaviour that it puts ingots back to the secure and then restocks 250.
Title: Re: Whole Book BOD Filler
Post by: Cerveza on October 20, 2010, 07:17:15 AM
Seems normal to me. That way you know exactly how many ingots you have to begin the process.

So now whats your issue? Is the script working for you or not? You just want it to work faster??
Title: Re: Whole Book BOD Filler
Post by: Paulonius on October 20, 2010, 07:33:46 AM
We could debate the efficiency of the process that S7 set up for the filler, but I am not going to do anything to change it. Take a shot at modifying the process he uses in that script if you are interested in experimenting with it.
Title: Re: Whole Book BOD Filler
Post by: asdman on October 20, 2010, 07:42:00 AM
Yeah, it works fine. And gonna learn OEUO since its much better. Incase anyone wants my modified version just ask, should work on any pre SA shards(or pre publish 65). Only need to modify some offsets and %BODBookMainGump and %cwin.
Title: Re: Whole Book BOD Filler
Post by: Scrripty on October 20, 2010, 02:23:47 PM
Ah okay, dunno.. doesnt seem normal behaviour that it puts ingots back to the secure and then restocks 250.

It's absolutely normal behaviour, otherwise your pack would fill up with misc ingots... it does use any ingot color... and there's no way for the script to determine exactly how many ingots you used or how many you'll need with failures, so the easiest route is just throw the ingots back in the container and get a new stack each time.  Smart really.  And there's no real way to increase the speed of the subs because certain waits take certain amounts of time, and he's already using all the time in between his waits with action waits... I've looked.  It's a great idea, but oeuo wont help speed it up at all really, cause it takes a set amount of time to do certain actions.  The only thing it will speed up is gump interactions.
Title: Re: Whole Book BOD Filler
Post by: asdman on October 20, 2010, 06:00:38 PM
Yeah, didnt mean OEUO will increase speed, i just like the syntax more.
Title: Re: Whole Book BOD Filler
Post by: mazulat on December 06, 2010, 08:37:39 PM
I had to adjust for menu size but otherwise it works like a charm. Tyvm
Title: Re: Whole Book BOD Filler
Post by: Adenocard on December 11, 2010, 10:44:37 AM
Yep not having any major issues with it other than the menu size as well...
Title: Re: Whole Book BOD Filler
Post by: Newsman on January 17, 2011, 09:01:09 PM
Just to clarify. Your script doesn't require alterations with the snippets in the original post?  I've been running it a few minutes and I've seen no flaws so far that might require alteration.

Impressions:
It's not a script to run in conjunction with s7 but rather a modification of s7 that functions as a stand alone script. (an amazing one). 
It's pretty great.  The various gumps appear to function correctly, so it's up to date.

Bravo.  Thank you Paulonius.
Title: Re: Whole Book BOD Filler
Post by: Newsman on February 07, 2011, 02:44:14 PM
Upon encountering LBODs, the script begins to spiral out of control crafting iron cutlasses.  When using this script, make sure your book is set to smalls or remove all the lbods.

Is there any future plans to support lbods?
Title: Re: Whole Book BOD Filler
Post by: Paulonius on February 07, 2011, 02:48:42 PM
There are no plans to support LBODs with this script.  It is strictly for filling a book with smalls. 

This script is not a modification of s7s script, it relies 100% on that script, calling it to fill sBODs.  The mods posted at the beginning of this script were to s7s script, and he has since encorporated those into his script.  If you have an updated version of his filler you can ignore the mods.
Title: Re: Whole Book BOD Filler
Post by: splatter666 on February 27, 2011, 01:07:49 AM
hiho
does this scriot/modification still work?
Title: Re: Whole Book BOD Filler
Post by: Paulonius on February 28, 2011, 01:21:37 PM
I have not used it in a while, but I believe it does still work.  You DO NOT need the modifications anymore.  Snicker7 has fixed these issues with his script.  If you have his updated filler you should be good to go.  In fact, I am going to pull the mods from my initial post now.
Title: Re: Whole Book BOD Filler
Post by: Newsman on February 28, 2011, 06:41:09 PM
it works. I used it yesterday.
Title: Re: Whole Book BOD Filler
Post by: Outlaw Josey Wales on April 09, 2011, 12:09:09 PM
I simply love this script Ive gotten alot of power and hammers useing this
Title: Re: Whole Book BOD Filler
Post by: bendel on April 18, 2011, 01:13:55 PM
Quote
; 3. Toon should have 120 Blacksmith, 100 Mining and 70 Tinker

Why 100 mining ?
Title: Re: Whole Book BOD Filler
Post by: Paulonius on April 18, 2011, 01:17:23 PM
Without mining you will not be able to smelt special metals, which will lock the script.

Blacksmith can be less than 120, but you will shred a lot more ingots making plate.
Title: Re: Whole Book BOD Filler
Post by: bendel on April 18, 2011, 01:25:17 PM
Thank you for your fast answer mister Paulonius.

ok i understand now,  but script not working for me :(

I'll followed the setup at start, the script drope one bods to fill and after nothing ... he try to take something but nothing happens :(

I play on Europa Shard/EA

What can i do to solve that ? ^^
Title: Re: Whole Book BOD Filler
Post by: Paulonius on April 18, 2011, 07:50:14 PM
do you have snicker7's bodfiller script in the right directory?  This script calls that script, so you must have a working version of it.
Title: Re: Whole Book BOD Filler
Post by: bendel on April 18, 2011, 11:47:27 PM
Ok working now ! (scripts wasn't on same dir).

This is an fantastic script, you'v made my day ;)
Title: Re: Whole Book BOD Filler
Post by: 12TimesOver on May 13, 2011, 11:06:34 AM
Approved and Moved to ScriptUO Script Library!

X
Title: Re: Whole Book BOD Filler
Post by: splatter666 on June 19, 2011, 12:13:14 AM
does anyone has an working bod swapper script
now that i have tons of filled bods i need to swap tham and the one i have doesnt work :-(
Title: Re: Whole Book BOD Filler
Post by: Ultima on June 19, 2011, 09:37:20 AM
Penny's BOD Swap over at EasyUO works you just have to change some of the gumps if your playing on an OSI Shard.
Title: Re: Whole Book BOD Filler
Post by: Xanderyum on August 24, 2011, 11:06:22 AM
I have a problem!  :) Primarily my char is full and i need more skillpoints  :(
 Seriously though. I modified the script because i don't have room for tinking on my BS,Tailor,Imbuing (legendary) armslore and mining fletching, and mage on jewelry plus left over room.

so i took out all the tinkering related stuff made a sub that looks for tongs in the resource bag and one that gets one if there are less then 2.  this way the script uses one until it breaks and uses the other one if the first one breaks mid BOD. and then gets a new one during the first part of the fill_bod sub

But.... after filling 5 with everything working pulling from one BOD book filling and dropping to another BOD book it errors out with a EUO message that says "Function "387" not found.

I am on OSI easy and client are up to date.
Is this referring to a line in the script?

that would be this line for my modded script
if %0 = 10

Also I was weary of posting the whole script here for looking as then a non user could copy paste so Let me know if I need to PM it to any helpers??

Thanks for your time
Title: Re: Whole Book BOD Filler
Post by: Goliath on August 24, 2011, 12:16:15 PM
Ummm... I know this isn't exactly the answer you are looking for but seriously.  There are too many crafting professions to put them all one one character.  I honestly recommend you handle this in a few easy a different methods other than having to face the complications of running out of space and modifying scripts that work perfectly fine as is.

1)  Soulstones :)  Especially the full sized ones are awesome for holding these skills.  If you haven't started collecting them then you should.

2)  Create 2 crafters and divide skills among them.

3)  Lastly.... Before I had a collecting of soulstones I created a junk skill character that held 6 skills.  Whenever I needed one I would buy a SS frag or make one of the single charge SS.
Title: Re: Whole Book BOD Filler
Post by: Paulonius on August 24, 2011, 01:02:05 PM
X,

I don't completely understand your post. It sounds like you are asking for some help creating modifications to help the script work without tinker skill.  I will work to support the script as written, but you are on your own creating modified versions for your own use.  I have limited time for scripting and I am already way overdue on mods to other scripts to keep them working as intended.

Sorry I can't be more helpful.

-P
Title: Re: Whole Book BOD Filler
Post by: Xanderyum on August 24, 2011, 01:48:43 PM
Well I  did the mods was hoping you or someone else could help me debug it. The script will fill five BOD's in a raw before it errors out. thanks  :)

Post Merge: August 24, 2011, 02:54:06 PM
OK I caved after finding a extra soulstone frag stoned tailor for now. There was an error where it was trying to make more tink kits and it halted saying it couldn't find iron ingots but there is like 80k in the resource bag??  I made a bunch of tink kits ,manually and the script seems to be rockin'
Title: Re: Whole Book BOD Filler
Post by: mazulat on June 04, 2012, 11:18:12 PM
I've been searching for this script for a week and finally remembered its name. That's what I get for take a year off. Still working perfectly, been chugging along all day and finally clearing out the mass of iron smalls. .
Title: Re: Whole Book BOD Filler
Post by: Flip on August 07, 2012, 12:51:26 PM
Does anyone know where to get craftinfo for the latest verison of osi?
Title: Re: Whole Book BOD Filler
Post by: Xanderyum on August 07, 2012, 12:59:51 PM
I've been searching for this script for a week and finally remembered its name. That's what I get for take a year off. Still working perfectly, been chugging along all day and finally clearing out the mass of iron smalls. .

Heh, since this post I've gotten 6 full soulstones, all from gold achieved through running scripts directly or modified versions from this super Site.   
Cheers,
  Xander the yummiest.
Title: Re: Whole Book BOD Filler
Post by: Oracle on August 31, 2012, 01:03:17 PM
Any chance of getting this to work with Tailor BODs?  There currently is not a good Whole Book tailoring Bod filler available...

Title: Re: Whole Book BOD Filler
Post by: StarWoman on December 29, 2012, 04:10:18 AM
I thought this looked like a useful script and so made it my first download from here.  I use S7BodFiller daily so it is all working.  Put this script into same directory as per instructions.  Correct skills on character.  Two BOD books as instructed with roughly 100 bods in the one to be made and an empty one for putting the filled bods in.  Started up script and it dropped the BOD into backpack, picked up 10 copper ingots (was iron bod) and opened the blacksmith gump and stalled.  Can see it is because it hasn't picked up the iron ingots (zero in bag) but I have no idea why it isn't.  S7's works perfectly.  Any ideas anyone?  Is this still working after the recent patching?

Thanks for any help.  Clueless at scripting sorry.  Hope you can help as this would be awesome to use... I currently buy the 'normal' small bods but that is time consuming to do and I think this would enable some very nice bodding sessions.
Title: Re: Whole Book BOD Filler
Post by: Ultima on December 29, 2012, 06:51:14 AM
I had similar issues when I tried using it last few times. I think the issue revolves around the script trying to make tongs. Try making a bunch of tongs and have them in your backpack before you hit play on the script, it fixed the issue for me.

Title: Re: Whole Book BOD Filler
Post by: StarWoman on December 29, 2012, 12:13:18 PM
Thanks for the tip Ultima.  I tried it out but unfortunately it didn't work.  Do you normally see S7's gump come up when it is called?  Being totally unfamiliar with the script it is hard to figure out what is happening.  I am using the script fresh from the download... has there been any mods needed to be made that aren't noted in the forum for this script?  I have read through it all and haven't found any. 
Title: Re: Whole Book BOD Filler
Post by: Ultima on December 29, 2012, 08:36:07 PM
I just ran 8 BODs with Wholebookfiller  with no problems at all. It crafted the tongs no issues this time around.

There aren't any changes as far as I know this script is the same version V.10. There hasn't been any updates or changed in order to keep it working.

Do you have S7s latest version?  I take it you do as you said it was working for you.

Try starting with some iron ingots already in your pack.

This is on an OSI shard your using it on?
Title: Re: Whole Book BOD Filler
Post by: pashadiv on May 20, 2013, 12:19:10 AM
I run this script all the time and only recently got the same hang up with the tongs crafting. Starting with tongs in pack works fine naturally but I didn't have to do this before.
Title: Re: Whole Book BOD Filler
Post by: Black Widow on August 31, 2013, 11:49:01 AM
Had the same issue with the tongs...works well with them in pack !!
Title: Re: Whole Book BOD Filler
Post by: Paulonius on September 12, 2013, 07:28:07 AM
Black Widow,

I have not been able to reproduce this. Are you on an OSI production shard or on a freeshard? Can you share any other details?
Title: Re: Whole Book BOD Filler
Post by: silverfox15987 on March 25, 2017, 09:58:49 AM
Hello, I don't know if anyone is actually keeping up with this or not, but the script will run and create the items but will not select said items to bond them to the bods. Any idea what is causing this?
Title: Re: Whole Book BOD Filler
Post by: valen2.0 on March 26, 2017, 11:09:38 AM
You need to mod the gumps to make it select the right items so it will select them.
Title: Re: Whole Book BOD Filler
Post by: Crisis on March 29, 2017, 07:22:57 PM
Yes, a lot of gump changes since this was first made. it also depends on whether you are on a free shard or on OSI.
Title: Re: Whole Book BOD Filler
Post by: MungoTolkien on May 22, 2021, 03:06:35 PM
for some reason the script isnt filling the bods does anyone else have this problem ?
Title: Re: Whole Book BOD Filler
Post by: Gaderian on May 22, 2021, 04:01:17 PM
I haven't tried it. There are 2 other scripts you need in the same folder as your easyuo executable. The S7 BOD and the craftinfo scripts. Do you have that setup?
Has this worked in the past for you but now is failing with the same setup? (Or is this the first time you are trying to get it to work?)
Title: Re: Whole Book BOD Filler
Post by: wampa on March 29, 2026, 05:09:28 AM
I thought this looked like a useful script and so made it my first download from here.  I use S7BodFiller daily so it is all working.  Put this script into same directory as per instructions.  Correct skills on character.  Two BOD books as instructed with roughly 100 bods in the one to be made and an empty one for putting the filled bods in.  Started up script and it dropped the BOD into backpack, picked up 10 copper ingots (was iron bod) and opened the blacksmith gump and stalled.  Can see it is because it hasn't picked up the iron ingots (zero in bag) but I have no idea why it isn't.  S7's works perfectly.  Any ideas anyone?  Is this still working after the recent patching?

Thanks for any help.  Clueless at scripting sorry.  Hope you can help as this would be awesome to use... I currently buy the 'normal' small bods but that is time consuming to do and I think this would enable some very nice bodding sessions.


I had the same problem. It was ranging from just taking 10 copper to stalling.
I added "&& copper notin #property" to all lines with
"If shadow notin #property && dull notin #property && bronze notin #property && gold notin #property && agapite notin #property && verite notin #property && valorite notin #property"

This seems to have fixed it.
Below is a fixed script if anybody still needs it.

Code: [Select]
;=====================================================================
; Script Name:  S7 Filler Call Full BOD Book Filler
; Version: 0.10
; Author: Paulonius
; Special Thanks to TrailMix and S7 for the use of their code
; Client Tested with:
; EUO version tested with:
; Shard OSI / FS: OSI
; Initial Release Date:  04/21/2010
; Revision Date: TBD
; Global Variables Used: N/A
; Dependencies: Script requires that you have S7BodFiller and CraftInfo
;               in the same file as script
;----------------------------------------------------------------------
; Purpose: Fills Bods in one book and transfers them into a second
;======================================================================
; TO Do List
; 1. build a tracking menu
; 2. Menu based setup
;======================================================================
; Initial Setup
; 1. You must have a secure with your resources in it within reach
; 2. You should have two books in your pack, one with bods that you
;    want to fill, and another to drop the completed bods into
;======================================================================
; Instructions:
; 1. Position yourself with reach of a forge, anvil, and your secures
; 2. Have a tinker kit in your backpack
; 3. Toon should have 120 Blacksmith, 100 Mining and 70 Tinker
; 4. Not recommended that you try to fill books with more than 450 BODs
;    490 is your max with a pack empty of everything except what you
;    need to run the script.
; 5. Do not use the same BOD book for full and empty deeds
;======================================================================

Gosub Setup

Repeat
   {
   Gosub Get_Next_BOD
   If #Result = #False
      Set %NoMoreBODs Yes
   Else
      Gosub Fill_BOD %CurrentBod
   }
Until %NoMoreBODs = Yes
IgnoreItem Reset 1
Halt

;==========================================================
Sub Get_Next_BOD
Set #LObjectID #BackPackID
Event Macro 17 0
Wait 20
Start_Get_Next_BOD:
FindItem EYM C_ , #BackpackID
If #FindCnt > 0
   {
   Set %BODFoundInPack #FindID
   GoSub SBOD_Check %BODFoundInPack
   If #Result = #True
      {
      Gosub Drop_BOD_In_BODBook %BODFoundInPack %FullBODBook
      Wait 10
      Gosub OffsetClick 387 427     ; Close BOD Book Gump
      GoTo Start_Get_Next_BOD
      }
   If Large in %BODStatus
      {
      IgnoreItem %BODFoundInPack 1
      GoTo Start_Get_Next_BOD
      }
   If Partial in %BODStatus
      {
      Set %CurrentBod #FindID
      Return #True
      }
   IgnoreItem %BODFoundInPack 1  ; NOTE TO SELF: Look for SBODs as remainders
                                 ; as these will be the result of errors
   GoTo Start_Get_Next_BOD
   }
FindItem %EmptyBODBook C_ , #BackPackID
If #FindCnt < 1
   Return #False
GoSub Get_BODs_From_BOD_Book %EmptyBODBook 1
If #Result = #False
   Return #False
FindItem EYM C_ , #BackpackID
Set %CurrentBod #FindID
Wait 10
Gosub OffsetClick 387 427     ; Close BOD Book Gump
Return #True

;==========================================================
Sub Drop_BOD_In_BODBook
Set %BODToMove %1
Set %BODBookToDropOn %2
FindItem %BODToMove C_ , #BackpackID
While #FindCnt > 0
      {
      exevent drag %BODToMove
      wait 10
      exevent dropc %BODBookToDropOn
      Wait 20
      FindItem %BODToMove C_ , #BackpackID
      }
Return

;==========================================================
; Sub will check a SBOD for Item Count
; Returns #True if it is full or #False if it's not
; Sets %SBODItemCount to the number of items in the sBod
; Returns #False for LBODs and sets %BODStatus to Large
; Will return %BODstatus for SBODs as Full# or Partial# where #
; is the number required to fill the SBOD
;----------------------------------------------------------
; Dependency: This Sub requires the included Sub Large_Check
Sub SBOD_Check
Set %BOD %1
Set %BODStatus N/A
Set %SBODItemCnt N/A
Set %Ones N/A
Set %Tens N/A
Set %BODFillStatusSubString N/A
Event Property %BOD
Set %BODFillStatusString #Property
Str Len %BODFillStatusString
Set %BODFillStatusStringLength #strRes - 3
Str Left %BODFillStatusString %BODFillStatusStringLength
Set %BODFillStatusStringRemainder #StrRes
If Large in #Property
   {
   Gosub Large_Check %BOD
   If #Result = #True
      {
      Set %BODStatus Large
      Return #False
      }
   }
str Right %BODFillStatusString 3
Set %BODFillStatusSubString #strRes
Str Left %BODFillStatusSubString 2
Set %BODFillStatusSubString2 #strRes
Str Left %BODFillStatusSubString2 1
Set %Tens #StrRes
Str Right %BODFillStatusSubString2 1
Set %Ones #StrRes
If %tens > 0
   {
   Set %sBODItemCnt %Tens , %Ones
   }
If %tens < 1
   Set %sBODItemCnt %Ones
If %sBODItemCnt = 20
   {
   Set %BODStatus Full20
   Return #True
   }
If %sBODItemCnt = 15
   {
   If 15 in %BODFillStatusStringRemainder
      {
      Set %BODStatus Full15
      Return #True
      }
   Set %BODStatus Partial20
   Return #False
   }
If %sBODItemCnt = 10
   {
   If 10 in %BODFillStatusStringRemainder
      {
      Set %BODStatus Full10
      Return #True
      }
   If 15 in %BODFillStatusStringRemainder
      {
      Set %BODStatus Partial15
      Return #False
      }
   If 20 in %BODFillStatusStringRemainder
      {
      Set %BODStatus Partial20
      Return #False
      }
   }
If 10 in %BODFillStatusStringRemainder
   {
   Set %BODStatus Parial10
   Return #False
   }
If 15 in %BODFillStatusStringRemainder
   {
   Set %BODStatus Partial15
   Return #False
   }
If 20 in %BODFillStatusStringRemainder
   {
   Set %BODStatus Partial20
   Return #False
   }
Set %BODStatus ERROR
Return #False

;----------------------------------------------------------
; Returns #True for LBOD
Sub Large_Check
Set %BODLargeCheck %1
Event Property %BODLargeCheck
Set %StringCheckLarge #Property
str Pos %StringCheckLarge Large
If #StrRes = 43
   Return #TRUE
Return #False

;==========================================================
Sub Fill_BOD
;event exmsg #charid 3 4 TEST MESSAGE in Fill_BOD Current BOD ID is %1
Set %CurrentBODToFill %1
FillBODLoop:
Finditem %TinkerTools C_ , #BackpackID
If #FindCnt < 2
   Gosub Check_Tinker_Kit
Finditem %Tongs C_ , #BackpackID
If #FindCnt < 2
   Gosub Check_Tongs
Finditem %CurrentBODToFill C_ , #BackpackID
If #FindCnt < 1
      Return #False
While #FindCnt > 0
   {
   Call s7BODFiller.euo %CurrentBODToFill %ResourceSecure #False
   Wait 10
   Gosub OffsetClick 30 453         ; Close Craft Gump
   GoSub SBOD_Check %CurrentBODToFill
   If #Result = #True
      {
      Gosub Drop_BOD_In_BODBook %CurrentBODToFill %FullBODBook
      Wait 10
      Gosub OffsetClick 387 427     ; Close BOD Book Gump
      }
   Finditem %CurrentBODToFill C_ , #BackpackID
   }
Return #True

;==========================================================
Sub Get_BODs_From_BOD_Book
;event exmsg #charid 3 4 TEST MESSAGE in Get_BODs_From_BOD_Book
If %BODBookEmpty = Yes
   Return #False
Set %BookToPullFrom %1
Set %NumberBODsDesired %2
Finditem %BookToPullFrom C_ , #backpackid
if #findcnt < 1
   Return #False
Set #LobjectID %BookToPullFrom
Event Macro 17 0
Gosub waitforgump %BODBookMainGump
If ! #Result
   {
    Set #LobjectID %BookToPullFrom
    event macro 17 0
    Wait 25
    Gosub TM_AdvJournalScan BODBOOK Advance The_book_is_empty
    if #Result = #True
         {
         Set %BODBookEmpty Yes
         Return #False
         }
    }
Repeat
      {
      Gosub OffsetClick 41 102
      Gosub waitforgump %BODBookMainGump
            If ! #Result
               {
               Set #LobjectId %BookToPullFrom
               Event Macro 17 0
               Wait 25
               Gosub TM_AdvJournalScan BODBOOK Advance The_book_is_empty
               If #Result = #True
                  Set %BODBookEmpty Yes
               }
      Finditem EYM C_ , #backpackid
      }
Until #FindCnt = %NumberBODsDesired
Return #True

;-------------------------------------------------------------------------------
; %1 = Gumpname 1
; %2 = Gumpname 2
; #TRUE gump occured before timeout
sub GumpWait
  namespace push
  namespace local GW
  wait 10
  set !timedelay #SCNT
  while #SCNT <= !timedelay + 7
  {
    if #CONTNAME = %1 || #CONTNAME = %2
    {
      namespace pop
      return #TRUE
    }
  }
  namespace pop
return #FALSE

;======================================================================
Sub Check_Tinker_Kit
;event exmsg #charid 3 4 TEST MESSAGE in MakeTinkerKit
MakeKitLoop:
Finditem %TinkerTools C_ , #BackpackID
If #FindCnt >= 2
   Return #True
If #FindCnt < 1
   {
   Finditem %TinkerTools C_ , %ResourceSecure
   If #FindCnt < 1
      {
      Display Please get a tinker kit in your packpack and hit play
      Pause
      Goto MakeKitLoop
      }
   Else
      {
      exevent drag #findid
      wait 10
      exevent dropc #backpackid
      wait 20
      }
   }
Set %IronIngotsFound No
Repeat
   {
   finditem %Ingots C_ , #BackpackID
   Event Property #FindID
   If shadow notin #property && dull notin #property && copper notin #property && bronze notin #property && gold notin #property && agapite notin #property && verite notin #property && valorite notin #property
      Set %IronIngotsFound Yes
   Else
       IgnoreItem #FindID 3
   }
Until %IronIngotsFound = Yes || #FindCnt < 1
IgnoreItem Reset 3
If #findstack < 10 && %IronIngotsFound = Yes
   {
   Set %quantityinpack 10 - #findstack
   Set %IronIngotsFound No
   Repeat
       {
       Finditem %Ingots C_ , %ResourceSecure
       Event Property #FindID
       If shadow notin #property && dull notin #property && copper notin #property && bronze notin #property && gold notin #property && agapite notin #property && verite notin #property && valorite notin #property
          Set %IronIngotsFound Yes
       Else
           IgnoreItem #FindID 3
       }
   Until %IronIngotsFound = Yes || #FindCnt < 1
   IgnoreItem Reset 3
   If #findstack < %quantityinpack
      {
      display You need to place more Iron ingots in your Resource Secure and hit play.
      pause
      Goto MakeKitLoop
      }
   else
       {
       exevent drag #findid %quantityinpack
       wait 10
       exevent dropc #backpackid
       wait 20
       }
   }
If %IronIngotsFound = No
   {
   Set %quantityinpack 10
   Set %IronIngotsFound No
   Repeat
       {
       Finditem %Ingots C_ , %ResourceSecure
       Event Property #FindID
       If shadow notin #property && dull notin #property && copper notin #property && bronze notin #property && gold notin #property && agapite notin #property && verite notin #property && valorite notin #property
          Set %IronIngotsFound Yes
       Else
           IgnoreItem #FindID 3
       }
   Until %IronIngotsFound = Yes || #FindCnt < 1
   IgnoreItem Reset 3
   If #findstack < %quantityinpack
      {
      display You need to place more Iron ingots in your Resource Secure and hit play.
      pause
      Goto MakeKitLoop
      }
   else
       {
       exevent drag #findid %quantityinpack
       wait 10
       exevent dropc #backpackid
       wait 20
       }
   }
Finditem %TinkerTools C_ , #backpackid
set #lobjectid #findid
event macro 17
gosub waitforgump %cwin
if ! #result
   GoTo MakeKitLoop
Gosub OffSetClick 30 130    ; Selects Tools Category
gosub waitforgump %cwin
if ! #result
   GoTo MakeKitLoop
Gosub OffSetClick 230 130   ; Selects Tinker Kit
gosub waitforgump %cwin
if ! #result
   GoTo MakeKitLoop
Gosub OffSetClick 28 453    ; Closes Craft Gump
Wait 10
Return #True

;======================================================================
Sub Check_Tongs
;event exmsg #charid 3 4 TEST MESSAGE in Check Tongs
MakeTongsLoop:
Finditem %TinkerTools C_ , #BackpackID
If #FindCnt < 2
   Gosub Check_Tinker_Kit
Set %IronIngotsFound No
Repeat
   {
   finditem %Ingots C_ , #BackpackID
   Event Property #FindID
   If shadow notin #property && dull notin #property && copper notin #property && bronze notin #property && gold notin #property && agapite notin #property && verite notin #property && valorite notin #property
      Set %IronIngotsFound Yes
   Else
       IgnoreItem #FindID 3
   }
Until %IronIngotsFound = Yes || #FindCnt < 1
IgnoreItem Reset 3
If #findstack < 10 && %IronIngotsFound = Yes
   {
   Set %quantityinpack 10 - #findstack
   Set %IronIngotsFound No
   Repeat
       {
       Finditem %Ingots C_ , %ResourceSecure
       Event Property #FindID
       If shadow notin #property && dull notin #property && copper notin #property && bronze notin #property && gold notin #property && agapite notin #property && verite notin #property && valorite notin #property
          Set %IronIngotsFound Yes
       Else
           IgnoreItem #FindID 3
       }
   Until %IronIngotsFound = Yes || #FindCnt < 1
   IgnoreItem Reset 3
   If #findstack < %quantityinpack
      {
      display You need to place more Iron ingots in your Resource Secure and hit play.
      pause
      Goto MakeTongsLoop
      }
   else
       {
       exevent drag #findid %quantityinpack
       wait 10
       exevent dropc #backpackid
       wait 20
       }
   }
If %IronIngotsFound = No
   {
   Set %quantityinpack 10
   Set %IronIngotsFound No
   Repeat
       {
       Finditem %Ingots C_ , %ResourceSecure
       Event Property #FindID
       If shadow notin #property && dull notin #property && copper notin #property && bronze notin #property && gold notin #property && agapite notin #property && verite notin #property && valorite notin #property
          Set %IronIngotsFound Yes
       Else
           IgnoreItem #FindID 3
       }
   Until %IronIngotsFound = Yes || #FindCnt < 1
   IgnoreItem Reset 3
   If #findstack < %quantityinpack
      {
      display You need to place more Iron ingots in your Resource Secure and hit play.
      pause
      Goto MakeTongsLoop
      }
   else
       {
       exevent drag #findid %quantityinpack
       wait 10
       exevent dropc #backpackid
       wait 20
       }
   }
Finditem %TinkerTools C_ , #backpackid
If #FindCnt < 2
   {
   Gosub Check_Tinker_Kit
   GoTo MakeTongsLoop
   }
Set #lobjectid #findid
Event macro 17
gosub waitforgump %cwin
if ! #result
   Goto MakeTongsLoop
Gosub OffSetClick 30 130     ; Selects Tools Category
gosub waitforgump %cwin
if ! #result
   GoTo MakeTongsLoop
Gosub OffSetClick 380 270    ; Selects next page
gosub waitforgump %cwin
if ! #result
   GoTo MakeTongsLoop
Gosub OffSetClick 230 110    ; Selects make tongs
gosub waitforgump %cwin
if ! #result
   GoTo MakeTongsLoop
Gosub OffSetClick 28 453     ; Selects Close Craft Gump
Wait 10
Return #True

;==========================================================
; Script Name: TrailMyx's Advanced Journal Scanner
; Author: TrailMyx
; Version: 1.1
; Shard OSI / FS: OSI / FS?
; Revision Date: 10/20/2007
; Purpose:
;   Use these subs to quickly find text in your #journal entries.  These subs
; use #jindex for flawless journal scanning and is much more reliable than using
; standard indexing of #journal and #SYSMSG.
;
;   Now it is possible to manage separate journals based on unrelated text.  It's now possible
; to monitor spellcasting, bandaging, stealing, or anything else without a TM_AdvJournalSync
; potentially removing text needed for another UO funciton.
;
;   New is the ability to either gosub or call these functions without the need to change the
; header!  When calling, a limit of 10 arguments is allowed, but more can be added by editing the
; call interface section.
;
;  Examples:
;     gosub TM_AdvJournalSync speech 100 ; sync "speech" journal space, set #LPC to 100 from default of 1000
;     gosub TM_AdvJournalScan speech VALID Find_this_text and_find_this_too ; will not advance copy of #jindex
;     gosub TM_AdvJournalScan heal VALID_ADVANCE you_heal_what that_patient_is_not ; advances pointer after scan
;     gosub TM_AdvJournalScan spellcast NONE fizzle ; no spam checking and doesn't advance #jindex copy automatically
;
;  Subs included:
;     TM_AdvJournalSync - Must call this in initialzation
;     TM_AdvJournalScan - see header for details....
;
;  Release history:
;    v1.0 - Initial release.
;    v1.1 - debug code added, fixed small possibility to miss an incoming journal entry
;
;  Requirements:
;    Nothing special
;
;  Credit:
;    If you use these subs, please leave credit for me somewhere in your script header.
;=================================================================
;------------------------  Call interface  -----------------------
;=================================================================
set !TM_FunctionCalled #FALSE
if %0 = 1
  gosub %1
if %0 = 2
  gosub %1 %2
if %0 = 3
  gosub %1 %2 %3
if %0 = 4
  gosub %1 %2 %3 %4
if %0 = 5
  gosub %1 %2 %3 %4 %5
if %0 = 6
  gosub %1 %2 %3 %4 %5 %6
if %0 = 7
  gosub %1 %2 %3 %4 %5 %6 %7
if %0 = 8
  gosub %1 %2 %3 %4 %5 %6 %7 %8
if %0 = 9
  gosub %1 %2 %3 %4 %5 %6 %7 %8 %9
if %0 = 10
  gosub %1 %2 %3 %4 %5 %6 %7 %8 %9 %10
if %0 = 11
  gosub %1 %2 %3 %4 %5 %6 %7 %8 %9 %10 %11
if %0 > 11
{
  display ok Too many arguments for "call", edit file.
  stop
}

if !TM_FunctionCalled = #TRUE
  exit
if %0 = N/A
  display ok You may not run this script directly.
else
  display ok Function " , %1 , " not found.
stop
;-------------------------------------------------------------------------------
;-------------------------------------------------------------------------------
; %1 - Journal Name
; %2 - #LPC setting (optional)
; Brings !_jindex up to the most recent #journal entry
sub TM_AdvJournalSync
  namespace push
  namespace local TM_AdvJS_ , %1
  set !_jindex #jindex + 1
  if %0 > 1
    set !lpc_set %2
  namespace pop
  set !TM_FunctionCalled #TRUE
return
;-------------------------------------------------------------------------------
; %1 - Journal Name
; %2 - NONE, ADVANCE , ( _VALID ) - advances jindex pointer, anything else
; %3, %4, %5, etc strings to match
; returns #TRUE for match, #FALSE for no match
;  Will not advance !_jindex pointer to allow for scanning journal history for more than one search.
;  Also searches for : , #SPC in journal entry to be sure someone isn't spamming the text
;  About %2 arguments:
;    NONE: defaults to basic journal scan (no SPAM checking, no #jindex pointer copy advancing)
;    ADVANCE: no spam checking, advances #jindex copy
;    VALID: invokes SPAM filtering, no advance of #jindex copy
;    VALID_ADVANCE, VALIDADVANCE, ADVANCE_VALID, etc.: invokes SPAM filtering, advances of #jindex copy
sub TM_AdvJournalScan
  namespace push
  namespace local TM_AdvJS_ , %1
  set !args %2
  set !temp_lpc #LPC
  if !lpc_set = N/A
    set #LPC 1000
  else
    set #LPC !lpc_set
  set !num_args %0
  set !first_arg 3
  set !sampled_jindex #JINDEX
  if !_jindex = N/A
    set !_jindex !sampled_jindex
  if !charname = N/A
  {
    set !charname #CHARNAME
    AdvJournalScan_loop1:
      str pos !charname #SPC
      if #STRRES <> 0
      {
        set !val #STRRES - 1
        str left !charname !val
        set !left #STRRES
        set !val !val + 1
        str del !charname 1 !val
        set !charname !left , _ , #STRRES
        goto AdvJournalScan_loop1
      }
  }
  set !index !first_arg
  repeat
    set !temp_jindex !_jindex
    set !text % . !index
    while !temp_jindex <= !sampled_jindex
    {
      scanjournal !temp_jindex
      str pos #JOURNAL !charname 1
      set !namepos #STRRES
      str count #JOURNAL !charname
      set !namecnt #STRRES
      str pos #JOURNAL :_ 1
      set !smcpos #STRRES
      str pos #JOURNAL !text 1
      set !textpos #STRRES
      if !textpos < !smcpos && !smcpos <> 0 || !smcpos = 1 || :_ notin #JOURNAL || VALID notin !args
        set !pass #TRUE
      else
        set !pass #FALSE
      if ( !text in #journal && ( ( !namepos = 1 && !namecnt <= 1 ) || !pass ) )
      {
        set !temp_jindex !temp_jindex + 1
        if ADVANCE in !args
          set !_jindex !temp_jindex
        set #LPC !temp_lpc
        namespace pop
        set !TM_FunctionCalled #TRUE
        return #TRUE
      }
      set !temp_jindex !temp_jindex + 1
    }
    set !index !index + 1
  until !index - !first_arg > !num_args - !first_arg
  set %10 !sampled_jindex - !_jindex
  set %10 %1 , _ , %10 ; for debugging purposes
  set #LPC !temp_lpc
  namespace pop
  set !TM_FunctionCalled #TRUE
return #FALSE

;==========================================================
Sub OffSetClick
  Set %tempx %1 + #CONTPOSX
  Set %tempy %2 + #CONTPOSY
  Click %tempx %tempy f
Return

;==========================================================
Sub waitforgump
Set %timeout #scnt + 10
While #contsize <> %1
      {
      Wait %gumpwait
      If #scnt > %timeout
         {
         Return #false
         }
      }
Wait %gumpwait
Return #true

;======================================================================
Sub Setup

Gosub Tm_AdvJournalSync BODBOOK 100
Set %BODBookEmpty No
Set %TinkerTools JTL_GTL_KTL
Set %Tongs OBG
Set %Ingots ENK
Set %cwin 530_497       ; Publish 65 Craft window size
Set %BODBookNameGump 87_42
Set %BODBookMainGump 620_459
Set %GumpWait 2
Set %targetcursorwait 2

Set %EmptyBODBookFound N/A

Display Target the book in your backpack with BODs that you want to fill
  set #targcurs 1
      while #targcurs = 1
         wait 1
         Set %EmptyBODBook #LTargetID
      wait 5

Display Target the book in your backpack for completed BODs
  set #targcurs 1
      while #targcurs = 1
         wait 1
         Set %FullBODBook #LTargetID
      wait 5

Display Target your resource secure
  set #targcurs 1
      while #targcurs = 1
         wait 1
         Set %ResourceSecure #LTargetID
      wait 5

Open_Check_ResourceSecure:
FindItem %ResourceSecure G_2
If #FindCnt < 1
   {
   Display You are either too far from your Resource Secure, or have not assigned one. Please restart.
   Pause
   }
Set #LObjectID #FindID
Event Macro 17 0
Wait 20

Return