Page 1 of 1

Camping

Posted: 2017-02-18 23:59:39
by vertijok2000
народ помогите со скриптом надо чтобы он бросал и поджигал хворост а если в бекпаке нету хворост чтобы скрипт остановился как то не получилось у меня
Вот сам скрипт

Code: Select all

sub Camping()
   var i,j,mX=uo.GetX(),mY=uo.GetY(),mZ=uo.GetZ(),time=uo.Time()
   uo.FindType('0x0DE1',-1,'backpack')
   while uo.findcount()
      for i=mx-3 to mx+3
         for j=my-3 to my+3 
            uo.FindType('0x0DE1',-1,'backpack')
            uo.Grab("finditem","1","ground",str(i),str(j),str(mz))
            checklag() 
            wait(1000)
            uo.FindType('0x0DE1','0x0000','ground')
            ;if uo.findcount() then
            checklag()
            uo.UseObject('finditem')
            wait(4000)
            ; endif
            uo.FindType('0x0DE1',-1,'backpack')
         wend
end sub

Re: Camping

Posted: 2017-02-19 09:01:25
by Mirage
Несколько ошибок. В первую очередь пропустил 2 закрывашки next для for. Можно еще Z высоту добавить. Grab не правильно используешь. Паузы большие очень (возможно специфика сервера конечно).
В общем вот так должно работать:

Code: Select all

sub Camping()
   VAR x,y,z,i
   VAR kidl='0x0DE1', n=3 
   UO.Print('Начинаю тренировать туризм')
   UO.Set('quiet','1')
   UO.Set('finddistance','3')
   i=UO.Getserial('self')
   UO.FindType(kidl,-1,'backpack')
   while UO.FindCount()
      for x=UO.GetX(i)-n to UO.GetX(i)+n
         for y=UO.GetY(i)-n to UO.GetY(i)+n
            for z=UO.GetZ(i)-0 to UO.GetZ(i)+10  ; делаем столбики из огня
               UO.FindType(kidl,-1,'backpack')
               if UO.FindCount() then
                  UO.MoveItem('finditem','1','ground',x,y,z)
                  checklag()
                  UO.FindType(kidl,-1,'ground')
                  while UO.FindCount()
                     UO.UseObject('finditem')
                     checklag()
                     UO.FindType(kidl,-1,'ground')
                  wend
               else
                  return
               endif
            next
         next
      next 
      UO.FindType(kidl,-1,'backpack')
   wend
   UO.Set('finddistance','15')
   UO.Set('quiet','0')
   UO.Print('Костры зажжены, палатки поставлены') 
end sub


Исправил :roll:

Re: Camping

Posted: 2017-02-19 22:53:49
by vertijok2000
спс что помог вот сам не заметил про next
то ко вот твой скрипт не останавливается после как в бекпаке заканчиваются хворост

Re: Camping

Posted: 2017-02-20 10:32:33
by Mirage
Внизу строку
UO.FindType(kidl,-1,'backpack')
ниже всех next опусти попробуй.
Можно переделать немного, скрипт 2009 года :mrgreen:

Re: Camping

Posted: 2017-02-21 10:35:18
by vertijok2000
он заканчивает но где то через 30 сек
checklag() это для сэйва

Re: Camping

Posted: 2017-02-21 14:34:25
by Mirage
Через 30 секунд потому что ему надо пройти все точки X Y Z. Надо выбивалку if хвороста нет then return endif вписать внутрь for next, я не парился скрипт для фана делал :roll:

чеклаг жто от лага :)

Re: Camping

Posted: 2017-02-21 16:26:46
by vertijok2000
а это долго если делать?

Re: Camping

Posted: 2017-02-21 20:06:44
by Mirage
Поправил. Жжет только если есть хворост.

Re: Camping

Posted: 2017-02-22 19:52:19
by dubd
подскажите пожалуйста, как в этот скрипт напалм вставить

Re: Camping

Posted: 2017-02-22 22:07:16
by Mirage
м? :?