ScriptUO
Official ScriptUO EasyUO Scripts => Script Debug => Topic started by: baldielocks on July 11, 2010, 12:47:38 AM
-
This is working, and near complete. There is NO faster way to 10K points than this, but it is NOT the most cost effective way.
Time to 10K for a gargoyle starting at 2K should be 25 minutes. Time to 10K for a human should be 30 minutes. This is a 300% more effective method than anyother.
Average time for each quest should be 12 seconds, or 5 per minute, including looting.
Thanks to the following for help during this, my first real script attempt:
Trailmyx for his gump wait and offset click subs and ideas, such as scripted questing. And for SUO utility and the site!
BadManiac and Tecmo for the move item sub.
Cervesa for the snippets thread and advice, especially using #findcnt, and the pause snippet (not used here). His push for 120 imbuing inspired this script.
Twinkle McNugget for advice and his ignore item sub.
Paulonius for daring to be the first to try this out, and excellent bug stomping.
_c2_ for his awesome menu tutorial. Using your #menubutton suggestion, among many others.
Xahtuj for feedback and ideas.
J4bber for his LJ drop sub.
Scriptfellow for the click X Y Z sub and menu subs.
Lion from easy uo, got time ideas from his timer sub. Header included, but did not use his code, just his math.
;===========================================================
; Name: sliemQuest
; Author: Baldielocks
; Version: 1.2
; Easyuo Version : 1.5
; Client Version : 7.0.7.3
; Tested: OSI. Intended for OSI only, use on freeshard at own risk.
; Purpose: Completes Sliemquest for fastest queens forge access.
; Special Thanks:
; Trailmyx for his gump wait and offset click subs and ideas, such as scripted questing. And for SUO utility and the site!
; BadManiac and Tecmo for the move item sub.
; Cervesa for the snippets thread and advice, especially using #findcnt, and the pause snippet (not used here).
; His push for 120 imbuing inspired this script.
; Twinkle McNugget for advice and his ignore item sub.
; Paulonius for daring to be the first to try this out, and excellent bug stomping.
; _c2_ for his awesome menu tutorial. Using your #menubutton suggestion, among many others.
; Xahtuj for feedback and ideas.
; J4bber for his LJ drop sub.
; Scriptfellow for the click X Y Z sub and menu subs.
; Lion from easy uo, got time ideas from his timer sub. Header included, but did not use his code, just his math.
; Everyone that ever released a script publically. Thank you for sharing!
; Most especially, my wife Sunny for supporting my scripting time with a smile, and listening to my insane babble.
; Changlelog: version 1.2, Aug Jul 2010
; Added auto detect for quest item toggle gump size.
; Added Essence Counters
; Removed move and checkground subs, added my own version. This needs help!
; Added Cervesa target system toggle.
; Changelog: previous, 20 July 2010 :
; Fixed loyalty counter. Captured #menures too soon. Now captures after OK is pressed.
; Removed display command and added in pause to set up menu so you can get materials before starting main quest.
; Changed context menu gump size. Included instructions if other people have this issue.
; Added in quest chest handling. now looks for container on ground to put them in. If not there, will create new stack.
; Added ignore lists. added ignore %lootbag during pack cleanup.
; NOTE, current version looks for quest chest only on ground. I have not added in other containers.
; Changed menu drawing. Added in time to set initial wait times.
; Added on the fly pause sub.
; Added two methods to avoid image ghosting during dragc and and drop operations.
; Deleted some lines left over from changes (oops, bad baldie)
; Changed client logged off handling to loop to accept quest, then wait 10S.
;TO DO LIST: journal scan checks vice %actionwait. Add in counters for essence. Center setup menu.
;;==============================================================================
; _
; ___ _ | | __ ___ _____
; / __/ __ _ _(_)_ _ | |_\ ) ( // _ \ Making (s)UO easier.
; \__ \( _/ `_/ / ` \| _| | | | / \ \ www.scriptuo.com
; __| | (_| | | | |) | | \ \_/ | \_/ / Admin: TrailMyx
; \___/\___| | |_| _/\__\ \_____/\______/ Ass. Admin: Cerveza
; | | | |
; |_| |_|
;copied from Twinkle McNugget.
;==============================================================================
; QUESTING INSTRUCTIONS AND INFO
; Start at home or bank, wherever you have your materials.
; Set lootbag, This may be your mainpack, or any type of container.
; Script will display the required amount of perfect emeralds and
;crystalline blacrock to reach 10K loyalty from your starting point.
; Quest items MUST be in your mainpack.
; Load up and go to Sliem.
; You will be given a chance to set waits next. adjust slowly if at all.
; Hit the begin quest button and off you go.
;
; Refer to the main thread at http://www.scriptuo.com/index.php?topic=5438.0 for location info if needed.
; NOTE: New Targetting MUST be on.
; Wait times can be adjusted on the fly, and are refreshed after each sub. Pause is checked after each loop.
; You will need 1 crystalline blackrock and 2 perfect emerald per quest IN YOUR MAIN PACK.
; Script checks loyalty and recommends number of blackrock and perfect emeralds to reach 10000 loyalty.
; Each quest yields 75 loyalty. Estimated time is 13 seconds per quest, including looting.
; You get a bonus 2K for being gargoyle from start, so you only need 8K points or 107 quests ( 107 CBR and 214 PE). Estimated time 20 minutes.
; If human or if you used a token, you will need 134 crystalline and 268 perfect emeralds. Estimated time 25 minutes.
; Loot is one box that weighs 4 stone, and 1 essence that weighs 1/10 stone.
; You can load up at home, then go to sliem with scipt running.
; Select "Start Quest" when you are at Sliem's location, and he is ON SCREEN.
; If you wish to use this to get essence ( I do not recommend it ), lie about your loyalty.
;There is a known issue with some users having different context menu sizes. I attempt to detect and correct that at script outset.
; Please let me know if you hang up on toggling quest item.
-
any feed back on this part? working on updates. Also working 14 hours shifts @ 7 days, so it could take some time.
-
I will certainly give it a try.
I wonder if you could post a bit more of an instructional write up with it. At least where you go and maybe a picture...
-
sure can. for now, will add a pic from stratics. At work... :-X. Thanks for taking a look paul! P.S. This is my first real script attempt to add to the library. Any and all suggestions / comments welcome.
-
New version 3 uploaded. Changed to finditem type for Sliem (thanks cervesa). Added in counters in sys message form.
What is the formula for turning #scnt into real time? Right now, I am getting a quest completion time of 9. BUt more impressive if displayed in seconds.
Working on adding in TM's journal scan and wait for gumps.
-
Once EUO comes back up there are some good clock utility subs over there you could use.
Just be sure to credit them in your header when you use code from someone else.
-
Maybe a mod can merge my posts?
Beta version 4, put in sub form. Changed sliem targetting to be more stable. Added debug code.
Added TrailMyx's gumpwait sub.converted to true sub form using %0-%4.
Average #scnt time is now 5! A 45% reduction. Those with good conns will get even better time by changing the %questwait.
-
Version 6 updated. Added in menu with TONS of calcs. Other than journal scan, this is a wrap. Sure could use some feedback or a tester. Works fine for me on multiple characters/ accounts.
-
I loaded up the appropriate amount of gems/rock and started the script with Sliem next to me. It opened the EUO menu, asked for my current loyalty, got the quest, and then hung trying to target quest item. I am trying to determine whether it is brining up the character popup.
-
Your gump sizes are different from mine. Not sure what the extra category you have is. Looks like the popup on your toon needs some variability in it. Here is your sub with mine:
sub Toggle_Quest_item
exevent popup %1
gosub gumpwait 177_150 normal_gump
gosub OffsetClick 75 125 ; mark quest item
while #targcurs = 0
wait %lagwait
gosub selectitem %item1
gosub selectitem %item2
Key Esc
if %debug = true
menu set EUOlabel24 quest items toggled
return
-
interesting. I have been having some odd things lately. My # pixcol is different, now gump sizes? I even did those twice. Did that correct the hangup?
so, it targetted sliem correctly, accepted the quest. That is good, was worried about that.
I have been reading up on exevent popup. I can throw in TM's sub for it, but I never had a problem in testing. Did the pop-up come up?
-
Once I changed the gump sizes and the click spot for the gump, it seems to be working find in that routine.
I am also seeing a TON of ghosting. Pretty much every cycle creates a ghost of the box when it picks up the essence and moves it to my bag. I added a backpack EM17 to eliiminate the ghost, which seems to be working.
Finally, I wonder if it shouldn't just drop one box on the ground and then drop subsequent boxes into that box instead of trying to drop 100+ boxes on different spots.
I will let you know what I see as it runs!
-
i admit being stumped on the ghosting, as I am using BM's mover. Any ideas or tips?
I had considered and even scripted the stacking in, but removed it. I could not figure out how to switch containers over once it reached 100 (400 stones). Going to read through the heartwood scripter and see ho w TM handles it.
` Edit. Off to work, but already made changes you suggest (changed pop up gump . Holding off release until you are done testing. Thanks for the feedback! I am also going to add in a start button, so you have time to adjust initial wait times. Will see what I can do about the containers.
-
This is the container problem...
-
There is also an issue with the counters in the menu. I have had to start and stop the script a couple of times to free myself from piles of boxes. When I restart and enter the current loyalty, the menu still starts at zero and gives me the full count of gems/rock to get to 10000.
I think that the ghosting issue has something to do with the routine that opens the box and pulls the essence out to drop it in your bag. I have not gone through it line by line, but that is where it happens.
Other than these relatively minor issues, the script is working pretty well.
-
almost got a stacking solution done, but cant test till i get home. I can get it to move to container, but not sure how to detect weight @ 400 to start new stack.
-
I would have it try dropping it twice and if the thing is still in you backpack run a journal scan for the full container message. Then drop another one with your current process and use that for the new drop box.
I have boxed myself in three times so far...
-
sounds good. good time for me to learn journal scan anyway. got two big projects coming up that need it.
-
Just put a trigger on the scan if you fail to drop the box. If you scan every time you go to drop a box, it will slow things down a lot. Try using TM's journal scan subs. Makes it REALLY easy.
-
Okie, just finished cranking TM loyalty from 0 to 10050. I started at 12:40PM Central and finished at 2:15PM. Not bad for monitoring the script, starting and stopping three times, and going back for resources once. When this thing is finished it will make getting 10K loyalty a snap.
-
wow, thanks for the advice, testing and props Paul. ;D Should have these issues fixed tomorrow.
-
Note: For this script to work you must be using the new targeting system. Click options. Click the mouse in the top right of the options menu. Make sure there is not a check mark beside "Disable New Targeting System."
-
Good info! I can check for it active and activate it in script as well. Any thoughts on if that is a good move? P.S. I will be releasing the public version in about 8 hours. Current version works, but needs some tweaking.
-
An interesting add on would be to put an essence counter on the menu. Not really necessary but it'd add a little extra. As for the script, it works fine. I slowed the pause down because I'm running a slower connection everything else runs fine.
As for the new targeting system being used, just put a disclaimer in the instructions at the beginning of the script should be fine. If people can't read that much they don't deserve to use it.
-
I can add the counters, just have to get the color for each, since they are all same id. Glad it works for you!!!
Did the quest pop up work as scripted, or did you have to add in Paul's fix?
-
The only thing that I modified was the pauses because of my slow connection. Gumps worked fine. It just too me a few to figure out why it just stopped once I hit 'ok' after keying in my loyalty points.
-
Updated to pre-release version 7. All bugs properly squashed, I hope. Refer to main post for updated download.
Changelog: Pre-Release version 7, 20 July 2010 :
Fixed loyalty counter. Captured #menures too soon. Now captures after OK is pressed.
Removed display command and added in pause to set up menu so you can get materials before starting main quest.
Changed context menu gump size. Included instructions if other people have this issue.
Added in quest chest handling. now looks for container on ground to put them in. If not there, will create new stack.
Added ignore lists. added ignore %lootbag during pack cleanup. NOTE, current version looks for quest chest only on ground. I have not added in other containers.
Changed menu drawing. Added in time to set initial wait times.
Added on the fly pause sub.
Added two methods to avoid image ghosting during dragc and and drop operations.
Deleted some lines left over from changes (oops, bad baldie)
Changed client logged off handling to loop to accept quest, then wait 10S.
-
I THINK I have a way to automatically account for lag issues like yours Xahtnuj. I am going to whip it up tonight and post as experimental. interested?
-
left my stick with scripts at work, so posting this list of essence colors here. (Item type ICHB for all)
Achievement- 1227
Balance- 67
Control -1165
Diligence - 1166
Direction -97
Feeling- 52
Order- 1153
Passion- 1161
Persistence- 37
Precision -22
Singularity -1175
-
I get it all setup and then when I press the Waits Set button it does nothing after that.
Any suggestions on what I could be doing wrong ?
-
Note: For this script to work you must be using the new targeting system. Click options. Click the mouse in the top right of the options menu. Make sure there is not a check mark beside "Disable New Targeting System."
Baldie - HERE (http://www.scriptuo.com/index.php?topic=3626.0) is a little snippit sub I wrote to take care of this.
-
Thanks C. Incorporated. Will post a release version once I get it a little more consistent. having issues with loot handling.
-
What's the count on resources to get from 2k to 10k? It's not listed in the first post.
It'd be really helpful to people knowing what to have ready.
-
script calculates for you ;D
I had the human requirements in there. Modified post to include gargoyle.
You will need 1 crystalline blackrock and 2 perfect emerald per quest.
You get a bonus 2K for being gargoyle from start, so you only need 8K. Gargoyles will need 107 CBR and 214 PE to reach 10K loyalty.
If you used a token, same rules apply as for humans.
If human, you will need 134 crystalline and 268 perfect emeralds (see above on mining in Ter Mur).
-
; ignore essence in bag if restarting
Finditem %essence C_ , %lootbag
repeat
if findkind <> -1
ignoreitem #findid 1 ; sets ignore list 1
until findkind = -1
if %debug = true
menu set EUOlabel24 Lootbag clean up complete
When I play the script it holds up in this sub and just keeps repeating it self
-
You're missing a # symbol on the both findkind variables. It should be #FINDKIND
-
:-[ thanks Twinkle McNugget. caught those. I will upload the current beast and get some more timely input. Been trying to get it all on my own. Might be a bit, work schedule changed for the week. Working nights. Getting ready for work now. booo
New version uploaded
-
sub Toggle_Quest_item
; %1 is #charid
namespace push
namespace local Toggle_Quest_item
exevent popup %1
if %questfix = #false
{
gosub gumpwait 177_150 normal_gump
gosub OffsetClick 75 125 ; mark quest item
}
if %questfix = #true
{
gosub gumpwait 177_168 normal_gump
gosub OffsetClick 47 149 ; mark quest item
}
gosub selectitem %item1
gosub selectitem %item2
Key Esc
if %debug = #true
menu set EUOlabel24 quest items toggled
gosub menurefresh
if #menubutton <> Running
gosub pause
namespace pop
return
When playing the script it does not select the "Toggle Quest Item" when it brings up the menu. I am using the 1.2 version
-
what is the cont size of your context pop up?
If you can't capture it, use this
exevent popup #charid
halt
I could also use the click location for toggling quest items.
-
its going to be 177_204
-
okay, this makes no sense. Three different cont sizes? That means you also have different click locations. Not a lot I can do to fix that from here, unless you know how to get click locations. If you use this tool from trailmyx http://www.scriptuo.com/index.php?topic=505.0 (http://www.scriptuo.com/index.php?topic=505.0), you can get your click location for the quest toggle.
then past this in
exevent popup %1
if %questfix = #false
{
gosub gumpwait 177_204 normal_gump
gosub OffsetClick XX_XXX ; your quest location here, from the tool
when you use the item finder and hit F1 with the cursor over the Quest Toggle, you will get the WHOLE line (gosub offsetclick XX_XXX).
Paste that in as well. That should fix it.
-
Dude, what is your client res out? Trying to figger out why we now have 3 different gump sizes. ???
-
I figure the menu issue out. I had "Quest Conversation" in the menu so I cancelled that quest and now it targets the quest item.
This is what I have now in my menu:
Open Paperdoll
Open titles menu
Loyalty Rating
Open Backpack
Open Item Insurance
Toggle Item Insurance
Toggle Quest Item
Now after playing the script there is a little hold up on dragging the essence. It looks like it will drop it in you loot bag but it doesnt
sub loot_handling
ignoreitem %lootbag
finditem %questbox C_ , #backpackid
set %trashbox #findid
set #lobjectid %trashbox
event macro 17 0
wait 20
finditem %essence C_ , %trashbox
if #Findkind <> -1
{
set %reward #findid
gosub movestuff %reward %lootbag
event macro 17 0
gosub essence_counter
wait 20
gosub check_ground %questbox %questbox %trashbox 100
event macro 8 7
wait 20
ignoreitem #lliftedid
}
exevent dropc #backpackid ;ensures nothing is on cursor
set %endtime #scnt
set %questtime ( ( ( %endtime - %starttime ) % 3600 ) )
menu set EUOlabel8 %questtime
menu set EUOlabel7 %questcount
if %loyalty >= 10000
{
menu delete EUOLabel13
menu delete EUOLabel14
menu deleteEUOLabel15
menu delete EUOLabel16
menu delete EUOLabel17
menu delete EUOEdit1
menu delete EUOEdit2
menu delete EUOEdit3
menu delete EUOEdit4
menu delete EUOEdit5
menu text EUOLabel25
menu text EUOLabel26
menu text EUOLabel27
menu text EUOLabel28
wait 5
menu text EUOLabel28
wait 5
menu text EUOLabel28
}
if %debug = #true
menu set EUOlabel24 looting done
gosub menurefresh
if #menubutton <> Running
gosub pause
ignoreitem reset %lootbag
return
-
Well, with my return, I find myself having to make an imbuer again, so I thought I would complete this project.... after 10 Years!
The problem that kept coming up in beta was the cont size of the context menu. And it has changed even more since then. So I am trying to figure out ways to handle the ever changing location of the toggle quest item option.
First, I thought I could just start at the top, count down spaces, and click option until cursor was #true. BUT this would also open the store, which would be inconvenient.
Then I thought I could go up and down from the "normal location", but again, the store.
So I hit on the idea of having the user record location. Then, if they use the script again, and location changes, I can check for cursor #true, and go up and down. If the user is standing in a house, the eject option pushes quest toggle up. Quest conversation pushes it down. And other instances. I wanted full auto, but a baldguy cant have his hair and eat it too.
Any thoughts? More efficient ways?
-
if you really want to create a flexible tool, you would need to do some sort of OCR like testing to pull apart the text. Pixel testing would have to be very flexible because of the background of the context menu changes as you move through the world or the size changes for more options.
I couldn't get this script to work reliably several years ago. I made the version pause for me to move push through the "set quest" item logic manually.
Gaderian
-
The problem that kept coming up in beta was the cont size of the context menu. And it has changed even more since then. So I am trying to figure out ways to handle the ever changing location of the toggle quest item option.
Any thoughts? More efficient ways?
See TrailMyx's Context Menu hander subs--> http://www.scriptuo.com/index.php?topic=30.0