Yoko
http://forum.yoko.com.ua/

То, что ищут многие...
http://forum.yoko.com.ua/viewtopic.php?f=20&t=7187
Page 11 of 12

Author:  Incorrect User [ 2016-05-03 18:31:06 ]
Post subject:  Re: То, что ищут многие...

slafoka wrote:
А Это разве не нужно добавить Var Spools = 'Тип ниток' ?
И нужно ли это uo.FindType(Spools,'-1','backpack') ?

Результат не изменится, просто type можно будет задавать удобно в условиях, но в целом без разницы.

Author:  slafoka [ 2016-05-03 20:01:23 ]
Post subject:  Re: То, что ищут многие...

Спасибо. Попробую запустить отпишусь.

Author:  slafoka [ 2016-05-08 10:05:41 ]
Post subject:  Re: Re:

slafoka wrote:
Scripts Writer wrote:
Code:
####################
# Качаем Tailoring #
####################

sub Tailoring()
var cloth=0x175D # Type of cloth
var sew=0x404733DB # ID of a sewing kit
var sash=0x1541 # Type of created item(i made body sashes)
var scissors=0x404733DD # Type of anything to cut created items
var bandage=0x0E21 # Type of bandages
var to=0x401E340D # Where to put bandages and to get clothes
var type1=0x0C77 # Type of food1
var type2=0x0C6D # Type of food2
var k,l
l=0
  while uo.SkillVal('Tailoring','1') < 1000
    uo.FindType(cloth,'-1','backpack')
    if uo.GetQuantity('finditem') < 20 then
      GetItem(cloth,100,to,'backpack')
    end if
    uo.WaitMenu('Cloth','Misc','Misc','sash') # Menu
    uo.WaitTargetObject('finditem')
    uo.UseObject(sew)
    uo.DeleteJournal()
    k=0
    repeat
      wait(100)
      k=k+1
    until uo.InJournal('put') || uo.InJournal('fail') || k>100
    if uo.InJournal('put') then
      uo.FIndType(sash,'-1','backpack')
      while uo.FIndCount()
        uo.FIndType(sash,'-1','backpack')
        uo.WaitTargetObject('finditem')
        uo.UseObject(scissors)
        wait(750)
      wend
    end if
    CheckLag()
    Move(bandage,'all','backpack',to)
    l=l+1
    if (l>100) then
      EatFood(type1,type2)
      l=0
    end if
  wend
end sub

##########
# Eating #
##########

sub EatFood(carrot , onion)
  var i
  for i=0 to 5
    uo.FindType(carrot,'-1','backpack')
    if uo.FindCOunt() then
      uo.UseObject('finditem')
      wait(750)
    else
      if not uo.FindCount() then
        uo.FindType(onion,'-1','backpack')
        if uo.FindCount() then
          uo.UseObject('finditem')
          wait(750)
        else
          uo.Print('No food...')
        end if
      end if
    end if
    wait(500)
  next
end sub

###########
# GetItem #
###########

sub GetItem(type, quantity, where , to)
  uo.FindType(type,'-1',where)
  if uo.FindCount() then
    uo.moveitem('finditem',quantity,to)
    wait(750)
  end if
end sub

###############
# Moving item #
###############

sub Move(type,quantity,where,to)
  uo.FindType(type,'-1',where)
  if uo.GetQuantity('finditem') > 100 then
    uo.moveitem('finditem',quantity,to)
    wait(750)
  end if
end sub

############
# CheckLag #
############

sub CheckLag()
  uo.DeleteJournal('backpack')
  uo.Click('backpack')
  repeat
    wait(100)
  until uo.InJournal('backpack')

Сделайте чтоб он еще нитки добирал когда они заканчиваются.

Работает не корректно. Если добавить GetItem( 'Тип ниток',100,to,'backpack') то он их добирает по условию когда заканчивается ткань, а нужно чтобы это было не зависимо друг от друга.
Помогите исправить

Author:  Incorrect User [ 2016-05-08 12:04:45 ]
Post subject:  Re: Re:

slafoka wrote:
Помогите исправить

При каком условии нужно их добирать?

Author:  slafoka [ 2016-05-08 12:59:22 ]
Post subject:  Re: Re:

Incorrect User wrote:
slafoka wrote:
Помогите исправить

При каком условии нужно их добирать?

Если ниток в бекпаке меньше 20 шт, то взять их из сундука в таком то кол-ве.

