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

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