Page 1 of 2

Нужен скрипт на разведение животных.

Posted: 2010-02-11 16:19:19
by Jekaaa
Доброго времени суток! Нужен следующий скрипт перед чаром стоит живность (некуда ходить не надо) и каждый раз когда живность пишет -19food (прописывается в журнале) нужно что бы чар брал из мешка под ним еду и кормил того питомца который это написал, и так далее.
Желательно сделать что бы я сам мог ставить иади еды.
Заранее спасибо!

Re: Нужен скрипт на разведение животных.

Posted: 2010-02-16 00:13:37
by Jekaaa
Ребят поделитесь скриптом плиз. Я просто не фига в скриптах не секу а для вас это не сложно...

Re: Нужен скрипт на разведение животных.

Posted: 2010-02-16 10:19:05
by Mirage
както так:

Code: Select all

sub kormim()
   VAR cont = 'ID' ; мешок с кормом
   VAR target
   VAR item = '0x0C72' ; тип еды
   VAR INFO = 'что то там про food' ; что именно пишется в журнале
   VAR coll = '10' ; количество еды которое берешь за 1 раз.
   uo.deletejournal()
   while 1   
      if uo.injournal( INFO ) then
         terget=uo.JournalSerial(uo.InJournal( INFO )-1)
         uo.deletejournal()
         uo.findtype(item,'-1',cont)
         uo.moveitem('finditem',coll,target)
         wait(500)
      endif
      wait(500)
   wend
end sub

Re: Нужен скрипт на разведение животных.

Posted: 2010-02-16 12:28:58
by Jekaaa
Спасибо! А как сделать что бы он брал разные типы еды? и что бы он кормил три типа животных?

Re: Нужен скрипт на разведение животных.

Posted: 2010-02-16 13:57:07
by Mirage
Правильно сформулировать просьбу. :roll:

Re: Нужен скрипт на разведение животных.

Posted: 2010-02-16 14:15:34
by Jekaaa
У меня 6 видов еды(яблоки, груши и тд.)
И три типа животных (орн, оклок, зострыч)

Как вписать все виды еды и все виды живности?

Re: Нужен скрипт на разведение животных.

Posted: 2010-02-16 20:50:49
by Андрюха из Одессы
Jekaaa wrote:Ребят поделитесь скриптом плиз. Я просто не фига в скриптах не секу а для вас это не сложно...


Мда...... видимо те кто умеют писать скрипты, уже родились с этими знаниями. :?

Учебники не пробовал читать???.........очень полезная вещь.

Re: Нужен скрипт на разведение животных.

Posted: 2010-02-16 21:20:25
by Jekaaa
Лучше бы помог а не умничал...

Re: Нужен скрипт на разведение животных.

Posted: 2010-02-16 21:22:46
by Mirage
я хз мне просто лень таким заниматься. Скрипт рабочий вроде выше. У меня есть скрипт чтобы кормил 25 видами жрачки. Но он не оптимизирован - хавка валяется в паке, какието условия левые.
Чтобы сделать то что ты просишь надо ввести 2 массива, сделать проверку по журналу на животное которое произнесло коронную фразу, искать тип еды по массиву, кормить до сытости... долго много геморно и лениво.

Re: Нужен скрипт на разведение животных.

Posted: 2010-02-17 09:55:10
by Jekaaa
Ясно, а можно сделать так что бы он брал любую вещь из этого пака? То есть я наложу туда жратвы а ему будет по фигу что там за ID он будет брать абсолютна любую вещь из этого пака по 19шт. и кормить животное? которое у меня будет прописано?

Re: Нужен скрипт на разведение животных.

Posted: 2010-02-17 11:36:45
by Beyonder
item=-1

Должно сработать.

Re: Нужен скрипт на разведение животных.

Posted: 2010-02-17 14:44:04
by Jekaaa
Спасибо все работает просто супер! Только одна проблема мне надо кормить именно по 19 а если у меня в этом мешке допусти 4 груши он принимает их как за 19 можно ли как нить сделать что бы он докармливал если мало?

Re: Нужен скрипт на разведение животных.

Posted: 2010-02-17 15:08:23
by Mirage
без переделки даст 4 при следующем кормлении даст 19 другого продукта.

Re: Нужен скрипт на разведение животных.

