перелив

Ask for scripts here

Moderators: Murderator+, Murderator

pahha1988
Posts: 35
Joined: 2014-02-18 14:29:29

перелив

Post by pahha1988 »

Подскажите как сделать так чтобы персонаж из своей сумки(ботлы) переливал из кега(только тех которые не пустые) из сумки на полу :D
Incorrect User
Posts: 949
Joined: 2011-05-23 00:33:30

Re: перелив

Post by Incorrect User »

Что и куда переливать, и сразу пиши ID и Type каждого предмета.
pahha1988
Posts: 35
Joined: 2014-02-18 14:29:29

Re: перелив

Post by pahha1988 »

Incorrect User wrote:Что и куда переливать, и сразу пиши ID и Type каждого предмета.

pereliv:
UO.FindType('0x0F0A','0x0000','0x60BEA14D')
If UO.Count('0x0F0A')<1 then
UO.FindType('0x0F0E','0x0000','0x60BEA14D')
UO.MoveItem('finditem','1','0x60CE3326')
wait(2000)

вот кусочек который работает но только на конкретный кег который каждый раз нужно руками менять
ищет бутылку с ядом
если не находит не одной
ищет пустую бутылку в бекпаке своем (можно как я понимаю поставить -1 ? )
и мувит пустую на полный кег в сумке которая рядом на полу
Incorrect User
Posts: 949
Joined: 2011-05-23 00:33:30

Re: перелив

Post by Incorrect User »

Потому что тут указан конкретный кег 0x60CE3326. Я вообще не пойму суть того что нужно делать. Если нужно лить в пустой кег то нужно предварительно искать его на полу и, я так понимаю определять нашел пустой или полный по цвету, и уже выбирать лить или не лить.
Incorrect User
Posts: 949
Joined: 2011-05-23 00:33:30

Re: перелив

Post by Incorrect User »

В общем дай полностью ,info на полный кег и на пустой кег.
pahha1988
Posts: 35
Joined: 2014-02-18 14:29:29

Re: перелив

Post by pahha1988 »

Incorrect User wrote:Потому что тут указан конкретный кег 0x60CE3326. Я вообще не пойму суть того что нужно делать. Если нужно лить в пустой кег то нужно предварительно искать его на полу и, я так понимаю определять нашел пустой или полный по цвету, и уже выбирать лить или не лить.

качаю пойзон. яд уже заранее розлит по кегам, мне нужно его из них сливать в свой бекпак. как сделать чтобы он сливал только с полных кегов? . остальное все работает
цвет у пустого и полного одинаковый. разное только название ну и например есть текст что кег опустел.
Incorrect User
Posts: 949
Joined: 2011-05-23 00:33:30

Re: перелив

Post by Incorrect User »

То есть тебе нужно пустую бутылку из пака кидать на полный кег стоящий на полу? И давай полностью ,info на полный кег и на пустой кег как я сказал. Только подпиши где пустой где полный
pahha1988
Posts: 35
Joined: 2014-02-18 14:29:29

Re: перелив

Post by pahha1988 »

Incorrect User wrote:То есть тебе нужно пустую бутылку из пака кидать на полный кег стоящий на полу? И давай полностью ,info на полный кег и на пустой кег как я сказал. Только подпиши где пустой где полный

кеги лежат в сумке
ID=0x60D9A553 Type=0x0E75 ZEPSTGF Name=
Quantity: 1 Colour: 0x0000 Layer: 0 Has: 0
X=2478 Y=90 Z=26 C=0xFFFFFFFF F=0x20
пустой кег

ID=0x60EF2234 Type=0x1940 TFXBSGF Name=an empty potion keg
Quantity: 1 Colour: 0x0000 Layer: 0 Has: 0
X=50 Y=108 Z=0 C=0x60D9A553 F=0x00
почти полный ( но катят все в которых есть хотябы 1 заряд)
ID=0x60CE3257 Type=0x1940 TFXBSGF Name=keg of poison potions [charges: 25/75]
Quantity: 1 Colour: 0x0000 Layer: 0 Has: 0
X=50 Y=108 Z=0 C=0x60D9A553 F=0x00
Incorrect User
Posts: 949
Joined: 2011-05-23 00:33:30

Re: перелив

Post by Incorrect User »

В общем нужно искать кеги, делать клик и смотреть имя, если пустой то игнорить и искать дальше.
pahha1988
Posts: 35
Joined: 2014-02-18 14:29:29

Re: перелив

Post by pahha1988 »

Incorrect User wrote:В общем нужно искать кеги, делать клик и смотреть имя, если пустой то игнорить и искать дальше.

тоесть логика

кликаю на тип если полный то лью (куда? ласттарег или как?)
можешь хотябы примерно переменных накидать?
Incorrect User
Posts: 949
Joined: 2011-05-23 00:33:30

Re: перелив

Post by Incorrect User »

Нужно указать в условиях еще два - keg и bottle и впиши ID сумки с кегам, она должна быть открыта при работе скрипта.

Code: Select all

