Энчатинг (шард Антарес)

Good scripts, not reviewed and checked yet

Moderators: Murderator+, Murderator

Post Reply

Работает?

да
3
38%
нет
5
63%
 
Total votes: 8

Ururu
Posts: 479
Joined: 2007-02-21 20:15:57

Энчатинг (шард Антарес)

Post by Ururu »

Скрипт для Антареса, так как только там есть энчатинг.

Для работы скрипта, необходимы рядом с форжей, два сундука. В первый кидаем много молотков, дезенчат тулсов, ингов озона, шадоу, блю, кринита, ская, стила. Так же кидаем туда еды (фиш стейки). Если каких то ингов нет, ничего страшного. Если инги или инструмент закончатся, закончится и скрипт. Если закончится еда, скрипт продолжит работу, но смерть чара на вашей совести. Во второй сундук кидаем пустые мешки.

Скрипт кует горжетки, ломает их тулсом. Скидывает в первый сундук мешки, наполняя их энчатами (по 100). В общем все в коментах. Дерзайте.

Code: Select all

##########################################
#         Enchanting v.1.00
#         Shard - Antares
#   The author - Ururu
#   The proof-reader - пожелал остатся неизвестным
##########################################
# Для работы скрипта необходимо:
##########################################
# 1) Убедитель что в паке и на чаре нет горжеток =)
#    В паке недолжно быть мешков левых.
##########################################
# 2) рядом с форжей поставить 2 сундука
##########################################
# 3) в первый сундук накидать металлы (какие есть):
#    а) Ozone
#    б) Shadow
#    в) Blue
#    г) Crinit
#    д) Sky
#    е) Steel
# З.Ы. Других металлов быть не должно !!!
##########################################
# 4) туда же (в первый сундук) кидаем:
#    а) молотки
#    б) дезенчат тулсы
#    в) еду (фиш стейки)
##########################################
# 5) во второй сундук нужно положить пустых мешков
##########################################
# 6) тут заменить ID, на ID своих сундуков

VAR Sunduk = '0x40395869' ; ID сундука с металом, инструментом
VAR Sunduk2 = '0x4038B93C' ; ID сундука с пустыми мешками

##########################################
##########################################
VAR Hammer = '0x13E3' ; тип Smith's Hammer
VAR Tools = '0x1EB8' ; тип Disenchanting Tools
VAR Steaks = '0x097B' ; тип Fish Steaks
VAR Enchant = '0x1869' ; тип Armor Enchant
VAR Bag = '0x0E76' ; тип Bag
VAR LastTimer
var ID

sub Start()
      UO.UseObject(Sunduk)
         Wait(500)
   CheckLag()
      UO.UseObject(Sunduk2)
         Wait(500)
   CheckLag()
   Repeat
   Main()
         Wait(100)
   CheckLag()
   Until UO.Dead()
End Sub
;*****************************************
; Основа
;*****************************************
Sub Main()
      UO.FindType(Hammer,'0','2')
   CheckLag()
   If UO.FindCount() Then
      UO.Print("The hammer is found")
         Wait(500)
   Else
   FirstTake()
         Wait(100)
   End If
      UO.FindType(Tools,'0x0488','2')
   CheckLag()
   If UO.FindCount() Then
      UO.Print("The Disenchanting Tools is found")
         Wait(500)
   Else
   SecondTake()
         Wait(100)
   End If
      UO.FindType(Steaks,'0','2')
   CheckLag()
   If UO.FindCount() Then
      UO.Print("The Meal is found")
         Wait(500)
   Meal()
         Wait(100)
   Else
   ThirdTake()
         Wait(100)
   End If
   FirstIngots()
         Wait(100)
      UO.FindType(Enchant,'0x000F','2')
         Wait(100)
   If UO.FindCount() > 99 Then
   Shift()
         Wait(500)
   CheckLag()
   Shift2()
         Wait(500)
   CheckLag()
   Shift3()
         Wait(500)
   CheckLag()
   Else
         Wait(50)
   End If
End Sub
;*****************************************
; Поиск мешков в сундуке
;*****************************************
Sub Shift()
      UO.FindType(Bag,'-1',Sunduk2)
   If UO.FindCount() Then
      UO.Grab(1,'finditem')
         Wait(500)
   CheckLag()
   Else
      UO.Print("The bag is not found")
         Wait(100)
      UO.Exec('Terminate All')
   End If
