Yoko

All sides of Injection
It is currently 2025-12-19 17:32:13

All times are UTC+02:00




Post new topic  Reply to topic  [ 6 posts ] 
Author Message
 Post subject: Посматрите
PostPosted: 2006-05-20 17:26:57 
Offline
User avatar

Joined: 2006-02-21 09:31:41
Posts: 223
вот скприт на раскладку по бек пек
Code:
sub rasklad() 

uo.findtype('0x0EED',-1,'backpack')
while uo.findcount() > 0
uo.findtype('0x0EED',-1,'backpack')
uo.moveitem('finditem',-1,'backpack',40,60,0)
uo.ignore('finditem')
wait(200)
wend
uo.ignorereset()
endsub

ток он что то када итем переложит потом что то глючит просто с боку пишется варнинг команда finditem вот такая(
Что сделать?

_________________
А Я че Я не че !


Top
   
 Post subject:
PostPosted: 2006-05-20 19:53:11 
Offline
Expert!

Joined: 2004-04-03 17:36:29
Posts: 2544
Location: Saint-Petersburg
Code:
wait(200)


Мало. И чеклаг после паузы поставь, чтобы при лагах не спотыкалось.

И вот тут логики совсем не понял:

Code:
uo.findtype('0x0EED',-1,'backpack') 
while uo.findcount() > 0
uo.findtype('0x0EED',-1,'backpack')


Зачем дважды-то искать на первом круге?

_________________
Ни один скрипт не работает? Пора обновить Инжект...
Все работает, но хочется большего? Пора переходить на стелс...


Top
   
 Post subject:
PostPosted: 2006-05-20 19:59:45 
Offline
Junior Expert
User avatar

Joined: 2004-06-24 22:08:56
Posts: 3220
Edred wrote:
Code:
wait(200)


Мало. И чеклаг после паузы поставь, чтобы при лагах не спотыкалось.

И вот тут логики совсем не понял:

Code:
uo.findtype('0x0EED',-1,'backpack') 
while uo.findcount() > 0
uo.findtype('0x0EED',-1,'backpack')


Зачем дважды-то искать на первом круге?

1ый раз чтобы пустили в цикл.
2ой раз чтобы что-то циклично искать.

Делается с одним поиском через repeat, но всё-таки, а еще тут нужно условие..


Top
   
 Post subject:
PostPosted: 2006-05-20 20:04:03 
Offline
Expert!

Joined: 2004-04-03 17:36:29
Posts: 2544
Location: Saint-Petersburg
Я-то указал про два поиска подряд чтобы автор задумался, куда второй лучше поставить, чтобы не было лишних команд. В скриптах и программах от перемены мест слагаемых (то бишь строк скрипта) сумма меняется... :wink:

Хинт: попробуй второй поиск поставить в конце цикла.

ЗЫ: А менять цикл на repeat никакого резона нет.

_________________
Ни один скрипт не работает? Пора обновить Инжект...

Все работает, но хочется большего? Пора переходить на стелс...


Top
   
 Post subject:
PostPosted: 2006-05-20 21:06:09 
Offline
Junior Expert
User avatar

Joined: 2004-06-24 22:08:56
Posts: 3220
Edred wrote:
Я-то указал про два поиска подряд чтобы автор задумался, куда второй лучше поставить, чтобы не было лишних команд. В скриптах и программах от перемены мест слагаемых (то бишь строк скрипта) сумма меняется... :wink:

Хинт: попробуй второй поиск поставить в конце цикла.

ЗЫ: А менять цикл на repeat никакого резона нет.

Как это нет? Был же 8)

Ща попробую нарисовать.

Code:
#Скрипт1
sub rasklad()
uo.findtype('0x0EED',-1,'backpack')
while uo.findcount() > 0
uo.findtype('0x0EED',-1,'backpack')
uo.moveitem('finditem',-1,'backpack',40,60,0)
uo.ignore('finditem')
wait(200)
wend
uo.ignorereset()
endsub

Скрипт1 - начнём с того, что после поиска следует проверять нашли мы чего-либо, ибо если ничего не нашли, то будем работать с несуществующим объектом, т.е. делаем так:
Code:
#Скрипт2
sub rasklad()
uo.findtype('0x0EED',-1,'backpack')
while uo.findcount() > 0
uo.findtype('0x0EED',-1,'backpack')
if uo.findcount() > 0 then
uo.moveitem('finditem',-1,'backpack',40,60,0)
uo.ignore('finditem')
wait(200)
endif
wend
uo.ignorereset()
endsub

Теперича заменим цикл:
Code:
sub rasklad() 
repeat
uo.findtype('0x0EED',-1,'backpack')
if uo.findcount() > 0 then
uo.moveitem('finditem',-1,'backpack',40,60,0)
uo.ignore('finditem')
wait(200)
endif
until uo.findcount() == 0
uo.ignorereset()
endsub


А ваще Edred вероятно прав.. Но мне так больше нравиться.


Top
   
 Post subject:
PostPosted: 2006-05-20 22:22:14 
Offline
Expert!

Joined: 2004-04-03 17:36:29
Posts: 2544
Location: Saint-Petersburg
Из-за смены циклов тебе пришлось вводить дополнительный if, проверка которого совпадает с проверкой цикла. Смысл?

Code:
uo.findtype('0x0EED',-1,'backpack') 
while uo.findcount() > 0
   uo.moveitem('finditem',-1,'backpack',40,60,0)
   uo.ignore('finditem')
   wait(200)
   uo.findtype('0x0EED',-1,'backpack')
wend


Подумай сам, так же гораздо лучше и логичней.

И вообще, запомни раз и навсегда: цикл repeat нужен только в том случае, если ты хочешь чтобы его тело обязательно хоть один раз выполнилось (проверка в нем в конце). Это его единственное предназначение. Во всех остальных случаях уместнее не изобретать пятиколесный велосипед, а использовать while. А в скриптах инжекта repeat чаще встречается только потому, что он задействован почти во всех динамических паузах:
Code:
repeat
   wait(100)
until .....

Этот цикл при любом раскладе минимум один раз отработает, поэтому хоть минимальная, но будет пауза.

_________________
Ни один скрипт не работает? Пора обновить Инжект...

Все работает, но хочется большего? Пора переходить на стелс...


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 6 posts ] 

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 5 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:  
Powered by phpBB® Forum Software © phpBB Limited