Раскладка карт.

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
Night Wolf
Posts: 26
Joined: 2005-01-12 13:33:49

Раскладка карт.

Post by Night Wolf »

Скрипт от , по-моему, Асканели: проблема в том, что он начинает раскладывать карты, разложит парочку и останавливается. Остановка происходит после того как он положит карту в нужный мешок. Для продолжения работы скрипта нужно переложить какую нибудь вещь из одного сундука в другой. Пробовал увеличить задержки в 2 раза, не помогло.

Code: Select all

###Он раскладывает уже расшифрованные карты
###по координатам. Для этого надо 3 контейнера. В первом мешочки с картами,
###во втором ну очень многа пустых мешочков (у мну всегда 255 перед запуском,
###но больше 80-90 обычно не требуется для 3-4-5 левела, а вдруг ...), третий как 
###бы вроде пустой, если он не пустой то скрипт переберёт все мешочки и узнает 
###карты в какие координаты лежат в мешочках которые тама лежат. В общем ничего
###страшного в том что скрипт вылетел, соскачил конект, жена заигрывающе 
###выдернула вилку из розетки, нету Запускаем по новой показываем таргетами на те
###самые контейнеры по порядку и всё будет тип-топ. 

###Внимание. В паке чара перед началом не должно быть не одной карты, не в самом
###паке ни в мешочках. Ваще 0 кароче. 


########################################### 
############## Map_Sort_Uni ############### 
########################################### 

sub Map_Sort_Uni() 
var tx,ty,s,i=0,j=0,flag=0,cc,k=0,Bag0,TMap 
var BPack1,BPack2,BPack3 

UO.UseObject('backpack') 
Cheklag() 
UO.exec('resend') 
Cheklag() 
uo.ignorereset() 
wait(50) 

Dim Bags[255] 
Dim KoordX[255] 
Dim KoordY[255] 

uo.set('injectecho','1') 

uo.print('Pack 1') 
uo.exec('addobject Pack') 
while uo.targeting() 
   wait(100) 
wend 
BPack1=uo.getserial('Pack') 

uo.print('Pack 2') 
uo.exec('addobject Pack') 
while uo.targeting() 
   wait(100) 
wend 
BPack2=uo.getserial('Pack') 

uo.print('Pack 3') 
uo.exec('addobject Pack') 
while uo.targeting() 
   wait(100) 
wend 
BPack3=uo.getserial('Pack') 

uo.useobject(BPack1) 
wait(500) 
uo.useobject(BPack2) 
wait(500) 
uo.useobject(BPack3) 
wait(500) 

uo.findtype('0x0E76','0x0000',BPack3) 
wait(50) 
while uo.findcount() > 0 
   Bag0=uo.getserial('finditem') 
   wait(50)    
   uo.useobject(Bag0) 
   wait(500) 
   uo.findtype('0x14EB','0x0000',Bag0) 
   wait(50) 
   if uo.findcount() > 0 then 
      Tmap=uo.getserial('finditem') 
      i=i+1 
      uo.moveitem(Tmap,'-1','backpack') 
      cc=0 
      while cc==0 
         wait(100) 
         cc=uo.count('0x14EB','0x0000') 
      wend 
      wait(200) 
      uo.deletejournal() 
      uo.useobject(Tmap) 
      repeat 
         wait(10) 
      until uo.injournal('Map opened to:') 
      wait(100) 
      uo.rclick(109,150) 
      wait(100) 
      s = uo.journal(uo.injournal('Map opened to:')-1) 
      s = Trim(Right(s,len(s)-15)) 
      if s[4] == ':' then 
         tx = val(left(s,4)) 
         ty = val(right(s,len(s)-5)) 
      else 
         tx = val(left(s,3)) 
         ty = val(right(s,len(s)-4)) 
      end if 
      k=k+1 
      KoordX[k]=tx 
      KoordY[k]=ty              
      Bags[k]=Bag0 
      uo.moveitem(Tmap,'-1',Bag0) 
      cc=uo.weight 
      while cc==uo.weight 
         wait(10) 
      wend 
      wait(200) 
      UO.Print("Координат зафиксировано -> "+str(i)) 
   end if 
   uo.ignore(Bag0) 
   wait(50) 
   uo.useobject(BPack3) 
   wait(500) 
   uo.findtype('0x0E76','0x0000',BPack3) 
   wait(50) 
wend 

