Taming od Sykece

15.12.2012 12:55
################################################################
# - Skript na taming s přepínáním.                             #
# - Vlakno pro taming          - tamuju                        #
#              přepínání modu  - prepinactaming                #
#              oživení zvířete - ozivenizvirete                #
#              převlékání      - prevlektaming                 #
#                                                              #
# - Nastavení equipu - Crooku na .equip11, Zbraň na .equip1    #
#                                                              #
# - Nastavení modu:                                            #
#   - V domě     - Automatické krmení zvířete při startu a     #
#                  releasnutí po úspěšném ochočení.            #
#   - Shrinknutí - Automatické shrinknutí na spawnu po tamnutí.#
#   - Zabití     - Po úspěšném tamnutí zapne WarMode a zaútočí #
#                  na zvíře.                                   #
#   - V dungu    - Pokusí se pouze jednou ochočit zvíře a      #
#                  dotáže se na další cíl.                     #
#                                                              #
# - Funkce:                                                    #
#   - Světlo pomoci kouzla (potionem v případě absence knihy). #
#   - Krmení (nutnost fish steaks v hlavním batohu).           #
#   - Integrovaná AFK kontrola.                                #
#   - Možnost pauzování skriptu pomoci "pauza"/"pokracovat".   #
#                                                              #
# - Převlékání:                                                #
#   - oblečení na dung nastavit pomocí ,setdress nadung        #
#   - oblečení na taming nastavit pomocí ,setdress nataming    #
#                                                              #
################################################################
sub prepinactaming()
if NOT UO.GetGlobal('prepinactaming')=='1' and NOT UO.GetGlobal('prepinactaming')=='2' and NOT UO.GetGlobal('prepinactaming')=='3' and NOT UO.GetGlobal('prepinactaming')=='4' then
 UO.SetGlobal('prepinactaming','1')
 UO.SetGlobal('jsemvdome','0')
 UO.SetGlobal('shrinknu','0')
 UO.SetGlobal('killnu','0')
 UO.SetGlobal('vdungu','0')
end if
if UO.GetGlobal('prepinactaming')=='1' then 
 UO.CharPrint(0x0058,'Nastavení pro taming v domě!')
 UO.SetGlobal('vdungu','0')
 UO.SetGlobal('jsemvdome','1')
 UO.SetGlobal('prepinactaming','2')
 UO.Exec('terminate prepinactaming')
end if
if UO.GetGlobal('prepinactaming')=='2' then
 UO.CharPrint(0x0058,'Nastavení pro taming na spawnu se shrinknutím!')
 UO.SetGlobal('jsemvdome','0')
 UO.SetGlobal('shrinknu','1')
 UO.SetGlobal('prepinactaming','3')
 UO.Exec('terminate prepinactaming')
end if
if UO.GetGlobal('prepinactaming')=='3' then 
 UO.CharPrint(0x0058,'Nastavení pro taming na spawnu se zabitím!')
 UO.SetGlobal('shrinknu','0')
 UO.SetGlobal('killnu','1')
 UO.SetGlobal('prepinactaming','4')
 UO.Exec('terminate prepinactaming')
end if
if UO.GetGlobal('prepinactaming')=='4' then
 UO.CharPrint(0x0058,'Nastavení pro taming v dungu!')
 UO.SetGlobal('killnu','0')
 UO.SetGlobal('vdungu','1')
 UO.SetGlobal('prepinactaming','1')
 UO.Exec('terminate prepinactaming')
end if
end sub

sub tamuju()
if NOT UO.GetGlobal('prepinactaming')=='1' and NOT UO.GetGlobal('prepinactaming')=='2' and NOT UO.GetGlobal('prepinactaming')=='3' and NOT UO.GetGlobal('prepinactaming')=='4' then
 UO.SetGlobal('prepinactaming','1')
 UO.SetGlobal('jsemvdome','0')
 UO.SetGlobal('shrinknu','0')
 UO.SetGlobal('killnu','0')
 UO.SetGlobal('vdungu','1')
 UO.CharPrint(0x0035,'Přepínač není nastaven...')
 Wait(500)
 UO.CharPrint(0x0058,'Nastavuji skript pro taming v dungu.')
