Forum in READ ONLY mode! All questions and discussions on Discord official server, invite link: https://discord.gg/VxsGzJ7

Magic Resistance (DRW)

тут можно задать вопрос по скриптингу
Post Reply
Maruk
Neophyte
Neophyte
Posts: 19
Joined: 05.11.2009 2:24

Magic Resistance (DRW)

Post by Maruk »

Ребята поделитесь скриптом. В поиске был, ничего подходящего не нашел.
WladL
Apprentice
Apprentice
Posts: 240
Joined: 27.07.2009 17:21
Location: DRW
Contact:

Post by WladL »

нужно 2 чара, стоят на расстоянии не более 5 клеток(например по углам домика-сортира)
1- у которого качаем резист,пускаем скрип Heal
{в паке должны быть бинты и вода}

2-стоит рядом с сундуком в котором лежат реги для Magic Arrow
желательно нацепить на него шруду и браслет регенерации маны(для ускорения медитации)

Code: Select all

Program Heal;
// ============
//=crafted by WladL=
//=============
{$Include 'All.inc'}

Function PauseStatus:Boolean;
begin 
Result:=GetGlobal('stealth','Agressor')='0';
end;  
  

procedure CheckStop;
begin 
while GetGlobal('stealth','Agressor')='0' do
	wait(1000);
end;

procedure ScriptStop;
begin 
SetGlobal('stealth','Healer','0');
end;  

procedure ScriptGo;
begin 
SetGlobal('stealth','Healer','1');
end;

function Healing:Boolean;
var
Water:Cardinal;
begin 
Result:=false;
while (HP<MaxHP) and PauseStatus do begin 
	WaitTargetSelf;
	UseObject(FindType($0E21,backpack));
	wait(1000); 
	WaitJournalLine(now,'bloody|barely',70000);
end;
Water:=FindType($1008,backpack);
if (Water=0) then exit;
while (FindType($0E20,backpack)>0) do begin 
	TargetToObject(Water);
	UseObject(FindItem);
	CheckSave;
	wait(1000);
end;
Result:=FindType($0E21,backpack)>0;
end;  
  

begin 
ScriptGo;
while (not dead) do begin 
	AddToSystemJournal('Pause - Agressor( '+GetGlobal('stealth','Agressor')+' ), Healer( '+GetGlobal('stealth','Healer')+' )');
	if PauseStatus or (Life<28) then begin 
		AddToSystemJournal('HP - '+IntToSTR(HP));
		ScriptStop;
		if Healing then
			ScriptGo
		else
			break;
	end;
	wait(1000);
end;  

end.

Code: Select all

program MA;
// ============
//=crafted by WladL=
//=============
{$Include 'All.inc'}

const
Box=$401771F9; //сундук с регами

var
Enemy:Cardinal;
i:Integer;

function OpenBox(Box:Cardinal):Boolean;
begin
Result:=false;
if  (GetDistance(Box) =-1) OR (GetDistance(Box) > 3) then begin 
  AddToSystemJournal('Box not found or too big distance.');
  exit;
end;
while FindType($FFFF,Box)=0 do begin 
	UseObject(Box);
	wait(1000);
                CheckSave;
end; 
AddToSystemJournal('Box open...');
Result:=true; 
end;

function GetReags:boolean;
begin
result:=false;
if (Count(NS)<=1) then begin
                if not OpenBox(Box) then exit;
	FindType(NS,Box);
	if (FindCount>0) then begin 
		AddToSystemJournal('GetReags...NS');
		MoveItem(finditem,300,backpack,0,0,0);
		wait(1000);
		CheckSave;
		wait(1000);
	end else exit;
end;

if (Count(BP)<=1) then begin
                if not OpenBox(Box) then exit;
	FindType(BP,Box);
	if (FindCount>0) then begin 
		AddToSystemJournal('GetReags...BP');
		MoveItem(finditem,300,backpack,0,0,0);
		wait(1000);
		CheckSave;
		wait(500);
	end else exit;
end;
result:=true;
end;

procedure Medit(ManaCount:Integer);
begin
AddToSystemJournal('Medit...');
	while (Mana < MaxMana) do begin
		UseSkill('Meditation');
		wait(1000);
	end;
end;

procedure ScriptStop;
begin 
SetGlobal('stealth','Agressor','0');
end;  

procedure ScriptGo;
begin 
SetGlobal('stealth','Agressor','1');
end; 

procedure CheckStop;
begin 
while GetGlobal('stealth','Healer')='0' do
	wait(500);
ScriptGo;
end;

