Подскажите скрипт на разгрузку. |
Подскажите скрипт на разгрузку. |
Сообщений: 56 Рег. 18.09.2012 |
31 августа 2015 10:27
Сообщение #1
|
Скрипт просто что то найти не могу. 1 всё из бекпека в указанный контейнер 2 всё из 1 сумки в другую ( по таргету) |
|
|
|
Сообщений: 2039 Рег. 24.01.2010 |
31 августа 2015 16:53
Сообщение #2
|
|
|
Сообщений: 1656 Рег. 28.03.2015 |
2 сентября 2015 00:09
Сообщение #3
|
https://yadi.sk/i/2ujaQPO0ioyg8 пвм разгрузка 22кб поэтому тока с яндекса , если требуется работать с типами и цветами то вместо -1 втавляй цвет вещи. |
|
|
|
Сообщений: 3319 Рег. 19.11.2013 |
3 сентября 2015 18:30
Сообщение #4
|
надо же было относительно небольшой скрипт так распикхмкхм... 6 страниц текста. |
|
|
|
6 сентября 2015 14:43
Сообщение #5
|
|
Bumhug, что то не понял строчки про товар( а можно чтобы все из сумки в другую скидывал? |
|
|
|
6 сентября 2015 15:03
Сообщение #6
|
|
и еще хотел спросить как в скрипт добавить чтобы allnamesил? |
|
|
|
Сообщений: 6208 Рег. 27.11.2009 |
7 сентября 2015 16:11
Сообщение #7
|
Из сумки в сумку. sub packduper_reduper() ## Перекладка из сумки в сумку var X,Y MessageBox('Ткни прицелом куда кладем') UO.Exec('addobject TmpCont') While UO.Targeting() Wait(500) Wend MessageBox('Ткни прицелом откуда берем') UO.Exec('addobject TmpCont1') While UO.Targeting() Wait(500) Wend repeat UO.FindType('-1','-1','TmpCont1') if UO.FindCount() then X=UO.GetX('finditem') Y=UO.GetY('finditem') UO.MoveItem('finditem',0,'TmpCont',X,Y,0) wait(600) UO.Ignore('finditem') end if checklag() wait(300) until not UO.FindCount() or UO.dead() UO.IgnoreReset() UO.Resend() end sub Оллнеймс итемов в контейнере с выводом в текстовый файл. sub cat() ## Список содержимого последнего контейнера var zerg uo.ignorereset() repeat uo.findtype(-1,-1,'lastcontainer') if uo.findcount() then uo.click('finditem') checklag() wait(50) nm=uo.getname('finditem') uo.textprint(zerg) uo.ignore('finditem') checklag() wait(50) endif until not uo.findcount() uo.ignorereset() uo.textopen() end sub |
|
|
|
9 сентября 2015 11:59
Сообщение #8
|
|
спс, и себе заберу ) |
|
|
|
Сообщений: 584 Рег. 8.10.2014 |
10 сентября 2015 07:03
Сообщение #9
|
Barbatos, а вот ты положь на место |
|
|
|
11 сентября 2015 21:10
Сообщение #10
|
|
Ggthxbye, спасибо за переклад) а вот про аллнеймс имел ввиду как скриптом вписать чтобы имена над мобами и чарами показывал) обычный allnames из опций только скриптом) |
|
|
|
19 сентября 2015 16:38
Сообщение #11
|
|
ап может знает кто ответ на вопрос выше? алнеймс со скрипта) поделитесь пожалуйста) |
|
|
|
27 сентября 2015 17:54
Сообщение #12
|
|
Цитата: Daemian ап может знает кто ответ на вопрос выше? алнеймс со скрипта) поделитесь пожалуйста) АП и еще скрипт на разгрузку выше не совсем что надо(( он просто перекидывает вещи в мешок не стакая их(( следовательно после 3-4 разгрузок получается 3-4 кучки одного и того же предмета( |
|
|
|
Сообщений: 1870 Рег. 21.06.2013 |
28 сентября 2015 22:46
Сообщение #13
|
Mirage, ну так все массивы в нем , переносить в другой фалик не обученны ) Подскажи лучше почему он бывает не срабатывает , сразу типо закончил и приходится инжект перезапускать ? |
|
|
|
Сообщений: 3319 Рег. 19.11.2013 |
29 сентября 2015 07:16
Сообщение #14
|
Потому что взяли хорошую идею и перевернули шиворот на выворот как обычно. ВОЗМОЖНО использовались не мои наработки, я сам брал принцип перемещения у Визера. Но я давно передавал свой скрипт большому количеству игроков и выкладывал на нескольких форумах. При составлении своего скрипта я лазил по инсайду и последовательно переписывал все предметы которые там были из файлов 203 клиента. Все тряпки, все железки. И смысл был в том что функция: Sub PUTLoot2R(Type1, Type2, Color, Otkuda) значительно важнее Sub PUTLootR(Type, Color, Otkuda) потому что позволяла сократить раз в 10 весь список предметов превратив вот это:VAR TType = 0 for TType = Type1 to Type2 PUTLootR(TType, Color, Otkuda) next end sub PUTLootR('0x1F2E', '-1', 'backpack'); 1кр PUTLootR('0x1F2F', '-1', 'backpack'); PUTLootR('0x1F30', '-1', 'backpack'); PUTLootR('0x1F31', '-1', 'backpack'); PUTLootR('0x1F32', '-1', 'backpack'); PUTLootR('0x1F33', '-1', 'backpack'); вот в это: PUTLoot2R(0x1F2E,0x1F2F,'-1', 'backpack') PUTLoot2R('0x1F30,0x1F33,'-1', 'backpack') Затем функцию: Sub PUTLootR(Type, Color, Otkuda) UO.FindType(Type, Color, Otkuda) while UO.FindCount('finditem') > 0 UO.Grab("0","finditem") wait(300) UO.FindType(Type, Color, Otkuda) wend end sub тоже переделали на грабделей - это было когда Ярослав с чем то боролся и не работала мувитем у кого то. И она написана с небольшой ошибкой. Цикл постоянно грабает предмет с паузой 300 мсек при том что обычно пауза чуть больше + пинг. Вот и пробивает. Сейчас у меня эти две перемещалки выглядят вот таким образом: Sub PUTLoot2(Type1, Type2, Color, SourceContainer, TargetContainer,X,Y,Z) ;uo.ignorereset() for TType = Type1 to Type2 PUTLoot(TType, Color, SourceContainer, TargetContainer,X,Y,Z) next end sub Sub PUTLoot(Type, Color, SourceContainer, TargetContainer,X,Y,Z) ;uo.ignorereset() UO.FindType(Type, Color, SourceContainer) while UO.FindCount() timemove=UO.Timer() uo.MoveItem('finditem',0,TargetContainer,X,Y,Z) repeat wait(lootwait) until UO.ContainerOf('finditem')<>TargetContainer && timemove+30>UO.Timer() UO.FindType(Type, Color, SourceContainer) wend end sub предмет мувается один раз и инжект ждет 3 секунды пока не произойдет перемещение. Разгруз скупки практически всего что продают вендоры в течении нескольких суток не вызывает проблем таким макаром. вот пример из стародавней разгрузки 2010 года PUTLoot2(0x1085, 0x108b, '-1', SundLoot, SundBi); бижутерия PUTLoot2(0x1f05, 0x1f0a, '-1', SundLoot, SundBi) ; бижутерия PUTLoot2(0xf0f, 0xf30, '-1', SundLoot, SundBi) ; камни PUTLoot2(0x1f19, 0x1f5c, '0', SundLoot, SundS) ; scroll 1-6 PUTLoot2(0xF06, 0xF0D, '-1', SundLoot, SundB) ; бутылки 0xF06 - black, 0xF07 - orange, 0xF08 - blue, 0xF09 - White, 0xF0A - Green, 0xF0B - Red, 0xF0C - Yellow, 0xF0D - Purple PUTLoot2(0xf78, 0xf91, '0', SundLoot, SundR) ; реагенты вся возможная бижутерия, все камни, все скроллы 1-6 круга, все бутылки, все реагенты. 6 строк. ЗЫ еще остался небольшой глюк когда после нескольких разгрузок с охоты подвисает клиент либо не видит предметы в паке - но это связано со скриптами охоты и утечкой памяти в инжекте. В последней сборке немного подлатали. ззы if uo.getdistance(Sunduk7) <= 2 then ### свитки ###; вот это правильно но совершенно не нужно - в поиск добавлен параметр дистации. uo.setreceivingcontainer(Sunduk7); а это устаревшие не нужные команды для граба uo.unsetreceivingcontainer(); а это устаревшие не нужные команды для граба |
|
|
|
Сообщений: 1870 Рег. 21.06.2013 |
29 сентября 2015 11:19
Сообщение #15
|
Mirage, спасибо) |
|
|
|
29 сентября 2015 12:09
Сообщение #16
|
|
Скрипт разгрузки писал я, который выложили в файле. НО! у меня он был значительно короче. С алукардом во многом не согласен, либо это делалось СПЕЦИАЛЬНО так, как сделалось, ибо писалось под себя и узкий круг людей, а не в люди 1. По поводу for TType = Type1 to Type2 и сокращения списка. У меня совсем не было желания лазить по инсайд уо, тем более искать подряд типы. Я эту функцию использовал под развернуто-перевернутое оружие, щиты, предметы. Сокращение списка посредством "тип ту тип" ведет к неудобству просмотра и его последующего дополнения, ИМХО2. тоже переделали на грабделей - это было когда Ярослав с чем то боролся и не работала мувитем у кого то. И она написана с небольшой ошибкой. Цикл постоянно грабает предмет с паузой 300 мсек при том что обычно пауза чуть больше + пинг. Вот и пробивает. Скрипт написан после просьбы Хосе убрать во всех скриптах мув итем + у меня при мув итеме последний предмет подвисал на мышке, я хз почему, переделал на граб и работает. Если скрипт не грабнет предмет из-за задержки, то он его грабнет в следующем цикле, т.е. предмета в паке не останется. Проблемы с несколькими стаками предметов у меня и у того, кому я скрипт скидывал, не было ни 1 раза. 3. if uo.getdistance(Sunduk7) <= 2 then ### свитки ###; вот это правильно но совершенно не нужно - в поиск добавлен параметр дистации. uo.setreceivingcontainer(Sunduk7); а это устаревшие не нужные команды для граба uo.unsetreceivingcontainer(); а это устаревшие не нужные команды для граба ты описал эти команды относительно мув итема, но скрипт написан через граб СПЕЦИАЛЬНО, поэтому эти команды актуальны как никогда 4. PUTLoot2(0x1085, 0x108b, '-1', SundLoot, SundBi); бижутерия PUTLoot2(0x1f05, 0x1f0a, '-1', SundLoot, SundBi) ; бижутерия PUTLoot2(0xf0f, 0xf30, '-1', SundLoot, SundBi) ; камни единственное, что можно было сократить, в моем понимании и желании |
|
|
|
Сообщений: 3319 Рег. 19.11.2013 |
29 сентября 2015 13:57
Сообщение #17
|
Насчет перебора типов это индивидуально, у кого то кожа лежит в мешках, у кого то в куче, у кого то в мусоре... Смысл не в самом наборе, а в том как с ним работать. Я не говорю что я единственно прав. Просто заметил что если в скрипте были использованы функции перемещения предмета вида PUTLoot, PUTLoot2 притом что вторая изза которой и делался весь этот скрипт не задействована в твоем скрипте вовсе (или я проглядел) то это очень странно. И не удивительно что программа 2015 года по 10 раз переписанная не очень хорошо работает с устаревшими командами какими бы хорошими они не были когда то. Ты же не будет 97 офис на Win7-10 ставить потому что "когда то он был лучше всех этих перделок свистелок". Если когда то мувка давала у Хосана сбой это одно, но сейчас то сбоя никакого нет - смысл использовать увеличивающие количество строк команды? Насчет циклов тут все просто - мой вариант меньше нагрузит инжект, твой чуть больше нагрузит (лишний дерг возможен). Зачем лишний раз это делать? Это простая оптимизация кода. Опять же вот например прямо неправильный (точнее из области И так сойдет ©) кусок из твоего/переписанного твоего скрипта: if uo.getdistance(Sunduk16) <= 2 then ### мясо ### uo.setreceivingcontainer(Sunduk16) PUTLootR('0x09F1', '-1', 'backpack'); мясо PUTLootR('0x09B9', '-1', 'backpack'); птица PUTLootR('0x1607', '-1', 'backpack'); курица end if end if if uo.getdistance(Sunduk18) <= 2 then ### паутинки яйца ### uo.setreceivingcontainer(Sunduk18) тут в одну константу забивается 2 значения Sunduk16 и Sunduk18 не очищая Sunduk16. По уму ансетать надо каждый setreceivingcontainer. -> увеличение 1 строки мув на 3 строки сет граб ансет. |
|
|
|
29 сентября 2015 14:24
Сообщение #18
|
|
Mirage, у меня "заансечено" всё, это кто-то ошибся. Просто твой предыдущий пост был в стиле "что за гавно и где вы его нашли", я не мог не ответить, что это гавно из меня хD ну и прокомментить пару твои замечаний |
|
|
|
29 сентября 2015 14:39
Сообщение #19
|
|
и еще Цитата: Mirage Зачем лишний раз это делать? Это простая оптимизация кода. я не любитель старые скрипты лопатить и переделывать под новые команды, ну не хватало у меня на это уошного времени. Пришел с работы, сдал пару квестов и уже какой-нить денчик цепляет кого-то в окло ) квесты сдать времени не было. Тем более я дилетант в этом деле, для меня написать скрипт - это куча тестов, литературы и времени, если чего-то еще не делал не сочтите за оправдание, просто не люблю когда в наглую обсирают скрипт, которому года 2-3 точно |
|
|
|
Сообщений: 1870 Рег. 21.06.2013 |
29 сентября 2015 15:31
Сообщение #20
|
ребят побольше бы именно таких холи варов , глядишь и люди бы на шарде грамотнее стали :) |
|
|
|
Сейчас: 24 ноября 2024 11:58 |