end if
if UO.GetGlobal('vdungu')=='1' then
 UO.Exec('exec jentamne')
 UO.SetGlobal('tamuju','off')
 UO.Exec('terminate tamuju')
end if
if NOT UO.GetGlobal('tamuju')=='on' then
 UO.SetGlobal('tamuju','on')
 UO.CharPrint(0x0044,'Spouštím skript na taming.')
 zvire()
 Wait(300)
 if UO.GetSerial('zvire') == '0x00000000' then
  UO.CharPrint(0x0026,'Zvire neni nastaveno')
  UO.SetGlobal('tamuju','off')
  UO.CharPrint(0x0026,'Vypínám skript na taming.')
  UO.Exec('terminate taming')
  UO.Exec('terminate tamuju')
 else
  UO.CharPrint(0x0044,'Zvire nastaveno')
 end if
 taming()
else
 UO.SetGlobal('tamuju','off')
 UO.CharPrint(0x0026,'Vypínám skript na taming.')
 UO.Exec('terminate taming')
 UO.Exec('terminate tamuju')
end if
end sub

sub ozivenizvirete()
var mrsinka
UO.Set('finddistance','2')
UO.DeleteJournal()
While NOT UO.InJournal('Oziveni uspesne.')
 repeat
  UO.CharPrint(0x0035,'Vyhledávám v dosahu...')
  UO.FindType('0x2006','-1','ground')
  Wait(200)
  if UO.FindCount() > 0 then
  UO.CharPrint(0x0035,'Mršina nalezena...')
   mrsinka = UO.GetSerial('finditem')
   UO.AddObject('mrsina',mrsinka)
   UO.ServerPrint('.bandage')
   UO.WaitTargetObject('mrsina')
   Wait(200)
   if UO.InJournal('Toto neni zvire.') or UO.InJournal('Zvire je vykuchane.') or UO.InJournal('Jako Ranger nemuzes ozivovat pomoci obvazu.') then
    deletejournalline('Toto neni zvire.')
    deletejournalline('Zvire je vykuchane.')
    deletejournalline('Jako Ranger nemuzes ozivovat pomoci obvazu.')
    UO.Ignore('mrsina')
   end if
   if UO.InJournal('Nemas dost obvazu!') then
    UO.CharPrint(0x0035,'Máš 10s na to si sehnat bandy...')
    deletejournalline('Nemas dost obvazu!')
    Wait(10000)
   end if
  else
  UO.CharPrint(0x0035,'Mršina nenalezena...')
  UO.Exec('terminate ozivenizvirete')
  end if
  Wait(2000)
 until UO.InJournal('Pokousis se ozivit mrtvolu zvirete.')
 Wait(4000)
Wend
UO.CharPrint(0x0035,'Proběhlo oživení zvířete...')
end sub

sub jentamne()
if NOT UO.GetGlobal('jentamne')=='on' then
 UO.SetGlobal('jentamne','on')
 UO.CharPrint(0x0044,'Spouštím skript na taming.')
 UO.DeleteJournal()
 repeat
  UO.WarMode(0)
  UO.ServerPrint('.equip11')
  Wait(300)
  UO.UseSkill('Animal Taming')
  Wait(100)
  deletejournalline('Targeting Cancelled')
  Wait(100)
  While UO.Targeting()
   Wait(500)
   if UO.InJournal('Targeting Cancelled') then
    deletejournalline('Targeting Cancelled')
    UO.SetGlobal('jentamne','off')
    UO.CharPrint(0x0026,'Vypínám skript na taming.')
    UO.Exec('terminate jentamne')
   end if
  Wend
  UO.CharPrint(0x0035,'Čekám na ochočení zvířete...')
  repeat
  Wait(1000)
  if UO.InJournal('Je spatne videt') then
   UO.Cast('Night Sight','self')
   Wait(3000)
   if UO.InJournal('cliloc# 0xA88E') then
    UO.ServerPrint('.potionnightsight')
   end if
   deletejournalline('Je spatne videt')
   UO.SetGlobal('jentamne','off')
   UO.CharPrint(0x0026,'Vypínám skript na taming.')
   UO.Exec('terminate jentamne')
  end if
  until UO.InJournal('Zda se, ze te zvire prijalo za sveho pana') or UO.InJournal('Zvire je jiz ochocene.')
  UO.CharPrint(0x0035,'Které další zvíře si přeješ ochočit?')
  deletejournalline('Zda se, ze te zvire prijalo za sveho pana')
  deletejournalline('Zvire je jiz ochocene.')
 until UO.InJournal('dyrax smrdi')
