Page 1 of 1

Качаем магию (вопрос к экспертам)

Posted: 2009-07-17 15:08:54
by Hranitel
Товарищи эксперты, написал скрипт на магию, но через примерно 30 минут он парсит, с чем может быть связано, спс.

Code: Select all

sub magery()

	var cont='0x4055B219'
	var bottle='0x0F0E'
	var cbottle='0x09DF'
	
	uo.useobject(cont)
	wait(1000)
	uo.useobject('backpack')
	wait(1000)
	while not uo.dead()
		while uo.mana>=10
			loot()
			uo.cast('Magic Arrow','self')
			wait(1550)
			checklag()
		wend
		uo.findtype(bottle,cbottle,'backpack')
		uo.useobject('finditem')
		wait(500)
	wend
	
endsub

Sub loot()
	
	var NS='0x0F88'
	var BB='0x0F7A'
	var bottle='0x0F0E'
	var cbottle='0x09DF'
	var cregs='200'
	var cbot='50'
	var cont='0x4055B219'
	
	uo.findtype(NS,'-1','backpack')
	if not uo.findcount() then
		uo.findtype(NS,'-1',cont)
		uo.moveitem('finditem',cregs,'backpack')
		wait(1000)
	endif
	
	uo.findtype(BB,'-1','backpack')
	if not uo.findcount() then
		uo.findtype(BB,'-1',cont)
		uo.moveitem('finditem',cregs,'backpack')
		wait(1000)
	endif

	uo.findtype(bottle,cbottle,'backpack')
	if not uo.findcount() then
		uo.findtype(bottle,cbottle,cont)
		uo.moveitem('finditem',cbot,'backpack')
		wait(1000)
		uo.findtype(bottle,'0x0000','backpack')
		uo.moveitem('finditem','all',cont)
		wait(1000)
	endif
	
endsub

Sub checklag()

  uo.click('backpack')
  repeat
    wait(50)
  until uo.injournal("backpack")
  uo.deletejournal()
  
end sub

Re: Качаем магию

Posted: 2009-07-17 16:47:10
by Kynep
Hranitel wrote:Товарищи эксперты, написал скрипт на магию, но через примерно 30 минут он парсит, с чем может быть связано, спс.
Попробуй loot() делать реже, например при кол-ве регов < 15. Скорее всего из-за этого и парсит. Получается что он каждые 1.5 секунды добирает и выкидывает, естественно это его с ума сводит. :lol:

Posted: 2009-07-18 01:19:46
by Hranitel
переделал, не помогло :(
просто голову сломал уже :?

Code: Select all

sub mageryMA()

	var NS='0x0F88'
	var BB='0x0F7A'
	var bottle='0x0F0E'
	var cbottle='0x09DF'
	var cregs='1000'
	var cbot='99'
	var cont='0x4055B219'
	
	uo.useobject(cont)
	wait(1000)
	uo.useobject('backpack')
	wait(1000)
	while not uo.dead()
		while uo.mana>=10
			uo.findtype(NS,'-1','backpack')
			if uo.getquantity('finditem')<10 then
				uo.findtype(NS,'-1',cont)
				uo.moveitem('finditem',cregs,'backpack')
				wait(1000)
			endif
			uo.findtype(BB,'-1','backpack')
			if uo.getquantity('finditem')<10 then
				uo.findtype(BB,'-1',cont)
				uo.moveitem('finditem',cregs,'backpack')
				wait(1000)
			endif
			uo.findtype(bottle,cbottle,'backpack')
			if uo.getquantity('finditem')<1 then
				uo.findtype(bottle,cbottle,cont)
				uo.moveitem('finditem',cbot,'backpack')
				wait(1000)
				uo.findtype(bottle,'0x0000','backpack')
				uo.moveitem('finditem','all',cont)
				wait(1000)
			endif
			uo.cast('Magic Arrow','self')
			wait(1550)
			checklag()
		wend
		uo.findtype(bottle,cbottle,'backpack')
		uo.useobject('finditem')
		wait(500)
	wend
	
endsub

Sub checklag()

  uo.click('backpack')
  repeat
    wait(50)
  until uo.injournal("backpack")
  uo.deletejournal()
  
end sub

Posted: 2009-07-18 07:58:02
by Kynep
Hranitel wrote:переделал, не помогло :(
просто голову сломал уже :?
Слишком глобально переделал, получилось по-сути тоже самое. Верни модуль loot() и вставь его допустим после того как откастовал, т.е. после того как выпил манку, а не перед каждым кастом и измени его (модуль loot()) так, что-бы он брал и выкидывал при < 15.