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

Подробный макрос....

тут можно задать вопрос по скриптингу
Post Reply
Vlad$
Posts: 6
Joined: 30.10.2006 13:43

Подробный макрос....

Post by Vlad$ »

А не могбы ктони-будь написать допустим макрос на тинк, но с подробностями о каждой строке? что куда и как делается... плиз
Edred
Moderator
Moderator
Posts: 559
Joined: 28.03.2006 21:29

Post by Edred »

Нет смысла. Надо просто написать небольшой учебник. Но это после доработки хелпа на сайте.
Vlad$
Posts: 6
Joined: 30.10.2006 13:43

Post by Vlad$ »

ну вот смотрите, что я тут наколякал поправте плиз:

Code: Select all

Program HS;
procedure GotoXY(x,y,prec : integer; runflag : boolean); 
// v. 1.04 (с) Edred, скрипт портирован с инжекта 
// оригинальная версия Yoko с доработкой AGRS и Edred.
   var ld, ldc, dx, dy, mx, my : Integer; 
   begin 
      ld := 0; ldc := 0; 
      while true do 
      begin 
         dx := GetX(self) - x; if dx < 0 then dx := 0 - dx; 
         dy := GetY(self) - y; if dy < 0 then dy := 0 - dy; 
         if dy > dx then dx := dy; 
         if dx <= prec then exit; 
         mx := GetX(self); my := GetY(self); 
         dx := mx - x; if dx < 0 then dx := 0 - dx; 
         dy := my - y; if dy < 0 then dy := 0 - dy; 
         if dy > dx then dx := dy; 
         if dx <= prec then exit; 
         if ld = dx then begin 
            ldc := ldc + 1; 
            if ldc > 100 then begin addtosystemjournal( 'GotoXY: Cannot reach location!' ); exit; end; 
         end 
         else ld := dx; 
         //waitconnection(5000); 
         if mx = x then begin 
            if my = y then exit; 
            // North 
            if my > y then begin Raw_Move(0,runflag); continue; end; 
            // South 
            Raw_Move(4,runflag); continue; 
         end; 
         if mx < x then begin 
            // Northeast 
            if my > y then begin Raw_Move(1,runflag); continue; end; 
            // East 
            if my = y then begin Raw_Move(2,runflag); continue; end; 
            // Southeast 
            Raw_Move(3,runflag); continue; 
         end; 
         // Southwest 
         if my < y then begin Raw_Move(5,runflag); continue; end; 
         // West 
         if my = y then begin Raw_Move(6,runflag); continue; end; 
         // Nortwest 
         Raw_Move(7,runflag); continue; 
      end; 
   end;
Begin 
while true do 
begin 
if Hidden then 
useskill('Stealth')
GotoXY(1786,637,6,false)
wait(300)
GotoXY(1786,630,6,false)
else useskill('Hiding'); 
wait(10000); 
end; 
end.
Last edited by Vlad$ on 01.11.2006 11:44, edited 1 time in total.
Edred
Moderator
Moderator
Posts: 559
Joined: 28.03.2006 21:29

Post by Edred »

Code: Select all

GotoXY(1786,637,6,false)
А зачем здесь "6"? третий параметр - это точность подхода, нужна для ламбера, например. То есть целью указываем дерево, а точность подхода (фактически - диапазон насколько можно отклониться от цели, то есть точность 2 означает координаты цели плюс-минус 2), например, 1...
Vlad$
Posts: 6
Joined: 30.10.2006 13:43

Post by Vlad$ »

а это я забыл переправить... у меня там 0
вот что журнал пишет:

Code: Select all

18:39:32 [****]: Compiling
18:39:32 [****]: Compiler: [Error] (xz.sc at 53:1):  Identifier expected
18:39:32 [****]: Compiling failed
18:39:32 [****]: Script xz.sc stoped successfuly
Drunk Iguana
Neophyte
Neophyte
Posts: 32
Joined: 09.10.2006 13:56
Contact:

Post by Drunk Iguana »

Во первых невезде точки с запятой стоят. Во вторых

Code: Select all

If a>b then
begin
...
...
end
else
begin
...
...
end;
вот так выглядеь должно
Vlad$
Posts: 6
Joined: 30.10.2006 13:43

Post by Vlad$ »

Да, я уже допер:) спасибки
вот что вышло:

Code: Select all

Program HS;
{$Include 'all.inc'}
procedure GotoXY(x,y,prec : integer; runflag : boolean); 
// v. 1.04 (с) Edred, скрипт портирован с инжекта 
// оригинальная версия Yoko с доработкой AGRS и Edred.
   var ld, ldc, dx, dy, mx, my : Integer; 
   begin 
      ld := 0; ldc := 0; 
      while true do 
      begin 
         dx := GetX(self) - x; if dx < 0 then dx := 0 - dx; 
         dy := GetY(self) - y; if dy < 0 then dy := 0 - dy; 
         if dy > dx then dx := dy; 
         if dx <= prec then exit; 
         mx := GetX(self); my := GetY(self); 
         dx := mx - x; if dx < 0 then dx := 0 - dx; 
         dy := my - y; if dy < 0 then dy := 0 - dy; 
         if dy > dx then dx := dy; 
         if dx <= prec then exit; 
         if ld = dx then begin 
            ldc := ldc + 1; 
            if ldc > 100 then begin addtosystemjournal( 'GotoXY: Cannot reach location!' ); exit; end; 
         end 
         else ld := dx; 
         //waitconnection(5000); 
         if mx = x then begin 
            if my = y then exit; 
            // North 
            if my > y then begin Raw_Move(0,runflag); continue; end; 
            // South 
            Raw_Move(4,runflag); continue; 
         end; 
         if mx < x then begin 
            // Northeast 
            if my > y then begin Raw_Move(1,runflag); continue; end; 
            // East 
            if my = y then begin Raw_Move(2,runflag); continue; end; 
            // Southeast 
            Raw_Move(3,runflag); continue; 
         end; 
         // Southwest 
         if my < y then begin Raw_Move(5,runflag); continue; end; 
         // West 
         if my = y then begin Raw_Move(6,runflag); continue; end; 
         // Nortwest 
         Raw_Move(7,runflag); continue; 
      end; 
   end;
Begin 
while true do begin
if Hidden then
begin
useskill('Stealth')
GotoXY(1786,637,0,false);
wait(100);
GotoXY(1786,630,0,false);
end
else
begin
UseSkill('Hiding')
wait(10000)
end;
end;
end.
Last edited by Vlad$ on 01.11.2006 11:44, edited 1 time in total.
Edred
Moderator
Moderator
Posts: 559
Joined: 28.03.2006 21:29

Post by Edred »

Интересно, а почему в процедуре GotoXY пропали копирайты? :roll:
Vlad$
Posts: 6
Joined: 30.10.2006 13:43

Post by Vlad$ »

Ну если тебя это так волнует...
Cyn
Neophyte
Neophyte
Posts: 20
Joined: 22.11.2006 11:59

Post by Cyn »

Edred wrote:Интересно, а почему в процедуре GotoXY пропали копирайты? :roll:
:)
no soy gringo!
Edred
Moderator
Moderator
Posts: 559
Joined: 28.03.2006 21:29

Post by Edred »

Cyn wrote: :)
В этом нет ничего смешного, я достаточно серьезно отношусь к таким вещам.
Post Reply