Помогите вставить.

Anything and all.

Moderators: Murderator+, Murderator

Neznaika
Posts: 30
Joined: 2005-03-11 23:00:30

Помогите вставить.

Post by Neznaika »

Помогите пожалуйста вставить в скрипт раскладку карт по уровням.

Code: Select all

################################################################################################# 
#   "Расшифровка карт"                                                                            #
#################################################################################################
#                 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
#=>


Можно отсюда?

Code: Select all

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




Заранее благодарен.[/code]
Neznaika
Posts: 30
Joined: 2005-03-11 23:00:30

Post by Neznaika »

Помогите пожалуйста :roll:
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

Мб. поиск?
Last edited by Destruction on 2005-05-04 01:39:21, edited 1 time in total.
YokoInjection CodeSweeper
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
Neznaika
Posts: 30
Joined: 2005-03-11 23:00:30

Post by Neznaika »

Destruction wrote:Мб. поиск?

Не помогло :(
I'm
Expert!
Posts: 1396
Joined: 2004-10-15 22:38:04
Location: Moscow City.
Contact:

Post by I'm »

В поиске нет я помню все темы про карты ;)
А по этому вопросу Агрызыч оставил "домашнее задание" :lol:
Neznaika
Posts: 30
Joined: 2005-03-11 23:00:30

Post by Neznaika »

I'm wrote:В поиске нет я помню все темы про карты ;)
А по этому вопросу Агрызыч оставил "домашнее задание" :lol:

:(
Не могли бы вы мне помоч вставить? Пожалуйста :oops:
AGRS
Expert!
Posts: 1007
Joined: 2004-04-04 21:40:09
Contact:

Post by AGRS »

:idea: Дык он и есть с раскладкой по уровням! :evil:
Neznaika
Posts: 30
Joined: 2005-03-11 23:00:30

Post by Neznaika »

AGRS wrote::idea: Дык он и есть с раскладкой по уровням! :evil:

Дык он всё в один мешок сваливает :(
Beyonder
Expert!
Posts: 388
Joined: 2005-04-23 10:19:43
Contact:

Post by Beyonder »

Замени начало скрипта на это:

Code: Select all

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

Var SrcCont      = 0x40072864      # SERIAL Контейнер-источник

Var DstCont1     = 0x401C96C9      # SERIAL Контейнер-приемник 1 уровень
Var DstCont2     = 0x401C96C9      # SERIAL Контейнер-приемник 2 уровень
Var DstCont3     = 0x401C96C9      # SERIAL Контейнер-приемник 3 уровень
Var DstCont4     = 0x401C96C9      # SERIAL Контейнер-приемник 4 уровень
Var DstCont5     = 0x401C96C9      # SERIAL Контейнер-приемник 5 уровень

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

#################################################################################################
#   >>> Запуск                                                                                    #
#################################################################################################
sub Main()
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(DstCont1), "20", "30", "0")
        L1=L1+1
      EndIf
      If UO.InJournal("2 level") Then
        UO.MoveItem("finditem", "1", STR(DstCont2), "40", "45", "0")
        L2=L2+1
      EndIf
      If UO.InJournal("3 level") Then
        UO.MoveItem("finditem", "1", STR(DstCont3), "60", "60", "0")
        L3=L3+1
      EndIf
      If UO.InJournal("4 level") Then
        UO.MoveItem("finditem", "1", STR(DstCont4), "80", "75", "0")
        L4=L4+1
      EndIf
      If UO.InJournal("5 level") Then
        UO.MoveItem("finditem", "1", STR(DstCont5), "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


Должно работать или я не понял что делала первая функция main и зачем их 2-е штуки :).
Beyonder
Expert!
Posts: 388
Joined: 2005-04-23 10:19:43
Contact:

Post by Beyonder »

Немного я еще скрипт расшифровал, и решил что для работы вообще должно хватить только моей части. Если я чего-то не заметил - поправте меня.
Neznaika
Posts: 30
Joined: 2005-03-11 23:00:30

Post by Neznaika »

Строка 34 ошибка , с CheckLag'ом что-то :roll:
Sfagnum
Expert!
Posts: 1284
Joined: 2004-07-04 00:14:58
Contact:

Post by Sfagnum »

Neznaika wrote:Строка 34 ошибка , с CheckLag'ом что-то :roll:
да ничего... прсто его надо в этот же файл добавить ;)
Neznaika
Posts: 30
Joined: 2005-03-11 23:00:30

