Yoko

All sides of Injection
It is currently 2025-10-30 05:34:44

All times are UTC+02:00




Post new topic  Reply to topic  [ 38 posts ]  Go to page 1 2 Next
Author Message
PostPosted: 2004-12-30 17:19:00 
Offline

Joined: 2004-12-30 16:47:14
Posts: 24
Нужен скрипт на расшифровку карт сокровищ, под ДРВ, надо чтобы он расшифровывал, затем складывал карты в разные мешочки по уровням кладов!


Top
   
 Post subject:
PostPosted: 2004-12-30 18:33:29 
Offline
Expert!
User avatar

Joined: 2004-04-04 21:40:09
Posts: 1007
Ищи. Выкладывал. Повторно только за солидное вознаграждение. ;)


Top
   
 Post subject:
PostPosted: 2004-12-30 21:48:19 
Offline
Expert!
User avatar

Joined: 2004-04-04 11:13:54
Posts: 1205
Location: Балаково, Саратовская обл.
Вот. Сортирует карты близко расположенных кладов.
Делал под заказ, не бесплатно. Но срок давности уже вышел...
значит в паке портфель с пустыми мешками и бланк рунами, портфель для карт пустой или уже с сортированными мешками (токо не доводите количество карт до 255 а то скрипт собъется), и мешок с картами.
Помнится что заказчик запустил с трудом, хз почему.

Не работает у многих изза инжект эха, вообщем исправил и паузу поменьше поставил, если будет путать карты то побольше ставьте...
По просьбам трудящихся переделал скрипт для работы не из пака.

Code:
###############################################################
#===---====---===---= Sort Treasure Map =---=---=---=---=---==#
#           Scripted by Savage (c) 2004 ICQ:33336141          #
#"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""#
sub CartSort()
;   VAR f=file("maps.txt")
   VAR Exit, Exit2, Buffer, Buffer2, i, Line, MapX, MapY
   VAR Index=1, MapSerial, BagSerial, MatchFound
   VAR StepRound=40 ; razbros koordinat
   VAR WaitTime=500 ;  pauza
   
   DIM X[255],Y[255],Bag[255]

   uo.exec('set injectecho 1')
;   f.Create()
;   f.Open()

   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 i runami!')
   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') ; meshok
      IF UO.GetQuantity('finditem')>0 Then
         Bag[Index]=UO.GetSerial('finditem')
         UO.UseObject(Bag[Index])
         wait(WaitTime)
         UO.FindType('0x1F14',-1,Bag[Index]); runa
         IF UO.GetQuantity('finditem')>0 Then
            UO.DeleteJournal()
            UO.Click('finditem')
            Repeat
               Wait(500)
            Until UO.InJournal("Rune to")
            Line=UO.InJournal("Rune to")-1
            Buffer=UO.Journal(Line)

            Buffer2=""
            Exit2=0
            i=8
            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


   Exit=0
   While Exit<>1
      UO.FindType('0x14EB',-1,'SourceBag')
      If UO.GetQuantity('finditem')>0 Then
         UO.DeleteJournal()
         UO.MoveItem('finditem','1','backpack')
         wait(WaitTime)
         UO.UseObject('finditem')
         MapSerial=UO.GetSerial('finditem')
         Repeat
            wait(500)
         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.GetQuantity('finditem')>0 Then
               UO.MoveItem('finditem','1','ReceiveBag')
               Bag[Index]=UO.GetSerial('finditem')
               X[Index]=MapX
               Y[Index]=MapY
               wait(WaitTime)
               UO.FindType('0x1F14',-1,'SkladBag'); runa
               IF UO.GetQuantity('finditem')>0 Then
                  UO.MoveItem('finditem','1','backpack') ; runa to pack
                  wait(WaitTime)
                  UO.UseObject('finditem')
                  Repeat
                     Wait(500)
                  Until UO.InJournal("What is the new name")
                  UO.Say(STR(MapX)+":"+STR(MapY))
                  wait(WaitTime)
                  UO.MoveItem('finditem','1',Bag[Index]) ; runa to meshok
                  wait(WaitTime)
                  UO.MoveItem(MapSerial,'1',Bag[Index])
                  wait(WaitTime)
               Else
                  Exit=1
                  UO.Print("Error! Kon4ilis pustie runy!")
               Endif
               Index=Index+1
            Else
               Exit=1
               UO.Print("Error! Kon4ilis pustie sumki!")
            Endif
         Endif
;         UO.Print(STR(MapX)+" "+STR(MapY))
;         f.WriteLn(STR(MapX)+" "+STR(MapY))
         wait(WaitTime)
      Else
         Exit=1
      Endif
   Wend

;   f.Close()
   UO.Print("Done!!!")
end sub


Last edited by Savage on 2005-09-05 22:37:42, edited 2 times in total.

Top
   
 Post subject:
PostPosted: 2004-12-31 00:24:24 
Offline
Expert!
User avatar

Joined: 2004-10-15 22:38:04
Posts: 1396
Location: Moscow City.
Заказчик может обидеться.. хотя врятль ;)
Незнаю как он а я запустил с первой попытки еще тада.


Top
   
 Post subject:
PostPosted: 2004-12-31 00:31:58 
Offline
Expert!
User avatar

Joined: 2004-10-15 22:38:04
Posts: 1396
Location: Moscow City.
По заказу ленивых трудящихся нелюбящих поиск.
Code:
sub Decode()
var count
UO.DeleteJournal()
UO.AddObject('Bag for 1st level maps')
while uo.Targeting()
      wait(1000)
      wend
UO.DeleteJournal()
UO.AddObject('Bag for 2nd level maps')
while uo.Targeting()
      wait(1000)
      wend
UO.DeleteJournal()
UO.AddObject('Bag for 3rd level maps')
while uo.Targeting()
      wait(1000)
      wend
UO.DeleteJournal()
UO.AddObject('Bag for 4th level maps')
while uo.Targeting()
      wait(1000)
      wend
UO.DeleteJournal()
UO.AddObject('Bag for 5th level maps')
while uo.Targeting()
      wait(1000)
      wend
UO.DeleteJournal()
UO.AddObject('Bag for Treasure Map')
while uo.Targeting()
      wait(1000)
      wend
repeat
   uo.deletejournal()
   uo.findtype(0x14EB)
   uo.useobject('finditem')
   count=0
   while not uo.injournal("map") and count<20
      count=count+1
      wait(100)
      wend
   if uo.injournal("level 1") then
      uo.moveitem('finditem',0,'Bag for 1st level maps')
      CheckLag()
      endif
   if uo.injournal("level 2") then
      uo.moveitem('finditem',0,'Bag for 2nd level maps')
      CheckLag()
      endif
   if uo.injournal("level 3") then
      uo.moveitem('finditem',0,'Bag for 3rd level maps')
      CheckLag()
      endif
   if uo.injournal("level 4") then
      uo.moveitem('finditem',0,'Bag for 4th level maps')
      CheckLag()
      endif
   if uo.injournal("level 5") then
      uo.moveitem('finditem',0,'Bag for 5th level maps')
      CheckLag()
      endif
   if uo.injournal("no chance") then
      uo.moveitem('finditem',0,'Bag for Treasure Map')
       CheckLag()
      endif
   until UO.FindCount()==0
UO.Print("Done")
end sub

sub CheckLag()
    UO.DeleteJournal()
    UO.Click('backpack')
     repeat
      Wait(500)
     Until uo.InJournal('backpack')
end sub


Top
   
 Post subject:
PostPosted: 2004-12-31 00:35:32 
Offline
Expert!
User avatar

Joined: 2004-10-15 22:38:04
Posts: 1396
Location: Moscow City.
Code:
################################################################################################# 
#   "Расшифровка карт"                                                                            #
#################################################################################################
#                 http://www.drw.ru                                                             #
#################################################################################################
#               Последнее изменение 14.03.2004                                                  #
#################################################################################################
#                 (c) AGRS, 2004                                                                #
#################################################################################################

