GM Mortar Alchemy

Základní skripty pro všeobecné využití
Odpovědět
Lara Craft
Site Admin
Příspěvky:36
Registrován:čtv bře 08, 2018 9:00 pm
GM Mortar Alchemy

Příspěvek od Lara Craft » pát zář 07, 2018 9:20 pm

Potřebujete GM mortar (samozřejmě) připravenou káď s lektvarem (jestli nemáte, první si míchněte ručně), dále lahvičku se stejným lektvarem, pár volných lahviček a volnou pomocnou káď.

Kód: Vybrat vše

#---------------------------------------------------------------
sub gmalchemy()
#---------------------------------------------------------------
UO.DeleteJournal()
var reg,minimum,typKade,barvaKade,typ,barva,lektvar,menuitem,muzemichat=0
UO.IgnoreReset()

UO.AddObject('Mortar')
While UO.Targeting()
   Wait(200)
Wend

UO.AddObject('PlnaKad')
While UO.Targeting()
   Wait(200)
Wend

uo.AddObject('Vysledny_lektvar')
while uo.targeting()
wait(200)
wend

typKade=UO.GetGraphic('PlnaKad')
barvaKade=UO.GetColor('PlnaKad')
UO.Ignore('PlnaKad')

typ=UO.getGraphic('Vysledny_lektvar')
barva=UO.GetColor('Vysledny_lektvar')
UO.Click('Vysledny_lektvar')
wait(1000)
lektvar=UO.GetName('Vysledny_lektvar')
UO.Print('Jmeno lektvaru:'+lektvar)
UO.Print('Typ lektvaru:'+typ)
UO.Print('Barva lektvaru:'+barva)


UO.Print('Provadim nastaveni menu...')

if typ=='0x0F09' AND barva=='0x0005' then
	menuitem='Mana Refresh (306 Eyes of Newt)'
	reg=0x0F87
	minimum=306
	muzemichat=1
endif

if typ=='0x0F09' AND barva=='0x0003' then
	menuitem='Total Mana Refresh (612 Eye'
	reg=0x0F87
	minimum=612
	muzemichat=1
endif

if typ=='0x0F09' AND barva=='0x0000' then
	menuitem='Greater Strength (612 Mandrake Roots)'
	reg=0x0F86
	minimum=612
	muzemichat=1
endif

if typ=='0x0F07' AND barva=='0x0000' then
	menuitem='Greater Cure (612 Garlics)'
	reg=0x0F84
	minimum=612
	muzemichat=1
endif

if typ=='0x0F0C' AND barva=='0x0000' then
	menuitem='Greater Heal (714 Ginsengs)'
	reg=0x0F85
	minimum=714
	muzemichat=1
endif

if typ=='0x0F0B' AND barva=='0x0000' then
	menuitem='Total Refresh (510 Black Pearls)'
	reg=0x0F7A
	minimum=510
	muzemichat=1
endif

if typ=='0x0F0A' AND barva=='0x0000' AND lektvar=='Lesser Poison potion' then
	menuitem='Lesser Poison (204 Nightshades)'
	reg=0x0F88
	minimum=204
	muzemichat=1
endif

if typ=='0x0F0A' AND barva=='0x0000' AND lektvar=='Poison potion' then
	menuitem='Poison (408 Nightshades)'
	reg=0x0F88
	minimum=408
	muzemichat=1
endif

if typ=='0x0F0A' AND barva=='0x0000' AND lektvar=='Greater Poison potion'  then
	menuitem='Greater Poison (714 Nightshades)'
	reg=0x0F88
	minimum=714
	muzemichat=1
endif

if typ=='0x0F0A' AND barva=='0x0000' AND lektvar=='Deadly Poison potion' then
	menuitem='Deadly Poison (1020 Nightshades)'
	reg=0x0F88
	minimum=1020
	muzemichat=1
endif

if typ=='0x0F09' AND barva=='0x045E' then
	menuitem='Shrink (306 Batwings)'
	reg=0x0F78
	minimum=306
	muzemichat=1
endif

if typ=='0x0F09' AND barva=='0x0B77' then
     menuitem="Invisibility (408 Wyrm's Hearts)"
     reg=0x0F91
     minimum=408
     muzemichat=1
endif

if lektvar=='Lava Bomb' then
	menuitem='Lava Bomb (612 Volcanic Ashes)'
	reg=0x0F8F
	minimum=612
	muzemichat=1
endif

if lektvar=='Lesser Explosionon potion' then
	menuitem='Lesser Explosion (306 Sulfurous Ashes)'
	reg=0x0F8C
	minimum=306
	muzemichat=1
endif

if lektvar=='Explosionon potion' then
	menuitem='Explosion (510 Sulfurous Ashes)'
	reg=0x0F8C
	minimum=510
	muzemichat=1
endif

if lektvar=='Greater Explosionon potion' then
	menuitem='Greater Explosion (1020 Sulfu'
	reg=0x0F8C
	minimum=1020
	muzemichat=1
endif

if lektvar=='Greater Agility potion' then
	menuitem='Greater Agility (306 Blood Mo'
	reg=0x0F7B
	minimum=306
	muzemichat=1
endif
UO.Print('Hotovo.')

if muzemichat==0 then
uo.print('Toto nelze namichat na GrandMaster Mortaru!')
return
endif

if UO.Count('0x1843','0x0000') ==0 then
	UO.Print('Nemas prazdnou kad!')
	return
endif

Repeat
   UO.DeleteJournal()
   UO.Waitmenu('Vyber typ potionu',menuitem)
   UO.UseObject('Mortar')
   repeat
      wait(200)
   until UO.InJournal('hotovy lektvar')
	wait(500)
   If UO.InJournal('hotovy lektvar') Then
      #najdi kad s vytvorenym lektvarem 
	  repeat
      UO.FindType(typKade,barvaKade)
	 wait(500)
	until UO.FindCOUNT()
	#dolej 50 lektvaru do plne kade
	uo.print('Prelejvam 50 lektvaru..')
      UO.WaitTargetObject('PlnaKad')
      UO.UseObject('finditem')
      wait(1200)

	#vyprazdni prelitim posledniho lektvaru z pracovni kade
	uo.print('Vyprazdnuji kad..')
      UO.WaitTargetType(0x0F0E)
      UO.UseObject('finditem')
      repeat
      wait(500)
	until uo.injournal('You put the Kad')
	uo.deleteJournal()

	  #naleje leahvicku do plne kade
	uo.print('Lahvicku do kade..')
      UO.WaitTargetType(typ,barva)
      UO.UseObject('PlnaKad')
	repeat
      wait(500)
	until uo.injournal('You put the empty bottle')
	uo.deleteJournal()
	  
   else
	return
   EndIf   
   wait(1000)
Until uo.Count(reg) < minimum
UO.Print('Dosly regy, konec michani.')
end sub

Odpovědět