Я не знаю как другие отлаживают свои скрипты, но я, если что-то идет не так, в каждом сомнительном месте скрипта, и/или в начале каждого цикла, и/или в функиях которые вызываются из основного скрипта вставляю UO.Print("0"), UO.Print("1") и т.д. и уже смотрю, где скрипт работает не так как я предполагал. Получив, таким образом, информацию, делаю анализ и вношу исправления в скрипт. По крайней мере, я знаю где возникает проблема.
Я не сталкивался с ситуацией, когда мне надо игнорировать найденный предмет, но есть идея создать еще один массив с игнорируемыми предметами:
Code:
DIM IgnoreType[2]
IgnoreType[0] = 'тип игнорируемой вещи'
IgnoreType[1] = 'тип игнорируемой вещи'
или добавить в массив предметы которые надо игнорировать, а там где надо игнорировать организуем цикл:
Code:
FOR i = индекс_первого_игнорируемого_предмета TO индекс_последнего_игнорируемого_предмета
if UO.GetGraphic('finditem') = ULOVtype[i] then
UO.Ignore('finditem')
endif
NEXT
Но если не нравится идея с массивом (которая кажется вам слишком медленной), то рекомендую воспользоваться предложением NMY, так как оно действительно несколько быстрее, чем цикл:
Code:
if uo.GetGraphic('finditem') <> '0x0001' and uo.GetGraphic('finditem') <> '0x0002' and uo.GetGraphic('finditem') <> '0x0003' and uo.GetGraphic('finditem') <> '0x0004' and uo.GetGraphic('finditem') <> '0x0005' and uo.GetGraphic('finditem') <> '0x0006' and uo.GetGraphic('finditem') <> '0x0007' and uo.GetGraphic('finditem') <> '0x0008' and uo.GetGraphic('finditem') <> '0x0009' and uo.GetGraphic('finditem') <> '0x0010' then
Поехали дальше. У вас стопорится после выхода из скрытности, я на ваше месте посмотрел бы функцию ToHide() и сделал бы анализ как она работает, может при провале хайда она получет сообщение которое в скрипте не указано, так как скрипт на ловлю может работать и без нее, и дописал бы это сообщение, так как на каждом шарде могут быть свои ньюансы. Или закомментировал бы вызов этой функции и посмотрел бы как скрипт работает без нее.