i=0 
uo.ignorereset() 
wait(50) 

uo.findtype('0x0E76','0x0000',BPack1) 
wait(50) 
while uo.findcount() > 0 
   Bag0=uo.getserial('finditem') 
   wait(50)    
   uo.useobject(Bag0) 
   wait(500) 
   uo.findtype('0x14EB','0x0000',Bag0) 
   wait(50) 
   while uo.findcount() > 0 
      Tmap=uo.getserial('finditem') 
      i=i+1 
      uo.moveitem(Tmap,'-1','backpack') 
      cc=0 
      while cc==0 
         wait(100) 
         cc=uo.count('0x14EB','0x0000') 
      wend 
      wait(200) 
      uo.deletejournal() 
      uo.useobject(Tmap) 
      repeat 
         wait(10) 
      until uo.injournal('Map opened to:') 
      wait(100) 
      uo.rclick(109,150) 
      wait(100) 
      s = uo.journal(uo.injournal('Map opened to:')-1) 
      s = Trim(Right(s,len(s)-15)) 
      if s[4] == ':' then 
         tx = val(left(s,4)) 
         ty = val(right(s,len(s)-5)) 
      else 
         tx = val(left(s,3)) 
         ty = val(right(s,len(s)-4)) 
      end if 
      flag=0 
      if k>0 then 
         For j=1 to k 
            if abs(KoordX[j]-tx) < 30 and abs(KoordY[j]-ty) < 30 then 
               uo.moveitem(Tmap,'-1',Bags[j]) 
               cc=uo.weight 
               while cc==uo.weight 
                  wait(10) 
               wend 
               wait(300) 
               flag=1 
            end if 
         next 
      end if 
      if flag==0 then 
         k=k+1 
         KoordX[k]=tx 
         KoordY[k]=ty 
         uo.findtype('0x0E76','0x0000',BPack2) 
         wait(50) 
         if uo.findcount()>0 then              
            Bags[k]=uo.getserial('finditem') 
            uo.moveitem('finditem','-1',BPack3) 
            wait(500) 
         else 
            uo.exec("terminate all") 
         end if 
         uo.moveitem(Tmap,'-1',Bags[k]) 
         cc=uo.weight 
         while cc==uo.weight 
            wait(10) 
         wend 
         wait(300) 
      end if 
      UO.Print("Карт отсортировано -> "+str(i)) 
      uo.findtype('0x14EB','0x0000',Bag0) 
      wait(50) 
   wend 
   uo.moveitem(Bag0,'-1',BPack2) 
   wait(500) 
   uo.findtype('0x0E76','0x0000',BPack1) 
   wait(50) 
wend 
uo.set('injectecho','0') 
end sub 

########################################### 
################### abs ################### 
########################################### 

Sub abs(n) 
   if n < 0 then 
      return n*(-1) 
   else 
      return n 
   end if 
end sub 
 
sub Cheklag()
	UO.DeleteJournal()
	UO.Click('backpack')

	repeat
		wait(500)
	until UO.InJournal('backpack')
end sub
Askaneli
Sphere expert
Posts: 1143
Joined: 2004-10-01 08:27:38
Location: Уфа

Post by Askaneli »

Во первых нужно пользовать оригинал.
Во вторых нужно этот оригинал настраивать нормально.
Сделал дело - флуди смело !!!
I'm
Expert!
Posts: 1396
Joined: 2004-10-15 22:38:04
Location: Moscow City.
Contact:

Post by I'm »

Askaneli wrote:Во первых нужно пользовать оригинал.
Во вторых нужно этот оригинал настраивать нормально.
Суров но справедлив :)
The End.
Spirit
Posts: 101
Joined: 2006-03-23 19:25:23

Post by Spirit »

Askaneli wrote:Во первых нужно пользовать оригинал.
Во вторых нужно этот оригинал настраивать нормально.
Как можно оригинал пользовать?
:O
Askaneli
Sphere expert
Posts: 1143
Joined: 2004-10-01 08:27:38
Location: Уфа

Post by Askaneli »

Spirit wrote:
Askaneli wrote:Во первых нужно пользовать оригинал.
Во вторых нужно этот оригинал настраивать нормально.
Как можно оригинал пользовать?
Хорошо.
Получить копию оригинального скрипта у автора и использовать, а не брать 10 раз переделанный кем-то ...

