Camping

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
vertijok2000
Posts: 61
Joined: 2015-11-26 10:16:44

Camping

Post 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
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Camping

Post 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:
vertijok2000
Posts: 61
Joined: 2015-11-26 10:16:44

Re: Camping

Post by vertijok2000 »

спс что помог вот сам не заметил про next
то ко вот твой скрипт не останавливается после как в бекпаке заканчиваются хворост
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Camping

Post by Mirage »

Внизу строку
UO.FindType(kidl,-1,'backpack')
ниже всех next опусти попробуй.
Можно переделать немного, скрипт 2009 года :mrgreen:
vertijok2000
Posts: 61
Joined: 2015-11-26 10:16:44

Re: Camping

Post by vertijok2000 »

он заканчивает но где то через 30 сек
checklag() это для сэйва
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Camping

Post by Mirage »

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

чеклаг жто от лага :)
vertijok2000
Posts: 61
Joined: 2015-11-26 10:16:44

Re: Camping

Post by vertijok2000 »

а это долго если делать?
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Camping

Post by Mirage »

Поправил. Жжет только если есть хворост.
dubd
Posts: 249
Joined: 2012-07-27 23:43:14

Re: Camping

Post by dubd »

подскажите пожалуйста, как в этот скрипт напалм вставить
Post Reply