Yoko

All sides of Injection
It is currently 2025-12-24 00:09:18

All times are UTC+02:00




Post new topic  Reply to topic  [ 32 posts ]  Go to page 1 2 Next
Author Message
PostPosted: 2005-10-07 09:41:24 
Offline

Joined: 2005-02-25 18:49:49
Posts: 13
Location: Москва
Вот берем такой цикл:
Code:
Repeat
    Uo.FindType('0x171C','-1','0x40482bf4')
   Wait(4000)
Until UO.FindCount()>199


Вопрос: почему 3 из 5ти раз, этот цикл будет повторяться до бесконечности?


Top
   
 Post subject:
PostPosted: 2005-10-07 10:48:38 
Offline
Expert!
User avatar

Joined: 2004-08-11 23:56:17
Posts: 746
Location: The Citadel
А у тебя в контейнере отдельные айтемы, или кучкующиеся?


Top
   
 Post subject:
PostPosted: 2005-10-07 11:13:15 
Offline

Joined: 2005-02-25 18:49:49
Posts: 13
Location: Москва
flake wrote:
А у тебя в контейнере отдельные айтемы, или кучкующиеся?

Отдельные!


Top
   
PostPosted: 2005-10-07 13:28:17 
Offline
User avatar

Joined: 2004-10-20 22:46:03
Posts: 73
Location: Moscow
MaDoG wrote:
Вот берем такой цикл:
Code:
Repeat
    Uo.FindType('0x171C','-1','0x40482bf4')
   Wait(4000)
Until UO.FindCount()>199


Вопрос: почему 3 из 5ти раз, этот цикл будет повторяться до бесконечности?


Меня тоже интересует этот вопрос, в похожих условиях у меня тоже периодически не выходит из цикла...

_________________
I'm Titanium [Dragon] from Nova UO Shard


Top
   
 Post subject:
PostPosted: 2005-10-08 11:25:13 
Offline
Expert!
User avatar

Joined: 2004-08-11 23:56:17
Posts: 746
Location: The Citadel
Попробуйте так:

Until STR(UO.FindCount())> 199


Top
   
 Post subject:
PostPosted: 2005-10-08 12:15:28 
Offline
Sphere expert
User avatar

Joined: 2004-10-01 08:27:38
Posts: 1143
Location: Уфа
uo.[yhlp_GetQuantity]('[yhlp_finditem]')

_________________
Сделал дело - флуди смело !!!


Top
   
 Post subject:
PostPosted: 2005-10-08 13:11:48 
Offline
Junior Expert
User avatar

Joined: 2004-06-24 22:08:56
Posts: 3220
Askaneli wrote:
uo.[yhlp_GetQuantity]('[yhlp_finditem]')

Причем тут получить количество айтема? GetQuantity('-1') тока если -)
flake wrote:
Until STR(UO.FindCount())> 199

Кто тебя учил сравнивать строку с числом? Не делай так никада![/quote]


Top
   
 Post subject:
PostPosted: 2005-10-08 19:03:42 
Offline
Expert!
User avatar

Joined: 2005-04-23 10:19:43
Posts: 388
Помоему инжекту пофиг, он всеравно обе части текста переводит в строки, а потом парсер переводит обратно.


Top
   
 Post subject:
PostPosted: 2005-10-08 20:09:10 
Offline

Joined: 2005-02-25 18:49:49
Posts: 13
Location: Москва
Askaneli wrote:
uo.[yhlp_GetQuantity]('[yhlp_finditem]')


Не-а... Не катит такой вариант... Скрипт продолжается...


Top
   
 Post subject:
PostPosted: 2005-10-08 20:11:24 
Offline

Joined: 2005-02-25 18:49:49
Posts: 13
Location: Москва
flake wrote:
Попробуйте так:

Until STR(UO.FindCount())> 199


Не, тоже не сечет фишку... Видать через While надежней будет!


Top
   
 Post subject:
PostPosted: 2005-10-08 21:48:52 
Offline
Expert!
User avatar

Joined: 2004-08-11 23:56:17
Posts: 746
Location: The Citadel
Quote:
flake wrote:
Until STR(UO.FindCount())> 199

Кто тебя учил сравнивать строку с числом? Не делай так никада!


Самоучки мы :)


Top
   
 Post subject:
PostPosted: 2005-10-08 23:01:01 
Offline
Expert!
User avatar

Joined: 2005-05-04 14:05:19
Posts: 2580
Location: Москва
Бред все работает...
Скрипт привебеный внизу будет повторятся если итемов будет >= 199

Code:
sub BugTest()
   Repeat
       Uo.FindType(-1,-1,'my')
         Wait(1000)
         uo.Print(Str(UO.FindCount()))
   Until UO.FindCount()<199
