nepret 0 Жалоба Опубликовано 19 октября, 2012 // Create by nepret ///////////////////////// MIDDLE-EARTH.RU ///////////////////////// // Скрипт для прокачки скилла Blacksmithinging. // Работает по принципу изготовления необходимой вещи // (в зависимости от уровня скилла) и разрезания ее обратно // в инги. // Для работы скрипта необходимо: // - Include Hungry, CheckSave, WaitConnection, CheckTarget, Debug (http://middle-earth.ru/forum/index.php?showtopic=6676) // - Побольше ингов на пол возле себя (одного типа!) // - Щипцов // - Молоток // Не забудьте, что после скилла в 100 необходимо использовать // Lesser Power, Power, Greater Power и Ultimate скроллы. // Желательно для скрипта: // - Еда /////////////////////////////////////////////////////////////////// Program Blacksmithinging; const ////////////////////// Настройка переменных /////////////////////// // stop = 120; // Стоп-отметка уровня скилла, когда нужно // будет остановить прокачку для того, чтоб // применить Power скроллы. Если не нужна, // то поставить значение 120. // /////////////////////////////////////////////////////////////////// // DebugMode = 0; // Выдавать информацию в системный журнал // Включать при отслеживании ошибок в скрипте. // ///////////////////////// Конец настроек ////////////////////////// /////////////////////////////////////////////////////////////////// var t : integer; {$Include 'all.inc'} function CheckSkill : Boolean; begin if not Connected then exit; if GetSkillValue('Blacksmithing') >= stop then begin AddToSystemJournal('Стоп-отметка! Скилл прокачался до: '+FloatToStrF(GetSkillValue('Blacksmithing'), ffgeneral, 4, 2)); ClientPrintEx(self, 190, 200, 'Стоп-отметка! Скилл прокачался до: '+FloatToStrF(GetSkillValue('Blacksmithing'), ffgeneral, 4, 2)); result := true; exit; end; result := false; end; procedure GetIngotos; var CountIngotos : integer; begin FindTypeEx($1BF2, $FFFF, Backpack, False); if FindQuantity < 30 then begin if not Connected then exit; CountIngotos := 30 - FindQuantity; FindTypeEx($1BF2, $FFFF, Ground, False); MoveItem(finditem, CountIngotos, Backpack,0,0,0); end; td := 0; t := 0; repeat if not Connected then exit; checksave; if Debug(5,100) then AddToSystemJournal('>>> Debug <<< Блок GetIngotos > 1 цикл (69)'); wait(100); t := t + 1; FindTypeEx($1BF2, $FFFF, Backpack, False); until (FindQuantity >= 30) or (t >= 100); end; procedure CheckRes; var CheckItemRes : array [0..2] of cardinal; CheckItemResInfo : array [0..2] of string; i : integer; begin CheckItemRes[0] := $13E3; CheckItemRes[1] := $1EBC; CheckItemResInfo[0] := 'В сумке нет "Молота"(Smiths Hammer)'; CheckItemResInfo[1] := 'В сумке нет "Щипцов"(Tongs)'; 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 цикл (98)'); wait(1000); FindTypeEx(CheckItemRes[i], $FFFF, Backpack, True); until FindCount > 0; AddToSystemJournal('Продолжаем работу'); ClientPrintEx(self, 190, 200, 'Продолжаем работу'); end; end; FindTypeEx($1BF2, $FFFF, Ground, False); if FindFullQuantity < 20 then begin AddToSystemJournal('>>> На полу нет "Ингов"(Ingotos)'); ClientPrintEx(self, 190, 200, 'На полу нет "Ингов"(Ingotos)'); td := 0; repeat if not Connected then exit; checksave; if Debug(10,1000) then AddToSystemJournal('>>> Debug <<< Блок CheckRes > 3 цикл (115)'); wait(1000); FindTypeEx($1BF2, $FFFF, Ground, False); until FindFullQuantity > 100; AddToSystemJournal('Продолжаем работу'); ClientPrintEx(self, 190, 200, 'Продолжаем работу'); end; FindTypeEx($0FBB, $FFFF, Backpack, False); if FindCount < 1 then begin GetIngotos; repeat if not Connected then exit; CancelTarget; UseType($1EBC, $FFFF); CheckTarget(5); until TargetPresent; FindTypeEx($1BF2, $FFFF, Backpack, False); WaitTargetObject(finditem); WaitMenu('Select','Tools'); WaitMenu('Select','Tongs'); repeat wait(100); CheckSave; FindTypeEx($0FBB, $FFFF, Backpack, False); if not Connected then exit; until FindCount > 0; end; end; procedure DestroyItem; var CraftedItem : array [0..3] of cardinal; si, i : integer; begin CraftedItem[0] := $13B5; CraftedItem[1] := $13BB; CraftedItem[2] := $1413; CraftedItem[3] := $141A; for i := 0 to 3 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($0FBB, $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 цикл (177)'); wait(100); FindTypeEx(CraftedItem[i], $FFFF, Backpack, False); until (FindCount < si) or (t >= 150); end; if not Connected then exit; FindTypeEx(CraftedItem[i], $FFFF, Backpack, False); until FindCount = 0; end; end; procedure Blacksmithing; var cjtime : TDateTime; begin DestroyItem; GetIngotos; repeat if not Connected then exit; CheckRes; CancelTarget; UseType($13E3, $FFFF); CheckTarget(5); until TargetPresent; FindTypeEx($1BF2, $FFFF, Backpack, False); WaitTargetObject(finditem); cjtime := Now; td := 0; repeat if not Connected then exit; checksave; if Debug(10,100) then AddToSystemJournal('>>> Debug <<< Блок Blacksmithing > 2 цикл (208)'); wait(100); until MenuPresent; if GetSkillValue('Blacksmithing') < 55 then begin WaitMenu('What','Weapons'); WaitMenu('Select','Swords'); WaitMenu('Select','Scimitar'); end; if (GetSkillValue('Blacksmithing') < 74) and (GetSkillValue('Blacksmithing') >= 55) then begin WaitMenu('What','Armor'); WaitMenu('Select','Chainmail'); WaitMenu('Select','Chainmail Coif'); end; if (GetSkillValue('Blacksmithing') < 100) and (GetSkillValue('Blacksmithing') >= 74) then begin WaitMenu('What','Armor'); WaitMenu('Select','Platemail'); WaitMenu('Select','Platemail Gorget'); end; if (GetSkillValue('Blacksmithing') < 120) and (GetSkillValue('Blacksmithing') >= 100) then begin WaitMenu('What','Armor'); WaitMenu('Select','Platemail'); WaitMenu('Select','Dwarven Platemail Legs'); end; td := 0; t := 0; repeat if not Connected then exit; checksave; if Debug(10,100) then AddToSystemJournal('>>> Debug <<< Блок Blacksmithing > 3 цикл (240)'); wait(100); t := t + 1; until (InJournalBetweenTimes('You create|You failed|You make|destroy', cjtime, Now) <> -1) or (t >= 150); if not Connected then exit; end; begin SetARStatus(true); SetPauseScriptOnDisconnectStatus(false); FindDistance := 1; repeat if not Connected then WaitConnection(5); if CheckSkill then exit; hungry(backpack); CheckRes; Blacksmithing; until false; end. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
lolkin 0 Жалоба Опубликовано 19 октября, 2012 Выгрузи сразу инклюды под него, чета не пашет... кароче беда вот такая - Compiler: [Error] (BS качать.sc at 64:3): Unknown identifier 'td' Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
nepret 0 Жалоба Опубликовано 19 октября, 2012 Выгрузи сразу инклюды под него, чета не пашет... кароче беда вот такая - Compiler: [Error] (BS качать.sc at 64:3): Unknown identifier 'td' забыл про дебаг инклюд... подправил первый пост надо добавить в папку с инклюдами, мой дебагер http://middle-earth.ru/forum/index.php?s=&...ost&p=81414 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
lolkin 0 Жалоба Опубликовано 19 октября, 2012 забыл про дебаг инклюд... подправил первый пост надо добавить в папку с инклюдами, мой дебагер http://middle-earth.ru/forum/index.php?s=&...ost&p=81414 он был... пишет тоже самое Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
nepret 0 Жалоба Опубликовано 19 октября, 2012 он был... пишет тоже самое он прописан в all.inc? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты