ScriptUO
Official ScriptUO EasyUO Scripts => Scripting Chat => Topic started by: Oracle on September 08, 2008, 11:44:01 AM
-
Let me start this post by stating that I do not write Scripts, but use and support them whenever necessary in the game, especially for boring tasks such as Mining. Lumberjacking, and Fishing...
One of my characters is a Miner and I use Spewy's Mining Tool to make it easier to get the ore and put it away. Problem is when I want to get some Granite to make tables or other decorations, it becomes a real Pain! Unfortunately, as you all know Granite does not stack and it fills up your secure pouch at your House or Bank very fast with Granite, especially the common Iron and Dull Copper Granite. I want to be able to get the nicer colors like Gold, Bronze, Copper, Agapite, Verite, and Valorite (!).
I would like to see a script that takes Spewy's one step further: Granite Mining...! The Script should:
1. Either seperate the Granite colors into different pouches (not in same pouch as Ore).
2. Make tables and/or other decorations on the fly using the Mallet and Chisel Tool - like Spewy's does shovels with the Tinker Tools.
3. Trash the un-wanted Granite Colors such as Iron and Dull Copper (only keep when wanted)
If any of you are looking for a challenge and want to write a new script, then I hope that you consider taking on this new Granite Mining challenge...!
Oracle
-
Not hard at all. Infact I have already moded mine to work with Alexandria granite storage boxes. All you need to do is lock down 8 secures within reach of your recall spot, then you patch in this code during the unload at base sub after the If %usepackanimal line
If %UsePackAnimal
{
GoSub OpenAnyContainer Container %PackAnimalBagId 40 480 5
;FindItem %PackAnimalDropId C_ , %PackAnimalBagId
;GoSub OpenAnyContainer Container #FindId 265 490 5
GoSub DragAnyItem %OreTypes #true %PackAnimalBagId All %OreBagId %TrackGPValue
GoSub DragAnyItem %GraniteType #true %PackAnimalBagId All %Granitebox #false
GoSub DragAnyItem %OreTypes #true %PackAnimalBagId All %OreBagId %TrackGPValue
}
gosub cspackcleaner ; [b]add this line here[/b]
; GoSub DragAnyItem %OreTypes #true %BackpackId All %OreBagId %TrackGPValue
; GoSub DragAnyItem %GraniteType #true %BackpackId All %OreBagId #false
If %UseProspector <> %NoColor
and add this sub
sub cspackcleaner
; first lets move the ore, easy
oreloop1:
Finditem %oretype c_ , #backpackid
IF #findkind <> -1
{
gosub moveto #findid #findstack %oresecure
goto oreloop1
}
; now lets move them gems out of the pack
gemloop1:
Finditem %gemtype c_ , #backpackid
IF #findkind <> -1
{
gosub moveto #findid #findstack %gemsecure
goto gemloop1
}
; ok now lets move them stones to there proper chest
stoneloop1:
Finditem %stonetype C_ , #backpackid
IF #findkind <> -1
{
event property #findid
IF Dull in #property
gosub moveto #findid #findstack %dullstone
IF Shadow in #property
gosub moveto #findid #findstack %shadowstone
IF Copper in #property
gosub moveto #findid #findstack %copperstone
IF Bronze in #property
gosub moveto #findid #findstack %bronzestone
IF Golden in #property
gosub moveto #findid #findstack %goldenstone
IF Agapite in #property
gosub moveto #findid #findstack %agapitestone
IF Verite in #property
gosub moveto #findid #findstack %veritestone
IF Valorite in #property
gosub moveto #findid #findstack %valoritestone
IF significant in #property
gosub moveto #findid #findstack %ironstone
gosub errorcheck
goto stoneloop1
}
return
sub errorcheck
{
while %jindex <> #jindex
{
set %jindex %jindex + 1
if %jindex > #jindex
set %jindex #jindex
scanjournal %jindex
if This_chest_is_full in #journal ;
{
gosub moveto #findid #findstack %overflow
Finditem %DiggingTools c_ , #backpackid
IF #Findkind <> -1
exevent popup #findid 2
return
}
if something_else in #journal
Do Something Else
if Yet_another_thing in #journal
{
One more thing
and something else!
}
}
return
you will probley have to adjust your error message for when a pack is full in the error check sub
Also put this at the top of the script with the XXXXXXX replaced with your bag ids
;cstaker custom variables
set %overflow XXXXXXX
set %ironstone XXXXXXX
set %dullstone XXXXXXX
set %shadowstone XXXXXXX
set %copperstone XXXXXXX
set %bronzestone XXXXXXX
set %goldenstone XXXXXXX
Set %agapitestone XXXXXXX
set %veritestone XXXXXXX
set %valoritestone XXXXXXX
set %gemsecure XXXXXXX
set %gemtype HVF_UVF_FVF_EVF_OVF_VUF_GVF_RVF_BVF_VVF_NVF_ZVF_
On lexia we get gems with each type of ore. You can also add the ml gems here as well to clear them out of you pack, just add another secure box for them.
-
That looks great, but I should have said that I am looking to get this to work on an OSI Shard, not a Free Shard.
-
it will , or atleast should, work on osi. Just follow the instructions. I understand you dont have the granite boxes there, so just use normal pouches, crates, boxes, whatever. Just stack them up 9 or 10 high, set the ids and instert the code.
-
Cstalker, I tried the script that you provided but it will not work on an OSI Shard. Its based on being able to read the Granite color names on the piece of Granite, which is on freeshards. On OSI it always just says "High Quality Granite", no matter what color it is. The script works all the way up to putting the Granite in certain bags. It isnt using item id, it is using #findid and then looking for the ore color by name instead of type. Actually, I see a % instead of a #. Its reading the #property value and then looking for like "dull" "gold" , etc.
Trying to get it to work for use on an OSI Shard...
-
Hi,
to figure out what granit you have I would recommand
to use #FindCol
Als Granit has the same ItemType but differend color,
so you can figure out what color you have like this
if #FindCol = 2406 ;Shadow
{
Do whatever you like with the Shadow Granit
}
cu
-
yeah, that is what it will take. I have been working so i am unable to write it up yet. I should have it by this friday. Just hold on :)
Good to know about the change on OSI.
-
yeah, that is what it will take. I have been working so i am unable to write it up yet. I should have it by this friday. Just hold on :)
Good to know about the change on OSI.
They will add the color name .. that will make it much easier
You can take the event property command to figure out what is what and
I really hope they make them stackable sooooooooon
cu
-
Sorry it took so long on this, RL stuff gets in the way too much. For the osi guys I have added a color check to this sub. Be sure that you add the other subs and variables from the post above or you will get more errrors.
sub cspackcleaner
; first lets move the ore, easy
oreloop1:
Finditem %oretype c_ , #backpackid
IF #findkind <> -1
{
gosub moveto #findid #findstack %oresecure
goto oreloop1
}
; now lets move them gems out of the pack
gemloop1:
Finditem %gemtype c_ , #backpackid
IF #findkind <> -1
{
gosub moveto #findid #findstack %gemsecure
goto gemloop1
}
; ok now lets move them stones to there proper chest
stoneloop1:
Finditem %stonetype C_ , #backpackid
IF #findkind <> -1
{
event property #findid
IF Dull in #property || #findcol = 2419
gosub moveto #findid #findstack %dullstone
IF Shadow in #property || #findcol = 2406
gosub moveto #findid #findstack %shadowstone
IF Copper in #property || #findcol = 2413
gosub moveto #findid #findstack %copperstone
IF Bronze in #property || #findcol = 2418
gosub moveto #findid #findstack %bronzestone
IF Golden in #property || #findcol = 2213
gosub moveto #findid #findstack %goldenstone
IF Agapite in #property || #findcol = 2425
gosub moveto #findid #findstack %agapitestone
IF Verite in #property || #findcol = 2207
gosub moveto #findid #findstack %veritestone
IF Valorite in #property || #findcol = 2219
gosub moveto #findid #findstack %valoritestone
IF significant in #property || #findcol = 0
gosub moveto #findid #findstack %ironstone
gosub errorcheck
goto stoneloop1
}
return
-
CSTALKER,
Thanks for looking at the Script. I really do appreciate it. I am a bit confused though. Do I add the color checker to the Script changes that I made? I pretty much have it so that my Miner walks into the house, checks his backpack and the pack animals backpack and then sorts all of the granite into seperate containers throwing away the normal granite into the trashcan.
Oh by the way, I fixed the problem with the script halting when it gets 40 pieces of normal granite in the trashcan. I just learned that you can lock down and secure your trashcan after you place it, which takes away the 400 stone weight limitation. So you can toss up to 125 pieces of granite in the house trash barrel. You should not have this many pieces after one mining run, but sometimes I do get more than 40 Normal Granite Stones.
-
I just learned that you can lock down and secure your trashcan after you place it, which takes away the 400 stone weight limitation.
My guess here, but you probably can't do that on RunUO shards....
-
I just learned that you can lock down and secure your trashcan after you place it, which takes away the 400 stone weight limitation.
My guess here, but you probably can't do that on RunUO shards....
True, But on Lexia if the can gets full, it auto empties when you put the next item in it.
-
CSTALKER,
Thanks for looking at the Script. I really do appreciate it. I am a bit confused though. Do I add the color checker to the Script changes that I made? I pretty much have it so that my Miner walks into the house, checks his backpack and the pack animals backpack and then sorts all of the granite into seperate containers throwing away the normal granite into the trashcan.
I think so. I need to load up yours and see. Will get on that right now.