end sub


И вообще лутше если не доверяешь фукуциям выводи данные которые эти функции должны проверить и сам проврея...
Дальше скрипт написаный тобой зациклится если найденых и томов <= 199
Антил полное противоположность вайлу... он крутит пока функция сравнения дает фальш и проверка условия в конце..


Top
   
 Post subject:
PostPosted: 2005-10-08 23:42:06 
Offline
Junior Expert
User avatar

Joined: 2004-06-24 22:08:56
Posts: 3220
while true и until false

следовательно:
Code:
until uo.findcount()<199
равносильно (почти)
Code:
while uo.findcount()=>199


Разница между циклами на самом деле есть - while проверяет данные на входе, а until на выходе.

Destruction: Флуд потер, который не по теме, пост исправил, ошибся - не спорю.


Top
   
 Post subject:
PostPosted: 2005-10-09 09:23:37 
Offline

Joined: 2005-02-25 18:49:49
Posts: 13
Location: Москва
Млин... А не может сама инжа глючить!? Через WHILE тоже самое - один раз все нормально, а дальше гонит без остановки! При чем на втором окне, где работал давно проверенный скрипт, тоже начались глюки! Скрипт типа запускается, что то делает, но как только доходит до любого условия, дык либо игнорирует его, либо скрипт останавливается! У меня версия инжи 505.16. А UNTIL мне был бы удобнее! :wink:


Top
   
 Post subject:
PostPosted: 2005-10-09 09:26:44 
Offline

Joined: 2005-02-25 18:49:49
Posts: 13
Location: Москва
Grin wrote:
И вообще лутше если не доверяешь фукуциям выводи данные которые эти функции должны проверить и сам проврея...

Да я уже сижу и мышкой тыкаю по мешку, где итемы(куда уж лучше проверка?) - не люблю всевозможное засорение экрана!


Top
   
 Post subject:
PostPosted: 2005-10-09 10:30:21 
Offline

Joined: 2005-02-25 18:49:49
Posts: 13
Location: Москва
Видимо что то действительно глючит... После сбоя скрипта, перезагружаю клиент и все работает! Что бы это могло быть?


Top
   
 Post subject:
PostPosted: 2005-10-09 13:07:17 
Offline
Expert!
User avatar

Joined: 2005-05-04 14:05:19
Posts: 2580
Location: Москва
MaDoG
Прверка заключается в том что бы выводить значения которые в слудующей строчке будут сравниватся... а не тыкать по мешкам... возможно инжект чтото не правелньно подсчитал но логика сработала правельно... По этому просто добавляешь перед антилом еще одну строчку которая бы вывела численное значение функции FindCount
Code:
uo.Print(Str(UO.FindCount()))


Top
   
 Post subject:
PostPosted: 2005-10-09 19:15:44 
Offline

Joined: 2005-02-25 18:49:49
Posts: 13
Location: Москва
2Grin
Попробовал и твой вариант... Когда идут сбои, то выдает 0... Хотя все остальное в скрипте работает!! Инжа видимо спотыкается (после какого то момента) на подсчете итемов в баге, не находящемся в паке... Как же с этим бороться? А главное ни как не могу вычислить момент, с которого инжа сбивается... При тестировании твоего предложения столкнулся с тем, что крысом тычу на баг - показывает 200, а скрипт выдает 0... Через десяток циклов Инжа вдруг обнаружила, что в баге действительно 200 итемов... Как с этим бороться ни фига не понимаю...


Top
   
 Post subject:
PostPosted: 2005-10-09 19:53:53 
Offline
Expert!
User avatar

Joined: 2005-05-04 14:05:19
Posts: 2580
Location: Москва
Смотри...
Возможен вариант таков...
насколько я помню пакет отвечающий за колво вещей в баге отсылается от дельно...
но команда фанд тайп делает другое... она не сумирует значения кова вещей в баге... она конкретно ищет в памяти определеные или не определеные типы предметов и уж их конкретно считает...
Так вот попробуй перед запуском с крипта открыть сумку...
или когда скрипт сбивается то открой сумку... по логике баг должен уйти если это из за этого


Top
   
 Post subject:
PostPosted: 2005-10-09 19:55:58 
Offline
Expert!
User avatar

Joined: 2005-05-04 14:05:19
Posts: 2580
Location: Москва
Но как ты уже заметил баг не в логике... а баг с функции файндтайп... или коннкретнее еще может быть файндкоунт... но скорей всего источник файнд тайп ито только из за того что инфа о вещах в сумке не существует


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 32 posts ]  Go to page 1 2 Next

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 8 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