Page 1 of 1

Magery. Help me/

Posted: 16.01.2012 3:46
by Delmar
Люди, помогите пожалуйста вписать сюда добор НСа с суднука...
Благодарен заренее.

// Magery script fo DRW. crafted by Sevenamber
Program Magery;

{$Include 'all.inc'}

var
mtime : TDateTime;
tmana: integer;
i:integer;

const
minLimOfMana=14;// минимальный уровень маны, после которого начинаем медитировать
CastSpell='Poison';
eat=$160A;// тип еды
NS = $0F88;// тип NS

procedure medium;// медитируем
begin
if connected then
repeat
mtime:=Now;
UseSkill('Meditation');
repeat
checksave;
until ((InJournalBetweenTimes('concentration|peace', mtime, Now)<>-1) or (Mana=Int) or (dead) or (not connected));
until ((InJournalBetweenTimes('You are at peace', mtime, Now)<>-1) or dead or (not connected));
UseObject(FindType(eat,Backpack));
end;

procedure Wait_Target(time_ms:Cardinal);
var
TempTime,SumTime:Cardinal;
begin
SumTime:=0;
repeat
checksave;
TempTime:=Timer;
SumTime:=SumTime+(Timer-TempTime);
until ((targetpresent) or (dead) or (not connected) or (SumTime>time_ms));
end;

begin
clearjournal;
SetARStatus(true);
while not Dead do
begin
while not connected do wait(1000);
checksave;
tmana:=Mana;
if Mana > minLimOfMana then
begin
if TargetPresent then CancelTarget;
// подсчёт NS
i := Count(NS);
addtosystemjournal('осталось: ' + inttostr(i) +' NS');
//
cast(CastSpell);
Wait_Target(10000);
WaitTargetSelf;
repeat
checksave;
until ((tmana>Mana) or (not connected) or dead);
end
else medium;
end;
end.

Re: Magery. Help me/

Posted: 16.01.2012 9:37
by Kynep
Чем ковыряться в чужом, лучше выложу свой.

http://stealth.od.ua/forum/viewtopic.php?f=3&t=2060

Re: Magery. Help me/

Posted: 16.01.2012 14:24
by Vargul
Delmar wrote:Люди, помогите пожалуйста вписать сюда добор НСа с суднука...
Благодарен заренее.

// Magery script fo DRW. crafted by Sevenamber
Program Magery;

{$Include 'all.inc'}

var
mtime : TDateTime;
tmana: integer;
i:integer;

const
minLimOfMana=14;// минимальный уровень маны, после которого начинаем медитировать
CastSpell='Poison';
eat=$160A;// тип еды
NS = $0F88;// тип NS
Color_NS=$0000;
Sunduk=Сюда айдишник сундука пропиши на подобие $4006EC55;

procedure medium;// медитируем
begin
if connected then
repeat
mtime:=Now;
UseSkill('Meditation');
repeat
checksave;
until ((InJournalBetweenTimes('concentration|peace', mtime, Now)<>-1) or (Mana=Int) or (dead) or (not connected));
until ((InJournalBetweenTimes('You are at peace', mtime, Now)<>-1) or dead or (not connected));
UseObject(FindType(eat,Backpack));
end;

procedure Check_NS;//Добирает 200 NSa из сундука
begin
FindType(NS,Backpack);
if (FindCount=0) OR (Count(NS)<30) then
begin
UseObject(Sunduk);
wait(1250);
FindType(NS,Sunduk);
if (FindCount>0) and (CountEx(NS,Color_NS,Sunduk)>200) then
begin
MoveItem(FindItem,200,Backpack,0,0,0);
wait(1250);
AddToSystemJournal('Добрали 200 NS. Осталось ещё '+IntToStr(CountEx(NS,Color_NS,Sunduk))+' NS.');
end
else
AddToSystemJournal('Больше нет NS.');
exit;
end
end;


procedure Wait_Target(time_ms:Cardinal);
var
TempTime,SumTime:Cardinal;
begin
SumTime:=0;
repeat
checksave;
TempTime:=Timer;
SumTime:=SumTime+(Timer-TempTime);
until ((targetpresent) or (dead) or (not connected) or (SumTime>time_ms));
end;

begin
clearjournal;
SetARStatus(true);
while not Dead do
begin
while not connected do wait(1000);
checksave;
tmana:=Mana;
if Mana > minLimOfMana then
begin
if TargetPresent then CancelTarget;
// добор NS
Check_NS;
//
cast(CastSpell);
Wait_Target(10000);
WaitTargetSelf;
repeat
checksave;
until ((tmana>Mana) or (not connected) or dead);
end
else medium;
end;
end.
Так попробуй, только пропиши айди сундука где лежит НС, в константах я добавил