То, что ищут многие...

Anything and all.

Moderators: Murderator+, Murderator

Kynep
Expert!
Posts: 1348
Joined: 2006-02-07 08:51:40
Location: г. Старый Оскол
Contact:

Post by Kynep »

Вот наваял тут скриптик на Ветеринарию, принцип такой: в паке у чара лежит куча бинтов и реги для каста Полиморфа и Диспела, чар морфится в Демона, если мало маны медитирует прежде, МАГЕРИ ДОЛЖНО БЫТЬ БОЛЬШЕ 90!!!! Затем юзает на себя бинты, если чистых нету моет грязные и так по кругу пока не отхилится, затем кастует на себя Диспел, медитирует и так по кругу пока не кончатся бинты... В разработке добор регов и бинтов из сундука, подкормка чара, кому надо можем и спирит воткнуть... ТЕСТИЛ НА ДРВ ВСЕ ПРЕКРАСТНО РАБОТАЕТ И ЕСЛИ ЕСТЬ ПОДОЗРЕНИЯ, ТО НА ДРВ ПРИ ХИЛЕ В МОРФЕ РАСТЕТ ВЕТЕРИНАРИЯ А НЕ ХИЛИНГ!!!

Code: Select all

#*************************
#(C) Cooper
#Писал: Cooper
#Тестил: Cooper
#Идея написать: You Must Die
#*************************
sub veter()
var bint='0x0E21' #Тип бинта
var Gbint='0x0E20' #Тип грязного бинта
var taz='0x404019B0' #ID тазика
var LastTimer
uo.cancelmenu()
uo.AutoMenu('What do you want to polymorph', 'Daemon')
wait(1000)
repeat
   UO.FindType(bint,"-1","my")
if UO.FindCount() > 0 then
    if uo.mana < uo.int then
      while uo.mana < uo.int
        LastTimer=uo.Timer()
        uo.UseSkill('Meditation')
        repeat
          wait(100)
        until uo.InJournal("You are") or uo.InJournal("You lose") or uo.InJournal("You stop") or uo.Timer()>LastTimer+200
        uo.DeleteJournal()
      wend
      repeat
      uo.Cast('Polymorph')
      wait(7000)
      until not UO.InJournal('You spell')
    else
      repeat
      uo.Cast('Polymorph')
      wait(7000)
      until not UO.InJournal('You spell')
    end if
      cheklag()
   if UO.GetHP() < UO.GetMaxHP() then
   repeat
   UO.FindType(bint,"-1","my")
    if UO.FindCount() > 0 then
      cheklag()
      uo.exec('bandageself')
      Wait(4000)
     else 
      UO.FindType(Gbint,"-1","my")
         if UO.FindCount() > 0 then
           cheklag()
           uo.waittargetobject(taz)
           uo.UseType(Gbint)
         else
           cheklag()
           uo.print("Бинтов то нету...")
           uo.exec("terminate veter") 
         endif
     endif
   until UO.GetHP() == UO.GetMaxHP()
   else
   wait(100)
   endif 
      if uo.mana < uo.int / 2 then
      while uo.mana < uo.int / 2
        LastTimer=uo.Timer()
        uo.UseSkill('Meditation')
        repeat
          wait(100)
        until uo.InJournal("You are") or uo.InJournal("You lose") or uo.InJournal("You stop") or uo.Timer()>LastTimer+200
        uo.DeleteJournal()
      wend
    else
      repeat
      UO.Cast('Dispel', 'self')
      wait(4000)
      until not UO.InJournal('You spell')
    endif
else
 UO.FindType(Gbint,"-1","my")
      if UO.FindCount() then
         cheklag()
         uo.waittargetobject(taz)
         uo.UseType(Gbint)
      else
         cheklag()
         uo.print("Бинтов то нету...")
         uo.exec("terminate veter") 
      endif
endif
until uo.dead()
end sub

Sub cheklag()
uo.deletejournal()
uo.click('backpack')
Repeat
wait(100)
Until UO.InJournal("backpack")
end sub
Scripts Writer
Posts: 2259
Joined: 2005-04-19 18:00:29
Location: Московская область
Contact:

Post by Scripts Writer »

Code: Select all

