Yoko

All sides of Injection
It is currently 2025-11-09 23:14:47

All times are UTC+02:00




Post new topic  Reply to topic  [ 106 posts ]  Go to page Previous 1 2 3 4 5 6 Next
Author Message
 Post subject:
PostPosted: 2005-02-09 15:59:44 
Offline
Expert!
User avatar

Joined: 2004-04-04 11:13:54
Posts: 1205
Location: Балаково, Саратовская обл.
[quote="Gromiz"народ получилость
[/quote]
Гуд. Теперь можно подключать массив и циклы. Задача: при запуске скрипта чар должен поднять камень любого типа и распилить его:

Массивы определяются как DIM Name[Index] то есть к примеру
DIM st[7]

st[0]='0x0000'
...
st[6]='0x0000'

Цикл нам подойдет здесь такой while X wend за подробностями в учебник.
Вот что примерно должно получиться:
Code:
sub st()
VAR Exit=0, i=0
DIM st[7]

st[0]='0x0000'
st[1]='0x0000'
st[2]='0x0000'
st[3]='0x0000'
st[4]='0x0000'
st[5]='0x0000'
st[6]='0x0000'

while Exit<>1 OR i<6
uo.findtype(st[i],-1,'ground')
if uo.getquantity('finditem')>0 then
uo.waittargetobject('finditem')
uo.usetype('0x0000'); кирка
Exit=1
endif
i=i+1
wend
end sub


Сложновато получилось, но работать должно :) Описание незнакомых команд смотрим в хэлпе


Top
   
 Post subject:
PostPosted: 2005-02-09 16:02:24 
Offline

Joined: 2005-02-08 18:39:50
Posts: 444
Location: Moscow
Savage wrote:
[quote="Gromiz"народ получилость

Гуд. Теперь можно подключать массив и циклы. Задача: при запуске скрипта чар должен поднять камень любого типа и распилить его:

Массивы определяются как DIM Name[Index] то есть к примеру
DIM st[7]

st[0]='0x0000'
...
st[6]='0x0000'

Цикл нам подойдет здесь такой while X wend за подробностями в учебник.
Вот что примерно должно получиться:
Code:
sub st()
VAR Exit=0, i=0
DIM st[7]

st[0]='0x0000'
st[1]='0x0000'
st[2]='0x0000'
st[3]='0x0000'
st[4]='0x0000'
st[5]='0x0000'
st[6]='0x0000'

while Exit<>1 OR i<6
uo.findtype(st[i],-1,'ground')
if uo.getquantity('finditem')>0 then
uo.waittargetobject('finditem')
uo.usetype('0x0000'); кирка
Exit=1
endif
i=i+1
wend
end sub


Сложновато получилось, но работать должно :) Описание незнакомых команд смотрим в хэлпе[/quote]

спасибо , щас попробую разобраться и сделать в игре.....потом опять сюда... -))


Top
   
 Post subject:
PostPosted: 2005-02-09 16:09:02 
Offline
Expert!
User avatar

Joined: 2004-04-04 11:13:54
Posts: 1205
Location: Балаково, Саратовская обл.
Сложновато выглядит из-за проверок. Вот допустим зачем нам юзать кирку на неизвестно что если камня такого типа нет? Это реализовано условием и командой uo.getquantity() если че-то есть то попилим. Ну опять же если распилил, то скорее всего больше ничего нет поэтому можно досрочно выйти из цикла. Переменной Exit присваивается значение 1 и вываливаемся.

Ладно мне на работу надо сгонять, час у тя на эксперементы :)


Top
   
 Post subject:
PostPosted: 2005-02-09 17:20:16 
Offline

Joined: 2005-02-08 18:39:50
Posts: 444
Location: Moscow
вот скрипт....но ....в листе используемых функций в инже, она появляется и моментально исчезает ?? вроде все нормально сделал :?: :?:

Code:
sub st() 
VAR Exit=0, i=0
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 Exit<>0 OR i<13
uo.findtype(st[i],-1,'ground')
if uo.getquantity('finditem')>0 then
uo.waittargetobject('finditem')
uo.usetype('0x0E86'); кирка
Exit=1
endif
i=i+1
wend
end sub


