Table of Contents
Details #
All scripts have been collected over the years and if available will still contain the creators details, these scripts may run well or not.
Scripts #
inscription.sc #
sub insc()
Mark1:
If UO.Int<130 then
UO.Say("bless")
Wait(5000)
end If
If UO.Mana<UO.Int then
UO.Exec("useskill 'Meditation'")
Wait(20000)
end If
UO.Exec("waitmenu 'inscribe' 'Circle 8 spells' 'inscribe' 'Summon Daemon'")
UO.Exec("waittargettype 'blank'")
UO.Exec("useskill 'Inscription'")
UO.Press(120)
Wait(30000)
If UO.Int<130 then
UO.Say("bless")
Wait(5000)
end If
If UO.Mana<50 then
UO.Exec("useskill 'Meditation'")
Wait(50000)
end If
Goto Mark1
end sub
sub main()
var i
for i=1 to 10000
wait (5000)
UO.Exec("waittargetobjecttype blank SBook")
wait(1000);
UO.Exec("waitmenu inscribe 6 inscribe 'Energy Bolt'")
wait(1000);
UO.useskill("Inscription")
wait(60000);
UO.Exec("cancelmenu")
while UO.Mana<UO.Int
UO.UseSkill("Meditation");
wait(5000);
wend
next
end sub
sub recall()
for var x=1 to 10
# If UO.Int<130 then
# UO.Say("bless")
# Wait(5000)
# end If
UO.Exec("waitmenu 'inscribe' 'Circle 4 spells' 'inscribe' 'Recall'")
UO.Exec("waittargettype 'blank'")
UO.Exec("useskill 'Inscription'")
UO.Press(112)
Wait(58000)
while UO.Mana<UO.Int
UO.Exec("useskill 'Meditation'")
Wait(10000)
wend
next
end sub
inscription 2.sc #
#Change waitmenu line and mana limit to suit the spell you are scribing
#You have to create a spell book object under the "objects" tab
#Name it sb, go new, go from target, click on spell book, and then press save
#Then u can run me!
sub Main()
while TRUE
repeat
UO.Exec("waitmenu 'Select a circle to inscribe' 'Circle 8 spells' 'Select a spell to inscribe' 'Earthquake'")
UO.Exec ("waittargettypeobject 'sb' '0x0e34'")
UO.Useskill("Inscription")
Wait(10000)
Until UO.Mana < 45
if (UO.Mana < 45)then
repeat
UO.Exec("useskill Meditation")
wait(5000)
until (UO.Mana == UO.INT)
end if
WEND
end sub
inscription 3.sc #
sub main()
UO.FindType(0x0EFA, 0, 'my')
var book = UO.GetSerial('finditem')
UO.FindType(0x0E34, -1, 'my')
var scroll = UO.GetSerial('finditem')
var time
Repeat
While UO.Mana > 40
UO.WaitTargetObject(scroll, book)
UO.WaitMenu("Select", "8", "Select", "Energy Vortex")
UO.DeleteJournal()
UO.UseSkill("Inscription")
Wait(2000)
While Not UO.InJournal("Looping")
UO.UseSkill("Inscription")
Wait(2000)
Wend
time = 2000
Repeat
Wait(200)
time = time + 200
Until time >= 10000
journalWait("finished|aborted", 40000)
Wend
UO.DeleteJournal()
While UO.Mana < UO.INT
Repeat
UO.Useskill("Meditation")
wait(1000)
Until UO.InJournal("enter a")
journalWait("stop meditating", 60000)
Wend
Until FALSE
end sub
sub journalWait(journalPattern, timeout)
var time = 0
Repeat
Wait(200)
time = time + 200
Until UO.InJournal(journalPattern) || time > timeout
end sub
inscription ebook.sc #
sub main()
var scroll
var book
var time
UO.FindType(0x0FF2, -1, 'ground')
book=UO.GetSerial("finditem")
Repeat
UO.FindType(0x0E34, -1, 'my')
scroll = UO.GetSerial('finditem')
While UO.Mana > 6
UO.Print(book + " " + scroll)
UO.WaitTargetObject(scroll, book)
UO.OnGump('anygump', 0x6C)
UO.DeleteJournal()
Repeat
UO.UseSkill("Inscription")
Until UO.InJournal("Looping")
time = 0
Repeat
Wait(1000)
time = time + 200
Until UO.InJournal("finished|aborted") || time > 40000
Wend
UO.DeleteJournal()
While UO.Mana < UO.INT
Repeat
UO.Useskill("Meditation")
wait(1000)
Until UO.InJournal("enter a")
time = 0
Repeat
Wait(200)
time = time + 200
Until UO.InJournal("stop meditating") || time > 60000
Wend
Until FALSE
end sub
inscription money.sc #
sub main()
UO.CancelTarget()
var fullBook = userSelect("Full Book")
var emptyBook = userSelect("Empty Book")
var time
Repeat
While UO.Mana < UO.INT
Repeat
UO.Useskill("Meditation")
wait(1000)
Until UO.InJournal("enter a")
journalWait("stop meditating", 20000)
Wend
If UO.Int < 180 Then
UO.WaitTargetSelf()
UO.Cast("Cunning")
Wait(2000)
UO.WaitTargetSelf()
UO.Cast("Bless")
Wait(2000)
UO.Cast("Polymorph")
Wait(4000)
End If
While UO.Mana > 60
UO.DeleteJournal()
#UO.Print("Select Targets")
UO.WaitTargetObject(fullBook, emptyBook)
time = 0
Repeat
#UO.Print("Attempting Skill")
UO.UseSkill("Inscription")
time = time + 2000
Wait(2000)
Until UO.InJournal("copied|must target") || time > 10000
#UO.Print("Emtpying")
UO.CancelTarget()
UO.WaitTargetObject(emptyBook)
UO.Say(",emptycontainer 50")
time = 0
While UO.Waiting() && time < 10000
time = time + 200
Wait(200)
Wend
Wend
UO.DeleteJournal()
Until FALSE
end sub
sub userSelect(objectName)
UO.AddObject(objectName)
While UO.Targeting()
Wait(200)
Wend
return UO.GetSerial(objectName)
end sub
sub journalWait(journalPattern, timeout)
var time = 0
Repeat
Wait(200)
time = time + 200
Until UO.InJournal(journalPattern) || time > timeout
end sub
inscription necro.sc #
sub main()
var scroll
var book
Repeat
UO.FindType(0x1C13, -1, 'my')
book=UO.GetSerial("finditem")
UO.FindType(0x0E34, -1, 'my')
scroll = UO.GetSerial('finditem')
If UO.INT < 150 Then
intBuff()
End If
While UO.Mana > 100
scribe(scroll, book, 0x6C)
Wend
While UO.Mana < UO.INT
meditate()
Wend
Until FALSE
end sub
sub intBuff()
sub buff(target)
If UO.Mana < 50 Then
meditate()
End If
UO.WaitTargetObject('self')
UO.Cast("Cunning")
Wait(3000)
UO.WaitTargetObject('self')
UO.Cast("Bless")
Wait(3000)
UO.Cast("Polymorph")
Wait(4000)
end sub
sub scribe(scroll, book, choice)
var time
UO.DeleteJournal()
UO.WaitTargetObject(scroll, book)
UO.OnGump('anygump', 0x6F)
UO.DeleteJournal()
Repeat
UO.UseSkill("Inscription")
Wait(500)
Until UO.InJournal("Looping")
time = 0
Repeat
Wait(1000)
time = time + 200
Until UO.InJournal("finished|aborted") || time > 40000
end sub
sub meditate()
var time
UO.DeleteJournal()
Repeat
UO.Useskill("Meditation")
wait(1000)
Until UO.InJournal("enter a|peace")
time = 0
Repeat
Wait(200)
time = time + 200
Until UO.InJournal("stop meditating|lost your|peace") || time > 60000
Wait(500)
end sub
inscriptionstu.sc #
#Set F11 as lasttarget
#Before you start the script, you have to do the following manually
#Use the inscription skill -> Select The scrolls ->
#Cancel by Pressing Esc (DON'T Select the spell book)
#Then start the script!
#---------------Why do you have to do this?--------------------
#Using objects doesn't work, and I can't figure out how to use
#waittargettype on sequential targets... it works so don't complain!
#------------------This is for you Stu-------------------------
sub Main()
while TRUE
repeat
UO.Exec("waitmenu 'Select a circle to inscribe' 'Circle 4 spells' 'Select a spell to inscribe' 'Recall'")
UO.Useskill("Inscription")
Wait(1000)
UO.Exec("waittargettype 0x0efa")
UO.Press(121)
Wait(9000)
Until UO.Mana < 10
if (UO.Mana < 10)then
repeat
UO.Exec("useskill Meditation")
wait(5000)
until (UO.Mana == UO.INT)
end if
WEND
end sub