begin 
FindDistance:=5;
ignore(self);
Enemy:=0;
i:=0;
while (Enemy=0) AND (I < 20) do begin 
	Enemy:=FindType($0190,ground);
                if Enemy=0 then
                     Enemy:=FindType($0191,ground);
	wait(500);
	i:=i+1;
end;

if Enemy>0 then
  AddToSystemJournal('Enemy is '+GetName(Enemy))
else begin
  AddToSystemJournal('No Enemy');
  exit;
end;
if not GetReags then begin 
    AddToSystemJournal('Reagents not found');
    exit;
end;  
while (not dead) and (BPCount>0)and (NScount>0) do begin
	CheckStop;
	
	//if TargetPresent then CancelTarget;
	if (Mana<10) then begin 
		ScriptStop;
		Medit(MaxMana);
		ScriptGo;
	end;
	CheckStop;
	if (BPCount>0)and (NScount>0) then begin  
		TargetToObject(Enemy);
		Cast('Magic Arrow');
		CheckSave;
		wait(4000);
	end;
	if not GetReags then begin 
                     AddToSystemJournal('Reagents not found');
                     break;
                end;
end;
	
end.
Last edited by WladL on 06.11.2009 13:05, edited 5 times in total.
Maruk
Neophyte
Neophyte
Posts: 19
Joined: 05.11.2009 2:24

Post by Maruk »

Скрипт включил, а как его запустить ?
WladL
Apprentice
Apprentice
Posts: 240
Joined: 27.07.2009 17:21
Location: DRW
Contact:

Post by WladL »

Обнови скрипт MА (внес изменения)
просто ставишь 2 чара на расстояние не более 5и клеток друг от друга, Heal пускаем у того кому резист качаем, MA у того кто будет кастовать(он должен стоять возле ящика с регами (для каста Magic Arrow) Box=$401771F9; //сундук с регами не забудь внести ИД своего ящика
).

ах да, замени в папке Include содержимое файла CheckSave.inc на вот это (под DRW).

Code: Select all

procedure CheckSave; 
var Time : TDateTime; 
begin 
Time:= Now - (0.5 / 1440); 
if InJournalBetweenTimes('World is saving now...',Time,Now) >= 0 then 
	WaitJournalLine(now, 'World data saved', 150000); 
end;
Maruk
Neophyte
Neophyte
Posts: 19
Joined: 05.11.2009 2:24

Post by Maruk »

Все гуд, только проблема с добором регов, пишет Reagents not found и скрипт останавливается.
id сундука прописал...
Может что еще в инклюдах надо прописать ?
WladL
Apprentice
Apprentice
Posts: 240
Joined: 27.07.2009 17:21
Location: DRW
Contact:

Post by WladL »

Обновил еще раз MA (добавил контрольное сообщение на открытие сундука), замени. Чар должен стоять не дальше 3х клеток от сундука.
Maruk
Neophyte
Neophyte
Posts: 19
Joined: 05.11.2009 2:24

Post by Maruk »

Спасибо все работает!
chencho
Neophyte
Neophyte
Posts: 15
Joined: 23.09.2010 15:07

Re: Magic Resistance (DRW)

Post by chencho »

не работает хил
скрипт запускается но не лечит
nepopus
Novice
Novice
Posts: 121
Joined: 29.02.2012 23:45
Location: Москва
Contact:

Re: Magic Resistance (DRW)

Post by nepopus »

chencho wrote:не работает хил
скрипт запускается но не лечит
Больше информации. Что в паке? Что пишет в журнал? Какие стадии проходит до смерти или до зависания?
<( o_O<) <( O_O )> (>O_o )>
chencho
Neophyte
Neophyte
Posts: 15
Joined: 23.09.2010 15:07

Re: Magic Resistance (DRW)

Post by chencho »

в паке бинты и тазик с водой
пишет:
01:44:54:924 [stasa]: Pause - Agressor( 1 ), Healer( 1 )
01:44:55:926 [stasa]: Pause - Agressor( 1 ), Healer( 1 )
01:44:56:991 [stasa]: Pause - Agressor( 1 ), Healer( 1 )
01:44:57:991 [stasa]: Pause - Agressor( 1 ), Healer( 1 )
01:44:58:995 [stasa]: Pause - Agressor( 1 ), Healer( 1 )
01:44:59:998 [stasa]: Pause - Agressor( 1 ), Healer( 1 )
01:45:01:002 [stasa]: Pause - Agressor( 1 ), Healer( 1 )
01:45:02:009 [stasa]: Pause - Agressor( 1 ), Healer( 1 )
Post Reply