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

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