Курс Молодого бойца: Пишим Скрипт на "КАМНИ"

Anything and all.

Moderators: Murderator+, Murderator

Gromiz
Posts: 444
Joined: 2005-02-08 18:39:50
Location: Moscow

Post by Gromiz »

Savage wrote:Рунтайм выдает потому что ты выходишь за границу массива. Исправь 13 на 12 там где while. Он и должен обрабатывать по одному камню, потому что в тебя их сколько летит за еденицу времени?


вот дополнение

Code: Select all

sub st() 
VAR Exit=0, i=0
DIM st[21]

st[0]='0x1359'
st[1]='0x1354'
st[2]='0x1355'
st[3]='0x1360'
st[4]='0x1350'
st[5]='0x1361'
st[6]='0x1367'
st[7]='0x1364'
st[8]='0x134F'
st[9]='0x136A'
st[10]='0x1368'
st[11]='0x1358'
st[12]='0x1369'
st[13]='0x1365'
st[14]='0x135E'
st[15]='0x1352'
st[16]='0x1353'
st[17]='0x135A'
st[18]='0x135B'
st[19]='0x135C'
st[20]='0x1356'

while Exit<>0 OR i<21
uo.print("V cikle")
uo.findtype(st[i],-1,'ground')
if uo.findcount() then
uo.waittargetobject('finditem')
uo.usetype('0x0E86'); кирка
uo.print("Nashel kamen")
Exit=1
endif


камни где-то летят через 40сек
Savage
Expert!
Posts: 1205
Joined: 2004-04-04 11:13:54
Location: Балаково, Саратовская обл.
Contact:

Post by Savage »

Смотри выше и переделай тот скрипт.
Gromiz
Posts: 444
Joined: 2005-02-08 18:39:50
Location: Moscow

Post by Gromiz »

Gromiz wrote:
Savage wrote:Рунтайм выдает потому что ты выходишь за границу массива. Исправь 13 на 12 там где while. Он и должен обрабатывать по одному камню, потому что в тебя их сколько летит за еденицу времени?


вот дополнение

Code: Select all

sub st() 
VAR Exit=0, i=0
DIM st[21]

st[0]='0x1359'
st[1]='0x1354'
st[2]='0x1355'
st[3]='0x1360'
st[4]='0x1350'
st[5]='0x1361'
st[6]='0x1367'
st[7]='0x1364'
st[8]='0x134F'
st[9]='0x136A'
st[10]='0x1368'
st[11]='0x1358'
st[12]='0x1369'
st[13]='0x1365'
st[14]='0x135E'
st[15]='0x1352'
st[16]='0x1353'
st[17]='0x135A'
st[18]='0x135B'
st[19]='0x135C'
st[20]='0x1356'

while Exit<>0 OR i<21
uo.print("V cikle")
uo.findtype(st[i],-1,'ground')
if uo.findcount() then
uo.waittargetobject('finditem')
uo.usetype('0x0E86'); кирка
uo.print("Nashel kamen")
Exit=1
endif


камни где-то летят через 40сек


после дополнения камней что-то не работает пишет :
Unhandlend exception in parser
Savage
Expert!
Posts: 1205
Joined: 2004-04-04 11:13:54
Location: Балаково, Саратовская обл.
Contact:

Post by Savage »

Это потому что ты потерял нижнюю часть скрипта, смотри внимательнее :)
Gromiz
Posts: 444
Joined: 2005-02-08 18:39:50
Location: Moscow

Post by Gromiz »

Savage wrote:Это потому что ты потерял нижнюю часть скрипта, смотри внимательнее :)


