Перейти к содержанию
Форум шарда Middle-Earth
Авторизация  
nepret

[Stealth] Meditation

Рекомендуемые сообщения

// Create by nepret
///////////////////////// MIDDLE-EARTH.RU /////////////////////////
// Скрипт для прокачки скилла Meditation.
// Работает по принципу: сняли драгон вещь , одели, начали медетировать,
// как только медитация удалась, повтаряем круг с начала.
// 
// Для работы скрипта необходимо:
// - Include Hungry, CheckSave, WaitConnection (http://middle-earth.ru/forum/index.php?showtopic=6676)
// - 1 Драгон шмотку (одежда или кнут, всё равно)                                          
// - Еда (настравеваеться в инклюде Hungry)
///////////////////////////////////////////////////////////////////
Program Meditation;
const
////////////////////// Настройка переменных ///////////////////////
                  //
                  // Стоп-отметка уровня скилла.
stop = 100;       // Доступный уровень прокачки медитации для 
                  // вашего класса, можно посмотреть тут:
                  // http://uo.middle-earth.ru/?menu=library&item=classes
///////////////////////// Конец настроек //////////////////////////
//////////////////////////////////////////////////////////////////

{$Include 'hungry.inc'}
{$Include 'waitconnection.inc'}
{$Include 'CheckSave.inc'}

function SaveLayer : Boolean;
var
NLayer : array [0..9] of byte;
var
i, LCount : integer;
begin
  NLayer[0] := RhandLayer;
  NLayer[1] := ShirtLayer;
  NLayer[2] := EggsLayer;
  NLayer[3] := PantsLayer;
  NLayer[4] := ArmsLayer;
  NLayer[5] := NeckLayer;
  NLayer[6] := HatLayer;
  NLayer[7] := GlovesLayer;
  NLayer[8] := TorsoLayer;
  NLayer[9] := ShoesLayer;
  for i := 0 to 9 do
    begin
      if ObjAtLayer(NLayer[i]) > 0 then
        begin
          SetDress;
          LCount := LCount + 1;
          break;
        end;
    end;
  if LCount = 0 then
    begin
      AddToSystemJournal('>>> На чаре нет драгон одёжки!');
      exit;
    end; 
  result := true;
end;

procedure Medit;
var
time : TDateTime;
t : integer;
begin
  if MaxMana > Mana then
    begin
      repeat
        time := Now;
        CheckSave;
        UseSkill('Meditation');
        t := 0;
        repeat
          wait(100);
          CheckSave;
          t := t + 1;
        until (InJournalBetweenTimes('You are unable to concentrate|Points gained!|You stop meditating', time, Now) <> -1) or (t >= 150) or (MaxMana = Mana); 
      until (FoundedParamID > 0) or (MaxMana = Mana); 
    end;   
end;

function CheckSkill : Boolean;
begin
  if not Connected then exit;
  if GetSkillValue('Meditation') >= stop then
    begin
      AddToSystemJournal('Стоп-отметка! Скилл прокачался до: '+FloatToStrF(GetSkillValue('Meditation'), ffgeneral, 4, 2));
      ClientPrintEx(self, 190, 200, 'Стоп-отметка! Скилл прокачался до: '+FloatToStrF(GetSkillValue('Meditation'), ffgeneral, 4, 2));
      result := true;
      exit;
    end;
end;


begin
  SetARStatus(true);
  SetPauseScriptOnDisconnectStatus(false);
  if not Connected then waitconnection(10);
  DressSpeed := 0;
  if not SaveLayer then exit;
  repeat
    if CheckSkill then
      begin
        SetARStatus(true);
        Disconnect;
        exit;
      end;
    Hungry(Backpack);
    if not Connected then waitconnection(10);
    Checklag(10);
    Medit;
    CheckSave;
    Checklag(10);
    UnDress;
    wait(1000);
    CheckSave;
    Checklag(10);     
    EquipDressSet;
    wait(1000);
  until false;
end.
 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Авторизация  

×
×
  • Создать...