else
 UO.SetGlobal('jentamne','off')
 UO.CharPrint(0x0026,'Vypínám skript na taming.')
 UO.Exec('terminate jentamne')
end if
end sub

sub taming()
if UO.GetGlobal('jsemvdome')=='1' then 
 UO.WaitTargetObject('zvire') 
 UO.UseSkill('Animal Lore')
 cekam(500)
 if UO.InJournal('ma velky hlad.') or UO.InJournal('jeste zdaleka nema plny zaludek.') or UO.InJournal('jeste nejake to jidlo zvladne.') then
  deletejournalline('ma velky hlad.')
  deletejournalline('jeste zdaleka nema plny zaludek.')
  deletejournalline('jeste nejake to jidlo zvladne.')
  UO.WaitTargetObject('zvire')
  UO.ServerPrint('.nakrm')
  cekam(500)
 end if
end if
While NOT UO.Dead()
 if Uo.InJournal('Zda se, ze te zvire prijalo za sveho pana|Zvire je jiz ochocene.') and NOT Uo.InJournal(': Zda se, ze te zvire prijalo za sveho pana|: Zvire je jiz ochocene.') then  
  UO.CharPrint(0x0058,'Zvíře je ochočeno!')
  cekam(1000)
  if UO.GetGlobal('jsemvdome')=='1' then 
   UO.Say('all release')
  end if
  if UO.GetGlobal('shrinknu')=='1' then 
   UO.ServerPrint('.potionshrink')
   UO.WaitTargetObject('zvire')
   UO.UseObject('finditem')
   cekam(1000)
   alarm('2')
   deletejournalline('Zda se, ze te zvire prijalo za sveho pana')
   deletejournalline('Zvire je jiz ochocene.')
   UO.SetGlobal('tamuju','off')
   UO.CharPrint(0x0026,'Vypínám skript na taming.')
   UO.Exec("terminate taming")
   UO.Exec("terminate tamuju")
  end if
  if UO.GetGlobal('killnu')=='1' then 
   UO.ServerPrint('.equip1')
   UO.WarMode(1)
   UO.attack('zvire')
   alarm('2')
   deletejournalline('Zda se, ze te zvire prijalo za sveho pana')
   deletejournalline('Zvire je jiz ochocene.')
   UO.SetGlobal('tamuju','off')
   UO.CharPrint(0x0026,'Vypínám skript na taming.')
   UO.Exec("terminate taming")
   UO.Exec("terminate tamuju")
  end if
  cekam(1000)
 end if 
 UO.DeleteJournal() 
 UO.WaitTargetObject('zvire') 
 UO.UseSkill('Animal Taming')
 repeat 
  cekam(500)
  UO.SetGlobal('zvire','0')
  if UO.InJournal('Je spatne videt') and NOT UO.InJournal(': Je spatne videt') then
   UO.Cast('Night Sight','self')
   cekam(3000)
   if UO.InJournal('cliloc# 0xA88E') then
    UO.ServerPrint('.potionnightsight')
   end if
   cekam(200)
   UO.SetGlobal('zvire','1')
  end if
  if UO.InJournal('je prilis daleko|Nevidis na cil|Jsi prilis daleko|Ztratil jsi svuj cil z dohledu.') and NOT UO.InJournal(': je prilis daleko|: Nevidis na cil|: Jsi prilis daleko|: Ztratil jsi svuj cil z dohledu.') then
   UO.CharPrint(0x0035,'Zvíře ti uteklo!')
   UO.SetGlobal('zvire','1')
   cekam(5000)
  end if
  if UO.InJournal('Na ochocovani zvere potrebujes pasteveckou hul.') and NOT UO.InJournal(': Na ochocovani zvere potrebujes pasteveckou hul.') then
   UO.CharPrint(0x0035,'Bez crooky to nepůjde...')
   UO.ServerPrint('.equip11')
   UO.SetGlobal('zvire','1')
   cekam(10000)
  end if
  if UO.InJournal('Zvire je prilis divoke.') and NOT UO.InJournal(': Zvire je prilis divoke.') then
   UO.CharPrint(0x0035,'Zvíře je moc divoké...')
   UO.SetGlobal('zvire','1')
   cekam(10000)
  end if
  if UO.InJournal('Tohle nemuzes ochocit.') then
   UO.CharPrint(0x0035,'Tohle neochočíš...')
   Wait(1000)
   UO.SetGlobal('tamuju','off')
   UO.CharPrint(0x0026,'Vypínám skript na taming.')
   UO.Exec("terminate taming")
   UO.Exec("terminate tamuju")
  end if
  if UO.InJournal('do much in your current state.') then
   UO.CharPrint(0x0035,'Nějaký dacan tě parnul...')
   UO.Say('Neotravuj!!!')
   UO.Cast('Harm','self')
   UO.SetGlobal('zvire','1')
   cekam(3000)
  end if
  if UO.InJournal('You are preoccupied with thoughts of battle.') and NOT UO.InJournal(': You are preoccupied with thoughts of battle.') then
   UO.CharPrint(0x0035,'Vypínám warmode...')
   UO.WarMode(0)
   cekam(1000)
   UO.SetGlobal('zvire','1')
  end if
  if UO.InJournal('Ve tvem soustredeni te rusi hlad...|You are hungry') and NOT UO.InJournal(': Ve tvem soustredeni te rusi hlad...|: You are hungry') then
   cekam(500)
   UO.FindType(0x097B,'-1','backpack')
    if UO.FindCount() > 0 then
    repeat
     cekam(500)
     UO.UseObject('finditem')
    until UO.InJournal('You are stuffed!') and NOT UO.InJournal(': You are stuffed!') or UO.FindCount() < 1 
    cekam(200)
   else 
    UO.CharPrint(0x0035,'Nemáš u sebe žádné steaky...')
   end if
   cekam(1000)
   UO.SetGlobal('zvire','1')
  end if
 until UO.InJournal('Nepovedlo se ti zvire ochocit|Zda se, ze te zvire prijalo za sveho pana|Ochocovani bylo preruseno|Zvire je jiz ochocene.') or UO.GetGlobal('zvire')=='1' and not UO.InJournal(': Nepovedlo se ti zvire ochocit|: Zda se, ze te zvire prijalo za sveho pana|: Ochocovani bylo preruseno|: Zvire je jiz ochocene.')