Top
   
 Post subject:
PostPosted: 2005-02-09 17:22:52 
Offline
Expert!
User avatar

Joined: 2004-04-04 11:13:54
Posts: 1205
Location: Балаково, Саратовская обл.
Gromiz wrote:
вот скрипт....но ....в листе используемых функций в инже, она появляется и моментально исчезает ?? вроде все нормально сделал :?: :?:

Code:
sub st() 
VAR Exit=0, i=0
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 Exit<>0 OR i<13
uo.findtype(st[i],-1,'ground')
if uo.getquantity('finditem')>0 then
uo.waittargetobject('finditem')
uo.usetype('0x0E86'); кирка
Exit=1
endif
i=i+1
wend
end sub


Если что то не работает или работает подозрительно надо дебужить :)
Попробу так:
Code:
sub st() 
VAR Exit=0, i=0
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 Exit<>0 OR i<13
uo.print("V cikle")
uo.findtype(st[i],-1,'ground')
if uo.getquantity('finditem')>0 then
uo.waittargetobject('finditem')
uo.usetype('0x0E86'); кирка
uo.print("Nashel kamen")
Exit=1
endif
i=i+1
wend
end sub


Top
   
 Post subject:
PostPosted: 2005-02-09 17:26:27 
Offline
Expert!
User avatar

Joined: 2004-04-04 11:13:54
Posts: 1205
Location: Балаково, Саратовская обл.
аааа вечно я эти OR и AND путаю :) Вообщем исправь и все зашелестит.


Top
   
 Post subject:
PostPosted: 2005-02-09 17:27:49 
Offline

Joined: 2005-02-08 18:39:50
Posts: 444
Location: Moscow
Savage wrote:
Gromiz wrote:
вот скрипт....но ....в листе используемых функций в инже, она появляется и моментально исчезает ?? вроде все нормально сделал :?: :?:

Code:
sub st() 
VAR Exit=0, i=0
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 Exit<>0 OR i<13
uo.findtype(st[i],-1,'ground')
if uo.getquantity('finditem')>0 then
uo.waittargetobject('finditem')
uo.usetype('0x0E86'); кирка
Exit=1
endif
i=i+1
wend
end sub


Если что то не работает или работает подозрительно надо дебужить :)
Попробу так:
Code:
sub st() 
VAR Exit=0, i=0
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 Exit<>0 OR i<13
uo.print("V cikle")
uo.findtype(st[i],-1,'ground')
if uo.getquantity('finditem')>0 then
uo.waittargetobject('finditem')
uo.usetype('0x0E86'); кирка
uo.print("Nashel kamen")
Exit=1
endif
i=i+1
wend
end sub


:( неа не работает тока написало много раз
V cikle


Top
   
 Post subject:
PostPosted: 2005-02-09 17:30:24 
Offline
Expert!
User avatar

Joined: 2004-04-04 11:13:54
Posts: 1205
Location: Балаково, Саратовская обл.
много или 13 раз? Если тринадцать то исправлять ничего не надо!


Top
   
 Post subject:
PostPosted: 2005-02-09 17:32:12 
Offline

Joined: 2005-02-08 18:39:50
Posts: 444
Location: Moscow
Savage wrote:
много или 13 раз? Если тринадцать то исправлять ничего не надо!


посчитал... пишет ровно 13 раз


Top
   
 Post subject:
PostPosted: 2005-02-09 17:33:51 
Offline
Expert!
User avatar

Joined: 2004-04-04 11:13:54
Posts: 1205
Location: Балаково, Саратовская обл.
проверь тип кирпича под ногами может его нет в списке массива.....
или пора расставлять паузы :)


Top
   
 Post subject:
PostPosted: 2005-02-09 17:35:33 
Offline
Expert!
User avatar

Joined: 2004-04-04 11:13:54
Posts: 1205
Location: Балаково, Саратовская обл.
Code:
sub st() 
VAR Exit=0, i=0
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 Exit<>0 OR i<13
uo.print("V cikle")
uo.findtype(st[i],-1,'ground')
wait(1000) ;пауза.
if uo.getquantity('finditem')>0 then
uo.waittargetobject('finditem')
uo.usetype('0x0E86'); кирка
uo.print("Nashel kamen")
Exit=1
endif
i=i+1
wend
end sub



