Кто знает подправте скрипт

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
DokKor
Posts: 47
Joined: 2006-02-04 14:57:35

Кто знает подправте скрипт

Post 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




вот скрипт на крафт реколов , что не так ? почему у меня не работает ? шард ДРВ :(
ZWERb
Posts: 122
Joined: 2006-03-08 11:59:41

Post by ZWERb »

найди людский скрипт под крафт скролов :wink: !!! на этом форуме их ДО)(YR :D
СМЕРТЬ ФЛУДЕРАМ!
SergeyVP
Posts: 12
Joined: 2006-02-20 09:54:40

Post by SergeyVP »

Ответь мне на вопрос :

Когда ты используешь скил Инскрипшен, появляется менюшка для выбора спела который ты будешь писать, так?
ты выбираешь спел.

После этого появляется ли прицел для того чтобы ты кликнул на кучке скролов, а потом прицел для того чтобы ты выбрал мепл бук?

если да, то вероятно надо исправить строчку
uo.waittargetobject("_"+bs,sb)
на
uo.waittargetobject(bs,sb)

----
а если нет, то надо просто закомментарить её...
DokKor
Posts: 47
Joined: 2006-02-04 14:57:35

Post by DokKor »

SergeyVP wrote:Ответь мне на вопрос :

Когда ты используешь скил Инскрипшен, появляется менюшка для выбора спела который ты будешь писать, так?
ты выбираешь спел.

После этого появляется ли прицел для того чтобы ты кликнул на кучке скролов, а потом прицел для того чтобы ты выбрал мепл бук?

если да, то вероятно надо исправить строчку
uo.waittargetobject("_"+bs,sb)
на
uo.waittargetobject(bs,sb)



ни хрена там не меняеться :( так же всё , сделайте скрипт плиз :(

----
а если нет, то надо просто закомментарить её...
DokKor
Posts: 47
Joined: 2006-02-04 14:57:35

Post by DokKor »

SergeyVP wrote:Ответь мне на вопрос :

Когда ты используешь скил Инскрипшен, появляется менюшка для выбора спела который ты будешь писать, так?
ты выбираешь спел.

После этого появляется ли прицел для того чтобы ты кликнул на кучке скролов, а потом прицел для того чтобы ты выбрал мепл бук?

если да, то вероятно надо исправить строчку
uo.waittargetobject("_"+bs,sb)
на
uo.waittargetobject(bs,sb)

----
а если нет, то надо просто закомментарить её...



ни хрена там не меняеться , все также :( сделайте скрипт плиз :(
DokKor
Posts: 47
Joined: 2006-02-04 14:57:35

Post by DokKor »

ZWERb wrote:найди людский скрипт под крафт скролов :wink: !!! на этом форуме их ДО)(YR :D


лол ты и на форуме дрв тя забанили , да и в игре ты особым умом не отличаешься :)
SergeyVP
Posts: 12
Joined: 2006-02-20 09:54:40

Post 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
9901gorsh
Posts: 15
Joined: 2006-02-15 14:14:29

Re: Кто знает подправте скрипт

Post 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
DokKor
Posts: 47
Joined: 2006-02-04 14:57:35

Re: Кто знает подправте скрипт

Post 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]
Post Reply