Page 1 of 1
Немного необычно) Но нужно)
Posted: 2007-11-30 19:43:53
by TarantuL
Суть такая. Я копаю на постороннем софте, у этого софта замечен баг, когда руда на кнопке "сворачивания" бакпака - он не может ее взять почему то и берет бакпак, и не разгружает!!!!!!!
Просьба такая! Помочь сделать скрипток если руда вне доступных руками границ бакпака - чтобы ее перекладывало в серединку))
Posted: 2007-12-05 09:47:17
by TarantuL
мм??

Posted: 2007-12-05 09:59:24
by Destruction
А сам ?
uo.findtype, uo.getx(), uo.getY() - и всего делов-то..
Code: Select all
sub fixOre()
var i, x, y
; объявление "доступных" координат рюкзака
var min_x = 5
var min_y = 5
var max_x = 500
var max_y = 500
; объявление координат куда перекидывать
var move_x = 200
var move_y = 200
DIM ore[4]
ore[0] = "0x0000"
ore[1] = "0x0000"
ore[2] = "0x0000"
ore[3] = "0x0000"
for i = 0 to 3
uo.findtype( ore[ i ], '-1', 'backpack' )
while uo.findcount()
x = uo.getX( 'finditem' )
y = uo.getY( 'finditem' )
if x < min_x || x > max_x || y < min_y || y > max_y then
uo.moveitem( 'finditem', '0', 'backpack', str( move_x ), str( move_y ), '0' )
wait( 500 )
endif
uo.findtype( ore[ i ], "-1", "backpack" )
wend
next
uo.ignorereset()
endsub
Posted: 2007-12-05 13:23:03
by TarantuL
Спасибо за отзывчивость!
Типы вписал! Вроде больше ничего не нужно!
Но скрипт запускается и ничего не делает.
Слева пишется что нашел 1 итем и так до самого верху пишет и пишет

Posted: 2007-12-05 14:14:29
by Destruction
TarantuL wrote:Спасибо за отзывчивость!
Типы вписал! Вроде больше ничего не нужно!
Но скрипт запускается и ничего не делает.
Слева пишется что нашел 1 итем и так до самого верху пишет и пишет

1. Выключи Verbose Menu - нафиг не нужно.
2. Впиши координаты, я же их с потолка написал

Posted: 2007-12-05 14:24:59
by TarantuL
балин, а я порадовался что тебе известны координаты "доступных" мест))))))
Posted: 2007-12-05 15:22:33
by Destruction
TarantuL wrote:балин, а я порадовался что тебе известны координаты "доступных" мест))))))
Мне - нет. Потолку, как выяснилось - тоже нет.
Posted: 2007-12-05 15:25:49
by Grin
Печально.
Posted: 2007-12-05 16:19:03
by Destruction
Grin wrote:Печально.
Согласен. По обоим пунктам печально.
Posted: 2007-12-05 18:53:35
by TarantuL
Grin wrote:Печально.
Прив! Порадуй)))
Posted: 2007-12-08 00:19:19
by TarantuL
,info Левого верхнего предмета:
Стало быть минимальные х и у
,info Правого нижнего предмета:
Стало быть максимальные х и у
Подставил...
Получил:
Code: Select all
sub fixOre()
var i, x, y
var min_x = 44
var min_y = 65
var max_x = 142
var max_y = 131
var move_x = 95
var move_y = 85
DIM ore[4]
ore[0] = "0x19B7"
ore[1] = "0x19BA"
ore[2] = "0x19B8"
ore[3] = "0x19B9"
for i = 0 to 3
uo.findtype( ore[ i ], '-1', 'backpack' )
while uo.findcount()
x = uo.getX( 'finditem' )
y = uo.getY( 'finditem' )
if x < min_x || x > max_x || y < min_y || y > max_y then
uo.moveitem( 'finditem', '0', 'backpack', str( move_x ), str( move_y ), '0' )
wait( 500 )
endif
uo.findtype( ore[ i ], "-1", "backpack" )
wend
next
uo.ignorereset()
endsub
Результат то бездействие, то анхандлел ерор вместе с флудом, что ему не нравится как задано FindType... вроде ..
Дестракшен, помоему ты что-то не учёл.... Если есть время посмотри пожалуйста..

Posted: 2007-12-08 00:27:45
by Grin
Code: Select all
sub fixOre()
var i
var move_x = 95
var move_y = 85
DIM ore[4]
ore[0] = "0x19B7"
ore[1] = "0x19BA"
ore[2] = "0x19B8"
ore[3] = "0x19B9"
for i = 0 to 3
uo.findtype( ore[ i ], '-1', 'backpack' )
while uo.findcount()
uo.moveitem( 'finditem', '0', 'backpack', str( move_x ), str( move_y ), '0' )
wait(500)
uo.Ignore('finditem')
uo.findtype( ore[ i ], "-1", "backpack" )
wend
next
uo.ignorereset()
endsub
Posted: 2007-12-08 01:28:12
by TarantuL
Спасибо Грин! Пожертвовали крутой сравнилкой по координатам, за то получили почти то, что хотелось!!!
Posted: 2007-12-08 01:45:57
by Grin
она так нужна была?
Posted: 2007-12-08 09:31:40
by TarantuL
Неа. Как бы было приятнее наверное, типа скрипт грамотнее) Но нет, и так всё стабильно)
Posted: 2007-12-08 18:37:14
by Destruction
Точно.. игнор забыл..