End Sub
;*****************************************
; Разгрузка энчатов в мешок
;*****************************************
Sub Shift2()
      UO.FindType(bag,'-1','backpack')
   If UO.FindCount() Then
         ID=UO.GetSerial('finditem')
   Else
      UO.Print('The bag is not found')
   End If
      UO.SetReceivingContainer(ID)
      UO.Findtype(enchant,'-1','backpack')
   While UO.FindCount()
      UO.Grab(0,'finditem')
         wait(500) 
   End If
      UO.FindType(enchant,'-1','backpack')
   Wend
      UO.UnSetReceivingContainer()
End Sub
;*****************************************
; Скидывание мешка
;*****************************************
Sub Shift3()
      UO.FindType(Bag)
   If UO.FindCount() Then
      UO.MoveItem('finditem','1',Sunduk)
         Wait(500)
   CheckLag()
   Else
   CheckLag()
   End If
End Sub
;*****************************************
; Поиск молотка
;*****************************************
Sub FirstTake()
      UO.FindType(Hammer,'0',Sunduk)
   If UO.FindCount() Then
      UO.Grab(1,'finditem')
         Wait(500)
   CheckLag()
   Else
      UO.Print("The hammer is not found")
         Wait(100)
      UO.Exec('Terminate All')
   End If
End Sub
;*****************************************
; Поиск дезенчат тулса
;*****************************************
Sub SecondTake()
      UO.FindType(Tools,'0x0488',Sunduk)
   If UO.FindCount() Then
      UO.Grab(1,'finditem')
         Wait(500)
   CheckLag()
   Else
      UO.Print("The Disenchanting Tools is not found")
         Wait(100)
      UO.Exec('Terminate All')
   End If
End Sub
;*****************************************
; Поиск еды
;*****************************************
Sub ThirdTake()
      UO.FindType(Steaks,'0',Sunduk)
   If UO.FindCount() Then
      UO.Grab(10,'finditem')
         Wait(500)
   CheckLag()
   Else
      UO.Print("The Meal is not found")
         Wait(100)
      UO.Print("I shall die of famine")
   End If
End Sub
;*****************************************
; Прием пищи
;*****************************************
Sub Meal()
      UO.DeleteJournal()
      UO.FindType(Steaks,'0','2')
   Repeat
      UO.UseType(Steaks)
         Wait(100)
   CheckLag()
   Until UO.InJournal("не можете")
End Sub
;*****************************************
; Поиск металла
;*****************************************
Sub FirstIngots()
      UO.FindType('0x1BF2','-1',Sunduk)
         Wait(100)
   If UO.GetQuantity('finditem') > 20 Then
   Search()
         Wait(500)
   Else
   SecondIngots()
         Wait(500)
   End If
End Sub
;*****************************************
; Второй поиск металла
;*****************************************
Sub SecondIngots()
      UO.FindType('0x0F8E','-1',Sunduk)
         Wait(100)
   If UO.GetQuantity('finditem') > 20 Then
   Search()
         Wait(500)
   Else
      UO.Print("Metal is not found")
         Wait(500)
      UO.Print("The script comes to the end")
         Wait(1000)
      UO.Exec('Terminate All')
   End If
End Sub
;*****************************************
; Основной модуль запуска ковки
;*****************************************
Sub Search()
      UO.FindType('0x1BF2','0x048F',Sunduk)
         Wait(100)
   If UO.GetQuantity('finditem') > 20 Then
      UO.Print("Metal Ozone is found")
   Ozone()
         Wait(500)
   Else
      UO.Print("Metal Ozone is not found")
         Wait(100)
   End If
      UO.FindType('0x1BF2','0x0770',Sunduk)
         Wait(100)
   If UO.GetQuantity('finditem') > 20 Then
      UO.Print("Metal Shadow is found")
   Shadow()
         Wait(500)
   Else
      UO.Print("Metal Shadow is not found")
         Wait(100)
   End If
      UO.FindType('0x1BF2','0x078D',Sunduk)
         Wait(100)
   If UO.GetQuantity('finditem') > 20 Then
      UO.Print("Metal Blue is found")
   Blue()
         Wait(500)
   Else
      UO.Print("Metal Blue is not found")
         Wait(100)
   End If
      UO.FindType('0x0F8E','0x0487',Sunduk)
         Wait(100)
   If UO.GetQuantity('finditem') > 20 Then
      UO.Print("Metal Crinit is found")
   Crinit()
         Wait(500)
   Else
      UO.Print("Metal Crinit is not found")
         Wait(100)
   End If
      UO.FindType('0x1BF2','0x0492',Sunduk)
         Wait(100)
   If UO.GetQuantity('finditem') > 20 Then
      UO.Print("Metal Sky is found")
   Sky()
         Wait(500)
   Else
      UO.Print("Metal Sky is not found")
         Wait(100)
   End If
      UO.FindType('0x1BF2','0x042C',Sunduk)
         Wait(100)
   If UO.GetQuantity('finditem') > 20 Then
      UO.Print("Metal Steel is found")
   Steel()
         Wait(500)
   Else
      UO.Print("Metal Steel is not found")
         Wait(100)
   End If
      UO.FindType('0x1BF2','0x03A4',Sunduk)
         Wait(100)
   If UO.GetQuantity('finditem') > 20 Then
      UO.Print("Metal Dark is found")
   Dark()
         Wait(500)
   Else
      UO.Print("Metal Dark is not found")
         Wait(100)
   End If