Могу сказать одно. Девушка позавчера взяла оригинальную копию приведённого в этом топике скрипта и запустила его без особых проблем ...
Сделал дело - флуди смело !!!
GimFlex
Expert!
Posts: 766
Joined: 2005-01-07 13:22:19
Contact:

Post by GimFlex »

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

Code: Select all

sub CartSort() 
   VAR Exit, Exit2, Buffer, Buffer2, i, Line, MapX, MapY 
   VAR Index=1, MapSerial, BagSerial, MatchFound 
   VAR StepRound=60 ; razbros koordinat 
   VAR WaitTime=500 ; 2 sec pauza 
    
   DIM X[255],Y[255],Bag[255] 
    
   UO.Print('Vibery meshok s kartamy!') 
   UO.AddObject('SourceBag') 
   While UO.Targeting()==2 
      wait(500) 
   Wend 
   UO.UseObject('SourceBag') 

   UO.Print('Vibery portfel dlya kart!') 
   UO.AddObject('ReceiveBag') 
   While UO.Targeting()==2 
      wait(500) 
   Wend 
   UO.UseObject('ReceiveBag') 

   UO.Print('Vibery portfel s pustimi meshkami!') 
   UO.AddObject('SkladBag') 
   While UO.Targeting()==2 
      wait(500) 
   Wend 
   UO.UseObject('SkladBag') 


   UO.IgnoreReset() 
   Exit=0 
   While Exit<>1 
      UO.FindType('0x0E76','-1','ReceiveBag')
      IF UO.findcount() Then 
         Bag[Index]=UO.GetSerial('finditem') 
         UO.UseObject(Bag[Index]) 
         wait(WaitTime) 
         UO.FindType('0x14EB','-1',Bag[Index])
         IF UO.findcount() Then 
            UO.DeleteJournal()
            uo.moveitem('finditem','1','backpack')
            wait(500)
            UO.useobject('finditem') 
            Repeat 
               Wait(100) 
            Until UO.InJournal("Map opened") 
            Line=UO.InJournal("Map opened")-1 
            Buffer=UO.Journal(Line) 
            uo.moveitem('finditem','1',Bag[Index])
            wait(500)
            Buffer2="" 
            Exit2=0 
            i=15 
            While Exit2<>1 
               If Buffer[i]<>":" Then 
                  Buffer2=Buffer2+Buffer[i] 
               Else 
                  Exit2=1 
               Endif              
               i=i+1 
            Wend 
            MapX=VAl(Buffer2) 

            Buffer2="" 
            Exit2=0 
            While Exit2<>1 
               If Buffer[i]<>"" Then 
                  Buffer2=Buffer2+Buffer[i] 
               Else 
                  Exit2=1 
               Endif              
               i=i+1 
            Wend 
            MapY=VAl(Buffer2) 

            X[Index]=MapX 
            Y[Index]=MapY 
            UO.Ignore(Bag[Index]) 
         Else 
            UO.MoveItem(Bag[Index],'1','SkladBag') 
            wait(WaitTime) 
            Index=Index-1 
         Endif 
         Index=Index+1 
      Else 
         Exit=1 
      Endif 
   Wend 
   
uo.resend()

   Exit=0 
   While Exit<>1 
      UO.FindType('0x14EB','0x0000','SourceBag') 
      wait(100)
      If uo.findcount() Then 
         UO.DeleteJournal() 
         UO.MoveItem('finditem','1','backpack') 
         wait(WaitTime) 
         UO.UseObject('finditem') 
         MapSerial=UO.GetSerial('finditem') 
         Repeat 
            wait(100) 
         Until UO.InJournal("Map opened") 
         Line=UO.InJournal("Map opened")-1 
         Buffer=UO.Journal(Line) 

         Buffer2="" 
         Exit2=0 
         i=15 
         While Exit2<>1 
            If Buffer[i]<>":" Then 
               Buffer2=Buffer2+Buffer[i] 
            Else 
               Exit2=1 
            Endif              
            i=i+1 
         Wend 
         MapX=VAl(Buffer2) 

         Buffer2="" 
         Exit2=0 
         While Exit2<>1 
            If Buffer[i]<>"" Then 
               Buffer2=Buffer2+Buffer[i] 
            Else 
               Exit2=1 
            Endif              
            i=i+1 
         Wend 
         MapY=VAl(Buffer2) 

         i=1 
         Exit2=0 
         MatchFound=0 
         While i<Index AND Exit2<>1 
            If X[i]-StepRound<MapX AND X[i]+StepRound>MapX Then 
               If Y[i]-StepRound<MapY AND Y[i]+StepRound>MapY Then 
                  BagSerial=Bag[i] 
                  MatchFound=1 
                  Exit2=1 
               Endif 
            EndIf 
            i=i+1 
         Wend 

         If MatchFound Then 
            UO.MoveItem(MapSerial,'1',BagSerial) 
            wait(WaitTime) 
         Else 
            UO.FindType('0x0E76','-1','SkladBag') ; meshok 
            IF uo.findcount() Then 
               UO.MoveItem('finditem','1','ReceiveBag') 
               Bag[Index]=UO.GetSerial('finditem') 
               X[Index]=MapX 
               Y[Index]=MapY  
               UO.MoveItem(MapSerial,'1',Bag[Index]) 
               wait(WaitTime) 
               Endif 
               Index=Index+1 
            Else 
               Exit=1 
               UO.Print("Error! Kon4ilis pustie sumki!") 
            Endif 
         Endif 
         wait(WaitTime) 
      Else 
         Exit=1 
      Endif 
   Wend 
   UO.Print("Done!!!") 
