Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Askaneli Модератор

Награды: 6 [детали]
Благодарностей: 52
Зарегистрирован: 29.01.2007 Сообщения: 5627 Откуда: Уфимский схрон
|
Добавлено: 05.05.2008 10:07 Заголовок сообщения: |
|
|
Представляю вашему вниманию 2 своих скрипта.
Первый расшифровывает карты из указанного мешка и раскладывает по левелам. Если вдруг ему по какой-то нелепой случайности попалась уже расшифрованная карта то он её просто переложит в соответствующий мешок. Если какой-нить мешок с картами (например 5 левела , у таких как Сфаги или я скромняга такое случается) переполнится то скрипт киданёт карту обратно в мешок и остановится. Нада вручную поменять мешочек на новый и заного запустить скрипт. Да чё я обьясняю. И так все сами с усами. Ну кроме девушкалар канечна.
Второй скрипт поинтереснее. Он раскладывает уже расшифрованные карты по координатам. Для этого надо 3 контейнера. В первом мешочки с картами, во втором ну очень многа пустых мешочков (у мну всегда 255 перед запуском, но больше 80-90 обычно не требуется для 3-4-5 левела, а вдруг ...), третий как бы вроде пустой, если он не пустой то скрипт переберёт все мешочки и узнает карты в какие координаты лежат в мешочках которые тама лежат. В общем ничего страшного в том что скрипт вылетел, соскачил конект, жена заигрывающе выдернула вилку из розетки, нету Запускаем по новой показываем таргетами на те самые контейнеры по порядку и всё будет тип-топ.
Ну и сами коды.
Код: |
###########################################
############### Map_Decode ################
###########################################
sub Map_Decode()
var cc
uo.print('Выбери мешок с нерасшифрованными картами ')
uo.exec('addobject Bag0')
while uo.targeting()
wait(100)
wend
wait(100)
uo.print('Выбери мешок для 1 левела ')
uo.exec('addobject Bag1')
while uo.targeting()
wait(100)
wend
wait(100)
uo.print('Выбери мешок для 2 левела ')
uo.exec('addobject Bag2')
while uo.targeting()
wait(100)
wend
wait(100)
uo.print('Выбери мешок для 3 левела ')
uo.exec('addobject Bag3')
while uo.targeting()
wait(100)
wend
wait(100)
uo.print('Выбери мешок для 4 левела ')
uo.exec('addobject Bag4')
while uo.targeting()
wait(100)
wend
wait(100)
uo.print('Выбери мешок для 5 левела ')
uo.exec('addobject Bag5')
while uo.targeting()
wait(100)
wend
wait(100)
uo.useobject('Bag0')
wait(1000)
uo.findtype('0x14EB','0x0000','Bag0')
wait(200)
While uo.findcount()>0
uo.deletejournal()
uo.click('finditem')
repeat
wait(10)
until uo.injournal("treasure map")
if uo.injournal("Tattered treasure map") then
uo.moveitem('finditem','-1','backpack')
cc=0
while cc==0
wait(100)
cc=uo.count('0x14EB','0x0000')
wend
wait(200)
uo.deletejournal()
uo.useobject('finditem')
repeat
wait(10)
until uo.injournal("It's seems like that this map is level")
if uo.injournal("It's seems like that this map is level 1") then
uo.moveitem('finditem','-1','Bag1')
end if
if uo.injournal("It's seems like that this map is level 2") then
uo.moveitem('finditem','-1','Bag2')
end if
if uo.injournal("It's seems like that this map is level 3") then
uo.moveitem('finditem','-1','Bag3')
end if
if uo.injournal("It's seems like that this map is level 4") then
uo.moveitem('finditem','-1','Bag4')
end if
if uo.injournal("It's seems like that this map is level 5") then
uo.moveitem('finditem','-1','Bag5')
end if
wait(600)
if uo.injournal("Too many items in that container") then
uo.moveitem('finditem','-1','Bag0')
wait(500)
return
end if
else
if uo.injournal("(1 level)") then
uo.moveitem('finditem','-1','Bag1')
end if
if uo.injournal("(2 level)") then
uo.moveitem('finditem','-1','Bag2')
end if
if uo.injournal("(3 level)") then
uo.moveitem('finditem','-1','Bag3')
end if
if uo.injournal("(4 level)") then
uo.moveitem('finditem','-1','Bag4')
end if
if uo.injournal("(5 level)") then
uo.moveitem('finditem','-1','Bag5')
end if
wait(600)
if uo.injournal("Too many items in that container") then
uo.moveitem('finditem','-1','Bag0')
wait(500)
return
end if
end if
uo.findtype('0x14EB','0x0000','Bag0')
wait(200)
wend
end sub
###########################################
############## Map_Sort_Uni ###############
###########################################
sub Map_Sort_Uni()
var tx,ty,s,i=0,j=0,flag=0,cc,k=0,Bag0,TMap
var BPack1,BPack2,BPack3
UO.UseObject('backpack')
Cheklag()
UO.exec('resend')
Cheklag()
uo.ignorereset()
wait(50)
Dim Bags[255]
Dim KoordX[255]
Dim KoordY[255]
uo.set('injectecho','1')
uo.print('Пак 1')
uo.exec('addobject Pack')
while uo.targeting()
wait(100)
wend
BPack1=uo.getserial('Pack')
uo.print('Пак 2')
uo.exec('addobject Pack')
while uo.targeting()
wait(100)
wend
BPack2=uo.getserial('Pack')
uo.print('Пак 3')
uo.exec('addobject Pack')
while uo.targeting()
wait(100)
wend
BPack3=uo.getserial('Pack')
uo.useobject(BPack1)
wait(500)
uo.useobject(BPack2)
wait(500)
uo.useobject(BPack3)
wait(500)
uo.findtype('0x0E76','0x0000',BPack3)
wait(50)
while uo.findcount() > 0
Bag0=uo.getserial('finditem')
wait(50)
uo.useobject(Bag0)
wait(500)
uo.findtype('0x14EB','0x0000',Bag0)
wait(50)
if uo.findcount() > 0 then
Tmap=uo.getserial('finditem')
i=i+1
uo.moveitem(Tmap,'-1','backpack')
cc=0
while cc==0
wait(100)
cc=uo.count('0x14EB','0x0000')
wend
wait(200)
uo.deletejournal()
uo.useobject(Tmap)
repeat
wait(10)
until uo.injournal('Map opened to:')
wait(100)
uo.rclick(109,150)
wait(100)
s = uo.journal(uo.injournal('Map opened to:')-1)
s = Trim(Right(s,len(s)-15))
if s[4] == ':' then
tx = val(left(s,4))
ty = val(right(s,len(s)-5))
else
tx = val(left(s,3))
ty = val(right(s,len(s)-4))
end if
k=k+1
KoordX[k]=tx
KoordY[k]=ty
Bags[k]=Bag0
uo.moveitem(Tmap,'-1',Bag0)
cc=uo.weight
while cc==uo.weight
wait(10)
wend
wait(200)
UO.Print("Координат зафиксировано -> "+str(i))
end if
uo.ignore(Bag0)
wait(50)
uo.useobject(BPack3)
wait(500)
uo.findtype('0x0E76','0x0000',BPack3)
wait(50)
wend
i=0
uo.ignorereset()
wait(50)
uo.findtype('0x0E76','0x0000',BPack1)
wait(50)
while uo.findcount() > 0
Bag0=uo.getserial('finditem')
wait(50)
uo.useobject(Bag0)
wait(500)
uo.findtype('0x14EB','0x0000',Bag0)
wait(50)
while uo.findcount() > 0
Tmap=uo.getserial('finditem')
i=i+1
uo.moveitem(Tmap,'-1','backpack')
cc=0
while cc==0
wait(100)
cc=uo.count('0x14EB','0x0000')
wend
wait(200)
uo.deletejournal()
uo.useobject(Tmap)
repeat
wait(10)
until uo.injournal('Map opened to:')
wait(100)
uo.rclick(109,150)
wait(100)
s = uo.journal(uo.injournal('Map opened to:')-1)
s = Trim(Right(s,len(s)-15))
if s[4] == ':' then
tx = val(left(s,4))
ty = val(right(s,len(s)-5))
else
tx = val(left(s,3))
ty = val(right(s,len(s)-4))
end if
flag=0
if k>0 then
For j=1 to k
if abs(KoordX[j]-tx) < 30 and abs(KoordY[j]-ty) < 30 then
uo.moveitem(Tmap,'-1',Bags[j])
cc=uo.weight
while cc==uo.weight
wait(10)
wend
wait(300)
flag=1
end if
next
end if
if flag==0 then
k=k+1
KoordX[k]=tx
KoordY[k]=ty
uo.findtype('0x0E76','0x0000',BPack2)
wait(50)
if uo.findcount()>0 then
Bags[k]=uo.getserial('finditem')
uo.moveitem('finditem','-1',BPack3)
wait(500)
else
uo.exec("terminate all")
end if
uo.moveitem(Tmap,'-1',Bags[k])
cc=uo.weight
while cc==uo.weight
wait(10)
wend
wait(300)
end if
UO.Print("Карт отсортировано -> "+str(i))
uo.findtype('0x14EB','0x0000',Bag0)
wait(50)
wend
uo.moveitem(Bag0,'-1',BPack2)
wait(500)
uo.findtype('0x0E76','0x0000',BPack1)
wait(50)
wend
uo.set('injectecho','0')
end sub
###########################################
################### abs ###################
###########################################
Sub abs(n)
if n < 0 then
return n*(-1)
else
return n
end if
end sub
|
_________________ "Весь мир в предвкушении очередного апокалипсиса, у нас в стране он судя по всему уже прошёл..." Askaneli.
|
|
Вернуться к началу |
|
 |