Posted: 2010-02-17 15:10:43
by Jekaaa
И еще если можно что бы он кидал еду на любого кто напишет -19 food =)

Re: Нужен скрипт на разведение животных.

Posted: 2010-02-17 15:31:09
by Mirage
Мне кажется или автор топика плавно подводит нас к тому что ему надо? :lol:

проверь - я скрипт поправил как ты хотел.

Re: Нужен скрипт на разведение животных.

Posted: 2010-02-17 17:42:20
by Beyonder
Jekaaa wrote:Спасибо все работает просто супер! Только одна проблема мне надо кормить именно по 19 а если у меня в этом мешке допусти 4 груши он принимает их как за 19 можно ли как нить сделать что бы он докармливал если мало?


Думаю что-то вроде такого:

Code: Select all

sub kormim()
   VAR cont = 'ID' ; мешок с кормом
   VAR target
   VAR item = -1 ; тип еды
   VAR INFO = 'что то там про food' ; что именно пишется в журнале
   VAR coll = 10 ; количество еды которое берешь за 1 раз.

   VAR collLeft
   VAR toMove
   uo.deletejournal()
   while 1   
      if uo.injournal( INFO ) then
         collLeft = coll ;Reset counter
         target=uo.JournalSerial(uo.InJournal( INFO )-1)
         uo.deletejournal()
         while (collLeft > 0)
            uo.findtype(item,'-1',cont)
            toMove = min(collLeft,UO.GetQuantity('finditem')) ;Amount we can move from found stack
            collLeft = collLeft - toMove ;Amount left to be moved
            uo.moveitem('finditem',toMove,target)
            wait(500)
         wend
      endif
      wait(500)
   wend
end sub

Sub min(a,b)
   if (a > b) then
      return b
   else
      return a
   endif
endsub

Re: Нужен скрипт на разведение животных.

Posted: 2010-02-17 19:16:09
by Mirage
зачем условия типо
двигаем (19, 8 )
если еды 8
двинет 8

если и так двинет 8 одной строкой?
конечно грамотнее но помоему и так сойдет :)

Re: Нужен скрипт на разведение животных.

Posted: 2010-02-17 20:05:12
by Beyonder
Для того чтобы не превысить максимум.
К примеру если у нас в стопке будет 40, а двинуть осталось 2 - он двинет 2.
А если у нас в стопке 2, а двинуть нужно 40, то он двинет тоже 2.

Попробуй другим способом захватить оба условия в понятном виде одной строкой кода.

Re: Нужен скрипт на разведение животных.

Posted: 2010-02-17 21:15:33
by Mirage

Code: Select all

         uo.findtype(item,'-1',cont)
         uo.moveitem('finditem',coll,target)

куча в 30 груш. Разовый кормеж 14
1 шаг есть 30 - берем 14
2 шаг есть 16 - берем 14
3 шаг есть 2 - берем 2
4 шаг переходим к яблокам.

или я ошибаюсь? :roll:

Re: Нужен скрипт на разведение животных.

Posted: 2010-02-18 02:12:35
by Beyonder
Mirage wrote:

Code: Select all

         uo.findtype(item,'-1',cont)
         uo.moveitem('finditem',coll,target)

куча в 30 груш. Разовый кормеж 14
1 шаг есть 30 - берем 14
2 шаг есть 16 - берем 14
3 шаг есть 2 - берем 2
4 шаг переходим к яблокам.

или я ошибаюсь? :roll:


Ошибаешся, т.к. автор топика попросил чтобы каждый раз обязательно кормить по 19 едениц продукта. В твоём варианте под это условие не проходит шаг 3.

В моём варианте будет так:

1 шаг есть 30 - берём например 14
2 шаг есть 16 - берём 14
3 шаг есть 2 - берём 2, находим сразу-же яблоки (60 штук) и сразу даём 12 яблок в добавок
4 шаг есть 48 яблок - берём 14
...

Кроме того мой скрипт успешно справится даже с такой задачей:
Есть 4 яблока, 4 груши, 4 соломы, 4 капусты, 4 морковки. Разовый кормёж 19.
1 шаг - даём 4 яблока, даём 4 груши, даём 4 соломы, даём 4 капусты, даём 3 морковки. В сумме ровно 19.