Post by Neznaika »

Sfagnum wrote:
Neznaika wrote:Строка 34 ошибка , с CheckLag'ом что-то :roll:
да ничего... прсто его надо в этот же файл добавить ;)

Поясните пожалуйста , ничего не понимаю :roll:
flake
Expert!
Posts: 746
Joined: 2004-08-11 23:56:17
Location: The Citadel
Contact:

Post by flake »

Code: Select all

Sub CheckLag() 
   UO.DeleteJournal()
   UO.Click('backpack')
   repeat
      wait(500)
   until UO.InJournal('backpack')
end sub


Вот это водь вставь в файл со скриптом, в самый конец.
Neznaika
Posts: 30
Joined: 2005-03-11 23:00:30

Post by Neznaika »

Объеденил. Но теперь когда я делаю бинд на кнопку "*" exec Main , он не запускается вообще и ничего не пишет :(

Code: Select all

################################################################################################# 
#   >>> Êîíñòàíòû                                                                                 #
#################################################################################################

Var SrcCont      = 0x4036DF82      # SERIAL Êîíòåéíåð-èñòî÷íèê

Var DstCont1     = 0x401F28CD      # SERIAL Êîíòåéíåð-ïðèåìíèê 1 óðîâåíü
Var DstCont2     = 0x401F28CE      # SERIAL Êîíòåéíåð-ïðèåìíèê 2 óðîâåíü
Var DstCont3     = 0x4030E694      # SERIAL Êîíòåéíåð-ïðèåìíèê 3 óðîâåíü
Var DstCont4     = 0x40302D3B      # SERIAL Êîíòåéíåð-ïðèåìíèê 4 óðîâåíü
Var DstCont5     = 0x401912AC      # SERIAL Êîíòåéíåð-ïðèåìíèê 5 óðîâåíü

Var PackCont     = 0x4017B5E1      # SERIAL Ïàê
Var MapType      = 0x14EB          # TYPE Êàðòà
Var MapColor     = 0x0000          # COLOR Êàðòà
Var HideSkill    = "Stealth"       
Var Lagaet       = "Ohuenno"       # STR Åñëè = "Ohuenno", òî äîïîëíèòåëüíàÿ ïðîâåðêà íà ëàãè

#################################################################################################
#   >>> Çàïóñê                                                                                    #
#################################################################################################
sub Main()
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(DstCont1), "20", "30", "0")
        L1=L1+1
      EndIf
      If UO.InJournal("2 level") Then
        UO.MoveItem("finditem", "1", STR(DstCont2), "40", "45", "0")
        L2=L2+1
      EndIf
      If UO.InJournal("3 level") Then
        UO.MoveItem("finditem", "1", STR(DstCont3), "60", "60", "0")
        L3=L3+1
      EndIf
      If UO.InJournal("4 level") Then
        UO.MoveItem("finditem", "1", STR(DstCont4), "80", "75", "0")
        L4=L4+1
      EndIf
      If UO.InJournal("5 level") Then
        UO.MoveItem("finditem", "1", STR(DstCont5), "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
#=>
Neznaika
Posts: 30
Joined: 2005-03-11 23:00:30

Post by Neznaika »

Помогите пожалуйста кто-нибудь :!:
ОООоочень прошу :!:
Beyonder
Expert!
Posts: 388
Joined: 2005-04-23 10:19:43
Contact:

Post by Beyonder »

Да не может быть, хоть что-то он должен писать или делать.
На всякий случай проверь точно ли при нажатии на свой бекпак появляеться надпись backpack.

Кстати, какой шард?
Neznaika
Posts: 30
Joined: 2005-03-11 23:00:30

Post by Neznaika »

Beyonder wrote:Да не может быть, хоть что-то он должен писать или делать.
На всякий случай проверь точно ли при нажатии на свой бекпак появляеться надпись backpack.

Кстати, какой шард?

Проверил на 2-ух компьютерах с разными версиями инжекта , переменные забил правильно , проверял раз 5.
При нажатии на бинд вообще ничего не пишет (кнопка работает :) )
DRW.
Neznaika
Posts: 30
Joined: 2005-03-11 23:00:30

Post by Neznaika »

Всё , разобрался!
Всем огромное спасибо за помощ!
Скрипт замечательно работает!!!
Спасибо.
Beyonder
Expert!
Posts: 388
Joined: 2005-04-23 10:19:43
Contact:

Post by Beyonder »

А если не секрет, то в чем был прикол?
Post Reply