:( вот полный скрипт а ошибка таже....

Code: Select all

sub st() 
VAR Exit=0, i=0
DIM st[21]

st[0]='0x1359'
st[1]='0x1354'
st[2]='0x1355'
st[3]='0x1360'
st[4]='0x1350'
st[5]='0x1361'
st[6]='0x1367'
st[7]='0x1364'
st[8]='0x134F'
st[9]='0x136A'
st[10]='0x1368'
st[11]='0x1358'
st[12]='0x1369'
st[13]='0x1365'
st[14]='0x135E'
st[15]='0x1352'
st[16]='0x1353'
st[17]='0x135A'
st[18]='0x135B'
st[19]='0x135C'
st[20]='0x1356'

while Exit<>0 or i<21
uo.print("V cikle")
uo.findtype(st[i],-1,'ground')
if uo.findcount() then
uo.waittargetobject('finditem')
uo.usetype('0x0E86'); кирка
uo.print("Nashel kamen")
Exit=1
endif
i=i+1
wend
end sub
Savage
Expert!
Posts: 1205
Joined: 2004-04-04 11:13:54
Location: Балаково, Саратовская обл.
Contact:

Post by Savage »

Посмотри выше (на другой странице), я дал зацикленный вариант, сначала его покрутит, если работает, добавь в него камни из своего скрипта.
Savage
Expert!
Posts: 1205
Joined: 2004-04-04 11:13:54
Location: Балаково, Саратовская обл.
Contact:

Post by Savage »

Gromiz wrote:
Savage wrote:Это потому что ты потерял нижнюю часть скрипта, смотри внимательнее :)


:( вот полный скрипт а ошибка таже....

Code: Select all

sub st() 
VAR Exit=0, i=0
DIM st[21]

st[0]='0x1359'
st[1]='0x1354'
st[2]='0x1355'
st[3]='0x1360'
st[4]='0x1350'
st[5]='0x1361'
st[6]='0x1367'
st[7]='0x1364'
st[8]='0x134F'
st[9]='0x136A'
st[10]='0x1368'
st[11]='0x1358'
st[12]='0x1369'
st[13]='0x1365'
st[14]='0x135E'
st[15]='0x1352'
st[16]='0x1353'
st[17]='0x135A'
st[18]='0x135B'
st[19]='0x135C'
st[20]='0x1356'

while Exit<>0 or i<21
uo.print("V cikle")
uo.findtype(st[i],-1,'ground')
if uo.findcount() then
uo.waittargetobject('finditem')
uo.usetype('0x0E86'); кирка
uo.print("Nashel kamen")
Exit=1
endif
i=i+1
wend
end sub

Бывают глюки разные. Этот работает я проверил, может просто перезайти надо.
Gromiz
Posts: 444
Joined: 2005-02-08 18:39:50
Location: Moscow

Post by Gromiz »

Unhandlend exception in parser---все таже ошибка

Code: Select all

sub st() 
VAR Exit, i
DIM st[13]

st[0]='0x1359'
st[1]='0x1354'
st[2]='0x1355'
st[3]='0x1360'
st[4]='0x1350'
st[5]='0x1361'
st[6]='0x1367'
st[7]='0x1364'
st[8]='0x134F'
st[9]='0x136A'
st[10]='0x1368'
st[11]='0x1358'
st[12]='0x1369'

while true
Exit=0
i=0
while Exit<>0 OR i<13
uo.findtype(st[i],-1,'ground')
if uo.findcount() then
uo.waittargetobject('finditem')
uo.usetype('0x0E86'); кирка
Exit=1
endif
i=i+1
wend
wend
end sub
Savage
Expert!
Posts: 1205
Joined: 2004-04-04 11:13:54
Location: Балаково, Саратовская обл.
Contact:

Post by Savage »

Тогда сделай новый скрипт (сотри все кнопкой [X]), сотри то что появилось, и вставь туда скрипт с форума, если не попрет то точно надо перезагрузить клиента.
И еще, тут:

st[12]='0x1369'

while true
Exit=0
i=0
while Exit<>0 OR i<13

должно быть так:

while Exit<>0 OR i<12

то есть последняя индексная цифра в массиве.
Gromiz
Posts: 444
Joined: 2005-02-08 18:39:50
Location: Moscow

Post by Gromiz »

я перезапустил клиент и теперь вроде все работает =)
в меня кидают 2 эттина =) в 2 раза больше камней, скрипт обрабатывает тока пока 1 камень и приходиться нажимать каждый раз старт -))

Code: Select all

sub st() 
VAR Exit=0, i=0
DIM st[23]