#################################################################################################
#   >>> Константы                                                                                 #
#################################################################################################

Var SrcCont      = 0x40072864      # SERIAL Контейнер-источник
Var DstCont      = 0x401C96C9      # SERIAL Контейнер-приемник
Var PackCont     = 0x400B9D61      # SERIAL Пак
Var MapType      = 0x14EB          # TYPE Карта
Var MapColor     = 0x0000          # COLOR Карта
Var HideSkill    = "Stealth"       
Var Lagaet       = "Ohuenno"       # STR Если = "Ohuenno", то дополнительная проверка на лаги

#################################################################################################
#   >>> Запуск                                                                                    #
#################################################################################################

Sub Main()
   While true
      LoadItems(1, MapType, MapColor, SrcCont, PackCont)
      CheckLag()
      UO.FindType(STR(MapType), STR(MapColor), STR(PackCont))
      If UO.FindCount()>0 Then
         UO.UseType(STR(MapType))
         Wait(300)
      EndIf
      MoveAllItems(MapType, MapColor, PackCont, DstCont)
   Wend
End Sub

Sub Main2()
var L1 = 0
var L2 = 0
var L3 = 0
var L4 = 0
var L5 = 0
var TOUT
  Repeat
    UO.FindType(STR(MapType), STR(MapColor), STR(SrcCont))
    If UO.FindCount()>0 Then
      UO.SetReceivingContainer("backpack")
      UO.Grab("1", "finditem")
      CheckLag()
      UO.UseObject("finditem")
      TOUT=0
      Repeat
        Wait(250)
        TOUT=TOUT+250
      Until UO.InJournal("map is level") or TOUT>500
      Wait(800)
      UO.Click("finditem")
      Wait(800)
      If UO.InJournal("1 level") Then
        UO.MoveItem("finditem", "1", STR(DstCont), "20", "30", "0")
        L1=L1+1
      EndIf
      If UO.InJournal("2 level") Then
        UO.MoveItem("finditem", "1", STR(DstCont), "40", "45", "0")
        L2=L2+1
      EndIf
      If UO.InJournal("3 level") Then
        UO.MoveItem("finditem", "1", STR(DstCont), "60", "60", "0")
        L3=L3+1
      EndIf
      If UO.InJournal("4 level") Then
        UO.MoveItem("finditem", "1", STR(DstCont), "80", "75", "0")
        L4=L4+1
      EndIf
      If UO.InJournal("5 level") Then
        UO.MoveItem("finditem", "1", STR(DstCont), "100", "90", "0")
        L5=L5+1
      EndIf
      CheckLag()
      UO.FindType(STR(MapType), STR(MapColor), STR(SrcCont))
    EndIf
    UO.TextClear()
    UO.TextPrint("Level1="+STR(L1))
    UO.TextPrint("Level2="+STR(L2))
    UO.TextPrint("Level3="+STR(L3))
    UO.TextPrint("Level4="+STR(L4))
    UO.TextPrint("Level5="+STR(L5))
  Until UO.FindCount()<1
End Sub

#################################################################################################
#   >>> Сервисные функции                                                                           #
#################################################################################################

#=>
Sub LoadItems(fmiItemCount, fmiItemType, fmiItemColor, fmiSrcContainerSerial, fmiDstContainerSerial)
Var fmiToGrab
   If CountOf(fmiItemType, fmiItemColor, fmiDstContainerSerial)<fmiItemCount Then
      UO.SetReceivingContainer(STR(fmiDstContainerSerial))
      Repeat
         CheckLag()
         fmiToGrab=fmiItemCount-CountOf(fmiItemType, fmiItemColor, fmiDstContainerSerial)
         UO.FindType(STR(fmiItemType), STR(fmiItemColor), STR(fmiSrcContainerSerial))
         If UO.FindCount()>0 Then
            UO.Grab(STR(fmiToGrab), 'finditem')
            Wait(300)
         EndIf
      If Lagaet=="Ohuenno" Then
         CheckLag()
      EndIf
      Until CountOf(fmiItemType, fmiItemColor, fmiSrcContainerSerial)==0 or CountOf(fmiItemType, fmiItemColor, fmiDstContainerSerial)>=fmiItemCount
      UO.UnsetReceivingContainer()
   End If
