Page 1 of 1
В чем ошибка скрипта ?
Posted: 2005-06-18 15:56:56
by Boris
Code: Select all
sub Lootopen()
DIM N[5]
N[0] = '0x0F87' ;glazki
N[1] = '0x0F78' ;batva
N[2] = '0x1088' ;neklear
N[3] = '0x0EED' ;money
N[4] = '0x0DF2' ;ident
VAR i
var otmi4ki = '0x14FB'
var ms1 = 'Your lockpick breaks!'
var ms2 = 'Your fail to open the lock!'
var ms3 = 'You opened the lock!'
uo.exec('addobject sunduk')
while uo.targeting()
wait(100)
wend
repeat
UO.useobject('otmi4ki')
wait(200)
uo.waittargetground('sunduk') ;пытаться взломать сундук
wait(10000)
if ( UO.InJournal(ms1) or UO.InJournal(ms2) ) then
wait(2000)
endif
until UO.InJournal(ms3)
UO.useobject('sunduk')
wait( 1000 )
For i = 0 To 4
UO.FindType( N[i], '-1', 'sunduk' )
if uo.findcount() > 0 then
UO.MoveItem( 'finditem' )
wait( 100 )
endif
Next
UO.Print( '/\yT 3aKoH4eH :-)' )
endsub
он почему не открывает сундук
Posted: 2005-06-18 17:13:39
by flake
Возможно айди сундука меняется, после его взлома?
Posted: 2005-06-18 17:55:16
by Boris
flake wrote:Возможно айди сундука меняется, после его взлома?
он даже не начинает ломать сундук(
Posted: 2005-06-18 18:14:21
by flake
Code: Select all
repeat
UO.useobject('otmi4ki')
wait(200)
uo.waittargetground('sunduk') ;пытаться взломать сундук
wait(10000)
if ( UO.InJournal(ms1) or UO.InJournal(ms2) ) then
wait(2000)
endif
until UO.InJournal(ms3)
Так, две ошибки:
1. В переменной, ты указываешь тип
otmi4ki. А тут используешь
обьект otmi4ki.
Соответственно, используй
Code: Select all
UO.UseType( otmi4ki ) ; именно так, без кавычек
2. Ловушка для прицела должна идти
перед использованием обьекта/типа, тобишь:
Code: Select all
uo.waittargetground('sunduk') ;пытаться взломать сундук
wait(200)
UO.UseType( otmi4ki )
wait(10000)
Posted: 2005-06-18 21:14:34
by Boris
flake wrote:2. Ловушка для прицела должна идти
перед использованием обьекта/типа, тобишь:
Code: Select all
uo.waittargetground('sunduk') ;пытаться взломать сундук
wait(200)
UO.UseType( otmi4ki )
wait(10000)
с 1 понял ошибку
а вот со вторым это выходит сначала надо задать куда будет попадть ловушка а токо потом от чего эта ловушка появится ?
Posted: 2005-06-18 21:35:52
by flake
Да, ты верно понял.
Короче говоря, вот:
Code: Select all
sub Lootopen()
DIM N[5]
N[0] = '0x0F87' ;glazki
N[1] = '0x0F78' ;batva
N[2] = '0x1088' ;neklear
N[3] = '0x0EED' ;money
N[4] = '0x0DF2' ;ident
VAR i
var otmi4ki = '0x14FB'
var ms1 = 'Your lockpick breaks!'
var ms2 = 'Your fail to open the lock!'
var ms3 = 'You opened the lock!'
uo.exec('addobject sunduk')
while uo.targeting()
wait(100)
wend
repeat
uo.waittargetground( 'sunduk' ) ;пытаться взломать сундук
Wait(200)
UO.UseType( otmi4ki )
wait(10000)
if ( UO.InJournal(ms1) or UO.InJournal(ms2) ) then
wait(2000)
endif
until UO.InJournal(ms3)
UO.useobject('sunduk')
wait( 1000 )
For i = 0 To 4
UO.FindType( N[i], '-1', 'sunduk' )
if uo.findcount() > 0 then
UO.MoveItem( 'finditem' )
wait( 100 )
endif
Next
UO.Print( '/\yT 3aKoH4eH :-)' )
endsub
Posted: 2005-06-19 08:52:25
by Destruction
Boris wrote:а вот со вторым это выходит сначала надо задать куда будет попадть ловушка а токо потом от чего эта ловушка появится ?
wait* устанавливает не таргеты а ловушки.
Для большей понятности рекомендую попробывать забиндить стрелку, кликнуть на себя и сразу запустить - именно так будет срабатывать и скрипт.
Posted: 2005-06-19 18:55:33
by Boris
вообщем вот сделал что мог
Code: Select all
sub Lootopen()
DIM N[19]
N[0] = '0x0F87' ;glazki
N[1] = '0x0F78' ;batva
N[2] = '0x1088' ;neklear
N[3] = '0x0EED' ;money
N[4] = '0x0F63' ;magic spear
N[5] = '0x0E87' ;magic fork
N[6] = '0x0F4E' ;magic bardiche
N[6] = '0x13FE' ;magic sword
N[7] = '0x1402' ;magic wotik
N[8] = '0x0F4B' ;magic axe
N[9] = '0x0F49' ;magic axe topor
N[10] = '0x143C' ;magic hammerpick
N[11] = '0x143A' ;magic maul
N[12] = '0x0F47' ;magic hat4et
N[13] = '0x13B9' ;magic svord(me4)
N[14] = '0x1401' ;magic krys
N[15] = '0x0F5C' ;magic mace
N[16] = '0x1404' ;magic vilka
N[17] = '0x143E' ;magic haleb
N[18] = '0x13B5' ;magic skrimitar
VAR i
var otmi4ki = '0x14FB'
var ms1 = 'Your lockpick breaks!'
var ms2 = 'Your fail to open the lock!'
var ms3 = 'You opened the lock!'
var ms4 = 'No item found. Next target request will be canceled'
uo.exec('addobject sunduk')
while uo.targeting()
wait(100)
wend
repeat
uo.waittargetground('sunduk') ;пытаться взломать сундук
wait(100)
UO.UseType( otmi4ki )
wait(10000)
if ( UO.InJournal(ms1) or UO.InJournal(ms2) ) then
wait(2000)
endif
until UO.InJournal(ms3)
UO.useobject('sunduk')
wait( 1000 )
For i = 0 To 18
UO.FindType( N[i], '-1', 'sunduk' )
if uo.findcount() > 0 then
UO.MoveItem( 'finditem' )
wait( 100 )
endif
Next
UO.Print( '/\yT 3aKoH4eH :-)' )
endsub
Щас проблема в том что если отменяешь таргет в начале (появлятся надпись ms4) то он пытается дальше использовать отмычки. А надо чтобы просто останавливал скрипт
Posted: 2005-06-20 21:22:30
by Edred
Интересный способ - обсуждать один и тот же скрипт одновременно на двух форумах... А что ты будешь делать если тебе на разных посоветуют разное?

В общем, на Цитовском я тебе уже объяснил что к чему...