Помогите с тейлорингом!

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
qqqqqq
Posts: 15
Joined: 2004-07-19 07:36:16

Помогите с тейлорингом!

Post by qqqqqq »

Я токо начао учится писать скрипты и прошу дать мне скрипт на тейлоринг чтоб действовал примерно так передо мной стоит ящик в нём 40к ткани я беру оттуда 200 ткани делаю из неё штаны пока 200 ткани не кончится затем режу штаны на бинты бинты кладу в этот же ящик и снова беру 200 ткани и так пока не кончится ткань!!
З.Ы Прошу подробно обяснить как скриптом пользоваться желательно в мельчайших деталях тк сам врядли разберусь :)


ЗАРАНЕЕ СПАСИБО !!! Ж)
qqqqqq
Posts: 15
Joined: 2004-07-19 07:36:16

Re: Помогите с тейлорингом!

Post by qqqqqq »

qqqqqq wrote:Я токо начао учится писать скрипты и прошу дать мне скрипт на тейлоринг чтоб действовал примерно так передо мной стоит ящик в нём 40к ткани я беру оттуда 200 ткани делаю из неё штаны пока 200 ткани не кончится затем режу штаны на бинты бинты кладу в этот же ящик и снова беру 200 ткани и так пока не кончится ткань!!
З.Ы Прошу подробно обяснить как скриптом пользоваться желательно в мельчайших деталях тк сам врядли разберусь :)


ЗАРАНЕЕ СПАСИБО !!! Ж)
ПОоожалуста помогите я тоже очень хотел бы такой скрипт помогите нубикам папки плзз откликнитесь!!!!!!!!!!!!
Daioh
Posts: 63
Joined: 2004-06-28 19:06:26
Contact:

Post 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; Заканчиваем функцию
qqqqqq
Posts: 15
Joined: 2004-07-19 07:36:16

Post by qqqqqq »

Не работает((( а ещё нету??? какогонить другого ????? просто подобный скрипт просто необходим!!!!
ПЛЗ ПОМОГИТЕ !!!
BETEPAH
Expert!
Posts: 838
Joined: 2004-05-31 09:31:51
Contact:

Post 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 
Все просто.
BETEPAH ™
Savage
Expert!
Posts: 1205
Joined: 2004-04-04 11:13:54
Location: Балаково, Саратовская обл.
Contact:

Post by Savage »

По стилю на эмиля похоже. Это наверное тот самый скрипт что он сейчас на форуме активно продает. :)

зы, а превый, это кто то немного переделал мой не паблик скрипт :) Я бросал бандажки под ноги.
Daioh
Posts: 63
Joined: 2004-06-28 19:06:26
Contact:

Post by Daioh »

Savage wrote:зы, а превый, это кто то немного переделал мой не паблик скрипт :) Я бросал бандажки под ноги.
Да. Так и есть :)
Emil
Posts: 2
Joined: 2004-06-29 03:43:32

Post by Emil »

Savage wrote:По стилю на эмиля похоже. Это наверное тот самый скрипт что он сейчас на форуме активно продает. :)

зы, а превый, это кто то немного переделал мой не паблик скрипт :) Я бросал бандажки под ноги.
Не саваж, он не мой :) И даже рядом не похож
impair
Posts: 4
Joined: 2004-08-27 08:15:11

не работает waitmenu

Post 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
Вот примерно такой скриптик. Но он не пашет - меню тейлоригн выводится на экран, но дальше ничего не происходит - выбор не выполняется, скрроллы не делаются. Крутила я его по всякому - не идет. Хелп плиз...
impair
Posts: 4
Joined: 2004-08-27 08:15:11

Post by impair »

Ну что, никто не знает, почему не пашет эта команда на AOSe? :(((
Yoko
Site Admin
Posts: 1964
Joined: 2004-04-03 16:49:38
Contact:

Post by Yoko »

проверь что Vars Loopback включено в закладке main
и "это" скрипт а не "команда"
impair
Posts: 4
Joined: 2004-08-27 08:15:11

Post by impair »

Включена эта галка :) И я вроде как знаю, чем отличается команда от скрипта :) Я спрашивала про КОМАНДУ WaitMenu, ибо сам скрипт (тот кусочек текста в тегах code) работает как надо. Поросто не срабатывает нажатие в меню...
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

impair wrote:Ну что, никто не знает, почему не пашет эта команда на AOSe? :(((
На АоСе быстрее всего не пашет из-за того, что там мессаги надо по клилокам читать, а не по тексту... А если меню не срабатывает - значит не все меню переписал. Там что, всего одно меню, без вложений?
impair
Posts: 4
Joined: 2004-08-27 08:15:11

Post by impair »

Нет, blank scrolls там в пункте меню Miscellaneous, но я пробовала по всякому переписывать это меню, и полностью, и через make last, и так как привела тут, и с запятыми, и без, в кавычках, без :) Толку ноль. Правописание тоже проверяла 100 раз...

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

З.Ы. У нас как назло форум не пашет уже неделю, у своих спросить никак...
Yoko
Site Admin
Posts: 1964
Joined: 2004-04-03 16:49:38
Contact:

Post by Yoko »

обычные шарды:

сервер-клиенту: нарисуй стандартное окно крафта, назови его "weapons" с обьектами номера 1234, 2345 и 3456 и подпиши их как "bow", "sword", "axe"

сервер RunUO:

сервер клиенту: нарисуй фоновый рисунок номер 1234, потом нарисуй кнопки там то и там то, потом нарисуй обьекты номера такие-то и подпиши их стандартными текстами на языке пользователя, номера 5536, 5537 и 5538
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

impair wrote:Нет, blank scrolls там в пункте меню Miscellaneous, но я пробовала по всякому переписывать это меню, и полностью, и через make last, и так как привела тут, и с запятыми, и без, в кавычках, без :) Толку ноль. Правописание тоже проверяла 100 раз...

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

З.Ы. У нас как назло форум не пашет уже неделю, у своих спросить никак...
Дык потому что надо же писать правильные меню в правильном порядке. Я думаю, у тебя там что-то типа:

UO.WaitMenu( 'Teiloring', 'Miscellaneous' )
UO.WaitMenu( 'Miscellaneous', 'blank scroll' )

Команд вайтменю должно быть подряд столько, сколько уровней вложения. В первой сначала идет шапка самого первого меню, после запятой - пункт выбора. Во второй и третьей (если надо) - аналогично.
FederaL
Posts: 5
Joined: 2004-09-26 00:16:51
Contact:

Post by FederaL »

А помогите со скриптом на тайлоринг, надо делать боди сеши (body sash (ленты через плечо)). А то нигде нет его.
Post Reply