Page 1 of 1
Кто знает подправте скрипт
Posted: 2006-03-15 17:57:41
by DokKor
sub main()
var bs="0x0E34" #<---тип пустых бланков
var rs="0x1F4C" #<--- тип реколов
var sb="0x400B290D" #<--- сераал спелбуки
var time
while uo.count(bs)
uo.print( "Blank scrolls "+str(uo.count(bs)) )
uo.print( "Recall scrolls "+str(uo.count(rs)) )
uo.deletejournal()
uo.waitmenu("Select a circle to inscribe","Spell Circles","Fourth Circle","Spell Circle 4","Recall")
uo.waittargetobject("_"+bs,sb)
uo.useskill( "Inscription" )
time=uo.timer()
repeat
wait(500)
until uo.injournal("You dont have enough mana to continue") || (uo.timer()-time)>600
while UO.Mana<UO.INT
UO.DeleteJournal()
UO.UseSkill('Meditation')
if not UO.InJournal('You are unable to concentrate') then
wait(10000)
endif
wend
wend
endsub
вот скрипт на крафт реколов , что не так ? почему у меня не работает ? шард ДРВ

Posted: 2006-03-16 08:20:13
by ZWERb
найди людский скрипт под крафт скролов

!!! на этом форуме их ДО)(YR

Posted: 2006-03-16 11:32:55
by SergeyVP
Ответь мне на вопрос :
Когда ты используешь скил Инскрипшен, появляется менюшка для выбора спела который ты будешь писать, так?
ты выбираешь спел.
После этого появляется ли прицел для того чтобы ты кликнул на кучке скролов, а потом прицел для того чтобы ты выбрал мепл бук?
если да, то вероятно надо исправить строчку
uo.waittargetobject("_"+bs,sb)
на
uo.waittargetobject(bs,sb)
----
а если нет, то надо просто закомментарить её...
Posted: 2006-03-16 19:57:02
by DokKor
SergeyVP wrote:Ответь мне на вопрос :
Когда ты используешь скил Инскрипшен, появляется менюшка для выбора спела который ты будешь писать, так?
ты выбираешь спел.
После этого появляется ли прицел для того чтобы ты кликнул на кучке скролов, а потом прицел для того чтобы ты выбрал мепл бук?
если да, то вероятно надо исправить строчку
uo.waittargetobject("_"+bs,sb)
на
uo.waittargetobject(bs,sb)
ни хрена там не меняеться

так же всё , сделайте скрипт плиз

----
а если нет, то надо просто закомментарить её...
Posted: 2006-03-16 19:57:37
by DokKor
SergeyVP wrote:Ответь мне на вопрос :
Когда ты используешь скил Инскрипшен, появляется менюшка для выбора спела который ты будешь писать, так?
ты выбираешь спел.
После этого появляется ли прицел для того чтобы ты кликнул на кучке скролов, а потом прицел для того чтобы ты выбрал мепл бук?
если да, то вероятно надо исправить строчку
uo.waittargetobject("_"+bs,sb)
на
uo.waittargetobject(bs,sb)
----
а если нет, то надо просто закомментарить её...
ни хрена там не меняеться , все также

сделайте скрипт плиз

Posted: 2006-03-16 19:58:09
by DokKor
ZWERb wrote:найди людский скрипт под крафт скролов

!!! на этом форуме их ДО)(YR

лол ты и на форуме дрв тя забанили , да и в игре ты особым умом не отличаешься

Posted: 2006-03-17 09:30:25
by SergeyVP
понимаешь, не могу я для тебя скрипт написать, потому что ты играешь на ДРВ, а я нет... Слишкм много ньюансов в крафтерских скилах от шарда к шарду.
на моём шарде вот этот скрипт работает :
sub skillmeditation()
var atpeace, fizzles, valueskill
UO.Warmode(0)
UO.UseSkill("Meditation")
UO.DeleteJournal()
valueskill = UO.SkillVal("Meditation",1)
Repeat
Wait(250)
#тут надо записать начало фраз которые генерит
# сервак твоего шарда
atpeace = UO.InJournal("You are at peace")
fizzles = UO.InJournal("You lose your")
# Если прирос скил, то прерываем медитацию
# Может ещё прирастет
If valueskill < UO.SkillVal("Meditation",1) Then
Wait(250)
UO.Warmode(1)
Wait(250)
UO.Warmode(0)
End If
Until atpeace or fizzles
If UO.Mana > 99 Then
atpeace = 1
End if
Return atpeace
end sub
sub main()
var bs="0x0e34" #<---тип пустых бланков
var y
# чтобы реже вылетал по unhandle exception
# с этим параметром не работает функция UO.Print
# я её убрал отовсюду
UO.Set("quiet", "1")
while uo.count(bs)
uo.deletejournal()
If UO.MR==0 or UO.NS==0 Then
# нету регов
Return
end if
#Здесь должны быть строки менюшки твоего шарда
uo.waitmenu("Spell Circles","Circle 2","Spell Circle 2","Strength")
uo.useobject(bs)
#тут можно поставить repeat until с анализом uo.injournal
#но я для простоты сейчас ставлю просто задержку
Wait(6000)
# если нет маны - медитируем !
If UO.Mana<10 Then
y = 0
Repeat
wait(1000)
y = skillmeditation()
until y
end if
wend
endsub
Re: Кто знает подправте скрипт
Posted: 2006-03-17 10:05:02
by 9901gorsh
DokKor wrote:вот скрипт на крафт реколов , что не так ? почему у меня не работает ? шард ДРВ

Этот вроде бы работал, тестить не охота.
Code: Select all
#####################################################################
; Inscription. v.1.00b (c) Edred
;
; Берем из сундука blank scroll, nightshade, black pearl,
; крафтим из них скролл Magic Arrow (с повторами в случае физлов),
; потом скидываем готовый скролл в тот же сундук.
; Если что-либо кончилось - выход.
sub inscript()
VAR Sunduk = '0x400D6AD9' ; Сериал сундука с бланкскроллами и регами
VAR Sunduk2 = '0x40180768' ; Сериал сундука для готовых скролов
VAR Blank = '0x0E34' ; Тип бланк скролла
VAR Arrow = '0x1F4C' ; Тип скроллов Recall
VAR Reg1 = '0x0F7B' ; блудмосс
VAR Reg2 = '0x0F7A' ; блэкперл
VAR Reg3 = '0x0F86' ; мандрейк рутс
VAR KR = 20; сколько регов брать за раз
VAR Fizzle = 'You fail to inscribe the scroll'
VAR Success = 'You put the'
VAR k
UO.CancelMenu()
CheckLag()
;UO.AutoMenu( 'Spell Circles', 'Fourth Circles' )
;UO.AutoMenu( 'Circle 4', 'Recall' )
;UO.AutoMenu ('Spell Circles', 'Fourth Circle', 'Circle 4', 'Recall')
UO.UseObject( Sunduk )
wait(1000)
While UO.SkillVal( 'Inscription' ) < 1050
; берем бланк скроллы
CheckLag()
If UO.Count( Blank ) == 0 Then
UO.FindType( Blank, -1, Sunduk )
If UO.FindCount() == 0 Then
UO.Print( 'Blank Scroll not found. Script terminated' )
return
Endif
If UO.GetQuantity( 'finditem' ) < 100 Then
UO.Grab( '0', 'finditem' )
repeat
wait(300)
until UO.Count( Blank ) > 0
Else
UO.Grab( '100', 'finditem' )
repeat
wait(300)
until UO.Count( Blank ) == 100
Endif
wait(1000)
Endif
; берем блудмосс
CheckLag()
If UO.Count( Reg1 ) == 0 Then
UO.FindType( Reg1, -1, Sunduk )
If UO.FindCount() == 0 Then
UO.Print( 'Blood Moss not found. Script terminated' )
return
Endif
If UO.GetQuantity( 'finditem' ) < 100 Then
UO.Grab( '0', 'finditem' )
repeat
wait(300)
until UO.Count( Reg1 ) > 0
Else
UO.Grab( '100', 'finditem' )
repeat
wait(300)
until UO.Count( Reg1 ) == 100
Endif
wait(1000)
Endif
; берем блэкперл
CheckLag()
If UO.Count( Reg2 ) == 0 Then
UO.FindType( Reg2, -1, Sunduk )
If UO.FindCount() == 0 Then
UO.Print( 'Black Pearls not found. Script terminated' )
return
Endif
If UO.GetQuantity( 'finditem' ) < 100 Then
UO.Grab( '0', 'finditem' )
repeat
wait(300)
until UO.Count( Reg2 ) > 0
Else
UO.Grab( '100', 'finditem' )
repeat
wait(300)
until UO.Count( Reg2 ) == 100
Endif
wait(1000)
Endif
; берем мандрейк
CheckLag()
If UO.Count( Reg3 ) == 0 Then
UO.FindType( Reg3, -1, Sunduk )
If UO.FindCount() == 0 Then
UO.Print( 'Mandrake Roots not found. Script terminated' )
return
Endif
If UO.GetQuantity( 'finditem' ) < 100 Then
UO.Grab( '0', 'finditem' )
repeat
wait(300)
until UO.Count( Reg3 ) > 0
Else
UO.Grab( '100', 'finditem' )
repeat
wait(300)
until UO.Count( Reg3 ) == 100
Endif
wait(1000)
Endif
repeat
CheckLag()
DeleteJournal( Fizzle )
DeleteJournal( Success )
UO.Exec("waitmenu 'Spell Circles' 'Fourth Circle' 'Circle 4' 'Recall'")
Wait(1000)
UO.UseType( Blank )
k = 0
repeat
k = k + 1
wait(100)
until UO.InJournal( Fizzle ) OR UO.InJournal( Success ) \
OR UO.Count( Blank ) == 0 OR UO.Count( Reg1 ) == 0 \
OR UO.Count( Reg2 ) == 0 OR k > 600
If UO.Mana < 10 Then
repeat
UO.UseSkill( 'Meditation' )
wait(2000)
until UO.Mana == UO.Int
Endif
Until UO.Count( Blank ) == 0 OR UO.Count( Reg1 ) == 0 \
OR UO.Count( Reg2 ) == 0 OR UO.Count( Reg3 ) == 0
CheckLag()
repeat
UO.FindType( Arrow )
If UO.FindCount() > 0 Then
UO.MoveItem( 'finditem', 0, Sunduk2 )
wait(1000)
Endif
until UO.Count( Arrow ) == 0
Wend
UO.CancelMenu()
endsub
Sub DeleteJournal( string1 )
VAR nom = UO.InJournal( string1 )
If nom > 0 Then
UO.SetJournalLine( Nom - 1, 'string replaced' )
DeleteJournal( string1 )
Endif
endsub
Sub CheckLag()
UO.DeleteJournal()
UO.Click('backpack')
repeat
wait(500)
until UO.InJournal('backpack')
end sub
Re: Кто знает подправте скрипт
Posted: 2006-03-17 13:53:08
by DokKor
9901gorsh wrote:DokKor wrote:вот скрипт на крафт реколов , что не так ? почему у меня не работает ? шард ДРВ

Этот вроде бы работал, тестить не охота.
Code: Select all
#####################################################################
; Inscription. v.1.00b (c) Edred
;
; Берем из сундука blank scroll, nightshade, black pearl,
; крафтим из них скролл Magic Arrow (с повторами в случае физлов),
; потом скидываем готовый скролл в тот же сундук.
; Если что-либо кончилось - выход.
sub inscript()
VAR Sunduk = '0x400D6AD9' ; Сериал сундука с бланкскроллами и регами
VAR Sunduk2 = '0x40180768' ; Сериал сундука для готовых скролов
VAR Blank = '0x0E34' ; Тип бланк скролла
VAR Arrow = '0x1F4C' ; Тип скроллов Recall
VAR Reg1 = '0x0F7B' ; блудмосс
VAR Reg2 = '0x0F7A' ; блэкперл
VAR Reg3 = '0x0F86' ; мандрейк рутс
VAR KR = 20; сколько регов брать за раз
VAR Fizzle = 'You fail to inscribe the scroll'
VAR Success = 'You put the'
VAR k
UO.CancelMenu()
CheckLag()
;UO.AutoMenu( 'Spell Circles', 'Fourth Circles' )
;UO.AutoMenu( 'Circle 4', 'Recall' )
;UO.AutoMenu ('Spell Circles', 'Fourth Circle', 'Circle 4', 'Recall')
UO.UseObject( Sunduk )
wait(1000)
While UO.SkillVal( 'Inscription' ) < 1050
; берем бланк скроллы
CheckLag()
If UO.Count( Blank ) == 0 Then
UO.FindType( Blank, -1, Sunduk )
If UO.FindCount() == 0 Then
UO.Print( 'Blank Scroll not found. Script terminated' )
return
Endif
If UO.GetQuantity( 'finditem' ) < 100 Then
UO.Grab( '0', 'finditem' )
repeat
wait(300)
until UO.Count( Blank ) > 0
Else
UO.Grab( '100', 'finditem' )
repeat
wait(300)
until UO.Count( Blank ) == 100
Endif
wait(1000)
Endif
; берем блудмосс
CheckLag()
If UO.Count( Reg1 ) == 0 Then
UO.FindType( Reg1, -1, Sunduk )
If UO.FindCount() == 0 Then
UO.Print( 'Blood Moss not found. Script terminated' )
return
Endif
If UO.GetQuantity( 'finditem' ) < 100 Then
UO.Grab( '0', 'finditem' )
repeat
wait(300)
until UO.Count( Reg1 ) > 0
Else
UO.Grab( '100', 'finditem' )
repeat
wait(300)
until UO.Count( Reg1 ) == 100
Endif
wait(1000)
Endif
; берем блэкперл
CheckLag()
If UO.Count( Reg2 ) == 0 Then
UO.FindType( Reg2, -1, Sunduk )
If UO.FindCount() == 0 Then
UO.Print( 'Black Pearls not found. Script terminated' )
return
Endif
If UO.GetQuantity( 'finditem' ) < 100 Then
UO.Grab( '0', 'finditem' )
repeat
wait(300)
until UO.Count( Reg2 ) > 0
Else
UO.Grab( '100', 'finditem' )
repeat
wait(300)
until UO.Count( Reg2 ) == 100
Endif
wait(1000)
Endif
; берем мандрейк
CheckLag()
If UO.Count( Reg3 ) == 0 Then
UO.FindType( Reg3, -1, Sunduk )
If UO.FindCount() == 0 Then
UO.Print( 'Mandrake Roots not found. Script terminated' )
return
Endif
If UO.GetQuantity( 'finditem' ) < 100 Then
UO.Grab( '0', 'finditem' )
repeat
wait(300)
until UO.Count( Reg3 ) > 0
Else
UO.Grab( '100', 'finditem' )
repeat
wait(300)
until UO.Count( Reg3 ) == 100
Endif
wait(1000)
Endif
repeat
CheckLag()
DeleteJournal( Fizzle )
DeleteJournal( Success )
UO.Exec("waitmenu 'Spell Circles' 'Fourth Circle' 'Circle 4' 'Recall'")
Wait(1000)
UO.UseType( Blank )
k = 0
repeat
k = k + 1
wait(100)
until UO.InJournal( Fizzle ) OR UO.InJournal( Success ) \
OR UO.Count( Blank ) == 0 OR UO.Count( Reg1 ) == 0 \
OR UO.Count( Reg2 ) == 0 OR k > 600
If UO.Mana < 10 Then
repeat
UO.UseSkill( 'Meditation' )
wait(2000)
until UO.Mana == UO.Int
Endif
Until UO.Count( Blank ) == 0 OR UO.Count( Reg1 ) == 0 \
OR UO.Count( Reg2 ) == 0 OR UO.Count( Reg3 ) == 0
CheckLag()
repeat
UO.FindType( Arrow )
If UO.FindCount() > 0 Then
UO.MoveItem( 'finditem', 0, Sunduk2 )
wait(1000)
Endif
until UO.Count( Arrow ) == 0
Wend
UO.CancelMenu()
endsub
Sub DeleteJournal( string1 )
VAR nom = UO.InJournal( string1 )
If nom > 0 Then
UO.SetJournalLine( Nom - 1, 'string replaced' )
DeleteJournal( string1 )
Endif
endsub
Sub CheckLag()
UO.DeleteJournal()
UO.Click('backpack')
repeat
wait(500)
until UO.InJournal('backpack')
end sub
Спасибо люди бобрые 
[/code]