Cooking / Повар

Only tested and approved scripts

Moderators: Murderator+, Murderator

Post Reply
Yoko
Site Admin
Posts: 1964
Joined: 2004-04-03 16:49:38
Contact:

Cooking / Повар

Post by Yoko »

Discussion:______________
http://yoko.netroof.net/forum/viewtopic.php?t=605
Author or poster:_________
BETEP Flash_4444@List.ru ICQ 233461603
Tested on:_______________
Dragon World (v0.55i) http://www.drw.ru
Must work:_______________
Sphere emu
Customization required:____
No
Description:______________
(синтакс автора соблюдён) Скилл Повара нужен для пригатовления вкусной пищи. Скрипт применяет скилл Повар и готовит вкусные рыбные котлеты.Ищет в Сумке героя "Сырые" рыбные стейки и жарит их на "жаровне",если стейков нету то берет в "сундуке".Готовые котлеты складывает в "сундук" Для того чтобы макрос работал вы должны:

1)Иметь сундук заполненый "сырой" едой (в данном случие в скрипте прописаны Рыбные стейки).
2)Иметь Жаровню (на шарде ДРВ можно жарить на "Форже" Домашняя печь для переплавки руды)

Скрипт "Цикличен"(повторяется безконечно).

Наловите побольше рыбы и порезав ее при помощи ножа получите Рыбные стейки (сырые).Стейки сложите в Сундук (можно в несколько кучек) Встаньте в место где вам никто не помешает (дома к примеру). встаньте так что бы в пределах досигаемости был сундук и жаровня. Откройте сундук с Стейками и Бэкпак (так как инжект не может открывать их сам и ссответственно искать там "Стейки"),если вы этого не зделаете скрипт не сможет пополнять запас сырых стейков в "кормане" .Запустите скрипт. Появится прицел. Инжект спросит вас "Выбери СУНДУК С Жратвой", укажите прицелом на сундук с сырыми продуктами.Потом появится еще один прицел Инжект спросит вас "Выбери жаровню",прицелом на жаровню.

Скрипт может отключится.
Возможные причины:
1)Скипт не может продолжить работу так как вы Мертвы.
2)Сбился прицел,так как придмет который вы используете не в приделах досигаемости .
3)Закончились Сырые продукты.
Yoko comment:___________
none
________________________

Code: Select all

sub Cook() 
VAR Exit=0, LastTimer, TryToPoison 
uo.print('Выбери СУНДУК С Жратвой:') 
uo.exec('addobject Container') 
while uo.targeting() 
wait(100) 
wend 
uo.print('Выбери Жаровню:') 
uo.exec('addobject Forge') 
while uo.targeting() 
wait(100) 
wend 
while Exit<>1 
UO.DeleteJournal() 
UO.FindType('0x097B','0x0000','backpack'); 
If UO.GetQuantity('finditem')>200 Then 
UO.SetReceivingContainer('Container'); 
wait(1000) 
UO.Grab('all','finditem') 
wait(1000) 
UO.UnSetReceivingContainer() 
Endif 
UO.FindType('0x097A',-1,'backpack') ; 
If UO.GetQuantity('finditem')<2 then 
UO.FindType('0x097A','0x0000','Container') ; 
wait(1000) 
UO.Grab('300','finditem') 
wait(1000) 
Endif 
LastTimer=UO.Timer() 
UO.DeleteJournal() 
UO.FindType('0x097A','0x0000','backpack') 
UO.WaitTargetObject('Forge') 
UO.UseObject('finditem') 
wait(4000) 
CheckLag() 
If UO.InJournal("You burn") then 
repeat 
wait(100) 
until UO.Timer()>=LastTimer+100 
Else 
EndIf 
wend 
end sub 

sub CheckLag() 
UO.DeleteJournal() 
UO.Click('backpack') 

repeat 
wait(500) 
until UO.InJournal('backpack') 
end sub 
Yoko
Site Admin
Posts: 1964
Joined: 2004-04-03 16:49:38
Contact:

Post by Yoko »

Discussion:______________
http://yoko.netroof.net/forum/viewtopic.php?p=7933#7933
Author or poster:_________
Edred, tercia@spb.lanck.net
Tested on:_______________
Цитадель http://ultima.e-burg.ru
Must work:_______________
Sphere emu
Customization required:____
Yes/place (serial Sunduk; also check up types)
Description:______________
Встаем рядом среколлкой на базе, рядом с чаром в АМЗ ставим сундук или ящик. В него раскладываем много кучек хвороста не больше чем по 500 в кучке (иначе чар не сможет взять 1 шт.) и кладем несколько стопок стейков (можно по 10к в стопке).
Берем из сундука 1 шт хвороста, кладем в координаты TX, TY и зажигаем ее. Потом берем 1 шт. стейков из этого же сундука и жарим на костре или углях. При этом перед жаркой проверяем, есть ли в вокруг чара огонь или угли. если есть жарим, иначе опять жгем костер. Готовый стейк скидывается в этот же сундук.
Yoko comment:___________
none
________________________

Code: Select all