st[0]='0x1359'
st[1]='0x1354'
st[2]='0x1355'
st[3]='0x1360'
st[4]='0x1350'
st[5]='0x1361'
st[6]='0x1367'
st[7]='0x1364'
st[8]='0x134F'
st[9]='0x136A'
st[10]='0x1368'
st[11]='0x1358'
st[12]='0x1369'
st[13]='0x1365'
st[14]='0x135E'
st[15]='0x1352'
st[16]='0x1353'
st[17]='0x135A'
st[18]='0x135B'
st[19]='0x135C'
st[20]='0x1356'
st[21]='0x1363'
st[22]='0x1357'

while Exit<>0 or i<23
uo.print("V cikle")
uo.findtype(st[i],-1,'ground')
if uo.findcount() then
uo.waittargetobject('finditem')
uo.usetype('0x0E86'); кирка
uo.print("Nashel kamen")
Exit=1
endif
i=i+1
wend
end sub

Savage
Expert!
Posts: 1205
Joined: 2004-04-04 11:13:54
Location: Балаково, Саратовская обл.
Contact:

Post by Savage »

Gromiz wrote:я перезапустил клиент и теперь вроде все работает =)
в меня кидают 2 эттина =) в 2 раза больше камней, скрипт обрабатывает тока пока 1 камень и приходиться нажимать каждый раз старт -))

Включи 4-ю страницу и посмотри внимательно мой последний там пост. А я пока пойду домой, у тя минут 40 на эксперементы :)
Gromiz
Posts: 444
Joined: 2005-02-08 18:39:50
Location: Moscow

Post by Gromiz »

Savage wrote:
Gromiz wrote:я перезапустил клиент и теперь вроде все работает =)
в меня кидают 2 эттина =) в 2 раза больше камней, скрипт обрабатывает тока пока 1 камень и приходиться нажимать каждый раз старт -))

Включи 4-ю страницу и посмотри внимательно мой последний там пост. А я пока пойду домой, у тя минут 40 на эксперементы :)



Вот так?:::

Code: Select all

sub st() 
VAR Exit=0, i=0
DIM st[26]

st[0]='0x1359'
st[1]='0x1354'
st[2]='0x1355'
st[3]='0x1360'
st[4]='0x1350'
st[5]='0x1361'
st[6]='0x1367'
st[7]='0x1364'
st[8]='0x134F'
st[9]='0x136A'
st[10]='0x1368'
st[11]='0x1358'
st[12]='0x1369'
st[13]='0x1365'
st[14]='0x135E'
st[15]='0x1352'
st[16]='0x1353'
st[17]='0x135A'
st[18]='0x135B'
st[19]='0x135C'
st[20]='0x1356'
st[21]='0x1363'
st[22]='0x1357'
st[23]='0x136C'
st[24]='0x135F'
st[25]='0x1351'

while true
Exit=0
i=0
while Exit<>0 or i<26
uo.print("V cikle")
uo.findtype(st[i],-1,'ground')
if uo.findcount() then
uo.waittargetobject('finditem')
uo.usetype('0x0E86'); кирка
uo.print("Nashel kamen")
Exit=1
endif
i=i+1
wend
wend
end sub