Top
   
 Post subject:
PostPosted: 2005-02-09 17:36:12 
Offline

Joined: 2005-02-08 18:39:50
Posts: 444
Location: Moscow
Savage wrote:
проверь тип кирпича под ногами может его нет в списке массива.....
или пора расставлять паузы :)


проверил... усе есть...там 3 камня и они есть в списке..


Top
   
 Post subject:
PostPosted: 2005-02-09 17:39:48 
Offline

Joined: 2005-02-08 18:39:50
Posts: 444
Location: Moscow
Savage wrote:
Code:
sub st() 
VAR Exit=0, i=0
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 Exit<>0 OR i<13
uo.print("V cikle")
uo.findtype(st[i],-1,'ground')
wait(1000) ;пауза.
if uo.getquantity('finditem')>0 then
uo.waittargetobject('finditem')
uo.usetype('0x0E86'); кирка
uo.print("Nashel kamen")
Exit=1
endif
i=i+1
wend
end sub



неа.. типа прога работает пишет V cikle и интервалом времени
там 3 камня

Type=0x1359
Type=0x1367
Type=0x1355


Top
   
 Post subject:
PostPosted: 2005-02-09 17:45:46 
Offline
Expert!
User avatar

Joined: 2004-04-04 11:13:54
Posts: 1205
Location: Балаково, Саратовская обл.
Gromiz wrote:
Savage wrote:
Code:
sub st() 
VAR Exit=0, i=0
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 Exit<>0 OR i<13
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


Тогда изменим проверку, наверное у камне нет такого параметра как количество :)


Top
   
 Post subject:
PostPosted: 2005-02-09 17:49:20 
Offline
Junior Expert
User avatar

Joined: 2004-11-13 00:43:55
Posts: 474
Location: Киберзадроцк
А фор рулит )


Top
   
 Post subject:
PostPosted: 2005-02-09 17:51:23 
Offline
Expert!
User avatar

Joined: 2004-04-04 11:13:54
Posts: 1205
Location: Балаково, Саратовская обл.
666Man666 wrote:
А фор рулит )

В данном случае не катит фор.


Top
   
 Post subject:
PostPosted: 2005-02-09 17:58:08 
Offline
Junior Expert
User avatar

Joined: 2004-11-13 00:43:55
Posts: 474
Location: Киберзадроцк
Savage wrote:
В данном случае не катит фор.
ПочАму?
Фор с циклом рулит помойму....


Last edited by 666Man666 on 2005-02-09 17:58:48, edited 1 time in total.

Top
   
 Post subject:
PostPosted: 2005-02-09 17:58:23 
Offline

Joined: 2005-02-08 18:39:50
Posts: 444
Location: Moscow
Savage wrote:
Gromiz wrote:
Savage wrote:
Code:
sub st() 
VAR Exit=0, i=0
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 Exit<>0 OR i<13
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


Тогда изменим проверку, наверное у камне нет такого параметра как количество :)


есть результат ...но из кучи камней он тока обрабатывает 1 из них и в конце появляется ошибка runtim eerror 21

и обрабатывает 1 камень т.е. нажал старт 1 камень обработал потом еще раз нажимаешь старт и так пока под ногами камней не будет


Top
   
 Post subject:
PostPosted: 2005-02-09 18:02:35 
Offline
Expert!
User avatar

Joined: 2004-04-04 11:13:54
Posts: 1205
Location: Балаково, Саратовская обл.
Рунтайм выдает потому что ты выходишь за границу массива. Исправь 13 на 12 там где while. Он и должен обрабатывать по одному камню, потому что в тебя их сколько летит за еденицу времени?


Top
   
 Post subject:
PostPosted: 2005-02-09 18:06:23 
Offline
Expert!
User avatar

Joined: 2004-04-04 11:13:54
Posts: 1205
Location: Балаково, Саратовская обл.
Пора все наше хозяйство зациклить....
Code:
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<12
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



Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 106 posts ]  Go to page Previous 1 2 3 4 5 6 Next

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 6 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Limited