#===================================================================#
# COOKING                                                           #
#===================================================================#
#   v.1.05b (с) Edred                                               #
#===================================================================#
;
; Встаем рядом среколлкой на базе, рядом с чаром в АМЗ ставим сундук или
; ящик. В него раскладываем много кучек хвороста не больше чем по 500
; в кучке (иначе чар не сможет взять 1 шт.) и кладем несколько стопок стейков
; (можно по 10к в стопке). Можно туда же добавить меда - уберите комментарий
; с EatChar() и добавьте эту функцию.
; Берем из сундука 1 шт хвороста, кладем в координаты TX, TY и зажигаем ее.
; Потом берем 1 шт. стейков из этого же сундука и жарим
; на костре или углях. При этом перед жаркой проверяем, есть ли в
; вокруг чара огонь или угли. если есть жарим, иначе опять жгем костер.
; Готовый стейк скидывается в этот же сундук.
;
; Перед разжиганием костра проверяем, прошло ли 5 минут с момента последней
; попытки прокачать Spirit Speak, если прошло - качаем.
;
sub cooking()
	VAR Sunduk = '0x40591B82'
	VAR Hvorost = '0x0DE1'
	VAR Koster = '0x0DE3'
	VAR Ugli = '0x0DE9'
	VAR Fish = '0x097A'
	VAR FishGot = '0x097B'
	VAR TX = 1873
	VAR TY = 387
	VAR i, flag
;	VAR SpiritTime = UO.Timer()
	UO.CancelTarget()
	UO.Exec( 'set finddistance 3' )
;   	UO.SetGlobal( 'TimeProcess', str( UO.Timer() ) )
	UO.UseObject( Sunduk )
	While UO.SkillVal( 'Cooking' ) < 1000
;		EatChar( Sunduk, 2, 1, 120 )
; ----------------------------------
; блок запуска прокачки Spirit Speak
;		If ( UO.Timer() - SpiritTime ) / 600 > 5 Then
;			; Прошло 5 минут с момента последней прокачки Spirit Speak
;			SpSpeak()
;			SpiritTime = UO.Timer()
;		Endif
; ----------------------------------
		wait(1000)
		UO.FindType( Hvorost, -1, Sunduk )
		If UO.FindCount() == 0 Then
			UO.Print( 'No kindling found. Script terminated' )
			return
		Endif
		UO.MoveItem( 'finditem', '1', 'ground', str(TX), str(TY), str(UO.GetZ()) )
		wait(1000)
		CheckLag()
		UO.Findtype( Hvorost, -1, 1 )
		If UO.FindCount() > 0 Then
			repeat
				UO.UseFromGround( Hvorost )
				wait(1000)
				UO.FindType( Koster, -1, 1 )
			until UO.FindCount() > 0
			; костер горит
			flag = 1
			repeat
				; взять из сундука 1 стейк
				If UO.Count( Fish ) == 0 Then
					UO.FindType( Fish, -1, Sunduk )
					If UO.FindCount() == 0 Then
						UO.Print( 'No fish steaks found. Script terminated' )
						return
					Endif
					UO.Grab( '1', 'finditem' )
					wait(1000)
					CheckLag()
				Endif
				; теперь проверим не погас ли костер, не исчезли ли угли
				UO.FindType( Koster, -1, 1 )
				If UO.FindCount() <> 0 Then
					; еще горит костер - жарим на нем стейк
					If UseSteake( Fish, UO.GetSerial('finditem') ) Then
						flag = 0
					Endif
					; стейк готов
				Else
					UO.FindType( Ugli, -1, 1 )
					If UO.FindCount() <> 0 Then
						; есть еще угли!
						if UseSteake( Fish, UO.GetSerial('finditem') ) then
							flag = 0
						endif
					Else
						flag = 0
					Endif
				Endif
				If UO.Count( FishGot ) > 0 Then
					UO.FindType( FishGot )
					UO.MoveItem( 'finditem', -1, Sunduk )
					wait(1000)
					CheckLag()
				Endif
			until flag == 0
		Endif
	Wend
endsub

Sub UseSteake( fish, koster )
	VAR msg1 = 'You burn the food'				; физл
	VAR msg2 = 'You put the fish steak'			; успех
	VAR msg22 = 'You put the fish steaks'		; успех
	VAR msg3 = 'You must wait'					; ждать
	VAR msg4 = "You can't see the target"
	repeat
		DeleteJournal (msg1 )
		DeleteJournal (msg2 )
		DeleteJournal (msg22 )
		DeleteJournal (msg3 )
		DeleteJournal (msg4 )
		UO.WaitTargetObject( 'finditem' )
		UO.UseType( Fish )
		repeat
			wait(500)
		until UO.InJournal(msg1) OR UO.InJournal(msg2) OR UO.InJournal(msg22) OR UO.InJournal(msg3) OR UO.InJournal(msg4)
		if UO.InJournal(msg4) then
			return 1
		endif
		if UO.InJournal(msg3) then
			wait(500)
		endif
	until UO.InJournal(msg2) OR UO.InJournal(msg22)
	return 0
endsub

#####################################################################
Sub CheckLag()
	DeleteJournal( 'backpack' )
	UO.Click( 'backpack' )
	repeat
		wait(100)
	until UO.InJournal( 'backpack' )
	return
end sub

#####################################################################
Sub DeleteJournal( string1 )
	VAR nom = UO.InJournal( string1 )
	If nom > 0 Then
		UO.SetJournalLine( Nom - 1, 'string replaced' )
		DeleteJournal( string1 )
	Endif
endsub
Post Reply