Yoko
http://forum.yoko.com.ua/

Добавить в скрипт функцию...
http://forum.yoko.com.ua/viewtopic.php?f=20&t=6273
Page 1 of 1

Author:  kexwer [ 2006-02-25 23:29:41 ]
Post subject:  Добавить в скрипт функцию...

Не могли бы вы добавить в скрипт Спирит спик
Например 20 раз промедецировал
Потом Спирит Спик и кушает катлетку, потом все снова

Code:
sub Meditation() 
var Exit, LastTimer, CharMana
uo.Print('Выбери Курсу: ')
uo.Exec('addobject Curse')
while uo.Targeting()
wait(100)
wend
wait(300)
uo.DisArm()
wait(2000)
exit=0
while Exit <> 1
CharMana=uo.INT
CheckLag()
uo.WaitTargetType('0x0190')
uo.UseObject('Curse')
wait(500)
uo.Canceltarget()

if uo.InJournal('no target to cansel') then
uo.DeleteJornal()
end if

repeat
wait(500)
until uo.Mana<CharMana
CheckLag()
LastTimer=uo.Timer()

repeat
uo.DisArm()
uo.Print('Медитируем...')
uo.Useskill('Meditation')
wait(4000)
until uo.Mana==uo.INT or LastTimer+300<uo.Timer()
wend
end sub

sub CheckLag()
uo.DeleteJournal()
uo.Click('backpack')
repeat
wait(50)
until uo.InJournal('backpack')
end sub

Author:  kexwer [ 2006-02-26 17:00:53 ]
Post subject: 

Никто не поможет :(
Помогите пожалуйста

Author:  Edred [ 2006-02-26 19:05:42 ]
Post subject: 

Эту функцию добавь в конец файла со скриптом:

Code:
#####################################################################
; Spirit Speak v.1.00b (c) Edred
;
; Разовая прокачка спирит спика. Предназначена для вызова из других скриптов.
;
sub SpSpeak()
   VAR mod = UO.WarMode(), num
   VAR fizzle = 'You fail your attempt'
   VAR success = 'You establish a connection'
   UO.WarMode( 0 )
   DeleteJournal( success )
   repeat
      DeleteJournal( fizzle )
      UO.UseSkill( 'Spirit Speak' )
      num = 1
      repeat
         wait(100)
         num = num + 1
      until UO.InJournal( fizzle ) OR UO.InJournal( success ) OR num > 600
   until UO.InJournal( success )
   UO.WarMode( mod )
endsub
#####################################################################
Sub DeleteJournal( string1 )
   VAR nom = UO.InJournal( string1 )
   If nom > 0 Then
      UO.SetJournalLine( Nom - 1, 'string replaced' )
      DeleteJournal( string1 )
   Endif
endsub


В тексте скрипта в начале добавь (где переменные):

Code:
VAR SpiritTime = UO.Timer()


А там где хочешь чтобы запускался спирит:

Code:
If ( UO.Timer() - SpiritTime ) / 600 > 5 Then
   ; Прошло 5 минут с момента последней прокачки Spirit Speak
   SpSpeak()
   SpiritTime = UO.Timer()
Endif

Author:  kexwer [ 2006-02-26 19:20:28 ]
Post subject: 

Все добавил
При запуске пишет
Variable undefinet - SPirititme

Author:  kexwer [ 2006-02-26 19:23:55 ]
Post subject: 

Все разобрался...
Вот у меня что получилось

Code:
sub Meditation() 
VAR SpiritTime = UO.Timer()
var Exit, LastTimer, CharMana
uo.Print('Выбери Курсу: ')
uo.Exec('addobject Curse')
while uo.Targeting()
wait(100)
wend
wait(300)
uo.DisArm()
wait(2000)
exit=0
while Exit <> 1
CharMana=uo.INT
CheckLag()
uo.WaitTargetType('0x0190')
uo.UseObject('Curse')
wait(500)
uo.Canceltarget()

if uo.InJournal('no target to cansel') then
uo.DeleteJornal()
end if

repeat
wait(500)
until uo.Mana<CharMana
CheckLag()
LastTimer=uo.Timer()

repeat
uo.DisArm()
If ( UO.Timer() - SpiritTime ) / 600 > 1 Then
   ; Прошло 5 минут с момента последней прокачки Spirit Speak
   SpSpeak()
   SpiritTime = UO.Timer()
Endif

uo.Print('Медитируем...')
uo.Useskill('Meditation')
wait(4000)
until uo.Mana==uo.INT or LastTimer+300<uo.Timer()
wend
end sub

sub CheckLag()
Endif
uo.DeleteJournal()
uo.Click('backpack')
repeat
wait(50)
until uo.InJournal('backpack')
end sub


sub SpSpeak()
   VAR mod = UO.WarMode(), num
   VAR fizzle = 'You fail your attempt'
   VAR success = 'You establish a connection'
   UO.WarMode( 0 )
   DeleteJournal( success )
   repeat
      DeleteJournal( fizzle )
      UO.UseSkill( 'Spirit Speak' )
      num = 1
      repeat
         wait(100)
         num = num + 1
      until UO.InJournal( fizzle ) OR UO.InJournal( success ) OR num > 600
   until UO.InJournal( success )
   UO.WarMode( mod )
endsub
#####################################################################
Sub DeleteJournal( string1 )
   VAR nom = UO.InJournal( string1 )
   If nom > 0 Then
      UO.SetJournalLine( Nom - 1, 'string replaced' )
      DeleteJournal( string1 )
   Endif
endsub

Page 1 of 1 All times are UTC+02:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/