#******************************#
# v 1.01                       #
# Dragon World                 #
#(C) Cooper                    #
#Писали: Cooper & You Must Die #
#Тестил: Cooper                #
#Задумка: You Must Die         #
#******************************#

sub veter()
var Sunduk=' '           # ID сундука где лежат реги,бинты,еда
var bint='0x0E21'        # Тип бинта
var Gbint='0x0E20'       # Тип грязного бинта
var taz='0x404019B0'     # ID того, в чём моем грязные бинты
var w = 750              # Задержка на употребление еды(в мс.)
var food='0x09D1'        # Тип того что употребляем в пищу
var k , a
var LastTimer

DIM reg[5]
 
  reg[0]='0x0F84'
  reg[1]='0x0F86'
  reg[2]='0x0F8C'
  reg[3]='0x0F7B'
  reg[4]='0x0F8D'
 
uo.cancelmenu()
uo.AutoMenu('What do you want to polymorph', 'Daemon')
wait(1000)
 repeat
   for a = 0 to 4
   if uo.Count(reg[a]) < 5 then
     uo.FindType(reg[a],'-1',Sunduk)
     if UO.FindCount() > 0 then
       uo.moveitem('finditem','100')
       wait(1000)
       cheklag()
     else
       UO.Print('There are no regs!!!')
       uo.exec("terminate veter")       
     endif
   endif
   next
   UO.FindType(bint,"-1","my")
   if UO.FindCount() > 0 then
     if uo.mana < uo.int then
       while uo.mana < uo.int
         LastTimer=uo.Timer()
         uo.UseSkill('Meditation')
         repeat
           wait(100)
         until uo.InJournal("You are") or uo.InJournal("You lose") or uo.InJournal("You stop") or uo.Timer()>LastTimer+200
         uo.DeleteJournal()
       wend
       repeat
         uo.Cast('Polymorph')
         wait(7000)
       until not UO.InJournal('You spell')
     else
       repeat
         uo.Cast('Polymorph')
         wait(7000)
       until not UO.InJournal('You spell')
     end if
     cheklag()
     if UO.GetHP() < UO.GetMaxHP() then
       repeat
         UO.FindType(bint,"-1","my")
         if UO.FindCount() > 0 then
           cheklag()
           uo.exec('bandageself')
           Wait(4000)
         else 
           UO.FindType(Gbint,"-1","my")
           if UO.FindCount() > 0 then
             cheklag()
             uo.waittargetobject(taz)
             uo.UseType(Gbint)
           else
             cheklag()
             uo.print("No bandages!...")
             uo.exec("terminate veter") 
           endif
         endif
       until UO.GetHP() == UO.GetMaxHP()
     else
       wait(100)
     endif
     if uo.InJournal('You are hungry') then
       uo.findtype(food,'-1',Sunduk)
       uo.moveitem('finditem','10')
       wait(100)
       for k = 0 to 10
         uo.findtype(food,'-1','backpack')
         uo.UseType(food)
         wait(w)
         k = k + 1
       next
     endif
     uo.DeleteJournal()
     if uo.mana < uo.int / 2 then
       while uo.mana < uo.int / 2
         LastTimer=uo.Timer()
         uo.UseSkill('Meditation')
         repeat
           wait(100)
         until uo.InJournal("You are") or uo.InJournal("You lose") or uo.InJournal("You stop") or uo.Timer()>LastTimer+200
         uo.DeleteJournal()
       wend
     else
       repeat
         UO.Cast('Dispel', 'self')
         wait(4000)
       until not UO.InJournal('You spell')
     endif
   else
     UO.FindType(Gbint,"-1","my")
     if UO.FindCount() then
       cheklag()
       uo.waittargetobject(taz)
       uo.UseType(Gbint)
     else
       cheklag()
       uo.FindType(bint,'-1',Sunduk)
       uo.moveitem('finditem','100')
       wait(1000)
     endif
   endif
 until uo.dead()
 uo.exec("terminate veter") 
end sub

Sub cheklag()
  uo.deletejournal()
  uo.click('backpack')
  Repeat
    wait(100)
  Until UO.InJournal("backpack")
end sub
Scripts Writer
Posts: 2259
Joined: 2005-04-19 18:00:29
Location: Московская область
Contact:

Post by Scripts Writer »

Code: Select all

####################################### 
#####    Резка перьев с гарпий   ######
#######################################
#####        You Must Die        ######
#######################################