end sub 
Askaneli
Sphere expert
Posts: 1143
Joined: 2004-10-01 08:27:38
Location: Уфа

Post by Askaneli »

Question_GimFlex wrote:переделал саваджа раскидку только без рун теперь все ок раскидывает
...
А своё что-нибуть есть ?
Сделал дело - флуди смело !!!
LeeLoo
Posts: 4
Joined: 2006-11-21 19:24:04
Contact:

Post by LeeLoo »

Askaneli wrote:
Spirit wrote:
Askaneli wrote: Могу сказать одно. Девушка позавчера взяла оригинальную копию приведённого в этом топике скрипта и запустила его без особых проблем ...
Скрипт не просто работает, а красиво работает!) Смотришь и любуешься! Сразу захотелось стать программисткой.
Спасибо, Асканели!
GimFlex
Expert!
Posts: 766
Joined: 2005-01-07 13:22:19
Contact:

Post by GimFlex »

Askaneli wrote:
Question_GimFlex wrote:переделал саваджа раскидку только без рун теперь все ок раскидывает
...
А своё что-нибуть есть ?
зачем если уже написали тем более меня просили переделать саваджевский я это и сделал что в этом такого?
Askaneli
Sphere expert
Posts: 1143
Joined: 2004-10-01 08:27:38
Location: Уфа

Post by Askaneli »

Question_GimFlex wrote:
Askaneli wrote:
Question_GimFlex wrote:переделал саваджа раскидку только без рун теперь все ок раскидывает
...
А своё что-нибуть есть ?
зачем если уже написали тем более меня просили переделать саваджевский я это и сделал что в этом такого?
А я вот не выкладываю к примеру тот же скрипт на карты, потому что там есть часть кода сделанная Сфаги.

Не то что бы он против. Просто не могу хвастать не своим на 100% трудом ...
Сделал дело - флуди смело !!!
qqqqqq
Posts: 15
Joined: 2004-07-19 07:36:16

Post by qqqqqq »

макрос класный грех жаловаться но вот смущает одно но можно сделать так чтобы к примеру у меня 1000 крт ето несколько сумок можно чтобы он все ети сумки разобрал а не только 1
qqqqqq
Posts: 15
Joined: 2004-07-19 07:36:16

Post by qqqqqq »

помогите
No***Name
Posts: 90
Joined: 2006-02-26 22:41:09

Post by No***Name »

Пожалуста обьясните мне вот в переделе Гима что у меня в паке дложно быть вообще краткую инструкцию пожалуйста дайте :?: :cry:
Lucifer PK
Posts: 8
Joined: 2007-08-28 13:03:51
Contact:

Post by Lucifer PK »

Хорошо.
Получить копию оригинального скрипта у автора и использовать, а не брать 10 раз переделанный кем-то ...

Ребят подскажите куда и к кому обратиться за оригеналом такоги скрипта :cry: а то у меня та же самая проблема.... 1 раз на вашем форуме и что то ничего немогу найти =((
I'm
Expert!
Posts: 1396
Joined: 2004-10-15 22:38:04
Location: Moscow City.
Contact:

Post by I'm »

К автору :)
В топик где автор выкладывал свои скрипты.
The End.
Post Reply