Скрипты на заказы, Хелп
11 лет
Ranger
Сообщений: 53
Рег. 17.02.2013
23 февраля 2013 00:25
Сообщение #1
Как сделать счётчик типо функции например Checklag.
Каждий раз перед запуском счётчика нужно например вписывать число вещей которые нужно сделать, и скрипт тогда начинает контролировать число вещей которые делаются. Как число доходит до указонного выше числа скрипт выключается.

вот например скрипт

sub Agility()
var tmp, i
UO.Exec ("cancelmenu")
UO.Exec ("automenu 'What' 'Agility'")
start:

UO.DeleteJournal()

UO.Exec ("usetype 0x0f7b")
while not (uo.injournal("You put")) and not (uo.injournal("failed"))
wait(1000)
wend

goto start
end sub


в начале скрипта например стоит
sub Alchemy()
Zahlfix()

Как функция Zahlfix(счётчика должна выглядеть?
11 лет
Ranger
Сообщений: 53
Рег. 17.02.2013
23 февраля 2013 01:18
Сообщение #2
sub Agility()
var item = '0x0e24'
var printcolour = '1069'
var quantity = 21;
var tmp, i
UO.Exec ("cancelmenu")
UO.Exec ("automenu 'What' 'Agility'")
start:

UO.DeleteJournal()

UO.Exec ("usetype 0x0f7b")
while not (uo.injournal("You put")) and not (uo.injournal("failed"))
wait(1000)
UO.FindType( item )
uo.charprint(printcolour,'AGI POTIONS: '+Str(UO.GetQuantity('finditem')))
wend
UNTIL UO.FindCount()>=quantity
goto start
end sub


Добавил чек но блин непонимаю при запуске скрипта пишет Unhandle exception я заметил как добавляю вот эту строчку UNTIL UO.FindCount()>=quantity
11 лет
Ranger
Сообщений: 53
Рег. 17.02.2013
23 февраля 2013 02:32
Сообщение #3
uo.charprint(printcolour,'AGI POTIONS: '+Str(UO.GetQuantity('finditem'))

кто нить подскажите как эта строчка считает предметы. Почемуто всегда пишет что 0 предметов а иногда 2
Старший Лейтенант (6395350)11 лет
Necromancer
Сообщений: 5530
Рег. 27.08.2012
23 февраля 2013 10:40
Сообщение #4
строка считывает количество предметов в стаке, нестатичные не считает
Старший Лейтенант (6395350)11 лет
Necromancer
Сообщений: 5530
Рег. 27.08.2012
23 февраля 2013 10:43
Сообщение #5
ну а вообще счетчик вот (вместо item и bag свои сумки)

на стак:
UO.FindType( item, -1, bag)
         uo.charprint(printcolour,' предметов в сумке: '+Str(UO.GetQuantity('finditem')))
   UNTIL UO.GetQuantity('finditem')>=quantity


на НЕстак:
UO.FindType( item, -1, bag)
      uo.charprint(printcolour,' предметов в сумке: '+Str( UO.FindCount()))
   UNTIL UO.FindCount()>=quantity
11 лет
Ranger
Сообщений: 53
Рег. 17.02.2013
23 февраля 2013 11:21
Сообщение #6

############################################
#var quantity вписываем число заказов, сколько нужно сделать#
############################################
var quantity = 3
var printcolour = '1069'
###################
##
###################
sub Agility()
var item = '0x0e24'
var tmp, i
UO.Exec ("cancelmenu")
UO.Exec ("automenu 'What' 'Agility'")
start:

UO.DeleteJournal()

UO.Exec ("usetype 0x0f7b")
while not (uo.injournal("You put")) and not (uo.injournal("failed"))
wait(1000)
wend
uo.Count(item)
uo.print(str(item))
if UO.Count(item) >= quantity then
uo.print('We have enough AGI POTIONS')
uo.exec('terminate all')
endif
goto start
end sub


Я впринципе сделал всё как хотел только вот когда добавляю эту строку скрипт начинает выдавать ошибку UNTIL UO.GetQuantity('finditem')>=quantity
В скрипте я хочю только заменить вот это
uo.Count(item)
uo.print(str(item))

На что небудь чтоб считало сколько агилити бутылок я уже сделал или например топоров для бса
Но для бса там другой счётчик
Старший Лейтенант (6395350)11 лет
Necromancer
Сообщений: 5530
Рег. 27.08.2012
23 февраля 2013 11:32
Сообщение #7
Betrazen,
убери
start:

на его место
repeat

удали

goto start


и по моему сугубо личному мнению надо поставить после
UO.FindType( item )

вот это
checklag()

и в конце скрипта
Sub checklag()
   DeleteJournal("ackpack")
   UO.Click("backpack")
   repeat
      wait(100)
   until UO.InJournal("ackpack")
end sub


расписывал по скрипту с второго поста
зы: в итоге получится немного кривой, но рабочий скрипт
11 лет
Ranger
Сообщений: 53
Рег. 17.02.2013
23 февраля 2013 11:36
Сообщение #8
var quantity = 3
var printcolour = '1069'
###################
#completed by Betrazen#
###################
sub Agility()
var item = '0x0e24'
var tmp, i
UO.Exec ("cancelmenu")
UO.Exec ("automenu 'What' 'Agility'")
repeat

UO.Exec ("usetype 0x0f7b")
while not (uo.injournal("You put")) and not (uo.injournal("failed"))
wait(1000)
checklag()
wend
uo.Count(item)
uo.print(str(item))
if UO.Count(item) >= quantity then
uo.print('We have enough AGI POTIONS')
uo.exec('terminate all')
endif
end sub

Sub checklag()
   DeleteJournal("ackpack")
   UO.Click("backpack")
   repeat
      wait(100)
   until UO.InJournal("ackpack")
end sub


Вот новая версия скрипта как ты и сказал осталось настроить счётчик чтоб прекрасно работал. Считал количество сделаных агилок.
Старший Лейтенант (6395350)11 лет
Necromancer
Сообщений: 5530
Рег. 27.08.2012
23 февраля 2013 11:40
Сообщение #9
Betrazen, я ж написал, что я расписывал по скрипту с второго поста, там ты счетчик уже прикрутил :)
вот тут определись, ты VAR'ы засовываешь в саб или нет )
var quantity = 3
var printcolour = '1069'
###################
#completed by Betrazen#
###################
sub Agility()
var item = '0x0e24'
var tmp, i
11 лет
Ranger
Сообщений: 53
Рег. 17.02.2013
23 февраля 2013 11:43
Сообщение #10
я их в саб не буду засовывать потомучто этот скрипт будет работать не только для изготовления агилок а для других зелей. вар это просто чтоб если я зашол в игру увидел сёдня надо например 25 бутылок. Я захожу в начала скрипта меняю число на 25 и запускаю любой скрипт с зельеми.
Старший Лейтенант (6395350)11 лет
Necromancer
Сообщений: 5530
Рег. 27.08.2012
23 февраля 2013 11:44
Сообщение #11
Betrazen, ясн
в итоге что получилось? рабочее?
11 лет
Ranger
Сообщений: 53
Рег. 17.02.2013
23 февраля 2013 11:48
Сообщение #12
Короче скрипт всё запускается начинает делать бутылки. После того когда он сделал агилку мне надо чтоб он напечатал сколько бутылок этого типа всмысле агилок уже присутсвует в паке, потом он проверяет если вещей равно или больше qunataty то скрипт выключается
А скрипт печаетает почемуто количество бутылок всё время 0.
вот эти 2 строчки думаю нужно изменить
uo.Count(item)
uo.print(str(item))
Старший Лейтенант (6395350)11 лет
Necromancer
Сообщений: 5530
Рег. 27.08.2012
23 февраля 2013 12:10
Сообщение #13
моя твоя не понимает видимо :( ладно, лови готовый
var quantity = 6
var printcolour = '1069'
###################
#completed by Betrazen#
###################
sub Agility()
   var item = '0x0e24'; тип итема, кторый будет крафтиться
   var instrum = '0x0f7b'; тип инструмента, который нужен для крафта
   var color = '0x05B0'; вбить цвет крафченного итема
   var menu = "waitmenu 'What' 'Agility'"
   REPEAT
      UO.DeleteJournal()
      UO.exec(menu)
      UO.Usetype(instrum)
      repeat
         wait( 100 )
      until uo.injournal("You put") or uo.injournal("failed")
      UO.FindType( item, color, 'backpack')
      checklag()
      uo.charprint(printcolour,' В контейнере: '+Str(UO.GetQuantity('finditem')))
   UNTIL UO.GetQuantity('finditem')>=quantity
   uo.charprint(printcolour, 'Все готово' )
end sub
Sub checklag()
   UO.DeleteJournal()
   UO.Click("backpack")
   repeat
      wait(100)
   until UO.InJournal("ackpack")
end sub
Старший Лейтенант (6395350)11 лет
Necromancer
Сообщений: 5530
Рег. 27.08.2012
23 февраля 2013 12:14
Сообщение #14
но в нем тоже не прописаны куча условий:
сейв, лаг, лоломка инструмента, закончились реги, нет инструмента в паке и бла бла бла
11 лет
Ranger
Сообщений: 53
Рег. 17.02.2013
23 февраля 2013 12:19
Сообщение #15
Митако огромное спасибо скрипт работает как и хотел
12 лет
Ranger
Сообщений: 1043
Рег. 18.06.2011
23 февраля 2013 18:42
Сообщение #16
#completed by Betrazen#

Хехе :spiteful:
Последние посетители (0):

 
Сейчас: 5 мая 2024 13:07