v1per Общительный гость
Благодарностей: 0
Зарегистрирован: 14.11.2008 Сообщения: 8 Откуда: Ukraine, Sumy
|
Добавлено: 14.11.2008 10:08 Заголовок сообщения: |
|
|
извените еще раз, но этот скрипт тоже не работает, выбираю все правильно, 3 мешка, но опять же, когда все зделал он остановился, может у меня инжект как-то не правильно настроен...
|
|
Вернуться к началу |
|
 |
HOBOK VIP Гусар

Благодарностей: 0
Зарегистрирован: 08.02.2007 Сообщения: 431 Откуда: Димитровград
|
Добавлено: 14.11.2008 12:34 Заголовок сообщения: |
|
|
v1per писал(а): | извените еще раз, но этот скрипт тоже не работает, выбираю все правильно, 3 мешка, но опять же, когда все зделал он остановился, может у меня инжект как-то не правильно настроен... |
там же написано Цитата: | Для этого надо 3 контейнера. В первом мешочки с картами, во втором ну очень многа пустых мешочков (у мну всегда 255 перед запуском, но больше 80-90 обычно не требуется для 3-4-5 левела, | а не 3 мешка
|
|
Вернуться к началу |
|
 |
v1per Общительный гость
Благодарностей: 0
Зарегистрирован: 14.11.2008 Сообщения: 8 Откуда: Ukraine, Sumy
|
Добавлено: 14.11.2008 13:17 Заголовок сообщения: |
|
|
еще вопросик, скрипт останавливается, так как инжа выбивает "You moving items too fast", можно ли отключить это?
|
|
Вернуться к началу |
|
 |
Askaneli Модератор

Награды: 6 [детали]
Благодарностей: 52
Зарегистрирован: 29.01.2007 Сообщения: 5627 Откуда: Уфимский схрон
|
Добавлено: 14.11.2008 14:41 Заголовок сообщения: |
|
|
v1per писал(а): | еще вопросик, скрипт останавливается, так как инжа выбивает "You moving items too fast", можно ли отключить это? |
Задержки при мовеитем поставить больше
Код: |
uo.moveitem("бла бла бла")
cc=uo.weight
while cc==uo.weight ## ждёт пока вес не поменяется у перса
wait(10)
wend
wait(200) ## на фсякий случай ешо ждёт 200 мс чтоб не приняли за читерюгу
|
wait(200) везде в таких конструкциях поменяй к примеру на wait(300) или wait(400)
Будет дольше вошкатся просто в сумме. Меня запаривало тысячи карт обрабатывать ... _________________ "Весь мир в предвкушении очередного апокалипсиса, у нас в стране он судя по всему уже прошёл..." Askaneli.
|
|
Вернуться к началу |
|
 |
v1per Общительный гость
Благодарностей: 0
Зарегистрирован: 14.11.2008 Сообщения: 8 Откуда: Ukraine, Sumy
|
Добавлено: 14.11.2008 15:13 Заголовок сообщения: |
|
|
Большое спасибо за скрипты и за помощь, очень благодарен
|
|
Вернуться к началу |
|
 |
|
.
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|