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

Скрипт на сортировку карт по лвлам.

тут можно задать вопрос по скриптингу
Post Reply
soulen
Neophyte
Neophyte
Posts: 18
Joined: 16.01.2012 13:29

Скрипт на сортировку карт по лвлам.

Post by soulen »

Доброго времени суток. Написал вот такой вот простенький скриптик:

Code: Select all

program sort;
{$Include 'all.inc'}
const
tmap = $14ED ;
tomap = $14EB ; 
lvl4 = $5DD0037D ;
lvl5 = $5DDB0C46 ;
trash = $6208561A ;
mysor = $61ED10F7 ;
Sunduk_With_Maps =  $5DDA79BA ;

var
stime : TDateTime; 
MapID : Cardinal;


procedure Get_Map;
begin
   FindType(TOmap,Backpack);
   if FindCount=0 then
     begin
       UseObject(Sunduk_With_Maps);
       wait(1000);
       FindType(TOMap,Sunduk_With_Maps);
       if FindCount>0 then
         begin
           MoveItem(FindItem,1,Backpack,0,0,0);
           wait(1000);
           UseObject(FindItem);
           wait(1000);
         end;
     end;
   MapID:=FindType(TOmap,Backpack);
end;


procedure checkmap;
begin
 Get_Map;
  ClickOnObject (MapID);
  wait (500);
   if Pos ('lvl 5', GetToolTip(MapID)) <> 1  then
    MoveItem (MapID,FindQuantity,lvl5,0,0,0)
     else        
      ClickOnObject (MapID);
       if GetToolTip(MapID) ='lvl4' then
        MoveItem (MapID,1,lvl4,0,0,0)   
          else 
           ClickOnObject (MapID);
            if GetToolTip(MapID) ='lvl3' then
             MoveItem (MapID,1,mysor,0,0,0)  
              else 
               ClickOnObject (MapID);
                if GetToolTip(MapID) ='lvl2' then
                 MoveItem (MapID,1,mysor,0,0,0)  
                  else 
                   ClickOnObject (MapID);
                    if GetToolTip(MapID) ='lvl1' then
                     MoveItem (MapID,1,mysor,0,0,0) 
end;
 

procedure opening;
begin
 repeat 
  checkmap;
  findtype (tmap,backpack);
  if findcount > 0 then
   begin
   checksave;
   useobject (Findtype($14ED,backpack));
   wait(200);
   end;
  until (false);
 end;


begin
 repeat
  opening;
 until (false);
End.
Собственно проблема в следующем, он у меня берет карту из сундука (хотя изначально хотелось чтоб он прям в паке открывал и сортировал) смотрит ее и кладет в сумку для 5 лвла, потом в сумку для 4 лвла потом перекладывает в мусор, независимо от лвла карты((( Перепробовал кучу вариантов... Либо вообще не кладет, либо перекидывает по сумкам( Помогите написать проверку выполнения условия.
MuDaCk
Apprentice
Apprentice
Posts: 393
Joined: 10.10.2006 0:03
Contact:

Re: Скрипт на сортировку карт по лвлам.

Post by MuDaCk »

То, что бросается в глаза:

Code: Select all

            if GetToolTip(MapID) ='lvl3' then
             MoveItem (MapID,1,mysor,0,0,0)  
              else 
               ClickOnObject (MapID);
                if GetToolTip(MapID) ='lvl2' then
                 MoveItem (MapID,1,mysor,0,0,0)  
                  else 
                   ClickOnObject (MapID);
                    if GetToolTip(MapID) ='lvl1' then
                     MoveItem (MapID,1,mysor,0,0,0)
Подозреваю что майсор это мусорный контейнер... Тогда что такое trash...
My name is Игорёшка Image
Пишу скрипты за едуImage
soulen
Neophyte
Neophyte
Posts: 18
Joined: 16.01.2012 13:29

Re: Скрипт на сортировку карт по лвлам.

Post by soulen »

да это не суть важно... я когда писал, сначала выкидывал сразу в треш... так он собака все карты 5 лвла повыкидывал))
MuDaCk
Apprentice
Apprentice
Posts: 393
Joined: 10.10.2006 0:03
Contact:

Re: Скрипт на сортировку карт по лвлам.

Post by MuDaCk »

Ты пробовал в сисжурнал выводить

Code: Select all

GetToolTip(MapID)
?
My name is Игорёшка Image
Пишу скрипты за едуImage
soulen
Neophyte
Neophyte
Posts: 18
Joined: 16.01.2012 13:29

Re: Скрипт на сортировку карт по лвлам.

Post by soulen »

не совсем понял, зачем в сисжурнал выводить?
MuDaCk
Apprentice
Apprentice
Posts: 393
Joined: 10.10.2006 0:03
Contact:

Re: Скрипт на сортировку карт по лвлам.

Post by MuDaCk »

Чтобы узнать это весь текст или только часть

Code: Select all

GetToolTip(MapID) ='lvl1' 
Если это только часть, то попробуй BMsearch
My name is Игорёшка Image
Пишу скрипты за едуImage
Post Reply