Return CountOf(fmiItemType, fmiItemColor, fmiDstContainerSerial)
End Sub

Sub MoveAllItems(fmiItemType, fmiItemColor, fmiSrcContainerSerial, fmiDstContainerSerial)
      UO.SetReceivingContainer(STR(fmiDstContainerSerial))
      Repeat
         CheckLag()
         UO.FindType(STR(fmiItemType), STR(fmiItemColor), STR(fmiSrcContainerSerial))
         If UO.FindCount()>0 Then
            UO.Grab(0, 'finditem')
            Wait(300)
         EndIf
      If Lagaet=="Ohuenno" Then
         CheckLag()
      EndIf
      Until UO.FindCount()<1
      UO.UnsetReceivingContainer()
End Sub

Sub CountOf(fcoItemType, fcoItemColor, fcoContainerSerial)
Var fcoFindCount = 0
Var fcoResult = 0
   UO.FindType(STR(fcoItemType), STR(fcoItemColor), STR(fcoContainerSerial))
   fcoFindCount=UO.FindCount()
   If fcoFindCount==1 Then
      fcoResult=UO.GetQuantity('finditem')
   EndIf
   If fcoFindCount>1 Then
      While fcoFindCount>0
         UO.FindType(STR(fcoItemType), STR(fcoItemColor), STR(fcoContainerSerial))
         fcoResult=fcoResult+UO.GetQuantity('finditem')
         UO.Ignore('finditem', 'on')
         fcoFindCount=fcoFindCount-1
      Wend
      UO.IgnoreReset()
   EndIf
   Return fcoResult
End Sub

Sub Hide()
   While Not UO.Hidden()
      UO.DeleteJournal()
      UO.UseSkill(HideSkill)
      Repeat
         Wait(100)
      Until UO.InJournal('You have hidden') OR UO.InJournal('seem to hide')
   Wend
End Sub

Sub CheckLag()
   UO.DeleteJournal()
   UO.Click('backpack')
   Repeat
      Wait(100)
   Until UO.InJournal('backpack')
   CheckSave()
End Sub

Sub CheckSave()
   UO.DeleteJournal()
   If UO.InJournal('save has been') then
      Wait(10000)
   EndIf
   UO.DeleteJournal()
End Sub
#=>