sub rezka()
var baggg
var dagger='0x0F51' # тип режущего инструмента
var weapon='0x13B1' # тип атакующего оружия
var i

 DIM garp[3]
 
   garp[0]='0x1BD1'
   garp[1]='0x0eed'
   garp[2]='0x1BFB'
   garp[3]='0x1F3F'

   uo.UseObject('lastcorpse')
   uo.WaitTargetObject('lastcorpse')
   wait(500)
   uo.UseType(dagger)
   for i = 0 to 3
      uo.FindType(garp[i],'-1','lastcorpse')
      if uo.FindCOunt() then
         uo.moveitem('finditem','all')
         wait(750)
      end if
   next
end sub
Last edited by Scripts Writer on 2006-11-09 20:09:38, edited 2 times in total.
Scripts Writer
Posts: 2259
Joined: 2005-04-19 18:00:29
Location: Московская область
Contact:

Post by Scripts Writer »

Если есть аналоги скриптов или что-то своё интересное( вопросы по скриптингу так же рассматриваются +) )-постите здесь. Тут вам всегда ответят.
kotvsapogah
Posts: 17
Joined: 2006-03-29 14:24:09

Post by kotvsapogah »

Code: Select all

sub Alchemy(reagent, min_reg, choice)
   while UO.Count('0x0F0E','0x0000')>0 AND UO.Count(reagent)>=min_reg
      UO.DeleteJournal()
      UO.Exec("waitmenu 'What sort of potion do you want to' "+choice)
      UO.UseType(reagent)
      while NOT UO.InJournal("You put") AND NOT UO.InJournal("You toss the failed")
         wait(300)
      wend
   wend
   gong(2)
end sub

#==============================================================
#  TMana() - toss total mana potion
#--------------------------------------------------------------
sub TMana()
   alchemy('0x0F87', 6, "'Total Mana'")
end sub


Запускай скрипт TMana :wink:
kotvsapogah
Posts: 17
Joined: 2006-03-29 14:24:09

Post by kotvsapogah »

Попробуй так:

Code: Select all

sub Alchemy(reagent, min_reg, choice) 
   while UO.Count('0x0F0E','0x0000')>0 AND UO.Count(reagent)>=min_reg
      UO.DeleteJournal()
      UO.Exec("waitmenu 'What sort of potion do you want to' "+choice)
      UO.UseType(reagent)
      while NOT UO.InJournal("You put") AND NOT UO.InJournal("You toss the failed")
         wait(300)
      wend
   wend
   gong(2)
end sub

#==============================================================
#  TMana() - toss total mana potion
#--------------------------------------------------------------
sub TMana()
   Uo.UseSkill('Spirit Speak')
   wait(5000)
   alchemy('0x0F87', 6, "'Total Mana'")
end sub
Scripts Writer
Posts: 2259
Joined: 2005-04-19 18:00:29
Location: Московская область
Contact:

Post by Scripts Writer »

Code: Select all


#******************************#
#    Cooper & You Must Die     #
#******************************#

sub Alchemy()
var eye=' ' ; Тип Eyes of Newt
var forpotion= 18000 ;Задержка на изготовление
var potion=' ' ; Тип Маны
var color=' ' ; Цвет Маны
var sunduk=' ' ; Откуда брать, и куда складывать
      while not uo.Dead()
          uo.FindType(eye,'-1','my')
          while uo.GetQuantity('finditem') > 10
              uo.WaitMenu('What sort of potion do you','Total Mana')
              uo.UseType(eye)
              wait(forpotion)
              CheckLag()
              while not uo.InJournal('You put') AND not uo.InJournal('You toss')
                  wait(100)
              wend
              if uo.InJournal('You put') then
                  uo.FindType(potion,color,'backpack')
                  CheckLag()
                  while uo.FindCount() > 0
                      uo.moveitem('finditem','10',sunduk)
                      wait(500)
                      uo.FindType(potion,color,'backpack')
                  wend
              end if
          wend
          uo.FindType(eye,'-1',sunduk)
          uo.moveitem('finditem','100')
          wait(1000)
      wend
end sub

