Вторник, 24.06.2025, 18:45
[nIrVaNa]
Приветствую Вас Призывник | RSS

Меню сайта
Ultima Online
  • Ultima Online DRW
  • .::Games::.
  • EVE Online
  • Russia EVE-RU
  • Ukrainian EVE-UA
  • [6OP3bIE CAHTEXHuru] EVE
  • L2Europa.com
  • Clan Viktoria L2Europa.com
  • Мини-чат
    Главная » Статьи » Мои статьи

    Скрипт на Full Armors
    sub GoMakeFull()
    while NOT UO.Dead()
      MakeFull()
      wait(1000)
      uo.say("Full ready!!")
      wait(1000)
    wend
    end sub

    sub MakeFull()
      VAR CCurIng='0x0000', TCurIng=0
      VAR jser, WCurIng=0, Kolvo = 150 ; количество ингов на фулл с запасом
      VAR Sunduk = '0x40112521' ; Cундук с инготами и мешками
      VAR Meshok = '0x0E76' ; Тип мешка для фулов
      VAR CIngots = '0x0000' ; Цвет инготов
      VAR CurMesh, BagForFull='0x401AEF5C' ; Сундук в который фулы кидать
       
      UO.Print("Script started")
      DIM TIngots[4], Part[7], CIng[14], WIng[14]
       
      TIngots[0]='0x1BEF' ; Типы инготов
      TIngots[1]='0x1BE3'
      TIngots[2]='0x1BF5'
      TIngots[3]='0x1BE9'
       
      Part[0]='Platemail (25' ; Названия частей фулла
      Part[1]='Platemail Legs'
      Part[2]='Heater Shield'
      Part[3]='Platemail Arms'
      Part[4]='Plate Helm'
      Part[5]='Platemail Gauntlets'
      Part[6]='Platemail Gorget'
       
      CIng[0]='0x0750' ; Цвета инготов
      CIng[1]='0x0590'
      CIng[2]='0x060A'
      CIng[3]='0x0488'
      CIng[4]='0x096B'
      CIng[5]='0x0014'
      CIng[6]='0x0193'
      CIng[7]='0x04C2'
      CIng[8]='0x07D5'
      CIng[9]='0x00CE'
      CIng[10]='0x052D'
      CIng[11]='0x0455'
      CIng[12]='0x0028'
      CIng[13]='0x08AF'
       
      WIng[0]='Rusty' ; Названия инготов
      WIng[1]='Old Copper'
      WIng[2]='Dull Copper'
      WIng[3]='Bronze'
      WIng[4]='Shadow'
      WIng[5]='Rose'
      WIng[6]='Agapite'
      WIng[7]='Blood Rock'
      WIng[8]='Verite'
      WIng[9]='Valorite'
      WIng[10]='Mytheril'
      WIng[11]='Black Rock'
      WIng[12]='Obsidian'
      WIng[13]='Plutonium'
       
      UO.IgnoreReset()
      UO.DeleteJournal()
      UO.UseObject(Sunduk)
      For Var k=0 to 3 ; Узнаем тип
      UO.FindType(TIngots[k],-1,Sunduk) ; Ищем любые инготы в сундуке
      If UO.FindCount() > 0 Then
      If UO.GetColor('finditem') == '0x0000' AND k == 0 Then
      UO.MSG("I make a iron full!")
      MakeIron(TIngots[k],'0x0000',Kolvo,Sunduk,Meshok,BagForFull)
      Return
      Else
      If UO.GetQuantity('finditem') < Kolvo Then ; Для фула мало инготов
      UO.MSG("I need "+STR(Kolvo)+" or more ingots")
      UO.MoveItem('finditem','0',BagForFull)
      Wait(500)
      Return
      Else
      If TCurIng == 0 Then
      TCurIng=TIngots[k]
      EndIf
      If UO.GetColor('finditem') == CIng[2] Then
      UO.MSG("Dull Copper? I not make this full.")
      UO.MoveItem('finditem',-1,BagForFull)
      Wait(500)
      Return
      EndIf
      If UO.GetColor('finditem') == CIng[3] Then
      UO.MSG("Bronze? I not make this full.")
      UO.MoveItem('finditem',-1,BagForFull)
      Wait(500)
      Return
      EndIf
      UO.Print("Avaible is "+STR(UO.GetQuantity('finditem'))+" ingots.")
      UO.Print("Ingots type is "+TIngots[k])
      EndIf
      EndIf
      Else
      If k == 3 AND TCurIng == 0 Then
      UO.Print("No avaible ingots. Script terminated.")
      Return
      EndIf
      EndIf
      Wait(1000)
      Next
      UO.FindType(TCurIng,-1,Sunduk)
      For Var n=0 to 13 ; Узнаем цвет
      If CIng[n] == UO.GetColor('finditem') Then
      WCurIng = WIng[n]
      CCurIng = CIng[n]
      EndIf
      Next
      If CCurIng == '0x0000' Then
      If TCurIng == TIngots[1] Then
      WCurIng = 'Copper'
      Else
      If TCurIng == TIngots[2] Then
      WCurIng = 'Silver'
      Else
      If TCurIng == TIngots[3] Then
      WCurIng = 'Golden'
      EndIf
      EndIf
      EndIf
      EndIf
      UO.MSG("Found "+(WCurIng)+" ingots.")
      UO.FindType(Meshok,-1,Sunduk) ; Ищем мешки для фуллов
      If UO.FindCount() == 0 Then
      UO.MSG("No bag - NO FULL !!!")
      Return
      Else
      CurMesh=UO.GetSerial('finditem')
      EndIf
      UO.FindType(TCurIng,CCurIng,Sunduk)
      UO.MoveItem('finditem',STR(Kolvo),'backpack ') ; Забираем скока поднимем
      Wait(500)
      UO.Grab('1',CurMesh) ; Берем мешок в пэк
      Wait(500)
      CheckLag()
      UO.SetCatchBag(CurMesh) ; Всё что сделаем в мешок
      Var i=0
      Repeat
      UO.MSG("Try make the "+WCurIng+" "+Part[i])
      UO.AutoMenu('Blacksmithing','Colored')
      UO.AutoMenu('Colored',WCurIng+' Armor')
      UO.AutoMenu(WCurIng+' Armor',WCurIng+' Plate Armor')
      UO.AutoMenu(WCurIng+' Plate Armor',Part[i])
      Repeat
      jser=0
      UO.FindType(TCurIng,CCurIng,-1)
      IF UO.FindCount() > 0 Then
      UO.DeleteJournal()
      UO.UseObject('finditem')
      Else
      UO.Print("Ingots not found")
      UO.UnSetCatchBag()
      Repeat
      UO.FindType(TCurIng,CCurIng,-1)
      If UO.FindCount() > 0 Then
      UO.MoveItem('finditem','-1',BagForFull) ; Обратно в сундук
      Wait(500)
      EndIf
      Until UO.Count(TCurIng,CCurIng) == 0 ; Все инготы в пэке
      UO.DropHere(CurMesh)
      Wait(500)
      Return
      EndIf
      While NOT UO.InJournal("put") AND NOT UO.InJournal("failed")
      Wait(100)
      WEnd
      If UO.InJournal("put") Then
      jser=1
      EndIf
      Until jser == 1
      i=i+1
      UO.CancelMenu()
      Until i > 6
      UO.UnSetCatchBag()
      Repeat
      UO.FindType(TCurIng,CCurIng,-1)
      If UO.FindCount() > 0 Then
      UO.MoveItem('finditem','-1',BagForFull) ; Обратно в сундук
      Wait(500)
      EndIf
      Until UO.Count(TCurIng,CCurIng) == 0 ; Все инготы в пэке
      UO.MSG("FULL")
      UO.MoveItem(CurMesh,'-1',BagForFull)
      Wait(500)
    end sub

    sub MakeIron(TCurIng,CCurIng,Kolvo,Sunduk,Meshok,BagForFull)
      Var jser, CurMesh = 0
       
      DIM Part[6]
       
      Part[0]='platemail (25' ; Названия частей фулла
      Part[1]='platemail legs'
      Part[2]='platemail arms'
      Part[3]='plate helm'
      Part[4]='platemail gloves'
      Part[5]='platemail gorget'
       
      UO.FindType(Meshok,-1,Sunduk)
      If UO.FindCount() == 0 Then
      UO.MSG("No bag - NO FULL !!!")
      Return
      Else
      CurMesh=UO.GetSerial('finditem')
      EndIf
       
      UO.FindType(TCurIng,CCurIng,Sunduk)
      If UO.GetQuantity('finditem') < Kolvo Then
      UO.MSG("I need "+STR(Kolvo)+" or more ingots")
      UO.MoveItem('finditem','-1',BagForFull) ; Обратно в сундук
      Wait(500)
      Return
      Else
      UO.MoveItem('finditem',STR(Kolvo),'backpack ') ; Забираем скока поднимем
      Wait(500)
      UO.Grab('1',CurMesh) ; Берем мешок в пэк
      Wait(500)
      EndIf
      CheckLag()
      UO.SetCatchBag(CurMesh) ; Всё что сделаем в мешок
      Var i=0
      Repeat
      UO.MSG("Try make the Iron "+Part[i])
      UO.AutoMenu('Blacksmithing','Armor')
      UO.AutoMenu('Armor','Plate Mail')
      UO.AutoMenu('Plate Mail',Part[i])
      Repeat
      jser=0
      UO.FindType(TCurIng,CCurIng,-1)
      If UO.FindCount() > 0 Then
      UO.DeleteJournal()
      UO.UseObject('finditem')
      Else
      UO.Print("Ingots not found")
      UO.UnSetCatchBag()
      Repeat
      UO.FindType(TCurIng,CCurIng,-1)
      If UO.FindCount() > 0 Then
      UO.MoveItem('finditem','-1',BagForFull) ; Обратно в сундук
      Wait(500)
      EndIf
      Until UO.Count(TCurIng,CCurIng) == 0 ; Все инготы в пэке
      UO.DropHere(CurMesh)
      Wait(500)
      Return
      EndIf
      While NOT UO.InJournal("put") AND NOT UO.InJournal("failed")
      Wait(100)
      WEnd
      If UO.InJournal("put") Then
      jser=1
      EndIf
      Until jser == 1
      i=i+1
      UO.CancelMenu()
      Until i > 5
      UO.MSG("Try make the Iron heater shield")
      UO.AutoMenu('Blacksmithing','Shields')
      UO.AutoMenu('Shields','heater shield')
      UO.DeleteJournal()
      Repeat
      jser=0
      UO.FindType(TCurIng,CCurIng,-1)
      IF UO.FindCount() > 0 Then
      UO.UseObject('finditem')
      Else
      UO.Print("Ingots not found")
      UO.UnSetCatchBag()
      Repeat
      UO.FindType(TCurIng,CCurIng,-1)
      If UO.FindCount() > 0 Then
      UO.MoveItem('finditem','-1',BagForFull) ; Обратно в сундук
      Wait(500)
      EndIf
      Until UO.Count(TCurIng,CCurIng) == 0 ; Все инготы в пэке
      UO.DropHere(CurMesh)
      Wait(500)
      Return
      EndIf
      While NOT UO.InJournal("put") AND NOT UO.InJournal("failed")
      Wait(100)
      WEnd
      If UO.InJournal("put") Then
      jser=1
      EndIf
      Until jser == 1
      UO.CancelMenu()
      UO.UnSetCatchBag()
      Repeat
      UO.FindType(TCurIng,CCurIng,-1)
      If UO.FindCount() > 0 Then
      UO.MoveItem('finditem','-1',BagForFull) ; Обратно в сундук
      Wait(500)
      EndIf
      Until UO.Count(TCurIng,CCurIng) == 0 ; Все инготы в пэке
      UO.MSG("FULL")
      UO.MoveItem(CurMesh,'-1',BagForFull)
      Wait(500)
    end sub 

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




    Категория: Мои статьи | Добавил: -=DavidJones=- (15.11.2008)
    Просмотров: 824 | Комментарии: 5 | Рейтинг: 0.0/0
    Всего комментариев: 0
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]

    Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0
    Наш опрос
    Как Вам наш сайт
    Всего ответов: 244
    Copyright MyCorp © 2025