End Sub
;*****************************************
; Ковка из Ozone
;*****************************************
Sub Ozone()
   UO.DeleteJournal()
   UO.FindType('0x1BF2','0x048F',Sunduk)
CheckLag()
   If UO.FindCount() Then
      UO.Grab(20,'finditem')
         Wait(200)
   CheckLag()
      UO.DeleteJournal()
      UO.WaitTargetType('0x1BF2')
      UO.WaitMenu('Colored Armor','Ozone Armor','Ozone Armor','Ozone Gorget')
      UO.UseType(Hammer)
   Repeat
         Wait(500)
            LastTimer=uo.timer()
   Until UO.InJournal("положили") Or UO.InJournal("не удалось") Or UO.Timer()>LastTimer+100
   CheckLag()
   Else
         Wait(100)
   End If
      UO.FindType('0x1413','-1','2')
   While UO.FindCount()
      UO.WaitTargetType('0x1413')
         Wait(100)
      UO.UseType(Tools)
   CheckLag()
      UO.FindType('0x1413','-1','2')
   Wend
         Wait(100)
   Clearing()
End Sub
;*****************************************
; Ковка из Shadow
;*****************************************
Sub Shadow()
   UO.DeleteJournal()
   UO.FindType('0x1BF2','0x0770',Sunduk)
CheckLag()
   If UO.FindCount() Then
      UO.Grab(20,'finditem')
         Wait(200)
   CheckLag()
      UO.DeleteJournal()
      UO.WaitTargetType('0x1BF2')
      UO.WaitMenu('Blacksmithing','Colored Armor','Shadow Armor','Shadow Gorget')
      UO.UseType(Hammer)
   Repeat
         Wait(500)
            LastTimer=uo.timer()
   Until UO.InJournal("положили") Or UO.InJournal("не удалось") Or UO.Timer()>LastTimer+100
   CheckLag()
   Else
         Wait(100)
   End If
      UO.FindType('0x1413','-1','2')
   While UO.FindCount()
      UO.WaitTargetType('0x1413')
         Wait(100)
      UO.UseType(Tools)
   CheckLag()
      UO.FindType('0x1413','-1','2')
   Wend
         Wait(100)
   Clearing()
End Sub
;*****************************************
; Ковка из Blue
;*****************************************
Sub Blue()
      UO.DeleteJournal()
      UO.FindType('0x1BF2','0x078D',Sunduk)
   CheckLag()
   If UO.FindCount() Then
      UO.Grab(20,'finditem')
         Wait(200)
   CheckLag()
      UO.DeleteJournal()
      UO.WaitTargetType('0x1BF2')
      UO.WaitMenu('Blacksmithing','Colored Armor','Colored Armor','Blue Armor','Blue Armor','Blue Gorget')
      UO.UseType(Hammer)
   Repeat
         Wait(500)
            LastTimer=uo.timer()
   Until UO.InJournal("положили") Or UO.InJournal("не удалось") Or UO.Timer()>LastTimer+100
   CheckLag()
   Else
         Wait(100)
   End If
      UO.FindType('0x1413','-1','2')
   While UO.FindCount()
      UO.WaitTargetType('0x1413')
         Wait(100)
      UO.UseType(Tools)
   CheckLag()
      UO.FindType('0x1413','-1','2')
   Wend
         Wait(100)
   Clearing()
