MeSSiR 0 Жалоба Опубликовано 16 июня, 2011 Прокачка Тэйлора с 33х до 120: # Create by MeSSiR ##################### MIDDLE-EARTH.RU ########################## # Скрипт для прокачки скилла Tailoring. # Работает по принципу изготовления необходимой вещи # (в зависимости от уровня скилла) и разрезания ее обратно # в ткань. # Для работы скрипта необходимо: # - Побольше ткани на пол возле себя # - Ножницы в сумку (желательно много, т.к. часто ломаются # - Иголки (Sewing Kit) в сумке ( 1 шт. вполне хватит) # Не забудьте, что после скилла в 100 необходимо использовать # Lesser Power, Power, Greater Power и Ultimate скроллы. # Желательно для скрипта: # - Еда ################################################################ ###################### Настройка переменных #################### var stop=120 # Стоп-отметка уровня скилла, когда нужно # будет остановить прокачку для того, чтоб # применить Power скроллы. Если не нужна, # то поставить значение 120. var food='0x097B' # Тип еды, которую будем кушать в процессе. # '0x097B' - жаренная рыба # '0x09F2' - жаренное мясо # '0x171F' - бананы sub Tailoring() var time=0 uo.deletejournal() uo.set('finddistance',1) while uo.skillval('Tailoring',1) < 600 checkitems() uo.waitmenu('Choose','shirts','What','Fancy Shirt') uo.waittargettype('0x1766') uo.usetype('0x0F9D') repeat wait(1000) time=time+1 until uo.injournal("You create|You failed|You make") or time > 20 time=0 while uo.count('0x1EFD')>0 uo.waittargettype('0x1EFD') uo.usetype('0x0F9E') wait(1000) wend uo.deletejournal() wend while uo.skillval('Tailoring',1) < 900 checkitems() uo.waitmenu('Choose','shirts','What','Robe') uo.waittargettype('0x1766') uo.usetype('0x0F9D') repeat wait(1000) time=time+1 until uo.injournal("You create|You failed|You make") or time > 20 time=0 while uo.count('0x1F03')>0 uo.waittargettype('0x1F03') uo.usetype('0x0F9E') wait(1000) wend uo.deletejournal() wend while uo.skillval('Tailoring',1) < 1200 checkitems() uo.waitmenu('Choose','carpets','Select','carpet1','Select','carpet') uo.waittargettype('0x1766') uo.usetype('0x0F9D') repeat wait(1000) time=time+1 until uo.injournal("You create|You failed|You make") or time > 20 time=0 while uo.count('0x0ABD')>0 uo.waittargettype('0x0ABD') uo.usetype('0x0F9E') wait(1000) wend uo.deletejournal() wend end sub Sub checkitems() uo.msg(".pray") eda() while uo.count('0x0F9D') < 1 uo.print("Нет иголок(Sewing Kit)!") uo.msg("Не могу работать!") wait(5000) wend while uo.count('0x0F9E') < 1 uo.print("Нет ножниц(Scissors)!") uo.msg("Не могу работать!") wait(5000) wend while uo.count('0x1766') < 20 uo.findtype('0x1766','-1','ground') if uo.findcount() then uo.moveitem('finditem','5','backpack') wait(500) else uo.print("Нет ткани на полу!") uo.msg("Не могу работать!") wait(5000) endif wend while uo.skillval('Tailoring',1) >= stop*10 uo.msg("Стоп-отметка! Скилл прокачался до "+str(stop)) wait(3000) wend end sub Sub eda() uo.findtype(food) if uo.findcount() then uo.usetype(food) else uo.print("Нет еды!") endif end sub Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Гость MEdition Жалоба Опубликовано 30 августа, 2011 Автострижка овец +1 SGK ##################### MIDDLE-EARTH.RU ########################## sub Sheeps() Uo.Set('finddistance','5') while true Uo.FindType('0x00CF','-1','ground') Uo.WaitTargetObject('finditem') Uo.UseType('0x0F51') wait(400) repeat wend end sub ##################### MIDDLE-EARTH.RU ########################## Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Гость MEdition Жалоба Опубликовано 30 августа, 2011 Перерабатывает шерсть с овец в рулоны ткани. При запуске первым таргетом указываем на прялку, а вторым на ткацкий станок. +1 Aurum ##################### MIDDLE-EARTH.RU ########################## sub wool() uo.addobject('SpinningWheel'); while uo.targeting() wait(250) wend uo.addobject('Loom'); while uo.targeting() wait(250) wend while uo.count('0x0DF8') uo.waittargetobject('SpinningWheel'); uo.usetype('0x0DF8'); wait(2000) wend while (uo.count('0x0E1F')-5)>0 uo.waittargetobject('Loom'); uo.usetype('0x0E1F'); wait(2000) wend end sub ##################### MIDDLE-EARTH.RU ########################## Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Гость MEdition Жалоба Опубликовано 20 февраля, 2012 Скрипт на пошив полного комплекта Studded брони. Спасибо Jackpot. ##################### MIDDLE-EARTH.RU ########################## sub main() sv() UO.Exec("waitmenu 'Choose' 'studded' 'What' 'Tunic'") UO.Exec("waittargettype 0x1078") #power кожа UO.Exec("useobject '^0x0F9D'") #набор для шитья all() UO.Exec("waitmenu 'Choose' 'studded' 'What' 'Leggings'") UO.Exec("waittargettype 0x1078") UO.Exec("useobject '^0x0F9D'") all() UO.Exec("waitmenu 'Choose' 'studded' 'What' 'Sleeves'") UO.Exec("waittargettype 0x1078") UO.Exec("useobject '^0x0F9D'") all() UO.Exec("waitmenu 'Choose' 'studded' 'What' 'Gloves' ") UO.Exec("waittargettype 0x1078") UO.Exec("useobject '^0x0F9D'") all() UO.Exec("waitmenu 'Choose' 'studded' 'What' 'Gorget'") UO.Exec("waittargettype 0x1078") UO.Exec("useobject '^0x0F9D'") all() UO.Exec("waitmenu 'Choose' 'Misc' 'What' 'bandana'") UO.Exec("waittargettype 0x1078") UO.Exec("useobject '^0x0F9D'") wait(3000) uo.canceltarget() UO.Exec("waitmenu 'Choose' 'female' 'What' 'Bustier'") UO.Exec("waittargettype 0x1078") UO.Exec("useobject '^0x0F9D'") all() UO.Exec("waitmenu 'Choose' 'female' 'What' 'Leather Skirt'") UO.Exec("waittargettype 0x1078") UO.Exec("useobject '^0x0F9D'") all() UO.Exec("waitmenu 'Choose' 'shoes' 'What' 'Sandals'") UO.Exec("waittargettype 0x1078") UO.Exec("useobject '^0x0F9D'") all() UO.print('full комплект сшил, начинаю снова') main() endif end sub sub Info() uo.Print('Осталось ' + str(uo.Count('0x1078')) + ' кожи в сумке') end sub sub havka() if UO.Count("0x097B")>0 then UO.usetype ("0x097B") Wait(700) else UO.Print("Еда закончилась……помру-)") end if end sub sub sv() if uo.injournal("Saving World State") then uo.deletejournal() repeat wait(5000) until uo.injournal("Saving World State complete") UO.Print("Сохранение кончилось продолжаю скрипт") end if end sub sub all() havka() Info() sv() end sub ##################### MIDDLE-EARTH.RU ########################## Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Гость zaharik Жалоба Опубликовано 24 февраля, 2012 Задержку не прописал лол ) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
nepret 0 Жалоба Опубликовано 20 сентября, 2012 Тайлор под стелс // Create by nepret // За основу брался скрипт MeSSiR'а на Inject'е из этого поста: // http://middle-earth.ru/forum/index.php?showtopic=6502&view=findpost&p=79565 ///////////////////////// MIDDLE-EARTH.RU ///////////////////////// // Скрипт для прокачки скилла Tailoring. // Работает по принципу изготовления необходимой вещи // (в зависимости от уровня скилла) и разрезания ее обратно // в ткань. // Для работы скрипта необходимо: // - Include Hungry, CheckSave, WaitConnection (http://middle-earth.ru/forum/index.php?showtopic=6676) // - Побольше ткани на пол возле себя // - Ножницы в сумку (желательно много, т.к. часто ломаются) // - Иголки (Sewing Kit) в сумке ( 1 шт. вполне хватит) // Не забудьте, что после скилла в 100 необходимо использовать // Lesser Power, Power, Greater Power и Ultimate скроллы. // Желательно для скрипта: // - Еда /////////////////////////////////////////////////////////////////// Program Tailoring; const ////////////////////// Настройка переменных /////////////////////// // stop = 120; // Стоп-отметка уровня скилла, когда нужно // будет остановить прокачку для того, чтоб // применить Power скроллы. Если не нужна, // то поставить значение 120. // /////////////////////////////////////////////////////////////////// // DebugMode = 0; // Выдавать информацию в системный журнал // Включать при отслеживании ошибок в скрипте. // ///////////////////////// Конец настроек ////////////////////////// /////////////////////////////////////////////////////////////////// var t : integer; {$Include 'all.inc'} function CheckSkill : Boolean; begin if not Connected then exit; if GetSkillValue('Tailoring') >= stop then begin AddToSystemJournal('Стоп-отметка! Скилл прокачался до: '+FloatToStrF(GetSkillValue('Tailoring'), ffgeneral, 4, 2)); ClientPrintEx(self, 190, 200, 'Стоп-отметка! Скилл прокачался до: '+FloatToStrF(GetSkillValue('Tailoring'), ffgeneral, 4, 2)); result := true; exit; end; result := false; end; procedure CheckRes; var CheckItemRes : array [0..2] of cardinal; CheckItemResInfo : array [0..2] of string; i : integer; begin CheckItemRes[0] := $0F9D; CheckItemRes[1] := $0F9E; CheckItemResInfo[0] := 'В сумке нет "Катушки с нитками"(Sewing Kit)'; CheckItemResInfo[1] := 'В сумке нет "Ножиниц"(Scissors)'; if not Connected then exit; for i := 0 to 1 do begin FindTypeEx(CheckItemRes[i], $FFFF, Backpack, True); if FindCount < 1 then begin AddToSystemJournal('>>> '+CheckItemResInfo[i]); ClientPrintEx(self, 190, 200, CheckItemResInfo[i]); td := 0; repeat if not Connected then exit; checksave; if Debug(10,1000) then AddToSystemJournal('>>> Debug <<< Блок CheckRes > 1 цикл (76)'); wait(1000); FindTypeEx(CheckItemRes[i], $FFFF, Backpack, True); until FindCount > 0; AddToSystemJournal('Продолжаем работу'); ClientPrintEx(self, 190, 200, 'Продолжаем работу'); end; end; FindTypeEx($1766, $FFFF, Ground, False); if FindFullQuantity < 20 then begin AddToSystemJournal('>>> На полу нет "Ткани"(Сut Сloths)'); ClientPrintEx(self, 190, 200, 'На полу нет "Ткани"(Сut Сloths)'); td := 0; repeat if not Connected then exit; checksave; if Debug(10,1000) then AddToSystemJournal('>>> Debug <<< Блок CheckRes > 3 цикл (93)'); wait(1000); FindTypeEx($1766, $FFFF, Ground, False); until FindFullQuantity > 100; AddToSystemJournal('Продолжаем работу'); ClientPrintEx(self, 190, 200, 'Продолжаем работу'); end; end; procedure GetCloths; var CountCloths : integer; begin FindTypeEx($1766, $FFFF, Backpack, False); if FindQuantity < 20 then begin if not Connected then exit; CountCloths := 20 - FindQuantity; FindTypeEx($1766, $FFFF, Ground, False); MoveItem(finditem, CountCloths, Backpack,0,0,0); end; td := 0; t := 0; repeat if not Connected then exit; checksave; if Debug(5,100) then AddToSystemJournal('>>> Debug <<< Блок GetCloths > 1 цикл (119)'); wait(100); t := t + 1; FindTypeEx($1766, $FFFF, Backpack, False); until (FindQuantity >= 20) or (t >= 100); end; function CheckTarget(SecTime : integer) : Boolean; var t : integer; begin SecTime := SecTime * 10; td := 0; t := 0; repeat if not Connected then exit; checksave; if Debug(SecTime/10,100) then AddToSystemJournal('>>> Debug <<< Блок CheckTarget > 1 цикл (136)'); wait(100); t := t + 1; until TargetPresent or (t >= SecTime); if t >= SecTime then result := false; if not Connected then exit; if TargetPresent then result := true; end; procedure DestroyItem; var CraftedItem : array [0..2] of cardinal; si, i : integer; begin CraftedItem[0] := $1EFD; CraftedItem[1] := $1F03; CraftedItem[2] := $0ABD; for i := 0 to 2 do begin repeat if not Connected then exit; FindTypeEx(CraftedItem[i], $FFFF, Backpack, False); if FindCount > 0 then begin si := FindCount; repeat if not Connected then exit; CheckRes; CancelTarget; UseType($0F9E, $FFFF); CheckTarget(5); until TargetPresent; FindTypeEx(CraftedItem[i], $FFFF, Backpack, False); WaitTargetObject(finditem); td := 0; t := 0; repeat if not Connected then exit; checksave; if Debug(10,100) then AddToSystemJournal('>>> Debug <<< Блок DestroyItem > 1 цикл (175)'); wait(100); FindTypeEx(CraftedItem[i], $FFFF, Backpack, False); until (FindCount < si) or (t >= 50); end; if not Connected then exit; FindTypeEx(CraftedItem[i], $FFFF, Backpack, False); until FindCount = 0; end; end; procedure Tailor; var cjtime : TDateTime; begin DestroyItem; GetCloths; repeat if not Connected then exit; CheckRes; CancelTarget; UseType($0F9D, $FFFF); CheckTarget(5); until TargetPresent; FindTypeEx($1766, $FFFF, Backpack, False); WaitTargetObject(finditem); cjtime := Now; td := 0; repeat if not Connected then exit; checksave; if Debug(10,100) then AddToSystemJournal('>>> Debug <<< Блок Tailor > 2 цикл (206)'); wait(100); until MenuPresent; if GetSkillValue('Tailoring') <= 60 then begin WaitMenu('Choose a category.','shirts'); WaitMenu('What','Fancy Shirt'); end; if GetSkillValue('Tailoring') <= 90 then begin WaitMenu('Choose','shirts'); WaitMenu('What','Robe'); end; if GetSkillValue('Tailoring') < 120 then begin WaitMenu('Choose','carpets'); WaitMenu('Select','carpet1'); WaitMenu('Select','carpet'); end; td := 0; t := 0; repeat if not Connected then exit; checksave; if Debug(10,100) then AddToSystemJournal('>>> Debug <<< Блок Tailor > 3 цикл (230)'); wait(100); t := t + 1; until (InJournalBetweenTimes('You create|You failed|You make|destroy', cjtime, Now) <> -1) or (t >= 50); if not Connected then exit; end; begin FindDistance := 1; repeat if not Connected then WaitConnection(5); if CheckSkill then exit; hungry(backpack); CheckRes; Tailor; until false; end. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Yeti 0 Жалоба Опубликовано 26 января, 2015 while uo.skillval('Tailoring',1) < 900 checkitems() uo.waitmenu('Choose','shirts','What','Robe')[/code] Внимание, в этом скрипте тэйлора от Мессира есть ошибка, которая может съесть не один десяток тысяч единиц ткани, если не заметить вовремя. При пошиве роб, очки за них даются только до 890 скилла (89.0), потом надо переходить на крафт следующей вещи. В данном скрипте это uo.waitmenu('Choose','carpets','Select','carpet1','Select','carpet') Исправить вот так: while uo.skillval('Tailoring',1) < 890 checkitems() uo.waitmenu('Choose','shirts','What','Robe') Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
bakar 0 Жалоба Опубликовано 20 апреля, 2015 sub main() uo.exec('addobject bag') while uo.targeting() wait(100) wend UO.DeleteJournal() UO.CancelMenu() UO.CancelTarget() While not Uo.Dead() part1: UO.DeleteJournal() UO.FindType('0x1F03','-1','backpack') if uo.getserial("finditem") <> "0x00000000" then UO.Exec("waittargetobject '^0x1F03'") UO.Exec("useobject '^0x0F9E'") repeat wait(100) UO.FindType('0x1766','-1','backpack') until uo.getserial("finditem") <> "0x00000000" or uo.injournal('<uninitialized object>!') or uo.injournal('I am already') wait(100) goto part1 else UO.FindType('0x1766', '-1', 'backpack') if uo.getserial("finditem") <> "0x00000000" then uo.exec("moveitem 'finditem' '' 'bag'") goto part1 else UO.FindType('0x1766','-1','bag') If UO.GetQuantity('finditem') > 15 and UO.SkillVal('Tailoring') < 650 Then UO.MoveItem( 'finditem', '16' ) repeat wait(100) UO.FindType('0x1766','-1','backpack') until uo.getserial("finditem") <> "0x00000000" UO.Exec("waitmenu 'Choose' 'shirts' 'What' 'Robe'") UO.Exec("waittargettype '0x1766'") UO.Exec("usetype '0x0F9D'") repeat wait(100) UO.FindType('0x1F03','-1','backpack') until uo.getserial("finditem") <> "0x00000000" or uo.injournal ('You failed') UO.Exec("usetype '0x097B'") goto part1 else goto part2 part2: UO.DeleteJournal() UO.FindType('0x163A','-1','backpack') if uo.getserial("finditem") <> "0x00000000" then UO.Exec("waittargetobject '^0x163A'") UO.Exec("useobject '^0x0F9E'") repeat wait(100) UO.FindType('0x1766','-1','backpack') until uo.getserial("finditem") <> "0x00000000" or uo.injournal('<uninitialized object>!') or uo.injournal('I am already') wait(100) goto part2 else UO.FindType('0x1766', '-1', 'backpack') if uo.getserial("finditem") <> "0x00000000" then uo.exec("moveitem 'finditem' '' 'bag'") goto part2 else UO.FindType('0x1766','-1','bag') If UO.GetQuantity('finditem') > 14 and UO.SkillVal('Tailoring') < 950 Then UO.MoveItem( 'finditem', '15' ) repeat wait(100) UO.FindType('0x1766','-1','backpack') until uo.getserial("finditem") <> "0x00000000" UO.Exec("waitmenu 'Choose' 'misc' 'What' 'Large Pillow'") UO.Exec("waittargettype '0x1766'") UO.Exec("usetype '0x0F9D'") repeat wait(100) UO.FindType('0x163A','-1','backpack') until uo.getserial("finditem") <> "0x00000000" or uo.injournal ('You failed') UO.Exec("usetype '0x097B'") goto part2 else goto part3 part3: UO.DeleteJournal() UO.FindType('0x0AC2','-1','backpack') if uo.getserial("finditem") <> "0x00000000" then UO.Exec("waittargetobject '^0x0AC2'") UO.Exec("useobject '^0x0F9E'") repeat wait(100) UO.FindType('0x1766','-1','backpack') until uo.getserial("finditem") <> "0x00000000" or uo.injournal('<uninitialized object>!') or uo.injournal('I am already') wait(100) goto part3 else UO.FindType('0x1766', '-1', 'backpack') if uo.getserial("finditem") <> "0x00000000" then uo.exec("moveitem 'finditem' '' 'bag'") goto part3 else UO.FindType('0x1766','-1','bag') If UO.GetQuantity('finditem') > 9 and UO.SkillVal('Tailoring') < 1200 Then UO.MoveItem( 'finditem', '10' ) repeat wait(100) UO.FindType('0x1766','-1','backpack') until uo.getserial("finditem") <> "0x00000000" UO.Exec("waitmenu 'Choose' 'carpets' 'Select' 'carpet1' 'Select' 'carpet corner'") UO.Exec("waittargettype '0x1766'") UO.Exec("usetype '0x0F9D'") repeat wait(100) UO.FindType('0x0AC2','-1','backpack') until uo.getserial("finditem") <> "0x00000000" or uo.injournal ('You failed') UO.Exec("usetype '0x097B'") goto part3 else endsub wend end sub Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты