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

Рыбалка по рунам.

тут можно задать вопрос по скриптингу
Post Reply
Jikus
Posts: 6
Joined: 02.10.2005 12:21

Рыбалка по рунам.

Post by Jikus »

Не испытывал (нет возможности), писал в целях обучения паскалю. Первый скрипт на паскале … Ногами не пинать. Кстати паскаль в Stealth ООП или нет, я так и не понял.
Если найдется тестер, буду очень благодарен.

Code: Select all

// -----------------------------------------------------------------------------------
// Stealth Client  * Fiching * [ANTARES] Jikus 2005
// -----------------------------------------------------------------------------------

Program Fiching; 

var
          i : Integer;  
       Rune : Array[1..3] of Cardinal;

const
   FichPack = $FFFFFFFF; // <<<<< EDIT
    RegPack = $FFFFFFFF; // <<<<< EDIT
   RuneBank = $FFFFFFFF; // <<<<< EDIT

     NormaR = 5;
   PoleType = $0DBF;
 DaggerType = $0F51;
   AllColor = $FFFF;

procedure Fich; 
var
 ex, x, y : Integer;
    sTime : TDateTime;

begin 
	for x:=-6 to 6 do
	begin
		for y:=-6 to 6 do 
		begin
			repeat

				ToHide;

				sTime := Now;
				UseObject( FindType( PoleType, backpack ));
				TargetToTile( 1341,( GetX( Self ) + x ),( GetY( Self ) + y ),0 );
				WaitJournalLine( sTime, 'no fish here|You fish a while|location|far away|in water|You pull|elsewhere|found|perform', 6000);

				if InJournalBetweenTimes( 'You pull', sTime, Now ) >= 0 then
					F_Fish_Grab;
				if Weight > ( Str*4+29 ) then
					Exit;
				
				ex := InJournalBetweenTimes( 'no fish here|location|far away|in water|elsewhere', sTime, Now );

			until ( ex >= 0 );
		end;
	end;
end;


procedure BankGrab; 
begin
	UOSay('Bank Buy Guards Yoo');
	wait(500);
	UseObject( RegPack );
	wait(500);

	if Count( BM ) < NormaR then
		Grab( BM, ( NormaR - Count( BM ) ) );
	if Count( BP ) < NormaR then
		Grab( BP, ( NormaR - Count( BP ) ) );
	if Count( MR ) < NormaR then
		Grab( MR, ( NormaR - Count( MR ) ) );
end;


procedure BankDrop; 
begin 
	UOSay('Bank Buy Guards Yoo');
	wait(500);
	MoveItems( backpack, $097A, AllColor, FichPack, 100, 20, 20, 200 );
end;


procedure Recall( rune ); 
var
  sTime : TDateTime;

begin 
	sTime := Now;
	AddToSystemJournal( 'Recall' );
	if Count( BM ) and Count( BP ) and Count( MR ) then
		Cast('Recall');
		WaitTargetObject( rune );
		WaitJournalLine( Now, CharName+': The spell fizzles', 6000 );
		if InJournalBetweenTimes( CharName+': The spell fizzles', sTime, Now ) >= 0 then
			Recall( rune );
	else
		AddToSystemJournal( 'ERROR: Recall' );
end;


procedure ToHide; 
begin 
	if Hidden then 
		Exit;
	else
		begin
			UseSkill('Hiding');
			WaitJournalLine( Now, 'You have|You can', 6000 );
		end;
	ToHide;
end;


procedure F_Fish_Grab; 
var
 fish : Array[1..3] of Cardinal;
    i : Integer; 

begin 
	FindDistance := 2;
	fish[1]:=$09CC; 
	fish[2]:=$09CF; 
	fish[3]:=$09CE; 

	for i := 1 to 3 do
	begin
		f := FindTypeEx( fish[a], AllColor, ground, false );
		if f then
		begin
			UseObject( FindType( DaggerType, backpack ) );
			WaitTargetGround( f );
			Grab( FindTypeEx( $097A, AllColor, ground, false ) );
			wait(200);
		end;
	end;
end;


procedure Meditation; 
begin 
	while int > mana to do
	begin
		AddToSystemJournal( 'Meditation' );
		UseSkill( 'Meditation' );
		WaitJournalLine( Now, 'You are|You lose', 6000 );
		wait(200);
	end;
end;


Begin
// 
	Rune[1]:=$FFFFFFFF; // <<<<< EDIT
	Rune[2]:=$FFFFFFFF; // <<<<< EDIT
	Rune[3]:=$FFFFFFFF; // <<<<< EDIT
	Rune[4]:=$FFFFFFFF; // <<<<< EDIT
	Rune[5]:=$FFFFFFFF; // <<<<< EDIT
	Rune[6]:=$FFFFFFFF; // <<<<< EDIT
	Rune[7]:=$FFFFFFFF; // <<<<< EDIT
	Rune[8]:=$FFFFFFFF; // <<<<< EDIT
	Rune[9]:=$FFFFFFFF; // <<<<< EDIT

	SetARStatus( true );
	ClearJournal;

	while not Dead do
	begin
		for i := 1 to 9 do
		begin
			BankGrab;
			Meditation;
			Recall( Rune[i] );
			Fich;
			Recall( RuneBank );
			BankDrop;
		end;
	end;

End.
Deidan
Posts: 8
Joined: 07.04.2005 18:41

Post by Deidan »

Я потестю его позже Джик. Кстати чегов аське морозишься? )
Post Reply