Жесть дня.Разлив химии из кегов в бутылки по мешочкам в 250

Good scripts, not reviewed and checked yet

Moderators: Murderator+, Murderator

Post Reply
admir
Posts: 528
Joined: 2005-01-13 07:20:54

Жесть дня.Разлив химии из кегов в бутылки по мешочкам в 250

Post by admir »

Писалось для 1 человека на Оскоме для кача паладиновского скила.
Разливает бутылки с химией из кегов в круглые мешочки .
Кеги сложены в сундук или сумку.
Аналогично берутся пустые мешки и бутылки из сундучка.
Все это разливается и складывается по 250 в каждый мешочек и убирается в сундук.
(требуется разделить сундуки с пустыми и с полными мешками.

Скрипт жесть тк работает 100% но при этом с такой скорость разливает что бедный мой лоптоп начинает жутко лагать :)

Интресно со стороны смотреть как в секунду проносится по 30 бутылей :)

Запускать sub rasliv() предварительно поменять все параметры в настройках

Code: Select all

# Mega Rasliv po sumkam po 250 banochek
# AdmiR 2008 FoReVeR
# Version 1.0 Oskom Opay Shard
###########################


##### --- Options - Настройки --- ####

var SundukGotovieSumki="0x40065A42"  # Сюда складываем наполненные мешочки
var BagPustieKegi="0x4019F2F9"   # Сюда скалыдваем пустые кеги 
var BagPolnieKegi="0x402469AE"   # Тут наполненные кеги
var SundukPustieSumki="0x40010335"    # Тут храним пустые сумочки и пустые баночки

var PustoyBag="0x0E76"  # Круглая сумочка
var BottleType="0x0F0C"      # TYPE. Type Bottle will craft (GH). Тип изготовленных бутылок
var BottleColor=0

### --- End of options  - Конец настроек --- ###

var EmptyBottle="0x0F0E"
var keg="0x1940"

var kegID
var bagID
var bottle_num
var kol

#Открываем все необходимые сундуки для инициализации предметов.
#uo.useobject('backpack')
#uo.useobject(BagPolnieKegi)

Sub GetKeg() 
  # Берем Полный кег
  uo.print("berem keg")
  uo.useobject(BagPolnieKegi)
  CheckLag()
  uo.findtype(keg,-1,BagPolnieKegi)
    if uo.findcount() then
	  uo.moveitem("finditem",0,'backpack')
      wait(100)
	else
	  uo.print("Нету полных кегов")
	end if
end sub

Sub GetBottle()
  # Считаем количество пустых банок в паке.
  uo.useobject('backpack')
  bottle_num=uo.count(EmptyBottle)
  
  # Берем пустые бутылки чтоб в паке было 55 
  if bottle_num < 55 then
    uo.useobject(SundukPustieSumki)
    CheckLag()
    uo.findtype(EmptyBottle,0,SundukPustieSumki)
	  if uo.findcount() then
	    if uo.GetQuantity("finditem") > (55 - bottle_num) then
		    kol= 55 - bottle_num
		else 
		    kol=0
		end if
        uo.moveitem("finditem",kol,'backpack')
		wait(200)
	  else
	    uo.print("В сундуке кончились пустые банки")
	  end if
  end if
End sub
  
Sub GetBag()
  # Берем пустую сумочку
  uo.useobject(SundukPustieSumki)
  CheckLag()
  uo.findtype(PustoyBag,-1,SundukPustieSumki)
    if uo.findcount() then
	  bagID=uo.getserial("finditem")
	  uo.moveitem(bagID,0,SundukGotovieSumki)
      wait(100)
	else
	  uo.print("Нету пустых сумочек")
	  return 0
	end if
end sub

Sub PutKeg(kegID)
  # Кладем пустой кег в сумку с кегами.
  uo.moveitem(kegID,0,BagPustieKegi)
  uo.print("kladem keg")
end sub
 
 
Sub PutBottle()
  uo.findtype(-1,-1,bagID)
    if uo.findcount() < 250 then
	  uo.findtype(BottleType,BottleColor,'backpack')
	  uo.moveitem("finditem",0,bagID)
	  #uo.print("ok Bottle")
	else
	  GetBag()
	  wait(100)
	end if
end sub

sub rasliv()
 
  var NumBottleInBag
  
  uo.useobject(SundukGotovieSumki)
  CheckLag()
    
  # Перекладываем пустую сумочку в сундук с полными сумками
    GetBag()
	
   
  # Разливаем в сумки .
  while 1
    if not uo.count(EmptyBottle) then
      GetBottle()
	  CheckLag()
    end if
	CheckLag()
    uo.findtype(keg,-1,'backpack')
    if uo.findcount() then
	  uo.print("nackalo")
	  kegID=uo.getserial("finditem")
	  uo.deletejournal()
	  while uo.count(EmptyBottle) and not uo.injournal("You can't think")
	    uo.deletejournal()
	    uo.waittargettype(EmptyBottle)
		uo.useobject(kegID)
		while not uo.injournal("You can't think|You put the")
		  wait(30)
		wend
		wait(50)
      wend
	  uo.print("bottle")
	  while uo.count(BottleType,BottleColor)
		  PutBottle()
		  wait(100)
	  wend
      if uo.injournal("You can't think") then
	    PutKeg(kegID)
		wait(100)
      end if
	else 
	  GetKeg()
	end if
  wend
  
end sub

Sub CheckLag()
	del('backpack')
	UO.Click('backpack')
	repeat
		wait(50)
	until UO.InJournal('backpack')
end sub

Sub del(msg) 
while uo.injournal(msg) 
uo.setjournalline(uo.injournal(msg)-1,'') 
wend 
end sub 
все для альфы , [url=http://newvlad.nm.ru/prog]здесь[/url]
модернизация ремонт продажа игровых консолей
Sky: admirka1 Москва
Post Reply