sub CheckLag()
UO.DeleteJournal()
UO.Click('backpack')
repeat
wait(500)
until UO.InJournal('backpack')
end sub

 
Last edited by Scripts Writer on 2006-11-09 20:11:58, edited 5 times in total.
flake
Expert!
Posts: 746
Joined: 2004-08-11 23:56:17
Location: The Citadel
Contact:

Post by flake »

Ребят, используйте лучше во всех скриптах на крафт динамичную задержку (с проверкой на время, для защиты от лагов и сейвов ).
Scripts Writer
Posts: 2259
Joined: 2005-04-19 18:00:29
Location: Московская область
Contact:

Post by Scripts Writer »

flake wrote:Ребят, используйте лучше во всех скриптах на крафт динамичную задержку (с проверкой на время, для защиты от лагов и сейвов ).


можно примерчик?

Учимся.
flake
Expert!
Posts: 746
Joined: 2004-08-11 23:56:17
Location: The Citadel
Contact:

Post by flake »

Code: Select all

sub AlchExp()  
var  k
var reg = '0x0F8C'
  while uo.count(reg) > 9
     k = 0
     uo.deletejournal()
     uo.waitmenu( 'What', 'greater' )
     uo.usetype(reg)
        repeat       ; вот и динамическая задержка со счетчиком
          wait(100)
          k = k + 1 ; а еще лучше использовать таймер, чтобы не загружать память.
       until uo.injournal( 'failed' ) or uo.injournal( 'put' ) or (k >100)
   wend
endsub
Scripts Writer
Posts: 2259
Joined: 2005-04-19 18:00:29
Location: Московская область
Contact:

Post by Scripts Writer »

Code: Select all

#******************************# 
#*********** 1.01 *************#
#    Cooper & You Must Die     #
#******************************#
#******************************#

sub Alchemy()
var eye=' ' ; Тип Eyes of Newt
var forpotion= 18000 ;Задержка на изготовление
var potion=' ' ; Тип Маны
var color=' ' ; Цвет Маны
var sunduk=' ' ; Откуда брать, и куда складывать
var bottle=' ' ;Тип бутылок
var i
      while not uo.Dead()
          uo.DeleteJournal()
          uo.FindType(eye,'-1','my')
          if uo.GetQuantity('finditem') > 10 then
              uo.FindType(bottle,'-1','my')
              if uo.GetQuantity('finditem') > 10 then
                  uo.WaitMenu('What sort of potion do you','Total Mana')
                  uo.UseType(eye)
                  wait(forpotion)
                  CheckLag()
                  i = 0
                  repeat
                      wait(100)
                      k = k + 1
                  until uo.InJournal('You put') OR uo.InJournal('You toss') or (k>50)
                  if uo.InJournal('You put') then
                      uo.DeleteJournal()
                      uo.FindType(potion,color,'backpack')
                      CheckLag()
                      while uo.FindCount()
                          uo.moveitem('finditem','10',sunduk)
                          wait(500)
                      wend
                  end if
              else
                  uo.FindType(bottle,'-1',sunduk)
                  uo.moveitem('finditem','100')
                  wait(1000)
              end if     
          else             
              uo.FindType(eye,'-1',sunduk)
              uo.moveitem('finditem','100')
              wait(1000)
          end if
      wend
end sub

sub CheckLag()
UO.DeleteJournal()
UO.Click('backpack')
repeat
wait(500)
until UO.InJournal('backpack')
end sub
Last edited by Scripts Writer on 2006-04-21 21:08:33, edited 6 times in total.
flake
Expert!
Posts: 746
Joined: 2004-08-11 23:56:17
Location: The Citadel
Contact:

Post by flake »

Не забывайте стирать журнал. И лучше всетки использовать счетчик/таймер, чтобы в случае пропуска сообщения скрипт не зациклился.
flake
Expert!
Posts: 746
Joined: 2004-08-11 23:56:17
Location: The Citadel
Contact:

Post by flake »

Только вот задержку в 1000 мс. ставить почти нет смысла, т.к. прелесть динамической паузы сокрашается. Ставьте 100 мс.
Kynep
Expert!
Posts: 1348
Joined: 2006-02-07 08:51:40
Location: г. Старый Оскол
Contact:

Post by Kynep »

Die Hard wrote:Дайте пожайлусто скрипт на форенсик!!


Code: Select all