но работает также по 1 камню и надо потом снова и снова жать на старт :(
Savage
Expert!
Posts: 1205
Joined: 2004-04-04 11:13:54
Location: Балаково, Саратовская обл.
Contact:

Post by Savage »

Сколько еще раз повторить????
исправь:
st[25]='0x1351'

while true
Exit=0
i=0
while Exit<>0 or i<26

на

st[25]='0x1351' <<<<<< сколько здесь

while true
Exit=0
i=0
while Exit<>0 or i<25 <<<<<<< столько и здесь

и скорее всего прийдется перезайти.
Askaneli
Sphere expert
Posts: 1143
Joined: 2004-10-01 08:27:38
Location: Уфа

Post by Askaneli »

Блин
Стока нафлудили без меня !!!
Сделал дело - флуди смело !!!
Gromiz
Posts: 444
Joined: 2005-02-08 18:39:50
Location: Moscow

Post by Gromiz »

Savage wrote:Сколько еще раз повторить????
исправь:
st[25]='0x1351'

while true
Exit=0
i=0
while Exit<>0 or i<26

на

st[25]='0x1351' <<<<<< сколько здесь

while true
Exit=0
i=0
while Exit<>0 or i<25 <<<<<<< столько и здесь

и скорее всего прийдется перезайти.


сделал....хехюююсистема виснет ...мож паузу на 500 повесить нада*??
Savage
Expert!
Posts: 1205
Joined: 2004-04-04 11:13:54
Location: Балаково, Саратовская обл.
Contact:

Post by Savage »

угу, пауза не повредит, ставь сюда:
wend
wait(3000)
wend
end sub
Gromiz
Posts: 444
Joined: 2005-02-08 18:39:50
Location: Moscow

Post by Gromiz »

воо..норм..хотяб не виснет......

Code: Select all

sub st() 
VAR Exit=0, i=0
DIM st[28]

st[0]='0x1359'
st[1]='0x1354'
st[2]='0x1355'
st[3]='0x1360'
st[4]='0x1350'
st[5]='0x1361'
st[6]='0x1367'
st[7]='0x1364'
st[8]='0x134F'
st[9]='0x136A'
st[10]='0x1368'
st[11]='0x1358'
st[12]='0x1369'
st[13]='0x1365'
st[14]='0x135E'
st[15]='0x1352'
st[16]='0x1353'
st[17]='0x135A'
st[18]='0x135B'
st[19]='0x135C'
st[20]='0x1356'
st[21]='0x1363'
st[22]='0x1357'
st[23]='0x136C'
st[24]='0x135F'
st[25]='0x1351'
st[26]='0x135D'
st[27]='0x1366'

while true
Exit=0
i=0
while Exit<>0 or i<27
uo.print("V cikle")
uo.findtype(st[i],-1,'ground')
if uo.findcount() then
uo.waittargetobject('finditem')
uo.usetype('0x0E86'); кирка
uo.print("Nashel kamen")
Exit=1
endif
i=i+1
wend
wait(3000)
wend
end sub


после 1 найденого камня скрипт останавливается...хотя там есть еще камни??
Savage
Expert!
Posts: 1205
Joined: 2004-04-04 11:13:54
Location: Балаково, Саратовская обл.
Contact:

Post by Savage »

Скрипт не должен остонавливаться вообще, попробуй так:
Gromiz wrote:воо..норм..хотяб не виснет......

Code: Select all

sub st() 
VAR Exit=0, i=0
DIM st[28]

st[0]='0x1359'
st[1]='0x1354'
st[2]='0x1355'
st[3]='0x1360'
st[4]='0x1350'
st[5]='0x1361'
st[6]='0x1367'
st[7]='0x1364'
st[8]='0x134F'
st[9]='0x136A'
st[10]='0x1368'
st[11]='0x1358'
st[12]='0x1369'
st[13]='0x1365'
st[14]='0x135E'
st[15]='0x1352'
st[16]='0x1353'
st[17]='0x135A'
st[18]='0x135B'
st[19]='0x135C'
st[20]='0x1356'
st[21]='0x1363'
st[22]='0x1357'
st[23]='0x136C'
st[24]='0x135F'
st[25]='0x1351'
st[26]='0x135D'
st[27]='0x1366'

while 1==1
Exit=0
i=0
while Exit<>0 or i<27
uo.print("V cikle")
uo.findtype(st[i],-1,'ground')
if uo.findcount() then
uo.waittargetobject('finditem')
uo.usetype('0x0E86'); кирка
uo.print("Nashel kamen")
Exit=1
endif
i=i+1
wend
wait(3000)
wend
end sub

Savage
Expert!
Posts: 1205
Joined: 2004-04-04 11:13:54
Location: Балаково, Саратовская обл.
Contact:

Post by Savage »

проверь галочки.
Image
Gromiz
Posts: 444
Joined: 2005-02-08 18:39:50
Location: Moscow

Post by Gromiz »

Savage wrote:проверь галочки.
Image


проверил...а зачем??
Post Reply