Page 1 of 1

Пойзон

Posted: 2011-01-09 13:36:15
by Africa
Нужен скрипт на пойзонинг,надо чтоб чар брал один стейк из сундука и один лезер пойзон из того же сундука,потом тыкал на лезер пойзон и таргетом на стейк,после чего выбрасывал отравленый стейк либо на пол либо в другой сундук,поиск юзал не чего похожего не нашол.... скрипт нужен под шард Fw

Re: Пойзон

Posted: 2011-01-09 13:50:57
by Mirage
Представь тебе в какой то из 7 одинаковых тем ответят и ты будешь потом все их просматривать и искать где же ответ?

Re: Пойзон

Posted: 2011-01-10 13:20:00
by Africa
Mirage wrote:Представь тебе в какой то из 7 одинаковых тем ответят и ты будешь потом все их просматривать и искать где же ответ?
я просто уже 2 недели ищу скрипт..отчаялся и нафлудил))может ты можешь помочь?

Re: Пойзон

Posted: 2011-01-11 08:18:07
by Mirage
Скрипт то пятиминутный.
Принцип вот такой.

Code: Select all

sub test()
	var havka = ''
	var yad = ''
	var Container= ''
	var phavka = ''
	var msg ='You put|положили|fail|не удалось|You broke|сломали'
	WHILE NOT UO.Dead()
			GET(havka, Container, 1, 1) 
			GET(yad, Container, 1, 1) 
			Repeat
				UO.DeleteJournal()
				LastTimer=UO.Timer()
				UO.Waittargettype ( havka )
				UO.Usetype(yad)
				repeat
					wait(100)
				until UO.InJournal( msg ) or UO.Timer()>LastTimer+150
			Until UO.Count( phavka ) > 0
			checklag()
			PUT( phavka, Container)
		wait( 300 )
	wend
end sub

Sub GET(item, cont, min, max) ; предмет, откуда, минимум, сколько брать 
	If UO.Count( item ) < min Then
		UO.FindType( item, '-1', cont )
		if UO.FindCount() > 0 Then
			uo.charprint(printcolour,'Сырья в сундуке: '+Str(UO.GetQuantity('finditem')) )  

                itemM=UO.GetSerial('finditem')
                timemove=UO.Timer()
                while UO.ContainerOf(itemM)==cont && timemove+20>UO.Timer() 
				uo.moveitem('finditem', max, 'backpack')
                    wait(300)
                wend
		else
			uo.charprint(printcolour, 'Полностью кончилось сырье' )
			UO.CancelMenu()
			MyTerminate()
		endif
	Endif
end sub
Sub PUT(item, cont)
	while UO.Count( item ) > 0
		UO.FindType( item, -1, -1 )
                itemM=UO.GetSerial('finditem')
                timemove=UO.Timer()
				UO.MoveItem( 'finditem', 0, cont )
                while UO.ContainerOf(itemM)=='my' && timemove+20>UO.Timer()
                    wait(300)
                wend
	wend
end sub
Sub DeleteJournal(msg)
	While UO.InJournal(msg)
		UO.SetJournalLine(UO.InJournal(msg) - 1,'') 
	wend
endsub
Sub MyTerminate()
	UO.Set('quiet','1')
	UO.CancelMenu()
	UO.IgnoreReset()
	UO.Set('quiet','0')
	UO.Exec('terminate all')
end sub
Sub checklag()
	DeleteJournal("ackpack")
	UO.Click("backpack")
	repeat
		wait(100)
	until UO.InJournal("ackpack")
end sub

Re: Пойзон

Posted: 2011-01-11 14:01:56
by Africa
Mirage wrote:Скрипт то пятиминутный.
Принцип вот такой.

Code: Select all

sub test()
	var havka = ''
	var yad = ''
	var Container= ''
	var phavka = ''
	var msg ='You put|положили|fail|не удалось|You broke|сломали'
	WHILE NOT UO.Dead()
			GET(havka, Container, 1, 1) 
			GET(yad, Container, 1, 1) 
			Repeat
				UO.DeleteJournal()
				LastTimer=UO.Timer()
				UO.Waittargettype ( havka )
				UO.Usetype(yad)
				repeat
					wait(100)
				until UO.InJournal( msg ) or UO.Timer()>LastTimer+150
			Until UO.Count( phavka ) > 0
			checklag()
			PUT( phavka, Container)
		wait( 300 )
	wend
end sub

Sub GET(item, cont, min, max) ; предмет, откуда, минимум, сколько брать 
	If UO.Count( item ) < min Then
		UO.FindType( item, '-1', cont )
		if UO.FindCount() > 0 Then
			uo.charprint(printcolour,'Сырья в сундуке: '+Str(UO.GetQuantity('finditem')) )  

                itemM=UO.GetSerial('finditem')
                timemove=UO.Timer()
                while UO.ContainerOf(itemM)==cont && timemove+20>UO.Timer() 
				uo.moveitem('finditem', max, 'backpack')
                    wait(300)
                wend
		else
			uo.charprint(printcolour, 'Полностью кончилось сырье' )
			UO.CancelMenu()
			MyTerminate()
		endif
	Endif
end sub
Sub PUT(item, cont)
	while UO.Count( item ) > 0
		UO.FindType( item, -1, -1 )
                itemM=UO.GetSerial('finditem')
                timemove=UO.Timer()
				UO.MoveItem( 'finditem', 0, cont )
                while UO.ContainerOf(itemM)=='my' && timemove+20>UO.Timer()
                    wait(300)
                wend
	wend
end sub
Sub DeleteJournal(msg)
	While UO.InJournal(msg)
		UO.SetJournalLine(UO.InJournal(msg) - 1,'') 
	wend
endsub
Sub MyTerminate()
	UO.Set('quiet','1')
	UO.CancelMenu()
	UO.IgnoreReset()
	UO.Set('quiet','0')
	UO.Exec('terminate all')
end sub
Sub checklag()
	DeleteJournal("ackpack")
	UO.Click("backpack")
	repeat
		wait(100)
	until UO.InJournal("ackpack")
end sub


вот что выскакивает line 17: Variable undefined - LASTTIMER

Re: Пойзон

Posted: 2011-01-11 23:36:19
by Mirage
в шапке напиши

var LASTTIMER
:D
Чеж вы уроки то не читаете...

PS обрадую - там еще минимум 2-3 раза ругнется. Это наколенный пример как будет выглядеть скрипт. У меня на сервере пойсон качается по другому по этому мне лень помогать.

Re: Пойзон

Posted: 2011-01-12 12:00:17
by Africa
Mirage wrote:в шапке напиши

var LASTTIMER
:D
Чеж вы уроки то не читаете...

PS обрадую - там еще минимум 2-3 раза ругнется. Это наколенный пример как будет выглядеть скрипт. У меня на сервере пойсон качается по другому по этому мне лень помогать.
я уже понял)) ещё 2 раза ругнулся) будим тестить дальше))СПАСИБО за помощь!