sub forn()
UO.Exec('addobject trup')
UO.Print('Выбери Трупик')
while UO.Targeting()
wait(100)
wend
repeat
UO.WaitTargetObject('trup')
UO.UseSkill('Forensic Evaluation')
wait(4000)
until UO.InJournal(' ') #Тут сообщение когда труп исчезает
UO.DeleteJournal()
end sub
MAKC
Posts: 23
Joined: 2005-05-06 16:07:12
Location: none
Contact:

Post by MAKC »

Die Hard, вот.

Code: Select all

var obj='0x0018E578' 
sub Evaluate()
var count=0,i=0
uo.useobject('backpack')
UO.Exec('terminate Reconnector')
wait(1000)
UO.Exec('exec Reconnector')
wait(1000)
i=0
repeat
i=i+1
cheklag() 
UO.Useskill('Evaluating',obj)
wait(5500)
if i==8 then
uo.usetype('0x097B')
wait(1000)
i=0
cheklag() 
uo.useskill ("Spirit Speak")
uo.deletejournal()
repeat
wait(10)
until UO.InJournal("You establish a connection to the netherworld.") or UO.InJournal("You fail your attempt at contacting the netherworld.")
end if
until UO.Dead()
end sub

sub cheklag()
uo.deletejournal()
uo.click('backpack')
repeat
wait(10)
until uo.InJournal("backpack")
end sub

sub Reconnector()
var ReconnectTime, RFlag
ReconnectTime = '0'
RFlag = 1
Repeat
While (UO.ObjAtLayer('Bpack') == '')
if RFlag Then
ReconnectTime = MakeTime()
RFlag = 0
endif
Wait(20000) # WorldSave Protection
UO.Say('')
Wait(3000)
UO.Say('')
Wait(3000)
UO.Say('')
Wait(3000)
UO.LDblClick(357,164)
UO.LClick(616,459)
Wait(3000)
WEnd
Wait(3000)
if (RFlag == 0) and (ReconnectTime <> '0') Then
UO.Exec('terminate Evaluate')
wait(1000)
UO.Exec('exec Evaluate')
wait(1000)
UO.TextOpen()
UO.TextPrint('Disconnected & Reconnected @ '+ReconnectTime)
RFlag = 1
ReconnectTime = '0'
endif
Until false
end sub

sub MakeTime()
VAR D, T, Ret, i
Ret = STR(UO.Time())
T = ""
For i = 0 To Len(Ret)
T = Ret[Len(Ret)-i] + T
If (I == 2) OR (I == 4) Then
T = ":" + T
EndIf
Next
Ret = STR(UO.Date())
D = ""
For i = 0 To Len(Ret)
D = Ret[Len(Ret)-i] + D
If (I == 2) OR (I == 4) Then
D = "." + D
EndIf
Next
Ret = T + " @ " + D
RETURN Ret
end sub

Scripts Writer
Posts: 2259
Joined: 2005-04-19 18:00:29
Location: Московская область
Contact:

Post by Scripts Writer »

Музыка. Еда. Спирит.

Code: Select all

sub music()
var food=' type of something to eat '
  uo.Exec('addobject instrument')
  while uo.Targeting()
    wait(100)
  wend
  while not uo.Dead()
    uo.DeleteJournal()
    uo.UseObject('instrument')
    wait(1000)
    uo.WarMode(true)
    wait(750)
    uo.WarMode(false)
    uo.UseSkill('Spirit Speak')
    while not uo.InJournal('You attempt') and not uo.InJournal('You establish a connection to the netherworld.')
      wait(100)
      CheckLag()
    wend
    if uo.InJournal('You are starving') then
      while not uo.InJournal('You are simply')
        uo.UseType(food)
        wait(100)
        CheckLag()
      wend
    end if
  wend
end sub

sub CheckLag()
  UO.DeleteJournal()
  UO.Click('backpack')
  repeat
    wait(500)
  until UO.InJournal('backpack')
end sub
Last edited by Scripts Writer on 2006-09-26 05:39:31, edited 3 times in total.
flake
Expert!
Posts: 746
Joined: 2004-08-11 23:56:17
Location: The Citadel
Contact:

Post by flake »

Code: Select all

uo.Exec('addobject instrument') 
uo.UseObject(instrument) 


Ты создаешь обьект instrument, а затем обрашаешся к переменной instrument. Разницу чувствуешь? Обрашаться к обьекту надо в кавычках.
Scripts Writer
Posts: 2259
Joined: 2005-04-19 18:00:29
Location: Московская область
Contact:

Post by Scripts Writer »

Стенка, Стенка , Фаер Филд.

Code: Select all

sub st() 
####################
#автор:CONDOMchick #
####################

uo.deletejournal()
VAR x1,x2,y1,y2,sx,sy,limit

x1=0
x2=0
y1=0
y2=0

uo.Set('finddistance','8')
na:
uo.findtype('0x0080',-1,'ground')
if uo.findcount()>0 then
sx=str(uo.getx('finditem'))
sy=str(uo.gety('finditem'))
if x1==1 and x2==1 or y1==1 and y2==1 then
GOTO pox
endif
if sx==str(uo.getx('laststatus')+1) and sy==str(uo.gety('laststatus')) then
x1=1
endif

if sx==str(uo.getx('laststatus')-1) and sy==str(uo.gety('laststatus')) then
x2=1
endif

if sx==str(uo.getx('laststatus')) and sy==str(uo.gety('laststatus')+1) then
y1=1
endif

if sx==str(uo.getx('laststatus')) and sy==str(uo.gety('laststatus')-1) then
y2=1
endif

uo.ignore('finditem')
GoTo na
endif

pox:
uo.ignorereset()

uo.print(str(x1)+str(x2)+str(y1) + str(y2))
if x1==0 and x2==0 and y1==0 and y2==0 then

 uo.waittargettile("400",str(uo.getx('laststatus')),str(uo.gety('laststatus')),str(uo.getz('laststatus')))
uo.cast("Wall of Stone")
endif
if y1==1 and y2==1 then

   if str(uo.getx())>str(uo.getx('laststatus')) then
       uo.waittargettile("400",str(uo.getx('laststatus')+1),str(uo.gety('laststatus')),str(uo.getz('laststatus')))
uo.cast("Wall of Stone")
else
 uo.waittargettile("400",str(uo.getx('laststatus')-1),str(uo.gety('laststatus')),str(uo.getz('laststatus')))
uo.cast("Wall of Stone")
   endif
endif

if x1==1 and x2==1 then

  if str(uo.gety())>str(uo.gety('laststatus')) then
       uo.waittargettile("400",str(uo.getx('laststatus')),str(uo.gety('laststatus')+1),str(uo.getz('laststatus')))
uo.cast("Wall of Stone")
else
 uo.waittargettile("400",str(uo.getx('laststatus')),str(uo.gety('laststatus')-1),str(uo.getz('laststatus')))
uo.cast("Wall of Stone")
   endif
endif
limit=0
#or not uo.injournal('Target is not') or not uo.injournal('sufficient mana')
while not uo.injournal('In Sanct Ylem')
wait(100)
limit=limit+1
if limit==100 then
goto end
endif
wend
uo.msg('       ')
wait(50)
uo.msg('        ')
wait(50)
uo.msg('       ')
end:
end sub




Стенка, Стенка , Фаер Филд.

Code: Select all

sub main() 
###############
#автор:DokKor #
###############
UO.Print("Hello from function MAIN")
end sub

Sub abs(n)
if n < 0 then
return n*(-1)
else
return n
end if
end sub

sub WS_X_WS()
; -----------------------------------------------------
var LTimer, MyMana
var mX = UO.GetX('laststatus')
var mY = UO.GetY('laststatus')
var mZ = UO.GetZ('laststatus')
var mT = '400'
; -- Wall of Stone # 1 --------------------------------
if UO.GetX('laststatus') > UO.GetX('self') then
UO.WaitTargetTile( mT, STR(mX-2), STR(mY), STR(mZ))
UO.Cast('Wall of Stone')
else
UO.WaitTargetTile( mT, STR(mX+2), STR(mY), STR(mZ))
UO.Cast('Wall of Stone')
endif
LTimer = UO.Timer()
MyMana = UO.Mana
repeat
wait(100)
until UO.Mana < MyMana || UO.Timer() > LTimer+30
; -- Wall of Stone # 2 --------------------------------
if UO.GetY('laststatus') > UO.GetY('self') then
UO.WaitTargetTile( mT, STR(mX), STR(mY-2), STR(mZ))
UO.Cast('Wall of Stone')
else
UO.WaitTargetTile( mT, STR(mX), STR(mY+2), STR(mZ))
UO.Cast('Wall of Stone')
endif
LTimer = UO.Timer()
MyMana = UO.Mana
repeat
wait(100)
until UO.Mana < MyMana || UO.Timer() > LTimer+30
; -- Fire Field ---------------------------------------
if UO.GetY('laststatus') > UO.GetY('self') then
UO.WaitTargetTile( mT, STR(mX), STR(mY-2), STR(mZ))
UO.Cast('Fire Field')
else
UO.WaitTargetTile( mT, STR(mX), STR(mY+2), STR(mZ))
UO.Cast('Fire Field')
endif
end sub


