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
давно уж пора понять что я далёек от программирования ;)