Author:  Incorrect User [ 2016-05-08 13:10:47 ]
Post subject:  Re: То, что ищут многие...

После строки
Code:
while uo.SkillVal('Tailoring','1') < 1000
добавь это
Code:
    if uo.FindType('тип ниток', -1, 'backpack') and uo.GetQuantity('finditem') < 20 then
      GetItem('тип ниток', 100, to, 'backpack')
    end if

Author:  slafoka [ 2016-05-08 14:53:54 ]
Post subject:  Re: То, что ищут многие...

Incorrect User wrote:
После строки
Code:
while uo.SkillVal('Tailoring','1') < 1000
добавь это
Code:
    if uo.FindType('тип ниток', -1, 'backpack') and uo.GetQuantity('finditem') < 20 then
      GetItem('тип ниток', 100, to, 'backpack')
    end if

В твоем варианте это не работало.
Вышел из положения таким образом:
Code:
uo.FindType(Spools, -1, 'backpack')
    if uo.GetQuantity('finditem') < 20 then
      GetItem(Spools,100,to,'backpack')
    end if

Спасибо за помощь
Осталось заставить его кушать.
Что означает это действие:
Code:
if (l>100) then
      EatFood(type1,type2)
      l=0
    end if

Author:  Incorrect User [ 2016-05-20 20:12:37 ]
Post subject:  Re: То, что ищут многие...

slafoka wrote:
Что означает это действие:
Code:
if (l>100) then
      EatFood(type1,type2)
      l=0
    end if

Видимо счетчик стоит, каждые 100 циклов есть. I - это счетчик, после достижения 100 циклов чар попытается поесть, счетчик сбрасывается и снова ждем 100 циклов.

Author:  slafoka [ 2016-05-27 00:50:01 ]
Post subject:  Re: То, что ищут многие...

Помогите для Карпентри добавить добор ниток из сундука, с условием. Если ниток меньше 10, то взять 100шт из сундука.
Или как-то можно добавить вот это:
Code:
uo.FindType(Spools, -1, 'backpack')
    if uo.GetQuantity('finditem') < 10 then
      GetItem(Spools,100,to,'backpack')
    end if

Code:
sub Carpentry() 
VAR Trash = '0x400BC645' ;
VAR Sunduk = '0x41DC7700' ;
VAR Ingi = '0x1BDD' ;
VAR Instrum = '0x1030' ;
VAR Bottle = '0x1B7A' ;
VAR Kolvo = 200 ;
VAR k = 0
VAR Fish = '0x097B' ;
While TRUE
UO.FindType( Ingi, -1, Sunduk ) ;
If UO.FindCount() == 0 Then
UO.Print("Iron Ingots not found, script terminated")
return
end if
UO.Grab( Str( Kolvo ), 'finditem' )
wait(2000)
While UO.Count( Ingi ) > 10
UO.Print('Ostalos ' + Str( UO.Count( Ingi ) ) + ' ingots' )
UO.DeleteJournal()
UO.CancelMenu()
UO.WaitMenu ('Carpentry', 'Containers & Shields', 'Containers & Shields', 'wooden shield' )
UO.UseType( Instrum )
k = 0
while NOT UO.InJournal('You put') AND NOT UO.InJournal('Fail') AND ( k < 30 )
k = k + 1
wait(500)
wend
if UO.Count( Bottle ) > 0 then
UO.FindType( Bottle, -1, -1 )
UO.MoveItem( 'finditem', 0, Trash )
wait( 1000 )
UO.Print( 'Bottle moved' )
UO.FindType( Fish )
UO.UseType( Fish )
wait (2000)
end if
Wend
Wend
end sub

Author:  Mirage [ 2016-05-27 05:15:46 ]
Post subject:  Re: То, что ищут многие...

ты же сам чуть выше решение написал :shock:
После While TRUE добавь свои строчки. Если скрипт отдельный либо перенеси его к тейлору либо добавь в карпу

Code:
###########
# GetItem #
###########

sub GetItem(type, quantity, where , to)
  uo.FindType(type,'-1',where)
  if uo.FindCount() then
    uo.moveitem('finditem',quantity,to)
    wait(750)
  end if
end sub

Author:  slafoka [ 2016-05-27 06:14:08 ]
Post subject:  Re: То, что ищут многие...

спасибо

Author:  Kynep [ 2016-10-13 21:27:33 ]
Post subject:  Re: То, что ищут многие...

Всем привет в этом чатике! :lol: 8)

Author:  Mirage [ 2016-10-14 12:58:59 ]
Post subject:  Re: То, что ищут многие...

