Page 1 of 1
Помогите с тейлорингом!
Posted: 2004-07-19 07:43:35
by qqqqqq
Я токо начао учится писать скрипты и прошу дать мне скрипт на тейлоринг чтоб действовал примерно так передо мной стоит ящик в нём 40к ткани я беру оттуда 200 ткани делаю из неё штаны пока 200 ткани не кончится затем режу штаны на бинты бинты кладу в этот же ящик и снова беру 200 ткани и так пока не кончится ткань!!
З.Ы Прошу подробно обяснить как скриптом пользоваться желательно в мельчайших деталях тк сам врядли разберусь
ЗАРАНЕЕ СПАСИБО !!! Ж)
Re: Помогите с тейлорингом!
Posted: 2004-07-20 07:54:03
by qqqqqq
qqqqqq wrote:Я токо начао учится писать скрипты и прошу дать мне скрипт на тейлоринг чтоб действовал примерно так передо мной стоит ящик в нём 40к ткани я беру оттуда 200 ткани делаю из неё штаны пока 200 ткани не кончится затем режу штаны на бинты бинты кладу в этот же ящик и снова беру 200 ткани и так пока не кончится ткань!!
З.Ы Прошу подробно обяснить как скриптом пользоваться желательно в мельчайших деталях тк сам врядли разберусь

