Page 1 of 2

spellbooks making script

Posted: 2007-11-23 22:56:52
by utternoob
hello, im making a script that will make full spellbooks. but i dont know how to make script repeat making a scroll if it fails?

lets say im making flamestrike scroll, i fail. how do i make the script repeat until i succeed and then carry on to next scroll?

Posted: 2007-11-23 23:09:02
by Scripts Writer
Look it in a journal. I think u have a msg when you make ur scroll || book like "you put" and "fail" when u failed

Posted: 2007-11-23 23:16:20
by utternoob
Scripts Writer wrote:Look it in a journal. I think u have a msg when you make ur scroll || book like "you put" and "fail" when u failed


yeah i do, but im not expert scripter. i dont know what commands i should use :/

Posted: 2007-11-23 23:17:28
by Scripts Writer
Look help and other simply scripts

Posted: 2007-11-23 23:18:22
by utternoob
is it something like...


repeat
.......
.......
blabla
..............
until uo.injournal("you put")

?

Posted: 2007-11-23 23:20:00
by Scripts Writer

Code: Select all

sub Scp()
var k
...

k=0
uo.DeleteJournal()
repeat
  wait(100)
  k=k+1
until uo.InJournal(" ... ") || k>100

Posted: 2007-11-24 13:24:18
by utternoob
bah i cant get it to work..

Code: Select all

sub spellbook()
Var T
UO.CancelMenu()
UO.AutoMenu("Spell Circles","First Circle")
UO.AutoMenu('Spell Circle 1','Clumsy')
While UO.Count('scroll')>=2
  UO.DeleteJournal()
  Wait(100)
  UO.UseType('scroll')
  T=UO.Timer()
  until (uo.injournal('failed') or uo.injournal(ItName) or (UO.Timer()-T>=1000))
   Wait(100)
  Wend
  Wait(1000)
UO.CancelMenu()

UO.CancelMenu()
UO.AutoMenu('Spell Circles','First Circle')
UO.AutoMenu('Spell Circle1','Create Food')
  UO.DeleteJournal()
  Wait(100)
  UO.UseType('scroll')
  T=UO.Timer()
  until (uo.injournal('failed') or uo.injournal(ItName) or (UO.Timer()-T>=1000))
   Wait(100)
  Wend
  Wait(1000)
WEnd
UO.CancelMenu()
UO.Print("DONE")
end sub



now how do i make this script continue making clumsy scroll until it MAKES one and then proceeds to create food scroll?

Posted: 2007-11-24 13:32:16
by Scripts Writer
Your script is wrong from begin to end.
Start step by step:

Code: Select all

1. To create 1 scroll.
2. To create 1 scroll. If it make-output message "You make scroll"
3. To create 5 scrolls. After this-output message "You make " quantity maked scrolls " scroll".
4. To create 1 clumsy scroll, 1 create food scrolls .
5. And only after this, create 1 clumsy scroll, if u make this- create 1 food scroll.


Try to write this 5 scripts without errors. Start from first- i'll correct you if something is wrong

Posted: 2007-11-24 19:20:11
by utternoob
ok doing step one...

Code: Select all

sub spellbook()
UO.CancelMenu()
UO.AutoMenu('Spell Circles','First Circle')
UO.AutoMenu('Spell Circle 1','Clumsy')
  UO.DeleteJournal()
Until (uo.injournal('failed') or uo.injournal('Clumsy'))
  Wait(100)
  UO.UseType("scroll")
  Wait(100)
Wend
UO.CancelMenu()
UO.Print("scroll has been crafted")
end sub



i get error "unhandled exception in parser". whats wrong?

Posted: 2007-11-24 20:15:38
by Scripts Writer
Try to write from first function. Not copy/past.
Look how to make repeat-until, how to make while-wend. Use uo.WaitMenu, look how to make all this in craft scripts and then try to write .

Posted: 2007-11-24 20:41:10
by utternoob
Scripts Writer wrote:Try to write from first function. Not copy/past.
Look how to make repeat-until, how to make while-wend. Use uo.WaitMenu, look how to make all this in craft scripts and then try to write .


im not scripter, im completely new to this. why cant you just edit my script a bit so it would do what i want please? :(

ok now i got this

Code: Select all

sub spellbook()
UO.CancelMenu()
UO.AutoMenu('Spell Circles','First Circle')
UO.AutoMenu('Spell Circle 1','Clumsy')
Repeat
  UO.DeleteJournal()
  Wait(100)
  UO.UseType("scroll")
  Wait(1000)
Until (uo.injournal('failed') or uo.injournal('you put'))
UO.CancelMenu()
UO.Print("scroll has been crafted")
end sub


but this script doesnt wait for scroll to be crafted, it just "eats" all my scrolls in a second and then stops...

Posted: 2007-11-24 20:48:31
by Scripts Writer
When u write ur script, did u understand what should it do?
Do u know how repeat/until is working? Test it:

Code: Select all

sub Sc()
  uo.DeleteJournal()
  repeat
    wait(250)
    uo.Print('Look at me ...')
  until uo.InJournal('put|fail')
end sub


and then look at ur script, and try to look for ur mistake.

*me not english*

Posted: 2007-11-24 21:19:38
by utternoob
Got it working. :) Thank you Script Writer. :)

Posted: 2007-11-24 21:22:33
by Scripts Writer
To make big scripts u have to know, what's ur every string is doing and nothing else

Posted: 2007-11-24 21:50:15
by utternoob
:)

now im making a script that will make 20 recall scrolls and then stops, but i dont know how to use UO.Count....

Code: Select all

sub recall()

UO.CancelMenu()
UO.AutoMenu('Spell Circles','Fourth Circle')
UO.AutoMenu('Spell Circle 4','Recall')
Repeat
  UO.DeleteJournal()
  wait(100)
  UO.UseType("scroll")
  wait(4500)
Until UO.Count(????????????)
   Wait(100)
UO.CancelMenu()
UO.Print("done")
end sub



How do i make this script make 20 recall scrolls and then stop?

Posted: 2007-11-24 21:53:59
by Scripts Writer
Make

Code: Select all

for/next

Posted: 2007-11-24 22:07:03
by utternoob
also when using my spellbook script sometimes i randomly get error... unexpected error bla bla.. what may cause this?

Posted: 2007-11-24 22:07:27
by utternoob
Scripts Writer wrote:Make

Code: Select all

for/next


i dont understand this sorry :S

Posted: 2007-11-24 22:14:11
by Mazer
hmm how about this

Code: Select all

repeat 
(that spell craft)
Until uo.injournal(you put) then
uo.moveitem
repeat
Craft another spell)
Until uo.injournal(you put) then
uo.moveitem

Posted: 2007-11-24 22:20:57
by utternoob
Mazer wrote:hmm how about this

Code: Select all

repeat 
(that spell craft)
Until uo.injournal(you put) then
uo.moveitem
repeat
Craft another spell)
Until uo.injournal(you put) then
uo.moveitem


um no i just need script to stop after i have 20 scrolls in backpack, and thats done with UO.Count i think