Починяем примусы недорого :D
Все спасибы Yoko

Author:  Lusi [ 2017-04-24 18:50:41 ]
Post subject:  Re: То, что ищут многие...

помогите, задача такая

Есть драк ... нужно чтобы он при появлении Вирма убивал его и ждал следующего и так по кругу...

что то типа такого:

Code:
sub killdrake() 
UO.set('finddistance','14')  # расстояние поиска 14 клеток вокруг
 while UO.GetHP('self') < 500
    UO.FindType(wirm, '-1', 'ground')
    if UO.FindCount() > 0 then
       UO.DeleteJournal()
               if UO.FindType(0x20D6,-1,'my') then           # если драк в шринке
         uo.ColorPrint(2998,"Достаём дракона..")
                   uo.UseType('0x20D6')                      # выпустили дракона
         wait(300)
            UO.Exec("warmode 1")
                 # uo.waittargetobject('laststatus')
                 # uo.say('all kill')
          UO.Attack('finditem')
                   repeat
                      wait(500)
                   until UO.InJournal('Body of')
              else                                         # если дракон на свободе
                   UO.FindType(wirm, '-1', 'ground')
          If UO.FindCount() > 0 Then
            UO.DeleteJournal()
                      UO.Exec("warmode 1")
                      uo.ColorPrint(2998,"Дракон на земле..")
           wait(500)
                   UO.Attack('finditem')
                        wait(500)
                        uo.attack('finditem')
                         repeat
                               wait(500)
                         until UO.InJournal('Body of')
                      endif   
               endif
         Endif
   else
             uo.ColorPrint(2998,"ждём вирма...")
  Endif
 
wend
uo.ColorPrint(2998,"всё...")
endsub


немного криво работает, поправьте кто понимает!

Author:  Mirage [ 2017-04-24 19:52:14 ]
Post subject:  Re: То, что ищут многие...

Code:
sub killdrake() 
   UO.set('finddistance','14')  # расстояние поиска 14 клеток вокруг
   while UO.GetHP('self') < 500
      UO.FindType(wirm, '-1', 'ground')
      if UO.FindCount() > 0 then
         UO.DeleteJournal()
         if UO.FindType(0x20D6,-1,'my') then           # если драк в шринке
            uo.ColorPrint(2998,"Достаём дракона..")
            uo.UseType('0x20D6')                      # выпустили дракона
            wait(300)
            UO.Exec("warmode 1")
            # uo.waittargetobject('laststatus')
            # uo.say('all kill')
            UO.Attack('finditem')
            repeat
               wait(500)
            until UO.InJournal('Body of')
         else                                         # если дракон на свободе
            UO.FindType(wirm, '-1', 'ground')
            If UO.FindCount() > 0 Then
               UO.DeleteJournal()
               UO.Exec("warmode 1")
               uo.ColorPrint(2998,"Дракон на земле..")
               wait(500)
               UO.Attack('finditem')
               wait(500)
               uo.attack('finditem')
               repeat
                  wait(500)
               until UO.InJournal('Body of')
            endif   
         endif
      Endif
      wait(500)   
   wend
   uo.ColorPrint(2998,"всё...")
endsub

var wirm у тебя где то выше видимо.
И что будет если умрет призванный дракон? :)

Author:  dubd [ 2017-04-24 19:59:24 ]
Post subject:  Re: То, что ищут многие...

подскажите пожалуйста, как сделать чтобы чар - стрелял в драка и когда у драка мало хп - он переставал стрелять и ждал пока второй его подлечит и опять стрелял.

Author:  Lusi [ 2017-04-24 21:58:34 ]
Post subject:  Re: То, что ищут многие...

Mirage wrote:

var wirm у тебя где то выше видимо.



да
Mirage wrote:

И что будет если умрет призванный дракон? :)


это внутри другой функции

Author:  dubd [ 2017-04-25 21:13:06 ]
Post subject:  Re: То, что ищут многие...

да что же за жопа такая! сделал крипт на обстрел драка а когда его выключаешь, то клиент виснит)))))))))))))

Author:  Mirage [ 2017-04-25 23:02:41 ]
Post subject:  Re: То, что ищут многие...

а как ты его выключаешь?

Author:  dubd [ 2017-04-26 16:40:47 ]
Post subject:  Re: То, что ищут многие...

красная кнопка terminate и клиент виснет)))))

Page 11 of 12 All times are UTC+02:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/