Проверено только до 44 свитка, дальше скила нехватает) ---------------------------------------------------------------------
Code
#ИД книжки, из которой будем записывать заклинания
var SpellBookID=0x6282172A
#ИД сундука, в котором находятся бланки
var SyndykID=0x6444CD6D
var Blank=0x0E34
var i
sub Create_pure_spellbook_by_PAR()
var ScroolsType
Put(SyndykID,Blank)
for i=1 to 64
Take(SyndykID,Blank,'1')
Inscript(SpellBookID,i)
next
end sub
sub Put(IContainer,Item)
UO.UseObject(IContainer)
while UO.Count(Item)>0
UO.FindType(Item)
UO.MoveItem('finditem','0',IContainer)
wait(200)
wend
UO.Resend()
UO.Hide(IContainer)
end sub
sub Take(IContainer,Item,Count)
var PrevItemCount=UO.Count(Item)
UO.UseObject(IContainer)
UO.FindType(Item,'0x0000',IContainer)
if UO.GetQuantity('finditem')>0 then
UO.MoveItem('finditem',Count,'backpack')
endif
while PrevItemCount==UO.Count(Item)
wait(200)
if UO.GetQuantity('finditem')==0 Then
PrevItemCount=-10
endif
wend
UO.Resend()
UO.Hide(IContainer)
end sub
sub Inscript(SBID,ScrollNum)
var BlankScroll =0x0E34
var BlankScroll4WTO ='^0x0E34'
var BlankScrollsInPack=1
var ScrollCircle
Dim SpellName[64]
SpellName[1 ]='Clumsy'
SpellName[2 ]='Create Food'
SpellName[3 ]='Feeblemind'
SpellName[4 ]='Heal'
SpellName[5 ]='Magic Arrow'
SpellName[6 ]='Night Sight'
SpellName[7 ]='Reactive Armor'
SpellName[8 ]='Weaken'
SpellName[9 ]='Agility'
SpellName[10]='Cunning'
SpellName[11]='Cure'
SpellName[12]='Harm'
SpellName[13]='Magic Trap'
SpellName[14]='Magic Untrap'
SpellName[15]='Protection'
SpellName[16]='Strength'
SpellName[17]='Bless'
SpellName[18]='Fireball'
SpellName[19]='Magic Lock'
SpellName[20]='Poison'
SpellName[21]='Telekinisis'
SpellName[22]='Teleport'
SpellName[23]='Unlock'
SpellName[24]='Wall of Stone'
SpellName[25]='Archcure'
SpellName[26]='Arch Protection'
SpellName[27]='Curse'
SpellName[28]='Fire Field'
SpellName[29]='Greater Heal'
SpellName[30]='Lightning'
SpellName[31]='ManaDrain'
SpellName[32]='Recall'
SpellName[33]='Blade Spirits'
SpellName[34]='Dispel Field'
SpellName[35]='Incognito'
SpellName[36]='Magic Reflection'
SpellName[37]='Mind Blast'
SpellName[38]='Paralyze'
SpellName[39]='Poison Field'
SpellName[40]='Summon Creature'
SpellName[41]='Dispel'
SpellName[42]='Energy Bolt'
SpellName[43]='Explosion'
SpellName[44]='Invisibility'
SpellName[45]='Mark'
SpellName[46]='Mass Curse'
SpellName[47]='Paralyze Field'
SpellName[48]='Reveal'
SpellName[49]='Chain Lightning'
SpellName[50]='Energy Field'
SpellName[51]='Flamestrike'
SpellName[52]='Gate Travel'
SpellName[53]='Mana Vampire'
SpellName[54]='Mass Dispel'
SpellName[55]='Meteor Storm'
SpellName[56]='Polymorph'
SpellName[57]='Earthquake'
SpellName[58]='Energy Vortex'
SpellName[59]='Resurrection'
SpellName[60]='Summon Air Elemental'
SpellName[61]='Summon Demon'
SpellName[62]='Summon Earth Elemental'
SpellName[63]='Summon Fire Elemental'
SpellName[64]='Summon Water Elemental'
while BlankScrollsInPack==1
if ScrollNum>0 and ScrollNum<=8 then
ScrollCircle='Circle 1'
endif
if ScrollNum>8 and ScrollNum<=16 then
ScrollCircle='Circle 2'
endif
if ScrollNum>16 and ScrollNum<=24 then
ScrollCircle='Circle 3'
endif
if ScrollNum>24 and ScrollNum<=32 then
ScrollCircle='Circle 4'
endif
if ScrollNum>32 and ScrollNum<=40 then
ScrollCircle='Circle 5'
endif
if ScrollNum>40 and ScrollNum<=48 then
ScrollCircle='Circle 6'
endif
if ScrollNum>48 and ScrollNum<=56 then
ScrollCircle='Circle 7'
endif
if ScrollNum>56 and ScrollNum<=64 then
ScrollCircle='Circle 8'
endif
while UO.Mana>=50 and UO.Count(BlankScroll)>0
UO.DeleteJournal()
UO.WaitMenu('Select',ScrollCircle,'Select',SpellName[ScrollNum])
UO.WaitTargetObject(BlankScroll4WTO,SBID)
UO.UseSkill("Inscription")
while not UO.InJournal('enough mana') and not UO.InJournal('move and stop') and not UO.InJournal('finish') and not UO.InJournal('perform')
wait(100)
wend
if not UO.InJournal('create') then
i=i-1
endif
wend
wait(7000)
if UO.Mana<50 then
while UO.Mana<UO.Int
UO.DeleteJournal()
UO.UseSkill("Meditation")
while not UO.InJournal('You are unable to concentrate') and not UO.InJournal('You stop meditating') and not UO.InJournal('perform')
wait(100)
wend
wend
endif
if UO.Count(BlankScroll)<1 then
BlankScrollsInPack=0
endif
wend
end sub
# @ PAR -)