pereliv:
uo.findtype("0x0F0A", -1, "backpack")
if not uo.findcount() then
   uo.print("Яда нет, ищем кег...")
   wait(100)
   uo.findtype("0x0F0E", -1, "backpack")
   bottle = uo.getserial("finditem")
   repeat
      uo.deletejournal()
      uo.findtype("0x1940", -1, "ID сумки с кегами")
      if uo.findcount() then
         uo.print("Нашел кег...")
         keg = uo.getserial("finditem")
         uo.click("finditem")
         wait(100)
         if not uo.injournal("keg of poison potions") then
            uo.print("Кег пустой, ищем далее...")
            uo.ignore("finditem")
         end if
      else
         uo.print("Кончился яд")
         return
      end if
   until uo.injournal("keg of poison potions")
   uo.moveitem(bottle, 1, keg)
   wait(2000)
end if


Вроде ничего не перепутал, пробуй.
Last edited by Incorrect User on 2014-02-18 18:42:17, edited 5 times in total.
Incorrect User
Posts: 949
Joined: 2011-05-23 00:33:30

Re: перелив

Post by Incorrect User »

Немного поправил, скопируй снова.
pahha1988
Posts: 35
Joined: 2014-02-18 14:29:29

Re: перелив

Post by pahha1988 »

if not uo.findcount() then
parse error
Incorrect User
Posts: 949
Joined: 2011-05-23 00:33:30

Re: перелив

Post by Incorrect User »

А там цифру ж убери) поправил пост, копируй
pahha1988
Posts: 35
Joined: 2014-02-18 14:29:29

Re: перелив

Post by pahha1988 »

Incorrect User wrote:А там цифру ж убери) поправил пост, копируй

var bottles='0x0F0E'
var keg='0x1940'

sub pereliv()
pereliv:
uo.findtype("0x0F0E", -1, "backpack")
if not uo.findcount() then
wait(100)
uo.findtype("0x0F0A", -1, "backpack")
bottle = uo.getserial("finditem")
repeat
uo.deletejournal()
uo.findtype("0x1940", -1, "0x60D9A553")
if uo.findcount() then
keg = uo.getserial("finditem")
uo.click("finditem")
wait(100)
if uo.injournal("keg of poison potions") then
uo.ignore("finditem")
end if
end if
until uo.injournal("keg of poison potions")
uo.moveitem(bottles, 1, keg)
wait(2000)
end if
end sub

пишет items found=1 и все
если слить весь яд пишет found=2
Incorrect User
Posts: 949
Joined: 2011-05-23 00:33:30

Re: перелив

Post by Incorrect User »

var bottles='0x0F0E'
var keg='0x1940'
Не обязательно и не bottles а bottle, можно просто

Code: Select all

var bottle, keg

Добавил в пост принты, пробуй.
pahha1988
Posts: 35
Joined: 2014-02-18 14:29:29

Re: перелив

Post by pahha1988 »

Incorrect User wrote:var bottles='0x0F0E'
var keg='0x1940'
Не обязательно и не bottles а bottle, можно просто

Code: Select all

var bottle, keg

Добавил в пост принты, пробуй.

находит 1 пустую бутылку в бекпаке и все
Incorrect User
Posts: 949
Joined: 2011-05-23 00:33:30

Re: перелив

Post by Incorrect User »

1 это не значит одна бутылка, это может быть и одна кучка. Сообщений никаких больше?
pahha1988
Posts: 35
Joined: 2014-02-18 14:29:29

Re: перелив

Post by pahha1988 »

Incorrect User wrote:1 это не значит одна бутылка, это может быть и одна кучка. Сообщений никаких больше?

var bottle, keg

sub pereliv()
pereliv:
uo.findtype("0x0F0A", -1, "backpack")
if not uo.findcount() then
wait(100)
uo.findtype("0x0F0E", -1, "backpack")
bottle = uo.getserial("finditem")
repeat
uo.deletejournal()
uo.findtype("0x1940", -1, "0x60D9A553")
if uo.findcount() then
keg = uo.getserial("finditem")
uo.click("finditem")
wait(100)
if uo.injournal("keg of poison potions") then
uo.ignore("finditem")
end if
end if
until uo.injournal("keg of poison potions")
uo.moveitem(bottle, 1, keg)
wait(2000)
end if
end sub

все пашет поменял местами в самом начале пустой тип на яд а яд на пустой и гуд
респект.
завтра буду разбираться как ты это сделал ))

только теперь когда тамже видны пустые кеги просто тычет в него и все (после того как я раскидал кеги по сумке)
Incorrect User
Posts: 949
Joined: 2011-05-23 00:33:30

Re: перелив

Post by Incorrect User »

Да все просто, ищет в паке яд, если не находит начинает искать пустые бутылки, сохраняет их ID в bottle, очищает журнал, далее в сумке ищет кеги по типу, найдя кег кликает на него и по журналу смотрит был ли нужный текст, если нет значит кег пустой, игнорит его ID и дальше ищет следующий кег, и так пока не найдет нужный.
Post Reply