End Sub
;*****************************************
; Ковка из Crinit
;*****************************************
Sub Crinit()
      UO.DeleteJournal()
      UO.FindType('0x0F8E','0x0487',Sunduk)
   CheckLag()
   If UO.FindCount() Then
      UO.Grab(20,'finditem')
         Wait(200)
   CheckLag()
      UO.DeleteJournal()
      UO.WaitTargetType('0x0F8E')
      UO.WaitMenu('Blacksmithing','Colored Armor','Crinit Armor','Crinit Gorget')
      UO.UseType(Hammer)
   Repeat
         Wait(500)
            LastTimer=uo.timer()
   Until UO.InJournal("положили") Or UO.InJournal("не удалось") Or UO.Timer()>LastTimer+100
   CheckLag()
   Else
         Wait(100)
   End If
      UO.FindType('0x1413','-1','2')
   While UO.FindCount()
      UO.WaitTargetType('0x1413')
         Wait(100)
      UO.UseType(Tools)
   CheckLag()
      UO.FindType('0x1413','-1','2')
   Wend
         Wait(100)
   Clearing()
End Sub
;*****************************************
; Ковка из Sky
;*****************************************
Sub Sky()
      UO.DeleteJournal()
      UO.FindType('0x1BF2','0x0492',Sunduk)
   CheckLag()
   If UO.FindCount() Then
      UO.Grab(20,'finditem')
         Wait(200)
   CheckLag()
      UO.DeleteJournal()
      UO.WaitTargetType('0x1BF2')
      UO.WaitMenu('Sky Armor','Sky Gorget')
      UO.UseType(Hammer)
   Repeat
         Wait(500)
            LastTimer=uo.timer()
   Until UO.InJournal("положили") Or UO.InJournal("не удалось") Or UO.Timer()>LastTimer+100
   CheckLag()
   Else
         Wait(100)
   End If
      UO.FindType('0x1413','-1','2')
   While UO.FindCount()
      UO.WaitTargetType('0x1413')
         Wait(100)
      UO.UseType(Tools)
   CheckLag()
      UO.FindType('0x1413','-1','2')
   Wend
         Wait(100)
   Clearing()
End Sub
;*****************************************
; Ковка из Steel
;*****************************************
Sub Steel()
      UO.DeleteJournal()
      UO.FindType('0x1BF2','0x042C',Sunduk)
   CheckLag()
   If UO.FindCount() Then
      UO.Grab(20,'finditem')
         Wait(200)
   CheckLag()
      UO.DeleteJournal()
      UO.WaitTargetType('0x1BF2')
      UO.WaitMenu('Steel Armor','Steel Gorget')
      UO.UseType(Hammer)
   Repeat
         Wait(500)
            LastTimer=uo.timer()
   Until UO.InJournal("положили") Or UO.InJournal("не удалось") Or UO.Timer()>LastTimer+100
   CheckLag()
   Else
         Wait(100)
   End If
      UO.FindType('0x1413','-1','2')
   While UO.FindCount()
      UO.WaitTargetType('0x1413')
         Wait(100)
      UO.UseType(Tools)
   CheckLag()
      UO.FindType('0x1413','-1','2')
   Wend
         Wait(100)
   Clearing()
End Sub
;*****************************************
; Ковка из Dark
;*****************************************
Sub Dark()
      UO.DeleteJournal()
      UO.FindType('0x1BF2','0x03A4',Sunduk)
   CheckLag()
   If UO.FindCount() Then
      UO.Grab(20,'finditem')
         Wait(200)
   CheckLag()
      UO.DeleteJournal()
      UO.WaitTargetType('0x1BF2')
      UO.WaitMenu('Dark Armor','Dark Gorget')
      UO.UseType(Hammer)
   Repeat
         Wait(500)
            LastTimer=uo.timer()
   Until UO.InJournal("положили") Or UO.InJournal("не удалось") Or UO.Timer()>LastTimer+100
   CheckLag()
   Else
         Wait(100)
   End If
      UO.FindType('0x1413','-1','2')
   While UO.FindCount()
      UO.WaitTargetType('0x1413')
         Wait(100)
      UO.UseType(Tools)
   CheckLag()
      UO.FindType('0x1413','-1','2')
   Wend
         Wait(100)
   Clearing()
End Sub
;*****************************************
; Разгрузка излишков металла
;*****************************************
Sub Clearing()
      UO.FindType('0x1BF2','-1','2')
   While UO.FindCount()
      UO.MoveItem('finditem','0',Sunduk)
         Wait(300)
   CheckLag()
      UO.FindType('0x1BF2','-1','2')
   Wend
         Wait(500)
      UO.FindType('0x0F8E','-1','2')
   While UO.FindCount()
      UO.MoveItem('finditem','0',Sunduk)
         Wait(300)
   CheckLag()
      UO.FindType('0x0F8E','-1','2')
   Wend
         Wait(500)
