61
This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
%set_tool_to_make_1 JTL_GTL_KTL ;tinker tool
%set_tool_to_make_2 RQF ;alchemy tool
%set_tool_to_make_3 OBG ;blacksmith tool
Program SpellbookFiller;
(*Written by dxrom for ScriptUO.com
Script to fill spellbooks with scrolls that have
been sorted via my spell sorter script.
Like before:
Chest - the main container hold the 8 containers for each circle of spell
EmptyBooks - the container holding empty spellbooks to be filled
CxBAG - Bags representing spell circles, contained within Chest.
NOTES: I have not implemented a feature to put spellbooks back after
being filled.*)
const
C1BAG = $405AE12D; C5BAG = $405AE123;
C2BAG = $405AE12B; C6BAG = $405AE101;
C3BAG = $405AE138; C7BAG = $405AE13F;
C4BAG = $405AE137; C8BAG = $405AE12E;
G1BAG = $4073F9B2;
Chest = $405AE140;
EmptyBooks = $401AF5A9;
var
spellBook : Cardinal;
k : Integer;
C1 : Array of Cardinal; C5 : Array of Cardinal;
C2 : Array of Cardinal; C6 : Array of Cardinal;
C3 : Array of Cardinal; C7 : Array of Cardinal;
C4 : Array of Cardinal; C8 : Array of Cardinal;
procedure GetItem(Item:Cardinal; Source:Cardinal; Amount:Integer; Dest:Cardinal);
begin
UseObject(Source);
wait(1200);
MoveItem(FindType(Item,Source),Amount,Dest,0,0,0);
wait(1200);
if (Item = $0EFA) then
spellBook := FindItem;
end;
procedure FillBook(Circle:Array of Cardinal;Book:Cardinal;Source:Cardinal);
var
i : Integer;
begin
UseObject(Chest);
wait(1200);
UseObject(Source);
wait(1200);
for i := 0 to (Length(Circle)-1) do
GetItem(Circle[i],Source,1,spellBook);
end;
begin
C1:=[$1F2D,$1F2E,$1F2F,$1F30,$1F31,$1F32,$1F33,$1F34];
C2:=[$1F35,$1F36,$1F37,$1F38,$1F39,$1F3A,$1F3B,$1F3C];
C3:=[$1F3D,$1F3E,$1F3F,$1F40,$1F41,$1F42,$1F43,$1F44];
C4:=[$1F45,$1F46,$1F47,$1F48,$1F49,$1F4A,$1F4B,$1F4C];
C5:=[$1F4D,$1F4E,$1F4F,$1F50,$1F51,$1F52,$1F53,$1F54];
C6:=[$1F55,$1F56,$1F57,$1F58,$1F59,$1F5A,$1F5B,$1F5C];
C7:=[$1F5D,$1F5E,$1F5F,$1F60,$1F61,$1F62,$1F63,$1F64];
C8:=[$1F65,$1F66,$1F67,$1F68,$1F69,$1F6A,$1F6B,$1F6C];
for k := 0 to (CountEx($0EFA,$FFFF,EmptyBooks)-1) do
begin
GetItem($0EFA,EmptyBooks,0,Backpack);
FillBook(C1,spellBook,C1BAG);
FillBook(C2,spellBook,C2BAG);
FillBook(C3,spellBook,C3BAG);
FillBook(C4,spellBook,C4BAG);
FillBook(C5,spellBook,C5BAG);
FillBook(C6,spellBook,C6BAG);
FillBook(C7,spellBook,C7BAG);
FillBook(C8,spellBook,C8BAG);
end;
end.
const
C1BAG = $405AE12D; C5BAG = $405AE123;
C2BAG = $405AE12B; C6BAG = $405AE101;
C3BAG = $405AE138; C7BAG = $405AE13F;
C4BAG = $405AE137; C8BAG = $405AE12E;
G1BAG = $4073F9B2;
Chest = $405AE140;
EmptyBooks = $401AF5A9;
var
spellBook : Cardinal;
k : Integer;
C1 : Array of Cardinal; C5 : Array of Cardinal;
C2 : Array of Cardinal; C6 : Array of Cardinal;
C3 : Array of Cardinal; C7 : Array of Cardinal;
C4 : Array of Cardinal; C8 : Array of Cardinal;
procedure GetItem(Item:Cardinal; Source:Cardinal; Amount:Integer; Dest:Cardinal);
begin
UseObject(Source);
wait(1200);
MoveItem(FindType(Item,Source),Amount,Dest,0,0,0);
wait(1200);
if (Item = $0EFA) then
spellBook := FindItem;
end;
procedure FillBook(Circle:Array of Cardinal;Book:Cardinal;Source:Cardinal);
var
i : Integer;
begin
UseObject(Chest);
wait(1200);
UseObject(Source);
wait(1200);
for i := 0 to (Length(Circle)-1) do
GetItem(Circle[i],Source,1,spellBook);
end;
begin
C1:=[$1F2D,$1F2E,$1F2F,$1F30,$1F31,$1F32,$1F33,$1F34];
C2:=[$1F35,$1F36,$1F37,$1F38,$1F39,$1F3A,$1F3B,$1F3C];
C3:=[$1F3D,$1F3E,$1F3F,$1F40,$1F41,$1F42,$1F43,$1F44];
C4:=[$1F45,$1F46,$1F47,$1F48,$1F49,$1F4A,$1F4B,$1F4C];
C5:=[$1F4D,$1F4E,$1F4F,$1F50,$1F51,$1F52,$1F53,$1F54];
C6:=[$1F55,$1F56,$1F57,$1F58,$1F59,$1F5A,$1F5B,$1F5C];
C7:=[$1F5D,$1F5E,$1F5F,$1F60,$1F61,$1F62,$1F63,$1F64];
C8:=[$1F65,$1F66,$1F67,$1F68,$1F69,$1F6A,$1F6B,$1F6C];
for k := 0 to (CountEx($0EFA,$FFFF,EmptyBooks)-1) do
begin
GetItem($0EFA,EmptyBooks,0,Backpack);
FillBook(C1,spellBook,C1BAG);
FillBook(C2,spellBook,C2BAG);
FillBook(C3,spellBook,C3BAG);
FillBook(C4,spellBook,C4BAG);
FillBook(C5,spellBook,C5BAG);
FillBook(C6,spellBook,C6BAG);
FillBook(C7,spellBook,C7BAG);
FillBook(C8,spellBook,C8BAG);
end;
end.
;===================================================================
;===================================================================
; Script Name: Crisis Quick and Painless Spellbook Filler 2.3
; Author: Crisis
; Version: 2.3
; Client Tested with: 7.0.45.0
; EUO version tested with: 1.5 (version 285)
; Shard OSI / FS: OSI
; Release Date: 06/24/2014
; Revision Date: 04/07/2015
; Purpose:
; .Fill spellbooks with stored spell scrolls Magery, Necromancy, and Mysticism.
;
; Revisions:
; 1.1 fixed typo in mysticism scrolls
; 2.0 Added support for magery scrolls kept in secures by circle
; 2.1 Added ability to hardcode the 8 spell circle containers
; Adjusted Dragtospellbooksub to take one scroll instead of the whole stack
; Adjusted a wait 1 to sub Idle to save on system resources
; Added a return statement at the end of "sub StartMultiSpellbookFiller" and "sub StartSpellbookFiller"
; 2.2 Cleaned up code for better efficiency
; 2.3 Added Script Status
; Removed code for picking scrolls up from floor
;
; Requirements:
; . You need to have blank spellbooks and a secure with loose spell scrolls within reach.
;
; Future Updates:
; . Add a ability to pick up empty books from a secure and drop off full books.
;
; Special Thanks:
; . Manwinc for helping me learn about parsing and arrays and answering my MANY questions while working on this.
; . Endless Night for helping me fix mistakes and clean up the code for better efficiency
;
; Copyright: 2014-2015 Crisis
;===================================================================
;===================================================================
,----------------------------------------------------
Display Choose the spellbook that you want to fill...
set #targcurs 1
while #targcurs = 1
wait 5
set %spellbook #ltargetID
set #lobjectid %spellbook
wait 10
display Ok Select your Scroll Secure Container...
set #targcurs 1
while #targcurs = 1
wait 5
set %ScrollSecure #ltargetid
set #lobjectid %ScrollSecure
event macro 17 0
wait 20
gosub DragToSpellbook %ScrollSecure %spellbook QXL ;Clumsy
gosub DragToSpellbook %ScrollSecure %spellbook PXL ;Create_Food
gosub DragToSpellbook %ScrollSecure %spellbook AYL ;Feeblemind
gosub DragToSpellbook %ScrollSecure %spellbook ZXL ;Heal
gosub DragToSpellbook %ScrollSecure %spellbook CYL ;Arrow
gosub DragToSpellbook %ScrollSecure %spellbook NXL ;Reactive_Armor
gosub DragToSpellbook %ScrollSecure %spellbook BYL ;Night_Sight
gosub DragToSpellbook %ScrollSecure %spellbook WXL ;Weaken
gosub DragToSpellbook %ScrollSecure %spellbook VXL ;Agility
gosub DragToSpellbook %ScrollSecure %spellbook YXL ;Cunning
gosub DragToSpellbook %ScrollSecure %spellbook XXL ;Cure
gosub DragToSpellbook %ScrollSecure %spellbook IYL ;Harm
gosub DragToSpellbook %ScrollSecure %spellbook HYL ;Magic_Trap
gosub DragToSpellbook %ScrollSecure %spellbook KYL ;Magic_Untrap
gosub DragToSpellbook %ScrollSecure %spellbook JYL ;Protection
gosub DragToSpellbook %ScrollSecure %spellbook EYL ;Strength
gosub DragToSpellbook %ScrollSecure %spellbook DYL ;Bless
gosub DragToSpellbook %ScrollSecure %spellbook GYL ;Fireball
gosub DragToSpellbook %ScrollSecure %spellbook FYL ;Magic_Lock
gosub DragToSpellbook %ScrollSecure %spellbook STL ;Poison
gosub DragToSpellbook %ScrollSecure %spellbook RTL ;Telekinesis
gosub DragToSpellbook %ScrollSecure %spellbook UTL ;Teleport
gosub DragToSpellbook %ScrollSecure %spellbook TTL ;Unlock
gosub DragToSpellbook %ScrollSecure %spellbook OTL ;Wall_of_Stone
gosub DragToSpellbook %ScrollSecure %spellbook NTL ;Arch_Cure
gosub DragToSpellbook %ScrollSecure %spellbook QTL ;Arch_Protection
gosub DragToSpellbook %ScrollSecure %spellbook PTL ;Curse
gosub DragToSpellbook %ScrollSecure %spellbook AUL ;Fire_Field
gosub DragToSpellbook %ScrollSecure %spellbook ZTL ;Greater_Heal
gosub DragToSpellbook %ScrollSecure %spellbook CUL ;Lightning
gosub DragToSpellbook %ScrollSecure %spellbook BUL ;Mana_Drain
gosub DragToSpellbook %ScrollSecure %spellbook WTL ;Recall
gosub DragToSpellbook %ScrollSecure %spellbook VTL ;Blade_Spirits
gosub DragToSpellbook %ScrollSecure %spellbook YTL ;Dispel_Field
gosub DragToSpellbook %ScrollSecure %spellbook XTL ;Incognito
gosub DragToSpellbook %ScrollSecure %spellbook IUL ;Magic_Reflection
gosub DragToSpellbook %ScrollSecure %spellbook HUL ;Mind_Blast
gosub DragToSpellbook %ScrollSecure %spellbook KUL ;Paralyze
gosub DragToSpellbook %ScrollSecure %spellbook JUL ;Poison_Field
gosub DragToSpellbook %ScrollSecure %spellbook EUL ;Summon_Creature
gosub DragToSpellbook %ScrollSecure %spellbook DUL ;Dispel
gosub DragToSpellbook %ScrollSecure %spellbook GUL ;Energy_Bolt
gosub DragToSpellbook %ScrollSecure %spellbook FUL ;Explosion
gosub DragToSpellbook %ScrollSecure %spellbook QUL ;Invisibility
gosub DragToSpellbook %ScrollSecure %spellbook PUL ;Mark
gosub DragToSpellbook %ScrollSecure %spellbook SUL ;Mass_Curse
gosub DragToSpellbook %ScrollSecure %spellbook RUL ;Paralyze Field
gosub DragToSpellbook %ScrollSecure %spellbook MUL ;Reveal
gosub DragToSpellbook %ScrollSecure %spellbook LUL ;Chain_Lightning
gosub DragToSpellbook %ScrollSecure %spellbook OUL ;Energy_Field
gosub DragToSpellbook %ScrollSecure %spellbook NUL ;Flamestrike
gosub DragToSpellbook %ScrollSecure %spellbook YUL ;Gate_Travel
gosub DragToSpellbook %ScrollSecure %spellbook XUL ;Mana_Vampire
gosub DragToSpellbook %ScrollSecure %spellbook AVL ;Mass_Dispel
gosub DragToSpellbook %ScrollSecure %spellbook UUL ;Polymorph
gosub DragToSpellbook %ScrollSecure %spellbook ZUL ;Meteor_Swarm
gosub DragToSpellbook %ScrollSecure %spellbook TUL ;Earthquake
gosub DragToSpellbook %ScrollSecure %spellbook WUL ;Energy_Vortex
gosub DragToSpellbook %ScrollSecure %spellbook VUL ;Resurrection
gosub DragToSpellbook %ScrollSecure %spellbook GVL ;Air_Elemental
gosub DragToSpellbook %ScrollSecure %spellbook FVL ;Summon_Daemon
gosub DragToSpellbook %ScrollSecure %spellbook IVL ;Earth_Elemental
gosub DragToSpellbook %ScrollSecure %spellbook HVL ;Fire_Elemental
gosub DragToSpellbook %ScrollSecure %spellbook CVL ;Water_Elemental
,----------------------------------------------------
sub DragToSpellbook
set %ScrollSecure %1
set %spellbook %2
set %scrolls %3
finditem %SpellSecure G_2
if #FINDKIND = -1
return N/A
DragToSpellbook_loop1:
finditem %scrolls C_ , %ScrollSecure
if #FINDKIND <> -1
{
exevent drag #FINDID #FINDSTACK
wait 10
exevent dropc %spellbook
wait 10
goto DragToSpellbook_loop1
}
return
,----------------------------------------------------
;-------------------------------------------------
; %1 = GumpWait
; %2 = Gumpname 1
; %3 = Gumpname 2
sub GumpWait
wait 10
set %timedelay #SCNT
loopwait1:
if #CONTNAME = %1 || #CONTNAME = %2
return
if #SCNT > %timedelay + 7
return
goto loopwait1
return