wend 
end sub

sub cekam(cas)
var doba = cas
var mezicas = 300
While doba > mezicas
 if UO.InJournal("Save imminent!") then
  UO.CharPrint(0x0035,'Čekám na konec save...')
  deletejournalline("Save imminent!")
  While NOT UO.InJournal("Next scheduled save in 60 minutes")
   Wait(1000)
  Wend
  UO.CharPrint(0x0035,'Pokračujeme...')
 end if
 if UO.InJournal(UO.GetName()+': pauza') then
   deletejournalline('pauza')
   UO.CharPrint(0x0035,'Dáme si pauzičku...')
   repeat 
    Wait(500)
    kontrola()
   until UO.InJournal(UO.GetName()+': pokracovat')
   deletejournalline('pokracovat')
   UO.CharPrint(0x0035,'Pokračujeme...')
  end if
  kontrola()
 Wait(mezicas)
 doba = doba - mezicas
Wend
Wait(doba)
end sub

sub zvire()
UO.CharPrint(0x0035,'Které zvíře si přeješ ochočit?')
UO.AddObject('zvire')
While UO.Targeting()
 Wait(200)
Wend
end sub

sub deletejournalline(text)
While UO.InJournal(text)
 UO.SetJournalLine(UO.InJournal(text)-1, ' ')
