Yoko http://forum.yoko.com.ua/ |
|
Скрипт на Lumberjacking http://forum.yoko.com.ua/viewtopic.php?f=17&t=17663 |
Page 1 of 4 |
Author: | konstantah [ 2015-11-08 17:42:56 ] |
Post subject: | Скрипт на Lumberjacking |
Готовый скрипт на лумбер. Собирает реги, еду из сундука, после летит в лес и ходит по координатам деревьев, рубит до макс. веса и летит домой. После все заново. Пропишите свои типы, для сундука еды и прочего. Впишите координаты места на котором стоите и готово зы: все ответы на вопросы найдете в теме. Удачи! отдельное спасибо Incorrect User'у за то что переписал это и заставил работать. Code: ;*********************************************************************************** |
Author: | Incorrect User [ 2015-11-09 13:16:21 ] |
Post subject: | Re: Помогите со скриптом на лумбер |
Это реколы, переделай под себя Code: sub RecallToHome() Это добавление рунбука, удали из скрипта Code: var TryRecall=0 Code: if TryRecall==0 then |
Author: | konstantah [ 2015-11-10 15:56:32 ] |
Post subject: | Re: Помогите со скриптом на лумбер |
upd. HELP! |
Author: | Incorrect User [ 2015-11-10 17:58:08 ] |
Post subject: | Re: Помогите со скриптом на лумбер |
Юзает кирку но ничего не ждет по сути. Code: ####################### А должен ждать пока не кликнешь Code: ####################### А ходилка при разметке вообще неизвестно зачем нужна, я бы удалил Code: for q=1 to Area |
Author: | konstantah [ 2015-11-12 22:06:14 ] |
Post subject: | Re: Помогите со скриптом на лумбер |
UPDATE! Удалил ненужное, запустил все пошло, собрал координаты трех деревьев - краш. Подождал пока пропадет чар,зашел снова, запустил и краш сразу.. Запустил еще раз, прошелся по деревьям, штук 10 обошел и снова краш. + Он не сохраняет координаты деревьев. Какая строка отвечает за то сколько деревьев он выберет? |
Author: | Incorrect User [ 2015-11-12 22:09:26 ] |
Post subject: | Re: Помогите со скриптом на лумбер |
Инжект последний? |
Author: | Incorrect User [ 2015-11-12 22:16:30 ] |
Post subject: | Re: Помогите со скриптом на лумбер |
Строка никакая, когда закончил размечать кидаешь следующий таргет на себя и он сохранит файл. |
Author: | Incorrect User [ 2015-11-13 00:08:10 ] |
Post subject: | Re: Помогите со скриптом на лумбер |
Вот тебе ламбер, работает на встроенной ходилке, она может тупить правда. Добавь себе реколы и хайд. Деревья размечаются бинтами, кинь в пак. Когда все разметил - таргет на себя, он сохранит файл и выключит скрипт. Изменяешь read = 0 на 1 и distance(расстояние на которое подойти к дереву) на нужное, и msg, идешь к первому дереву и запускаешь скрипт. Проверил и настроил, все работает. Code: sub Lumberjacking() |
Author: | konstantah [ 2015-11-13 01:36:10 ] |
Post subject: | Re: Помогите со скриптом на лумбер |
UPDATE Запустил скрипт на старой версии инжекта, т.к. на новой не находил бинты и не обновлял статус бар (реги и тд все по 0 было). Промаркал 6 деревьев, сохранил координаты. Запускаю : Line 468: Function not found - UO.PMOVE Не пойму что и как. Плюс по реколам, можно заихнуть в этот код копи пастом, чтобы я нетуда их не вклеил и потом не задавал глупых вопросов? Зы: Спасибо огромное за помощь!! Quote: sub Lumberjacking()
var read = 1, distance = 3, msg = "Подолбив|не осталось|это слишком|log in your|logs in your", flag, hatchet = "0x0F47", treecount = 0, clicks, TopX = 324, TopY = 65, i = 0, j = 0, k = 0, r = 0, q = 0, ii, jj, timer, f = file("C:\trees.dat") dim TreeX[5000], TreeY[5000], TreeT[5000] dim TreeTile[29] TreeTile[0]=3277 TreeTile[1]=3280 TreeTile[2]=3283 TreeTile[3]=3286 TreeTile[4]=3289 TreeTile[5]=3291 TreeTile[6]=3294 TreeTile[7]=3296 TreeTile[8]=3299 TreeTile[9]=3302 TreeTile[10]=3393 TreeTile[11]=3394 TreeTile[12]=3395 TreeTile[13]=3396 TreeTile[14]=3415 TreeTile[15]=3416 TreeTile[16]=3417 TreeTile[17]=3418 TreeTile[18]=3419 TreeTile[19]=3438 TreeTile[20]=3439 TreeTile[21]=3440 TreeTile[22]=3441 TreeTile[23]=3442 TreeTile[24]=3460 TreeTile[25]=3461 TreeTile[26]=3462 TreeTile[27]=3290 TreeTile[28]=3288 if read == 1 then uo.print("Loading coordinates from file") f.open() treecount = safe call f.ReadNumber() for i = 1 to treecount TreeT[i] = safe call f.ReadNumber() TreeX[i] = safe call f.ReadNumber() TreeY[i] = safe call f.ReadNumber() next f.close() else uo.print("Gathering info..") repeat clicks = 0 flag = 0 uo.usetype("0x0E21") wait(500) while uo.targeting() wait(100) wend flag = 0 for k = 0 to 28 if uo.lasttile(0) == TreeTile[k] then flag = 1 end if next if uo.lasttile(1) == uo.getx() and uo.lasttile(2) == uo.gety() then flag = 2 end if if flag == 1 then treecount = treecount + 1 TreeX[treecount] = uo.lasttile(1) TreeY[treecount] = uo.lasttile(2) TreeT[treecount] = uo.lasttile(0) uo.print("Tree found"+str(treecount)+" : X = "+str(uo.Lasttile(1))+" Y = "+str(uo.LastTile(2))+" "+str(treecount)) end if until (flag == 2) or (treecount == 5000) SaveToFile(treecount, TreeX, TreeY, TreeT) uo.print("Coordinates saved.") uo.print("Trees found:" + str(treecount)) return end if repeat for i = 1 to treecount uo.pmove(TreeX[i], TreeY[i], distance) repeat uo.deletejournal(msg) uo.waittargettile(TreeT[i], TreeX[i], TreeY[i], uo.GetZ()) uo.usetype(hatchet) timer = uo.timer() + 150 repeat wait(100) until uo.injournal(msg) or uo.timer() > timer + 150 or uo.dead() until uo.injournal("no logs|far away") or uo.dead() next until i == treecount or uo.dead() uo.print("Finished!") end sub sub SaveToFile(treecount, TreeX, TreeY, TreeT) var f=file("C:\trees.dat") var s = 0, i = 0 f.open() f.create() s=safe call f.writeln(treecount) for i = 1 to treecount s=safe call f.writeln(str(TreeT[i])+" "+str(TreeX[i])+" "+str(TreeY[i])) next f.close() end sub |
Author: | Incorrect User [ 2015-11-13 08:46:17 ] |
Post subject: | Re: Помогите со скриптом на лумбер |
Ставь последнюю версию, в старых нет ходилки. Она рабочая только нужно настроить. На вкладке main проставишь галочки обязательно: Undead, Light, Premit Vars Loopback, Clear memory, Autostart, Track World Items(как раз эта галочка за предметы отвечает, иначе он их не видит, те же реги...). По реколам, потом добавлю, отпиши после чего они нужны, например перевес и сколько и т.д. со скрола или регов... Для рекола, чтобы срабатывал точнее, нужны координаты X и Y места куда прилетаешь в лес и куда прилетаешь в дом. |
Author: | konstantah [ 2015-11-13 17:16:10 ] |
Post subject: | Re: Помогите со скриптом на лумбер |
работает всё Шикарно. Теперь по реколлам.. Скажем так, что хотелось бы видеть : Начинает дома напротив сундука, куда прилетел (координаты я поменть в силах ) В сундуке руна1,руна2,руна3 по лесам + реги на рекол + инвизки + еда Забрал регов еды инвизку, покушал и улетел по руне1, потом2, потом3. Нарубил логов до веса скажем 650. Улетел домой. Увидев монстра сьел инвизку. Так можно сделать? Или это уж слишком много я прошу? |
Author: | Incorrect User [ 2015-11-13 17:48:31 ] |
Post subject: | Re: Помогите со скриптом на лумбер |
Можно, но все по очереди. Разбирайся с реколами, вот текущий вариант, в начале скрипта указал обозначение некоторых функций, изменишь на нужные. Code: sub Autostart() |
Author: | Incorrect User [ 2015-11-13 17:53:48 ] |
Post subject: | Re: Помогите со скриптом на лумбер |
Галочка Autostart на вкладке Main означает что при запуске UO будет автоматически выполняться функция Autostart(). Поэтому после того как сохранишь скрипт, перед запуском ламбера запусти вручную Autostart() либо просто перезайди в UO(галка Autostart на вкладке Main должна стоять обязательно). ---------------------------------------------- В Lumberjacking(), в части Code: RuneID[0] = "ID 1 руны" Впиши ID трех рун в лес. ---------------------------------------------- В RecallToHome() Code: sub RecallToHome() измени ID руны в дом и замени 000 в X и Y на правильные координаты места куда прилетаешь домой. ---------------------------------------------- В RecallToWood(runeid) в обеих строках Code: until (uo.getx() == 000 and uo.gety() == 000) or (uo.getx() == 000 and uo.gety() == 000) or (uo.getx() == 000 and uo.gety() == 000) or uo.injournalbetweentimes(msg, starttime, endtime) or uo.dead() замени 000 на координаты трех твоих рун в лес. ---------------------------------------------- Далее сохраняешь и запускаешь скрипт, он должен сам среколиться по первой руне и начать рубить. ---------------------------------------------- По остальному, нужны type еды, инвизок, регов и сколько чего брать. Есть может с пола/сундука? Так же type гвардов и логов. |
Author: | konstantah [ 2015-11-14 13:02:19 ] |
Post subject: | Re: Помогите со скриптом на лумбер |
Запускается, все сделал по инструкции Прилетает по первой руне, рубит дерево, на физлах рубит заново, но стоит положить логи в пак остонавливается. Никаких ошибок, просто стоит Сундук где лежат логи, реги, РУНЫ в лес, еда и инвизки ID=0x4006FCA1 Type=0x09A8 LYKRKMD Name=pandora box Quantity: 0 Colour: 0x0488 Layer: 0 Has: 0 X=1780 Y=604 Z=12 C=0xFFFFFFFF F=0x00 еда ('0x09D0','0x0000') инвизки sub dinvis() ; Drink Invisibility Var Type='0x0F08' Var Color='0x0060' UO.FindType(Type, Color, 2) UO.UseObject('finditem') end sub логи ID=0x41D2059C Type=0x1BDD CXANYOD Name=logs Quantity: 46 Colour: 0x0000 Layer: 0 Has: 0 X=66 Y=96 Z=0 C=0x401EC99D F=0x00 Quote: sub Autostart()
uo.setglobal("Recall", "Off") end sub sub Lumberjacking() ; Read 0/1 - Âêë/Âûêë ñáîð êîîðäèíàò â ôàéë. Distance - ðàññòîÿíèå â òàéëàõ, íà êîòîðîå íóæíî ïîäîéòè ê äåðåâó. Weight - ìàêñèìàëüíûé âåñ, ïðè äîñòèæåíèè êîòîðîãî ðåêîë â äîì. Hatchet - type òîïîðà. Msg - ñïèñîê âñåõ âîçìîæíûõ ñîîáùåíèé ïðè ðóáêå äåðåâà. Endmsg - ñïèñîê ñîîáùåíèé ïðè êîòîðûõ ïåðåõîäèì ê íîâîìó äåðåâó. var read = 1, distance = 3, weight = 650, hatchet = "0x0F47", msg = "Ïîäîëáèâ|íå îñòàëîñü|ýòî ñëèøêîì|you put|you put the", endmsg = "íå îñòàëîñü|ýòî ñëèøêîì", starttime, endtime, flag, number, treecount = 0, clicks, TopX = 324, TopY = 65, i = 0, j = 0, k = 0, r = 0, q = 0, ii, jj, f = file("C:\trees.dat") dim TreeX[5000], TreeY[5000], TreeT[5000] dim TreeTile[29] TreeTile[0]=3277 TreeTile[1]=3280 TreeTile[2]=3283 TreeTile[3]=3286 TreeTile[4]=3289 TreeTile[5]=3291 TreeTile[6]=3294 TreeTile[7]=3296 TreeTile[8]=3299 TreeTile[9]=3302 TreeTile[10]=3393 TreeTile[11]=3394 TreeTile[12]=3395 TreeTile[13]=3396 TreeTile[14]=3415 TreeTile[15]=3416 TreeTile[16]=3417 TreeTile[17]=3418 TreeTile[18]=3419 TreeTile[19]=3438 TreeTile[20]=3439 TreeTile[21]=3440 TreeTile[22]=3441 TreeTile[23]=3442 TreeTile[24]=3460 TreeTile[25]=3461 TreeTile[26]=3462 TreeTile[27]=3290 TreeTile[28]=3288 dim RuneID[3] RuneID[0] = "0x41D24385" RuneID[1] = "0x41D24387" RuneID[2] = "0x41D24389" uo.deletejournal() if read == 1 then uo.print("Loading from file...") f.open() treecount = safe call f.ReadNumber() for i = 1 to treecount TreeT[i] = safe call f.ReadNumber() TreeX[i] = safe call f.ReadNumber() TreeY[i] = safe call f.ReadNumber() next f.close() else uo.print("Choosing coordinates...") repeat clicks = 0 flag = 0 uo.usetype("0x0E21") wait(500) while uo.targeting() wait(100) wend flag = 0 for k = 0 to 28 if uo.lasttile(0) == TreeTile[k] then flag = 1 end if next if uo.lasttile(1) == uo.getx() and uo.lasttile(2) == uo.gety() then flag = 2 end if if flag == 1 then treecount = treecount + 1 TreeX[treecount] = uo.lasttile(1) TreeY[treecount] = uo.lasttile(2) TreeT[treecount] = uo.lasttile(0) uo.print("Tree found"+str(treecount)+" : X = "+str(uo.Lasttile(1))+" Y = "+str(uo.LastTile(2))+" "+str(treecount)) end if until (flag == 2) or (treecount == 5000) SaveToFile(treecount, TreeX, TreeY, TreeT) uo.print("Coordinates saved!") uo.print("Trees found: " + str(treecount)) return end if for number = 0 to 2 RecallToWood(RuneID[number]) repeat for i = 1 to treecount uo.pmove(TreeX[i], TreeY[i], distance) repeat uo.deletejournal(msg) uo.waittargettile(TreeT[i], TreeX[i], TreeY[i], uo.GetZ()) uo.usetype(hatchet) starttime = now() endtime = now() + 6000 repeat Save() wait(100) until uo.injournalbetweentimes(msg, starttime, endtime) or uo.dead() until uo.injournal(endmsg) or uo.weight >= weight or uo.dead() if uo.weight >= weight then RecallToHome() end if next until i == treecount or uo.dead() if not uo.dead() then RecallToHome() else uo.print("You Dead!") uo.exec("Terminate all") end if next uo.print("All runes chopped!") end sub sub SaveToFile(treecount, TreeX, TreeY, TreeT) var f=file("C:\trees.dat") var s = 0, i = 0 f.open() f.create() s=safe call f.writeln(treecount) for i = 1 to treecount s=safe call f.writeln(str(TreeT[i])+" "+str(TreeX[i])+" "+str(TreeY[i])) next f.close() end sub sub RecallToHome() var runeid = "0x41D24388", x = 1781, y = 606, starttime, endtime, msg = "Çàêëèíàíèå|anti-magic field disturbs|lack reagents", endmsg = "anti-magic field disturbs|lack reagents" uo.deletejournal() if uo.getglobal("Recall") == "Off" then uo.setglobal("Recall", "On") repeat uo.deletejournal(msg) uo.waittargetobject(runeid) uo.cast("Recall") starttime = now() + 500 endtime = now() + 2700 repeat Save() wait(100) until (uo.getx() == x and uo.gety() == y) or uo.injournalbetweentimes(msg, starttime, endtime) or uo.dead() until (uo.getx() == x and uo.gety() == y) or uo.injournal(endmsg) or uo.dead() uo.setglobal("Recall", "Off") end if end sub sub RecallToWood(runeid) var starttime, endtime, msg = "çàêëèíàíèå|anti-magic field disturbs|lack reagents", endmsg = "anti-magic field disturbs|lack reagents" uo.deletejournal() if uo.getglobal("Recall") == "Off" then uo.setglobal("Recall", "On") repeat uo.deletejournal(msg) uo.waittargetobject(runeid) uo.cast("Recall") starttime = now() + 500 endtime = now() + 2700 repeat Save() wait(100) until (uo.getx() == 695 and uo.gety() == 775) or (uo.getx() == 2742 and uo.gety() == 715) or (uo.getx() == 1350 and uo.gety() == 2086) or uo.injournalbetweentimes(msg, starttime, endtime) or uo.dead() until (uo.getx() == 695 and uo.gety() == 775) or (uo.getx() == 2742 and uo.gety() == 715) or (uo.getx() == 1350 and uo.gety() == 2086) or uo.injournal(endmsg) or uo.dead() uo.setglobal("Recall", "Off") end if end sub sub Save() if uo.injournal("World save has been initiated") then uo.deletejournal("backpack|World save has been initiated") uo.click("backpack") while not uo.injournal("backpack") wait(100) wend end if end sub |
Author: | konstantah [ 2015-11-14 13:05:00 ] |
Post subject: | Re: Помогите со скриптом на лумбер |
РЕГИ ID=0x41E2763E Type=0x0F7B YRIWAPD Name= Quantity: 30 Colour: 0x0000 Layer: 0 Has: 0 X=73 Y=106 Z=0 C=0x401EC99D F=0x00 ID=0x41E2763B Type=0x0F86 BSIWAPD Name= Quantity: 46 Colour: 0x0000 Layer: 0 Has: 0 X=122 Y=130 Z=0 C=0x401EC99D F=0x00 ID=0x41E2763D Type=0x0F7A VRIWAPD Name=Black Pearls Quantity: 49 Colour: 0x0000 Layer: 0 Has: 0 X=44 Y=69 Z=0 C=0x401EC99D F=0x00 Кушает с пола, но лучше чтоб перекидывал в пак наверное и из пака ел, более эстетично Достаточно с собой носить одну инвизку, по 5 регов на рекол, 5 еды и рунку в дом. То есть : Прилетел домой, выгрузил логи в пак с регами и прочим. Пополнил запас, поел, улетел. А еще ткой вопрос, координаты деревьев по рунам рзным, это все в один файл (за раз) надо сохранять, или останавливать каждую локацию и заново кликать деревья? |
Author: | Incorrect User [ 2015-11-14 14:11:56 ] |
Post subject: | Re: Помогите со скриптом на лумбер |
Ах да, руны же три. Вот переделал под 3 раздельных файла. Смотри, сначала по первой руне собираешь координаты и сохраняешь файл, его имя будет trees.dat, убираешь его из папки отдельно чтобы не перезаписался. Летишь по второй руне и собираешь там координаты, новый файл trees.dat переименовываешь в trees1.dat С третьей руной то же самое, только файл назовешь trees2.dat Скидываешь их все назад в папку, куда они записываются, меняешь в скрипте read на 1 и вперед. Укажешь в Lumberjacking, в значение guardian - type гварда. Останавливается возможно из за сообщений неправильных, поруби деревья скопируй возможные сообщения из журнала _showjournal 50, там важен регистр и правильное написание так что лучше копировать, у меня рубил хорошо. В целом скрипт будет работать так: запускает выгрузку и добор регов, летит в лес и рубит. Code: sub Lumberjacking() |
Author: | Incorrect User [ 2015-11-14 15:43:20 ] |
Post subject: | Re: Помогите со скриптом на лумбер |
Немного поправил реколы Code: sub RecallToHome() |
Author: | konstantah [ 2015-11-14 16:44:02 ] |
Post subject: | Re: Помогите со скриптом на лумбер |
Спасибо. Что нужно поправить чтобы он не пил инвизку как только прилетает на место а пил её когда видит кого либо, любово. А при реколе просто уходил в хайд? Потом при запуске, он выкидывает очень много текста NEXT, как это убрать? В остальном все пока что работает. |
Author: | Incorrect User [ 2015-11-14 16:51:56 ] |
Post subject: | Re: Помогите со скриптом на лумбер |
Инвиз он пьет когда найдет гварда, но ты так и не вписал его type поэтому срабатывает просто так. Удали строку uo.print("Next") Code: guardian = "Type гварда" А если нужно чтобы ставал в хайд, то перед строкой Code: uo.waittargettile(TreeT[i], TreeX[i], TreeY[i], uo.GetZ()) добавь строку Code: Hide() И отдельно вставь Code: sub Hide() |
Author: | konstantah [ 2015-11-16 04:10:42 ] |
Post subject: | Re: Помогите со скриптом на лумбер |
Добавить две функции,и это будет очень хороший, готовый скрипт для Оскома на Лумбер. 1. Чтобы когда его находили он в вар режим уходил и потом в хайд, чтобы сбивать атаку. 2. Чтобы цикл не заканчивался, то есть, пролетев три руны, чтобы он летел снова по первой-второй-третьей и обходил координаты. А так он останавливается со словами "chop's done" и все Code: ;************************************************************************************ |
Page 1 of 4 | All times are UTC+02:00 |
Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |