Page 1 of 1

Подправьте Локпикинг

Posted: 2007-10-23 09:56:59
by Kitten
Суть такая: в бэкпаке лежит две шкатулки с ключами, изначально закрытые, на полу отмычки. Юзаем отмычки на первую шкатулку, если открылась, то закрываем, если же нет, то пытаемся открыть вторую шкатулку. И так по кругу. Инжект ругается на строку "if i = 1 then". Это скорее всего как то по другому нужно писать, но в уроках я не нашла, подправьте пожалуйста. Это первый мой скрипт не собранный из кусочков, написанный полностью моими ручками. Так что жду помощи :wink:

Posted: 2007-10-23 10:08:34
by Kitten
С этим разобралась ))) Теперь говорит что ошибка в строке которой тут нет даже, что может быть? Посмотрите пожалуйста...

Posted: 2007-10-23 10:18:17
by Kitten
Кароче все сама с собой тут попереписывалась, все исправила, все робит вроде как, вот скрипт, если кому то надо:

Code: Select all

##Берем два сундука или шкатулки с ключами в бэкпак
##Кладем кучу отмычек рядом на пол
##Закрываем оба контейнера, запускаем скрипт
##Lockpicking v1.00 Kitten

sub Lockpicking()

uo.exec('addobject Sunduk1')
while uo.targeting()
wait(100)
wend

uo.exec('addobject Key1')
while uo.targeting()
wait(100)
wend

uo.exec('addobject Sunduk2')
while uo.targeting()
wait(100)
wend

uo.exec('addobject Key2')
while uo.targeting()
wait(100)
wend

VAR i = 1
VAR k = 1
##################################################################
repeat

if i == 1 then
         UO.WaitTargetObject('Sunduk1')
         uo.usefromground(0x14FB) ;Lockpick
         uo.deletejournal()
         CheckLag()
         wait(7600)
endif

if uo.injournal('You opened the lock!') then
   i = 0
   uo.deletejournal()
   while i == 0
      uo.deletejournal()
      UO.WaitTargetObject('Sunduk1')
        UO.Useobject('Key1')
        CheckLag()
        wait(1000)
           if uo.injournal('You lock it.') then
              i = 1
              uo.deletejournal()
           endif
   wend
endif
   
if k == 1 then
         UO.WaitTargetObject('Sunduk2')
         uo.usefromground(0x14FB) ;Lockpick
         uo.deletejournal()
         CheckLag()
         wait(7600)
endif

if uo.injournal('You opened the lock!') then
   k = 0
   while k == 0
      uo.deletejournal()
      UO.WaitTargetObject('Sunduk2')
        UO.Useobject('Key2')
        CheckLag()
        wait(1000)
           if uo.injournal('You lock it.') then
              k = 1
              uo.deletejournal()
           endif
   wend
endif
until 1==0
endsub

sub CheckLag()
UO.DeleteJournal()
UO.Click('backpack')
repeat
wait(100)
until UO.InJournal('backpack')
end sub

Posted: 2007-10-23 11:26:28
by grundick
красиво то как ;)

Posted: 2007-10-23 11:37:47
by Kitten
grundick wrote:красиво то как ;)
спасибо

Posted: 2007-10-23 12:24:07
by Okypok
Хехе, все бы так решали проблемы ;-)

Posted: 2007-10-23 15:21:45
by Scripts Writer
grundick wrote:красиво то как ;)


Если смотреть с программистской точки зрения то табуляция просто на бум и вся красота уплывает

Posted: 2007-10-23 17:31:01
by grundick
давно уж пора понять что я далёек от программирования ;)