ЗАРАНЕЕ СПАСИБО !!! Ж)
ПОоожалуста помогите я тоже очень хотел бы такой скрипт помогите нубикам папки плзз откликнитесь!!!!!!!!!!!!
Posted: 2004-07-20 13:21:10
by Daioh
Не помню чей(может мой

):
Code: Select all
sub CheckLag(); Чеклаг - функция, которая есть почти в каждом скрипте, изменять ее не надо(спасает от сбивки на ВС)
UO.DeleteJournal()
UO.Click('backpack')
repeat
wait(500)
until UO.InJournal('backpack')
end sub
sub tohide(); Функция Саваджа, прячет персонажа путем выпивания инвизки или, если таковой не имеется, скиллом
while NOT UO.Hidden(); Пока не спрятались будем повторять действия
UO.DeleteJournal(); Очитстить журнал
UO.FindType('0x0F0E','0x0631','my'); Ищет инвизку
if UO.Life<UO.STR/2 AND UO.GetQuantity('finditem')>0 then; Если находит...
UO.UseType('0x0F0E','0x0631') ; Пьет ее
UO.Exec('warmode 0'); Ставит режим боя в 0, чтоб не ривилился чар
wait(2000); Ждет 2 секунды
else; Если нет инвизки
UO.Exec('warmode 0')
UO.UseSkill('Stealth'); Использует скилл стелс
repeat; Повтор
wait(50); Паузы в 50мс
until UO.InJournal('You have hidden') OR UO.InJournal('seem to hide') OR UO.InJournal('preoccupied'); пока в журнале не появится запись
endif;Закончить if
wend; Закончить while
end sub
sub taylor();Основная функция
VAR Cont='0x4009D431'; Объявляем переменную - Cont - ID ящика с тканью и куда будем ложить бинты
while NOT UO.Dead();Пока мы не мертвы(можно было бы просто зациклить, но так красивей)
ToHide();прячемся
UO.FindType('0x175D','0x0000','backpack'); Ищем у себя ткань
if UO.GetQuantity('finditem')<4 then; Если ее меньше 4
UO.UseObject(Cont); Открываем ящик
UO.FindType('0x0E21','0x0000','backpack'); Ищем у себя бинты
if UO.GetQuantity('finditem')>0 then; Если есть
UO.SetReceivingContainer(Cont); Ставим принимающий контейнер в Cont
wait(1000); Ждем 1 секунду(против фастлута и так, для надежности :))
UO.Grab('all','finditem');Переносим все бинты в полчающий контейнер(у нас теперь Cont)
wait(1000); Ждем 1 секунду
UO.UnSetReceivingContainer(); Ставим получающий контейнер в бекпек
Endif
UO.FindType('0x175D','0x0000',Cont); Ищем в ящике ткань
wait(1000); Ждем секунду
UO.Grab('600','finditem'); Берем 600 ткани
wait(1000); Ждем секунду
endif
CheckLag()
UO.WaitMenu('Cloth','Misc','Misc','body'); Назначаем выбор в меню крафта. Меню Cloth - выбор Misc, меню Misc - выбор body. Делаем боди сеши
UO.WaitTargetType('0x175D'); Назначаем таргет для курсора(ткань)
UO.UseType('0x0F9D'); Используем нитки
UO.DeleteJournal(); Очищаем журнал
wait(1000)
repeat; повтор
wait(100); паузы
until UO.InJournal('fail') or UO.InJournal('put'); Пока в журнале не будет fail или put
UO.DeleteJournal(); Очистим журнал
wait(500); Ждем полсекунды
UO.WaitTargetType('0x1541'); Таргет на боди сеш
UO.UseType('0x0F9E'); Используем ножницы
CheckLag()
wait(500)
wend
endsub; Заканчиваем функцию
Posted: 2004-07-21 05:46:48
by qqqqqq
Не работает((( а ещё нету??? какогонить другого ????? просто подобный скрипт просто необходим!!!!
ПЛЗ ПОМОГИТЕ !!!
Posted: 2004-07-21 06:56:07
by BETEPAH
В скрипте выше все работает....настрой умело
Скрипт не мой ......нашел без Копирайта Хозяин не обижайся
Code: Select all
###################################
# Скрипт для Крафтов #
# (В данном случае для Tailoring) #
###################################
;|---------------------------|
;| Описание переменных Items |
;|---------------------------|
VAR EQ,RQ1,RQ2,QB
VAR Eat='0x097B' ; Type Еда (Рыба)
VAR Res1='0x175D' ; Type Ресурс 1 (Ткань)
VAR Res2='0x0FA0' ; Type Ресурс 2 (Нитки)
VAR Kit='0x0F9D' ; Type Инструмента крафта (Sewing Kit)
VAR Items='0x1F03' ; Type Выходного материала
EQ=50 ; Количество еды
RQ1=150 ; Количество ресурса 1
RQ2=20 ; Количество ресурса 2
;|---------------------------------|
;| Описание переменных контейнеров |
;|---------------------------------|
VAR ContainerRes='0x416BFC21' ; Object Контейнер с ресурсами
VAR ContainerBag='0x4158965B' ; Object Контейнер с сумками
VAR BagCount='0x0E76' ; Type сумок в контейнере ContainerBag
sub main()
UO.Set('quiet','1')
UO.Exec('exec Craft')
UO.IgnoreReset()
end sub
sub OpenBag()
VAR i,BagID
UO.UseObject(ContainerBag)
UO.UseObject(ContainerRes)
UO.IgnoreReset()
Repeat
UO.DeleteJournal()
Wait(1000)
UO.FindType(BagCount,'-1',ContainerBag)
If UO.FindCount('finditem') > 1 Then
i = (UO.FindCount('finditem') +1)
UO.Click('finditem')
If UO.InJournal("a bag") Then
BagID=UO.JournalSerial(UO.InJournal("a bag")-1)
UO.SetJournalLine(UO.InJournal("a bag")-1,"")
UO.FindType(Items,'-1',BagID)
UO.UseObject(BagID)
Wait(2000)
UO.Hide(BagID)
UO.Ignore(BagID,'on')
EndIF
EndIf
i = (i - 1)
Until i == 0
UO.Hide(ContainerBag)
UO.Hide(ContainerRes)
UO.Resend()
Wait(3000)
UO.IgnoreReset()
end sub
sub Craft()
VAR Last=0,LastTimer
OpenBag()
While NOT UO.Dead()
;|-----------------------------------|
;| Search of resources and Take them |
;|-----------------------------------|
UO.FindType(Eat,'-1','me')
If UO.GetQuantity('finditem') < 1 then
UO.FindType(Eat,'-1',ContainerRes)
If UO.GetQuantity('finditem') > 1 then
ToTake(3)
Else
UO.Exec ('Terminate Craft')
EndIf
Else
ToEat()
EndIf
UO.FindType(Res1,'-1','me')
If UO.GetQuantity('finditem') < 16 then
UO.FindType(Res1,'-1',ContainerRes)
If UO.GetQuantity('finditem') > 1 then
ToTake(1)
Else
UO.Exec ('Terminate Craft')
EndIf
EndIf
UO.FindType(Res2,'-1','me')
If UO.GetQuantity('finditem') < 1 then
UO.FindType(Res2,'-1',ContainerRes)
If UO.GetQuantity('finditem') > 1 then
ToTake(2)
Else
UO.Exec ('Terminate Craft')
EndIf
EndIf
;|-------------|
;| Craft Items |
;|-------------|
UO.DeleteJournal()
UO.WaitTargetType(Res1)
UO.UseType(Kit)
UO.WaitMenu ('Cloth','Shirts','Shirts','robe') ; Название КрафтМеню1(Cloth),ПодМеню2(Shirts) -> КрафтМеню2(Shirts),ПодМеню2(Robe)
LastTimer=UO.Timer()
Repeat
wait(100)
Until UO.InJournal("You put") OR UO.InJournal("Tailoring") OR LastTimer+150<UO.Timer()
UnLoadItem()
Wend
end sub
sub ToTake(i)
VAR G,F
If i == 1 Then
G = RQ1
F = Res1
EndIf
If i == 2 Then
G = RQ2
F = Res2
EndIf
If i == 3 Then
G = EQ
F = Eat
EndIf
UO.FindType(F,'-1',ContainerRes)
if UO.GetQuantity('finditem') > 1 then
UO.Grab(''+str(G)+'','finditem')
UO.DeleteJournal()
Repeat
UO.FindType(F,'-1','me')
Wait(1500)
Until UO.InJournal("That is too") OR UO.GetQuantity('finditem') > 1
endif
end sub
sub ToEat()
UO.UseType(Eat)
end sub
sub UnLoadItem()
VAR BagID
VAR i=0
VAR m=0
Repeat
UO.DeleteJournal()
UO.FindType(BagCount,'-1',ContainerBag)
UO.Click('finditem')
m = 0
Repeat
Wait(1000)
Until UO.InJournal("a bag")
If UO.InJournal("a bag") Then
BagID=UO.JournalSerial(UO.InJournal("a bag")-1)
UO.SetJournalLine(UO.InJournal("a bag")-1,"")
UO.FindType('-1','-1',BagID)
If UO.FindCount('finditem') < 220 then
m = UO.FindCount('finditem')
UO.SetReceivingContainer(BagID)
UO.FindType(Items,'-1','me')
UO.Grab('0','finditem')
UO.ConColor('0x0021')
UO.Set('quiet','0')
UO.Print(UO.Print('In BagPack#'+Str(i+1)+' items '+Str(m)+''))
UO.Set('quiet','1')
UO.ConColor('0x0035')
Wait(1000)
UO.UnSetReceivingContainer()
Else
i = i + 1
UO.Ignore(BagID, 'on')
EndIf
EndIf
If i == QB Then
UO.IgnoreReset()
i = 0
EndIf
UO.FindType(Items,'-1','me')
Until UO.FindCount('finditem') < 1
End Sub
Posted: 2004-07-21 09:36:30
by Savage
По стилю на эмиля похоже. Это наверное тот самый скрипт что он сейчас на форуме активно продает.
зы, а превый, это кто то немного переделал мой не паблик скрипт

Я бросал бандажки под ноги.
Posted: 2004-07-21 10:03:39
by Daioh
Savage wrote:зы, а превый, это кто то немного переделал мой не паблик скрипт

Я бросал бандажки под ноги.
Да. Так и есть

Posted: 2004-07-21 17:28:55
by Emil
Savage wrote:По стилю на эмиля похоже. Это наверное тот самый скрипт что он сейчас на форуме активно продает.

зы, а превый, это кто то немного переделал мой не паблик скрипт

Я бросал бандажки под ноги.
Не саваж, он не мой

И даже рядом не похож
не работает waitmenu
Posted: 2004-08-27 08:21:50
by impair
Не понимаю ничего.. я новичок, ткните в ошибку...
Пишу кусок скрипта для того, чтобы делать пустые скроллы из кожи и воска в паке.
Code: Select all
sub scrolls()
var leather='0x1081'
var wax='0x1422'
var tool='0x0F9D'
If UO.Count(leather) > 0 then #кожа
If UO.Count(wax) > 0 then #воск
If UO.Count(tool) > 0 then #сьюингкит
UO.WaitTargetType(leather)
UO.Exec("usetype sewingtool")
UO.WaitMenu ('Tailoring menu','blank scroll')
UO.UseType(wax)
UO.DeleteJournal()
wait(1000)
repeat
wait(100)
until UO.InJournal('fail') or UO.InJournal('put')
Else
UO.Print (""+"no sewing kit")
Endif
Else
UO.Print (""+"no besswax")
Endif
Else
UO.Print (""+"no scrolls")
Endif
end sub
Вот примерно такой скриптик. Но он не пашет - меню тейлоригн выводится на экран, но дальше ничего не происходит - выбор не выполняется, скрроллы не делаются. Крутила я его по всякому - не идет. Хелп плиз...
Posted: 2004-08-28 21:42:48
by impair
Ну что, никто не знает, почему не пашет эта команда на AOSe?

((
Posted: 2004-08-29 23:20:33
by Yoko
проверь что Vars Loopback включено в закладке main
и "это" скрипт а не "команда"
Posted: 2004-08-30 18:14:37
by impair
Включена эта галка

И я вроде как знаю, чем отличается команда от скрипта

Я спрашивала про КОМАНДУ WaitMenu, ибо сам скрипт (тот кусочек текста в тегах code) работает как надо. Поросто не срабатывает нажатие в меню...
Posted: 2004-08-31 18:53:23
by Edred
impair wrote:Ну что, никто не знает, почему не пашет эта команда на AOSe?

((
На АоСе быстрее всего не пашет из-за того, что там мессаги надо по клилокам читать, а не по тексту... А если меню не срабатывает - значит не все меню переписал. Там что, всего одно меню, без вложений?
Posted: 2004-08-31 20:17:58
by impair
Нет, blank scrolls там в пункте меню Miscellaneous, но я пробовала по всякому переписывать это меню, и полностью, и через make last, и так как привела тут, и с запятыми, и без, в кавычках, без

Толку ноль. Правописание тоже проверяла 100 раз...
В общем, вывод - не пашет. Но почему тогда у других (на других шардах) работают крафтерские скрипты с этой командой? В чем разница?
З.Ы. У нас как назло форум не пашет уже неделю, у своих спросить никак...
Posted: 2004-08-31 22:10:18
by Yoko
обычные шарды:
сервер-клиенту: нарисуй стандартное окно крафта, назови его "weapons" с обьектами номера 1234, 2345 и 3456 и подпиши их как "bow", "sword", "axe"
сервер RunUO:
сервер клиенту: нарисуй фоновый рисунок номер 1234, потом нарисуй кнопки там то и там то, потом нарисуй обьекты номера такие-то и подпиши их стандартными текстами на языке пользователя, номера 5536, 5537 и 5538
Posted: 2004-09-01 10:14:14
by Edred
impair wrote:Нет, blank scrolls там в пункте меню Miscellaneous, но я пробовала по всякому переписывать это меню, и полностью, и через make last, и так как привела тут, и с запятыми, и без, в кавычках, без

Толку ноль. Правописание тоже проверяла 100 раз...
В общем, вывод - не пашет. Но почему тогда у других (на других шардах) работают крафтерские скрипты с этой командой? В чем разница?

З.Ы. У нас как назло форум не пашет уже неделю, у своих спросить никак...
Дык потому что надо же писать правильные меню в правильном порядке. Я думаю, у тебя там что-то типа:
UO.WaitMenu( 'Teiloring', 'Miscellaneous' )
UO.WaitMenu( 'Miscellaneous', 'blank scroll' )
Команд вайтменю должно быть подряд столько, сколько уровней вложения. В первой сначала идет шапка самого первого меню, после запятой - пункт выбора. Во второй и третьей (если надо) - аналогично.
Posted: 2004-09-27 23:22:50
by FederaL
А помогите со скриптом на тайлоринг, надо делать боди сеши (body sash (ленты через плечо)). А то нигде нет его.