End Sub
;*****************************************
; Чек лаг =)
;*****************************************
Sub CheckLag()
      UO.DeleteJournal()
      UO.Click('backpack')
   Repeat
      n=n+1
         Wait(200)
   Until UO.InJournal("backpack|Backpack") Or n>50
End Sub
Last edited by Ururu on 2007-05-16 20:25:45, edited 2 times in total.
Шард Антарес
Ururu
Nmy
Expert!
Posts: 2152
Joined: 2005-09-14 15:31:58
Location: Latvia

Post by Nmy »

выгледит апетитно, НО- поменяй чек лаг :!:
Ururu
Posts: 479
Joined: 2007-02-21 20:15:57

Post by Ururu »

Заменил.
Шард Антарес
Ururu
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

Бред, бред, бред !!

Code: Select all

   Repeat 
         Wait(500)
            LastTimer=uo.timer()
   Until UO.InJournal("положили") Or UO.InJournal("не удалось") Or UO.Timer()>LastTimer+100

Ага, маладэц, возьми с полки конфетку и подавись с таким таймером :)

И ваще - нафига стока одинаковых функций?

Читай мануал по переменным !
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
Ururu
Posts: 479
Joined: 2007-02-21 20:15:57

Post by Ururu »

Много одинаковых функций?
Твои слова =)
7. Крайне желательным является присутствие в скрипте возможность отладки.


А чем таймер не угодил? Сколько тогда оптимально ожидание?


З.Ы. Кто ткнул что не работает?? =) Не я 1 тестил.
Шард Антарес
Ururu
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

Я ткнул, не работает - тестить негде :)

Наличие ф-ций - отладки - не означает наличие одинаковых функций.

У тебя примерно так выглядит:

Code: Select all

sub a()
uo.print( "Privet" )
endsub

sub b()
uo.print( "Privet2" )
endsub

sub main()
a()
b()
endsub


А можно сделать так:

Code: Select all

sub main()
a( 0 )
a( 1 )
endsub

sub a( n )
DIM arr[2]
arr[0] = "Privet"
arr[1] = "Privet2"
uo.print( arr[i] )
endsub


Это я про ф-ции Ozone и им подобные.

Длинный скрипт - не значит хороший скрипт. Оформи скрипт покороче, создай переменные - где же настраиваемость скрипта? У тебя куча ф-ций, вместо десятка переменных !!!

Никаких findtype( "0x0000" ) быть не должно, всё в переменные !!!

Никаких фраз в комментах, чего не должно быть - не должно быть :) Сделай пару проверок в скрипте итп, когда приведёшь в порядок - выкладывай, а на данном этапе скрипт никуда не годен ввиду своей неоформленности :)

+ с отступами у тебя бодяга)

Касательно того фрагмента скрипта что я привёл - он НИКОГДА не выйдет из него по таймеру, подумай почему.

Все журналовские сабжи - в переменные! Вообще дохренищи минусов)
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
Ururu
Posts: 479
Joined: 2007-02-21 20:15:57

Post by Ururu »

Исправлюсь =)
А насчет негде тестить, не смеши =) У тебя есть чар на антаресе...
Шард Антарес
Ururu
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

Ururu wrote:Исправлюсь =)
А насчет негде тестить, не смеши =) У тебя есть чар на антаресе...

Хочешь его прокачать?)
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
Ururu
Posts: 479
Joined: 2007-02-21 20:15:57

Post by Ururu »

Давай ингов. Покачаю на этом скрипте =)
Шард Антарес
Ururu
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

Ururu wrote:Давай ингов. Покачаю на этом скрипте =)

Хочешь добыть мне ингов, чтобы я тебе их дал?)
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
Skicher
Posts: 22
Joined: 2005-05-22 17:42:56

Post by Skicher »

А хатите я вам дам накапать ингав и пракачать чара, если вы наканец замените функции на переменные, кстати скрипт работает а переменые - всеголиш апгрейд, работает и ето главное.
Ururu
Posts: 479
Joined: 2007-02-21 20:15:57

Post by Ururu »

На форуме Антареса обсудили это. В скрипте произошли некоторые изменения и исправления. Пишите конкретно что не так. Каких переменных не хватает. На мой взгляд все что меняется, я внес. Если нет , пишите, уточняйте.
Шард Антарес
Ururu
Post Reply