Учимся юзать поиск.
Эх мяб кто научил :(


Top
   
 Post subject:
PostPosted: 2005-02-24 14:14:46 
Offline

Joined: 2004-11-19 21:31:07
Posts: 12
Помогие разобраться с скриптом Savage пожалуйста. он берет карту открывает её и дальше ничего не делает. и скрипт ошибку не выдаёт. не пойму в чем дело


Top
   
 Post subject:
PostPosted: 2005-02-25 18:07:15 
Offline
Expert!
User avatar

Joined: 2004-10-15 22:38:04
Posts: 1396
Location: Moscow City.
А ты уверен втом что все правельно указал?


Top
   
 Post subject:
PostPosted: 2005-03-01 17:25:18 
Offline

Joined: 2004-11-19 21:31:07
Posts: 12
У моих друхей так же. открывает карту . дальше ничего не происходит и скрипт не отключаеться. может в инже какие нибудь настройки не те.


Top
   
 Post subject:
PostPosted: 2005-03-02 18:29:29 
Offline

Joined: 2004-07-25 05:16:04
Posts: 57
Brigadir wrote:
У моих друхей так же. открывает карту . дальше ничего не происходит и скрипт не отключаеться. может в инже какие нибудь настройки не те.


Ни как? Тогда тебе сюда


Top
   
 Post subject:
PostPosted: 2005-03-05 14:32:50 
Offline
User avatar

Joined: 2004-10-02 23:47:48
Posts: 89
Brigadir wrote:
У моих друхей так же. открывает карту . дальше ничего не происходит и скрипт не отключаеться. может в инже какие нибудь настройки не те.

u mnu takajaze problemma


Top
   
 Post subject:
PostPosted: 2005-03-05 15:01:51 
Offline

Joined: 2004-06-01 16:24:44
Posts: 60
Location: DRW
HellFire wrote:
Brigadir wrote:
У моих друхей так же. открывает карту . дальше ничего не происходит и скрипт не отключаеться. может в инже какие нибудь настройки не те.

u mnu takajaze problemma


И у меня так же :(


Top
   
 Post subject:
PostPosted: 2005-03-06 03:10:00 
Offline
User avatar

Joined: 2004-11-07 01:22:35
Posts: 291
Location: Черкассы
А это демо версия :lol:


Top
   
 Post subject:
PostPosted: 2005-03-06 20:12:13 
Offline
User avatar

Joined: 2004-10-02 23:47:48
Posts: 89
Goggy wrote:
А это демо версия :lol:

daj horoshuju :roll:


Top
   
 Post subject:
PostPosted: 2005-03-08 01:34:14 
Offline
Expert!
User avatar

Joined: 2004-04-04 11:13:54
Posts: 1205
Location: Балаково, Саратовская обл.
Brigadir wrote:
Помогие разобраться с скриптом Savage пожалуйста. он берет карту открывает её и дальше ничего не делает. и скрипт ошибку не выдаёт. не пойму в чем дело

Разберемся, сегодня сам на это напоролся :)


Top
   
 Post subject:
PostPosted: 2005-03-09 11:19:22 
Offline
Expert!
User avatar

Joined: 2004-04-04 11:13:54
Posts: 1205
Location: Балаково, Саратовская обл.
Хм. Счас попробовал на работе - все работает замечательно. Мистика.


Top
   
 Post subject:
PostPosted: 2005-03-09 15:22:50 
Offline
Expert!
User avatar

Joined: 2004-07-04 00:14:58
Posts: 1284
Savage wrote:
Хм. Счас попробовал на работе - все работает замечательно. Мистика.
мб injectecho надо установить в 1 ;) или эт в скрипте прописано? сорь не смотрел...


Top
   
 Post subject:
PostPosted: 2005-03-09 15:37:47 
Offline
Sphere expert
User avatar

Joined: 2004-10-01 08:27:38
Posts: 1143
Location: Уфа
Sfagnum wrote:
Savage wrote:
Хм. Счас попробовал на работе - все работает замечательно. Мистика.
мб injectecho надо установить в 1 ;) или эт в скрипте прописано? сорь не смотрел...

Твой кста тоже у меня не запахал.
Правдо до меня дошло потом почему , но я уже плюнул тада и сам раскидал карты как надо !!!

_________________
Сделал дело - флуди смело !!!


Top
   
 Post subject:
PostPosted: 2005-03-09 16:04:18 
Offline
Expert!
User avatar

Joined: 2004-07-04 00:14:58
Posts: 1284
Askaneli wrote:
Твой кста тоже у меня не запахал.
Правдо до меня дошло потом почему , но я уже плюнул тада и сам раскидал карты как надо !!!
и почему же?


Top
   
 Post subject:
PostPosted: 2005-03-10 09:36:54 
Offline

Joined: 2004-11-19 21:31:07
Posts: 12
У меня все заработало когда я установил новую версию инжы 501.?? . и ссылку мне друг дал на настойки в main. сразу все заработало. даже AM неожиданно прикипилась к уо ) даже неожидано, но крашов посоему стало побольше


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 38 posts ]  Go to page 1 2 Next

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Limited