Wend
end sub

sub kontrola()
var a 
DIM slovo[42]
slovo[1] = 'AFK kontrola'
slovo[2] = 'AFK Kontrola'
slovo[3] = 'AFK KONTROLA'
slovo[4] = 'afk'
slovo[5] = 'AFK'
slovo[6] = 'KONTROLA'
slovo[7] = 'kontrola'
slovo[8] = 'Afk'
slovo[9] = 'Afk KONTROLA'
slovo[10] = 'Mandos'
slovo[11] = 'Levtar'
slovo[12] = 'Svarog'
slovo[13] = 'Cerna Vdova'
slovo[14] = 'Stin'
slovo[15] = 'Kmotr'
slovo[16] = 'Yavanna'
slovo[17] = 'Sarig'
slovo[18] = 'Dagonet'
slovo[19] = 'Vypravec'
slovo[20] = 'Tauron'
slovo[21] = 'Nienna'
slovo[22] = 'Heck'
slovo[23] = 'Tartaros'
slovo[24] = 'Attila'
slovo[25] = 'Tulkas'
slovo[26] = 'Rigel'
slovo[27] = 'Dinivan'
slovo[28] = 'Sirius'
slovo[29] = 'Scane'
slovo[30] = 'Aldaron'
slovo[31] = 'GM '
slovo[32] = 'Heru Beleg Ruin'
slovo[33] = 'Mor Kel'
slovo[34] = 'Ruth Aina'
slovo[35] = 'Beleg Ruin Kel'
slovo[36] = 'Helca Ril Sul'
slovo[37] = 'is attacking you'
slovo[38] = 'jsi tu'
slovo[39] = 'Jsi tu'
slovo[40] = 'jsi tady'
slovo[41] = 'Jsi tady'
slovo[42] = 'system'

FOR a = 1 to 2
 if UO.InJournal(slovo[a]) then 
  deletejournalline(slovo[a])
  UO.Print('ALARM CISLO 1')
  alarm('1')
  While NOT uo.InJournal('Spravne,')
   Wait(1000)
  Wend
  UO.CharPrint(0x0035,'AFK Kontrola byla vyplněna správně...')
  deletejournalline('AFK')
 else 
   NEXT 
 end if
FOR a = 2 to 42
 if UO.InJournal(slovo[a]) then 
  deletejournalline(slovo[a])
  UO.Print('ALARM CISLO 2')
  alarm('2')
 else 
   NEXT 
 end if
end sub

sub alarm(zvuk)
var zvuk1 = 'C:\meepmeep.wav'
var zvuk2 = 'C:\meepmeep2.wav'
var cislozvuku = zvuk
if cislozvuku == '1' then
 UO.PlayWav(zvuk1)
end if
if cislozvuku == '2' then
 UO.PlayWav(zvuk2)
end if
end sub

sub prevlektaming()
UO.SetDressSpeed(250)
if NOT UO.GetGlobal('prevlek')=='dungovni' then
 UO.SetGlobal('prevlek','dungovni')
 UO.CharPrint(0x0017,'Převlékám do itemů na taming.')
 UO.Dress('nataming')
else
 UO.SetGlobal('prevlek','taming')
 UO.CharPrint(0x0030,'Převlékám do itemů na dung.')
 UO.Dress('nadung')
 UO.Exec('terminate prevlektaming')
end if
end sub