Обсуждение этих скриптов находится здесь
Scripts Writer
Posts: 2259
Joined: 2005-04-19 18:00:29
Location: Московская область
Contact:

Post by Scripts Writer »

Вот уже 2 топа видел с боукрафтом ) Простенький боукрафт :

Code: Select all

sub Bowcraft() 
var dagger='0x0F51'
var logs='0x1BDD'

 while not uo.Dead()
   uo.DeleteJournal()
   uo.WaitMenu('What do you want to carve the' ,'bow')
   uo.WaitTargetType(logs)
   uo.UseType(dagger)
   while not uo.InJournal('item') or uo.InJournal('pack') or uo.InJournal('you fail')
     wait(100)
   wend
 wend
end sub


За более сложным обращаться суды, или в раздел форума !Scripts
Scripts Writer
Posts: 2259
Joined: 2005-04-19 18:00:29
Location: Московская область
Contact:

Post by Scripts Writer »

Code: Select all

sub Veterinary() 
var i , a
var PickAxe='0x4008A219'
var HumanType='0x0191'
var DaemonType='0x0009'
var Sunduk=' id of container, where regs are '
DIM reg[5]
 
  reg[0]='0x0F84'
  reg[1]='0x0F86'
  reg[2]='0x0F8C'
  reg[3]='0x0F7B'
  reg[4]='0x0F8D'

  while not uo.Dead()
    while uo.GetGraphic('self')==HumanType
      uo.DisArm()
      wait(500)
      a = 0
      for a = 0 to 4
        if uo.Count(reg[a]) < 5 then
          uo.FindType(reg[a],'-1',Sunduk)
          if UO.FindCount() > 0 then   
            uo.moveitem('finditem','100')
            wait(1000)
            cheklag()
          else
            UO.Print('There are no regs!!!')
            uo.exec("terminate veter")       
          endif
        endif
      next 
      uo.Print('>Trying to polymorph...')
      uo.Exec("waitmenu 'What do you' Daemon")
      uo.Cast('Polymorph')   
      wait(7500)
      uo.UseSkill('Meditation')
      wait(500)
    wend
    while (uo.Life>uo.STR)
      wait(100)
    wend
    uo.Bandageself()
    wait(500)
    uo.UseObject(PickAxe)
    uo.DeleteJournal()
    i = 0
    repeat
      wait(500)
      i=i+1
    until uo.InJournal('You apply the bandages, but') or uo.InJournal('You put the bloody') or (i>10)
    while uo.Count('0x0E21')<10
      uo.Print('>Not enough clear bandages.')
      uo.WaitTargetType('0x1008')
      uo.UseType('0x0E20')
      wait(1000)
    wend
  wend
end sub


sub cheklag()
   UO.DeleteJournal()
   UO.Click('backpack')
   repeat
      wait(500)
   until UO.InJournal('backpack')
end sub


Вот тебе добор регов в твоём скрипте.


------------------

2. Запросили сёня скрипт, чтобы он ждал пока опр. объект находится на экране(к примеру элементаль) -может кому понадобится такая конструкция так же, ниже:

Code: Select all

sub elem() 
var elem=' type '
var elemental
var color=' color '
  uo.Set('finddistance','15')
    uo.FindType(elem,color,'ground')
    elemental=uo.GetSerial('finditem')
    while uo.FindCount(elemental)
        uo.FindType(elem,color,'ground')
        elemental=uo.GetSerial('finditem')
        wait(1000)
    wend
    # ... Тут уже ваши дальнейшие действия
end sub
Last edited by Scripts Writer on 2006-05-04 13:15:33, edited 2 times in total.
Post Reply